Repository navigation
Bind client control grants to running mission ownership - #6289
Draft
schickling-assistant wants to merge 10 commits into
Conversation
agent-identity: agent/dotfiles/fractal-product-lead agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.12.5 agent-runtime: OMP 18.12.5 agent-model: openai-codex/gpt-6.1-sol
This was referenced Nov 10, 2026
agent-identity: agent/dotfiles/fractal-product-lead agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.12.5 agent-runtime: OMP 18.12.5 agent-model: openai-codex/gpt-6.1-sol
Contributor
Author
|
Integrated head Posted on behalf of @schickling
|
agent-identity: agent/dotfiles/fractal-product-lead agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.12.5 agent-runtime: OMP 18.12.5 agent-model: openai-codex/gpt-6.1-sol
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Enrolled clients need bounded run-specific authority, not an unbounded automation credential.
Goal
D-4 durable grant issuance, exact running mission/claimed-step owner binding, budget and lifecycle. A-2 source tests cover every grant refusal, replacement claim/incarnation, run/claim end, revoke/re-enroll, persisted budgets and untrusted generic forgery.
Decisions
The issuing local agent must own the live step claim. Bind generation, attempt, incarnation and enrollment identity. Default 50 commands, maximum two hours; persist consumption before admission and reuse it for result checks. Only inspect and NowRoot/Attention navigation are grantable; no message/read-state mutations. Attention requires item_id naming an existing native ask in this instance; missing or unknown items return screen-not-granted. NowRoot-only grants need no item. Conversation and answer/close/read-state/message.send remain refused.
Authoritative lifecycle uses generated resources on the existing commands collection. Persist the first ended/revoked transition, use durable store-index sequences and wake idle subscribers on native changes and deadlines; no second protocol.
Verification
Fixed source head:
66cb93b1d4847943dcaab263ec9a9c6f339d3226; shared generated head:7cafdf138efbea937cbefa83323d5d2fc8dda15c. Added issuance tests for Attention without an item, unknown item, valid native ask, and NowRoot without an item. Backend tests cover terminal deduplication/restart/forgery, concurrent observers and idle termination. Corrected-head local suites are pending sequential admitted execution; no test pass is claimed. No live setup, enrollment/grants or daemon action; no CI dispatch/rerun.Complexity
One serialized per-member durable admission path reuses existing mission views and trusted operation claims.
Concerns
This watcher is fixture-scale only: every native event_notify change reconciles grants under the global ADMISSION mutex and reloads mission-run authority. It is not a general high-throughput watcher design. Commands remain ephemeral; durable budgets remain spent across restart.
Friction & bottlenecks
One corrected regeneration completed successfully (6.55 seconds, peak RSS 1,202,584 KiB); shared admission delayed proof execution.
Follow-ups
Live human-gated mission acceptance remains pending. Result enforcement and idle WebSocket/race tests are in dependent #6296.
References
Depends on #6288 and #6274; stack #6290. The held store.rs operation-kind change is carried by #6288 and requires its owner approval and independent landing; this layer does not modify that held path.
Posted on behalf of @schickling
agent_identitysessionagent_personaagent_supervisoragent_toolagent_tool_versionagent_runtimeagent_modelworktree