{"children":[{"children":[{"children":[{"children":[],"kind":"view-node","props":{"columns":[{"key":"event_type","label":"Action"},{"key":"entity_type","label":"Subject"},{"key":"entity_id","label":"Subject ID"},{"key":"item_id","label":"Object"},{"key":"protocol_id","label":"Protocol"},{"key":"note","label":"Note"},{"key":"observed_at","label":"Observed"}],"rows":[],"title":"Recent Actions"},"tag":"Table"}],"kind":"view-node","props":{"id":"stream","label":"Stream"},"tag":"Tab"},{"children":[{"children":[],"kind":"view-node","props":{"columns":[{"key":"kind","label":"Kind"},{"key":"label","label":"Label"},{"key":"domain","label":"Domain"},{"key":"subject_type","label":"Subject"},{"key":"object_type","label":"Object"},{"key":"description","label":"Description"}],"rows":[],"title":"Action Kinds"},"tag":"Table"},{"children":[],"kind":"view-node","props":{"connection":"Action.Kind.Upsert","endpoint":"/action/kind","fields":[{"kind":"text","label":"Kind","name":"kind","placeholder":"consume, purify, shelter, vote","required":true},{"kind":"text","label":"Label","name":"label","placeholder":"Human label"},{"kind":"text","label":"Domain","name":"domain","placeholder":"food, utility, shelter, governance"},{"kind":"text","label":"Subject type","name":"subject_type","placeholder":"item"},{"kind":"text","label":"Object type","name":"object_type","placeholder":"item"},{"kind":"textarea","label":"Description","name":"description","placeholder":"What this action means"}],"method":"POST","submitLabel":"Register","title":"Register Action Kind"},"tag":"Form"}],"kind":"view-node","props":{"id":"kinds","label":"Kinds"},"tag":"Tab"},{"children":[{"children":[],"kind":"view-node","props":{"items":[{"key":"Item","value":"A thing — food, tool, material, asset"},{"key":"Protocol","value":"A grammar — composable sequence of actions"},{"key":"Device","value":"An executor — agent, machine, service"},{"key":"Shop","value":"A context — where exchange happens"},{"key":"Order","value":"An intent — requested action sequence"},{"key":"Shipment","value":"A transition — movement between contexts"},{"key":"Manufacture","value":"A transformation — inputs → outputs"}],"title":"Nouns — entities that actions operate on"},"tag":"KeyValue"},{"children":[],"kind":"view-node","props":{"items":[{"key":"transfer","value":"Move entity between actors"},{"key":"reward","value":"Grant value for work"},{"key":"combine","value":"Merge inputs into composite"},{"key":"split","value":"Decompose into parts"},{"key":"observe","value":"Record state without mutation"},{"key":"(dynamic)","value":"Any registered action kind: consume, drink, compute, vote, repair, …"}],"title":"Verbs — actions that transform state"},"tag":"KeyValue"},{"children":[],"kind":"view-node","props":{"items":[{"key":"Action","value":"verb(noun) → state change"},{"key":"Protocol","value":"[action₁, action₂, …] → workflow"},{"key":"Graph","value":"entities + actions + edges → computation"},{"key":"Device","value":"executor(protocol) → grounded execution"}],"title":"Grammar — how actions compose"},"tag":"KeyValue"}],"kind":"view-node","props":{"id":"vocabulary","label":"Vocabulary"},"tag":"Tab"},{"children":[{"children":[],"kind":"view-node","props":{"connection":"Action.Record","endpoint":"/action/event","fields":[{"kind":"text","label":"Action (verb)","name":"event_type","placeholder":"transfer, reward, combine, eat, …","required":true},{"kind":"text","label":"Subject type","name":"subject_type","placeholder":"item, position, agent"},{"kind":"text","label":"Subject ID","name":"subject_id","placeholder":"human:alice"},{"kind":"text","label":"Object type","name":"object_type","placeholder":"item"},{"kind":"text","label":"Object ID","name":"object_id","placeholder":"food:rice-bowl"},{"kind":"text","label":"Protocol","name":"protocol_id","placeholder":"Protocol context"},{"kind":"textarea","label":"Note","name":"note","placeholder":"Description"}],"method":"POST","submitLabel":"Record","title":"Record Action"},"tag":"Form"}],"kind":"view-node","props":{"id":"record","label":"Record"},"tag":"Tab"}],"kind":"view-node","props":{"defaultTab":"stream"},"tag":"Tabs"},{"children":[{"children":[{"children":["Action.action.graph SSR payload is live-ready."],"kind":"view-node","props":{},"tag":"Text"}],"kind":"view-node","props":{"id":"payload-live-content-action-action-graph","title":"Live Payload"},"tag":"Card"}],"kind":"view-node","props":{"id":"payload-live-action-action-graph","patchTarget":"#payload-live-content-action-action-graph","pollIntervalMs":8000,"refreshHref":"/view/payload/patch?app=Action&view=action.graph","streamUrl":"/view/payload/patch?app=Action&view=action.graph","transport":"http","transportStatus":true},"tag":"LiveSlot"}],"data":{"children":[{"children":[{"children":[{"children":[],"kind":"view-node","props":{"columns":[{"key":"event_type","label":"Action"},{"key":"entity_type","label":"Subject"},{"key":"entity_id","label":"Subject ID"},{"key":"item_id","label":"Object"},{"key":"protocol_id","label":"Protocol"},{"key":"note","label":"Note"},{"key":"observed_at","label":"Observed"}],"rows":[],"title":"Recent Actions"},"tag":"Table"}],"kind":"view-node","props":{"id":"stream","label":"Stream"},"tag":"Tab"},{"children":[{"children":[],"kind":"view-node","props":{"columns":[{"key":"kind","label":"Kind"},{"key":"label","label":"Label"},{"key":"domain","label":"Domain"},{"key":"subject_type","label":"Subject"},{"key":"object_type","label":"Object"},{"key":"description","label":"Description"}],"rows":[],"title":"Action Kinds"},"tag":"Table"},{"children":[],"kind":"view-node","props":{"connection":"Action.Kind.Upsert","endpoint":"/action/kind","fields":[{"kind":"text","label":"Kind","name":"kind","placeholder":"consume, purify, shelter, vote","required":true},{"kind":"text","label":"Label","name":"label","placeholder":"Human label"},{"kind":"text","label":"Domain","name":"domain","placeholder":"food, utility, shelter, governance"},{"kind":"text","label":"Subject type","name":"subject_type","placeholder":"item"},{"kind":"text","label":"Object type","name":"object_type","placeholder":"item"},{"kind":"textarea","label":"Description","name":"description","placeholder":"What this action means"}],"method":"POST","submitLabel":"Register","title":"Register Action Kind"},"tag":"Form"}],"kind":"view-node","props":{"id":"kinds","label":"Kinds"},"tag":"Tab"},{"children":[{"children":[],"kind":"view-node","props":{"items":[{"key":"Item","value":"A thing — food, tool, material, asset"},{"key":"Protocol","value":"A grammar — composable sequence of actions"},{"key":"Device","value":"An executor — agent, machine, service"},{"key":"Shop","value":"A context — where exchange happens"},{"key":"Order","value":"An intent — requested action sequence"},{"key":"Shipment","value":"A transition — movement between contexts"},{"key":"Manufacture","value":"A transformation — inputs → outputs"}],"title":"Nouns — entities that actions operate on"},"tag":"KeyValue"},{"children":[],"kind":"view-node","props":{"items":[{"key":"transfer","value":"Move entity between actors"},{"key":"reward","value":"Grant value for work"},{"key":"combine","value":"Merge inputs into composite"},{"key":"split","value":"Decompose into parts"},{"key":"observe","value":"Record state without mutation"},{"key":"(dynamic)","value":"Any registered action kind: consume, drink, compute, vote, repair, …"}],"title":"Verbs — actions that transform state"},"tag":"KeyValue"},{"children":[],"kind":"view-node","props":{"items":[{"key":"Action","value":"verb(noun) → state change"},{"key":"Protocol","value":"[action₁, action₂, …] → workflow"},{"key":"Graph","value":"entities + actions + edges → computation"},{"key":"Device","value":"executor(protocol) → grounded execution"}],"title":"Grammar — how actions compose"},"tag":"KeyValue"}],"kind":"view-node","props":{"id":"vocabulary","label":"Vocabulary"},"tag":"Tab"},{"children":[{"children":[],"kind":"view-node","props":{"connection":"Action.Record","endpoint":"/action/event","fields":[{"kind":"text","label":"Action (verb)","name":"event_type","placeholder":"transfer, reward, combine, eat, …","required":true},{"kind":"text","label":"Subject type","name":"subject_type","placeholder":"item, position, agent"},{"kind":"text","label":"Subject ID","name":"subject_id","placeholder":"human:alice"},{"kind":"text","label":"Object type","name":"object_type","placeholder":"item"},{"kind":"text","label":"Object ID","name":"object_id","placeholder":"food:rice-bowl"},{"kind":"text","label":"Protocol","name":"protocol_id","placeholder":"Protocol context"},{"kind":"textarea","label":"Note","name":"note","placeholder":"Description"}],"method":"POST","submitLabel":"Record","title":"Record Action"},"tag":"Form"}],"kind":"view-node","props":{"id":"record","label":"Record"},"tag":"Tab"}],"kind":"view-node","props":{"defaultTab":"stream"},"tag":"Tabs"},{"children":[{"children":[{"children":["Action.action.graph SSR payload is live-ready."],"kind":"view-node","props":{},"tag":"Text"}],"kind":"view-node","props":{"id":"payload-live-content-action-action-graph","title":"Live Payload"},"tag":"Card"}],"kind":"view-node","props":{"id":"payload-live-action-action-graph","patchTarget":"#payload-live-content-action-action-graph","pollIntervalMs":8000,"refreshHref":"/view/payload/patch?app=Action&view=action.graph","streamUrl":"/view/payload/patch?app=Action&view=action.graph","transport":"http","transportStatus":true},"tag":"LiveSlot"}],"kind":"view-node","ok":true,"props":{"title":"Action Graph"},"tag":"Page"},"kind":"view-node","ok":true,"props":{"title":"Action Graph"},"tag":"Page"}