From 0ddd497b1adb5de9ace2854ee17298e3e06dcb57 Mon Sep 17 00:00:00 2001 From: Flo Hart Date: Wed, 29 Jul 2026 22:26:29 +0200 Subject: [PATCH 1/2] fix(brief): repair worker scaffold parser --- bin/fm-brief.sh | 2 +- tests/fm-ask-user-authority.test.sh | 2 +- tests/fm-brief.test.sh | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bin/fm-brief.sh b/bin/fm-brief.sh index 00ea34d..5cc7ea6 100755 --- a/bin/fm-brief.sh +++ b/bin/fm-brief.sh @@ -325,7 +325,7 @@ Two firstmate-specific rules layer on top of that guidance: - ask-user findings are never yours to answer: escalate to firstmate (rule 6) and stop. Firstmate applies the authority contract in its \`AGENTS.md\` and obtains any required captain decision. When the decision comes back, feed it to the gate with \`no-mistakes axi respond\` and let the pipeline apply it - do not route the question to "the user" or implement the fix yourself. -- Avoid \`--yes\`: it would silently bypass firstmate's authority check and any required captain escalation. +- Avoid \`--yes\`: it would silently bypass the authority check that firstmate applies and any required captain escalation. After /no-mistakes reports CI green (the CI-ready return point - do not wait for it to keep monitoring in the background until merge), append \`done: PR {url} checks green\` and stop. You are finished. EOF diff --git a/tests/fm-ask-user-authority.test.sh b/tests/fm-ask-user-authority.test.sh index c05d849..c732113 100644 --- a/tests/fm-ask-user-authority.test.sh +++ b/tests/fm-ask-user-authority.test.sh @@ -131,7 +131,7 @@ test_primary_and_secondmate_instruction_generation() { "generated implementation brief lets the worker own an ask-user decision" assert_grep "Firstmate applies the authority contract in its \`AGENTS.md\`" "$ship" \ "generated implementation brief bypasses the primary authority owner" - assert_grep "silently bypass firstmate's authority check and any required captain escalation" "$ship" \ + assert_grep "silently bypass the authority check that firstmate applies and any required captain escalation" "$ship" \ "generated implementation brief permits silent ask-user auto-resolution" assert_no_grep 'the captain, not you, owns the ask-user decisions' "$ship" \ "generated implementation brief retained conflicting captain-only wording" diff --git a/tests/fm-brief.test.sh b/tests/fm-brief.test.sh index 74690ea..8505a4c 100755 --- a/tests/fm-brief.test.sh +++ b/tests/fm-brief.test.sh @@ -116,6 +116,10 @@ test_no_mistakes_dod_wording() { "no-mistakes DOD must render literal backticks around help" assert_no_grep "no-mistakes' own guidance" "$brief" \ "no-mistakes DOD regressed to the apostrophe form that breaks bash -n" + assert_grep "the authority check that firstmate applies" "$brief" \ + "no-mistakes DOD lost the apostrophe-safe authority wording" + assert_no_grep "firstmate's authority check" "$brief" \ + "no-mistakes DOD regressed to the authority apostrophe that breaks bash -n" pass "fm-brief.sh: no-mistakes DOD wording avoids the apostrophe regression" } From aeb6a6ee2cb4d1b9cdbe095e873d49cba2622c97 Mon Sep 17 00:00:00 2001 From: Flo Hart Date: Thu, 30 Jul 2026 00:56:53 +0200 Subject: [PATCH 2/2] no-mistakes(document): Clarify parser regression comment --- tests/fm-brief.test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/fm-brief.test.sh b/tests/fm-brief.test.sh index 8505a4c..258375a 100755 --- a/tests/fm-brief.test.sh +++ b/tests/fm-brief.test.sh @@ -96,8 +96,8 @@ test_faster_paths_use_configured_authority_without_stacked_review() { pass "fm-brief.sh: faster paths use configured authority without stacked review" } -# Pin the specific line the bug lived on: the no-mistakes DOD's no-mistakes -# reference must render as plain prose with no dangling apostrophe artifact. +# Pin the no-mistakes DOD lines that have regressed before: each must render as +# plain prose with no apostrophe artifact. test_no_mistakes_dod_wording() { local home id brief home="$TMP_ROOT/wording-home"