fix(gates): one --gates rule in every command, run through the shim, and no executor pause the executor lacks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
e2fcf4060c
commit
af36578f12
11 changed files with 190 additions and 52 deletions
|
|
@ -395,15 +395,16 @@ test('operations.md custom-profile prose matches findProfilePath resolution orde
|
|||
|
||||
// --- S24 — anti-false-claim: operations.md + command-modes.md autonomy-gate truth-pass ---
|
||||
//
|
||||
// autonomy-gate.mjs is a BOOLEAN gate: --gates {true|false} → gates_on|auto_running.
|
||||
// autonomy-gate.mjs is a BOOLEAN gate: --gates [true|false|closed|open] → gates_on|auto_running.
|
||||
// State machine: idle → gates_on|auto_running → paused_for_gate → completed.
|
||||
// The old prose (operations.md:15 / command-modes.md gates rows) (1) fabricated a
|
||||
// state machine `idle → approved → executing → merge-pending → main-merged` — only
|
||||
// `idle` exists in autonomy-gate.mjs STATES; (2) claimed event-emit.mjs "records
|
||||
// each transition" — it emits 3 named lifecycle events and is decoupled from the
|
||||
// (pure, no-I/O) autonomy-gate; (3) advertised `--gates {open|closed|adaptive}` —
|
||||
// open/closed/adaptive is a DERIVED gates_mode policy in the command layer, not a
|
||||
// flag value (the CLI shim + all 4 command docs take boolean `--gates {true|false}`).
|
||||
// there is no strictness policy and no `adaptive` value: the flag is boolean, and
|
||||
// the CLI shim + all 4 command docs take `--gates [true|false|closed|open]`
|
||||
// (bare, true, closed = on; false, open = off; fix round 4.5a, #1).
|
||||
test('operations.md + command-modes.md describe the real autonomy-gate, not a fabricated one [S24]', () => {
|
||||
const ops = read('docs/operations.md');
|
||||
const modes = read('docs/command-modes.md');
|
||||
|
|
@ -430,13 +431,13 @@ test('operations.md + command-modes.md describe the real autonomy-gate, not a fa
|
|||
'docs/operations.md: event-emit records 3 named lifecycle events, not "each transition" of the (decoupled) autonomy-gate; fix the prose',
|
||||
);
|
||||
|
||||
// F3 — --gates is boolean; open/closed/adaptive is a derived gates_mode policy, not a flag enum
|
||||
// F3 — --gates is boolean; there is no open/closed/adaptive strictness enum
|
||||
const GATES_ENUM_FORMS = ['{open|closed|adaptive}', '{open\\|closed\\|adaptive}'];
|
||||
for (const [label, txt] of [['operations.md', ops], ['command-modes.md', modes]]) {
|
||||
for (const bad of GATES_ENUM_FORMS) {
|
||||
assert.ok(
|
||||
!txt.includes(bad),
|
||||
`docs/${label}: --gates flag enum "${bad}" is false — flag is boolean {true|false}; open/closed/adaptive is a derived gates_mode; fix the prose, not this test`,
|
||||
`docs/${label}: --gates flag enum "${bad}" is false — the flag is boolean: bare, true or closed = on, false or open = off, and there is no adaptive; fix the prose, not this test`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue