feat: add opt-in OMP orchestration for task briefs - #131
Open
dnth wants to merge 8 commits into
Open
Conversation
- fm-brief.sh --orchestrate records orchestration: enabled marker - fm-spawn.sh detects marker and refuses non-ship/non-omp before endpoint creation - OMP launch message now carries explicit orchestrate keyword + brief pointer - Documented in .agents/skills/harness-adapters/SKILL.md and runtime-backends.md - Tests cover opt-in, default behavior, and incompatible-harness refusal
…gression coverage
…launch message - bin/fm-brief.sh --orchestrate now writes a generated YAML front-matter marker (---\norchestration: enabled\n---) at the top of the brief, not a line scannable through task prose. - bin/fm-spawn.sh reads only the first three lines to detect the opt-in, so ordinary task/AC text, quoted examples, and code blocks cannot spoof it. - Opted-in OMP launches pass two positional messages: the standalone lowercase 'orchestrate' keyword, followed by the unchanged encoded brief. - Non-opted launches pass only the unchanged encoded brief; no sed rewriting or HTML-comment corruption. - Update tests and docs to match the front-matter and two-message design. - Live proof on OMP 18.1.14 confirms orchestrate-notice injection, multiple task subagents, and combined pytest verification.
…e keyword - Replaces the two-positional-message launch with a single encoded message. - Non-opted launches: 'Read the brief at <path> and follow it exactly.' - Opted-in launches: 'orchestrate\n\nRead the brief at <path> and follow it exactly.' - The original task text stays in the brief file, read via a tool result (never keyword-scanned). - Keeps the generated front-matter marker so task prose cannot spoof opt-in. - Live proof on OMP 18.1.14: orchestrate-notice injected, two task subagents, 5 pytest passes.
- Reject marked briefs when RAW_LAUNCH=1, before the harness check, so a raw command cannot bypass the verified OMP launch template and silently drop the orchestrate keyword. - Add negative regression test that verifies a raw 'cat /dev/null' launch for a marked brief is refused with the verified-template message. - Non-opted raw launches and non-raw verified OMP launches are unchanged.
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.
Intent
Implement captain-approved opt-in OMP orchestration in Firstmate. Add --orchestrate to fm-brief.sh for ordinary ship briefs, record the orchestration: enabled marker as generated front-matter at the top of the brief, and have fm-spawn.sh pass a single task-bearing OMP launch message: the exact lowercase orchestrate keyword only when opted in, plus an instruction to read the original brief at its absolute path before any work. Refuse scouts, secondmates, non-OMP harnesses, and raw launch commands for marked briefs before launch. Preserve ordinary briefs/launches unchanged without the opt-in. Keep Firstmate registered-crewmate supervision, merge authority, receipt contract, and No-Mistakes branch custody; nested task subagents remain crewmate-owned implementation helpers, never independent Firstmate workers. Document the policy in .agents/skills/harness-adapters/SKILL.md and docs/verification/runtime-backends.md; extend tests/fm-brief.test.sh and tests/fm-omp-harness.test.sh. No combining orchestrate/workflowz, no default orchestration, no forced fan-out, no changes to shared installed OMP config or crew-dispatch.json/model selection. Verify with targeted shell tests, lint, docs check, and an isolated live OMP proof with at least two task subagents on independent targets plus combined verification. Firstmate-Validation-Generation: 7ffba69cdf8d349d3af4e925742b2c97
What Changed
--orchestratebrief generation with anorchestration: enabledfront-matter marker, while leaving ordinary briefs unchanged.orchestratekeyword and an absolute brief-read instruction; marked briefs reject scouts, secondmates, non-OMP harnesses, and raw launches before launch.Risk Assessment
✅ Low: The opt-in is explicitly front-matter gated, non-OMP/raw/scout/secondmate paths refuse before endpoint creation, and the OMP launch message keeps orchestration opt-in only.
Testing
Exercised the user-facing shell brief and spawn paths, including front-matter opt-in generation, ordinary-brief preservation, non-OMP/raw-launch refusals, task-text marker regression, OMP capability and dispatch behavior, and maintained-documentation checks; all targeted tests passed. Evidence transcript saved at the listed path.
Evidence: Targeted OMP opt-in validation transcript
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
bash tests/fm-brief.test.shbash tests/fm-omp-harness.test.shbash tests/fm-spawn-dispatch-profile.test.shbash tests/fm-documentation-audiences.test.sh✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.