This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# 0006: Every workspace controller uses one typed command plane
|
||||
|
||||
Status: accepted for implementation.
|
||||
|
||||
Human UI, CLI automation, remote clients, and agents submit the same typed
|
||||
workspace commands. Stable request IDs make retries idempotent. Pane IDs, split
|
||||
ratios, surfaces, launch intents, and close dispositions are validated before
|
||||
state changes, and a multi-command setup plan is applied atomically. Reusing an
|
||||
ID with a different origin or command is a conflict, not a silent duplicate.
|
||||
|
||||
Each request has an origin and an explicit Observe, Configure, or Execute grant.
|
||||
The command declares the minimum capability it needs. Creating or terminating a
|
||||
process requires Execute; layout-only changes require Configure. Launch intents
|
||||
refer to a user shell or an approved harness profile and working directory, not
|
||||
arbitrary executable arguments or secret values.
|
||||
|
||||
This reducer is not an authorization bypass. The future IPC layer authenticates
|
||||
the caller and supplies its granted capability; the reducer rechecks it before
|
||||
mutation. Durable audit events record request and object identities, never
|
||||
terminal input, transcript content, provider keys, or pane titles by default.
|
||||
Reference in New Issue
Block a user