Enforce explicit decision ownership before implementation - #6
Merged
Conversation
Multi-agent consensus could silently turn ambiguous, user-owned choices into implementation details, while post-review findings could be routed back to writers without another authority check. Bundle a durable lifecycle into the launcher, require a committed decision and complete approved capsule before writable workers start, return accepted TODOs through pre-implementation, and require current-diff governance reviews plus the existing technical gate before completion. This remains normal-path enforcement; the README documents the trusted-supervisor boundary needed for strict enforcement.
The previous capsule name obscured the boundary between structured lifecycle metadata and the semantic document handed to workers. Rename the document, state fields, CLI option, validator, prompts, and tests to approved implementation context. The helper is now validated_assignment_context_path because it validates assignment metadata and returns the context path rather than creating a container.
The embedded Python heredoc made workflow.sh look inert and prevented normal Python tooling, syntax highlighting, and imports. Move the state machine into multiagent_framework.workflow and keep workflow.sh as a compatibility launcher without changing commands or state format.
areshand
marked this pull request as ready for review
August 13, 2026 00:28
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.
Why
Multi-agent consensus could silently turn ambiguous, user-owned choices into implementation details. The orchestrator also had no mandatory phase boundary that forced post-implementation findings back through evidence collection, decision ownership, and user approval before another writer started. Because workers received partial assignment prompts, they could miss constraints already decided in the orchestrator's full context.
This change makes those decisions explicit and durable before implementation begins.
What changed
pre-implementation -> implementation -> post-implementationlifecycle into every normal launcher-created orchestrator session.bin/decision.shto contain a committed selected plan and require an immutable approved-implementation-context hash before exploitation assignments can be created or spawned.gate-checkbefore completion.Enforcement model
This is normal-path enforcement in the launcher, subagent utility, lifecycle state machine, and completion helper. It is deliberately documented as not being a security boundary: an orchestrator with unrestricted shell and state-file access can still bypass it. A trusted supervisor that exclusively owns writable-worker launch remains the stronger follow-up design.
Validation
tests/run.sh— passed in full; Git commit signing was disabled only for the test process to avoid the local SSH signing-key prompt.tests/lifecycle.sh— passed.shellcheck -e SC2016 launch.sh bin/subagent.sh bin/workflow.sh bin/prompt-bundle.sh bin/orchestrator.sh tests/lifecycle.sh— passed.SC2016excludes two existing informational warnings in unchanged format strings.git diff --check— passed.