Establish the planning-free review baseline
Commission and completion boundary
The operator asked to finish the separation of planning-free operations from workflows that choose the work, using the existing explicit-plan path before adding a framework. Establish one fixed editing pass and one report-only criterion as independent operations. Keep unsettled selection stops and exact final-publication approval. Leave review-result typing, planning-stability experiments and broader composition for later work.
This change establishes command, instruction and regression-test boundaries. It does not establish model judgment quality. No new paid worker call or live artifact publication is authorized or performed as part of this change.
Implemented boundary
- New revision runs require
--plan FILEor--assess. Bare repeats retain the recorded mode. Changed artifact text requires a new choice, preventing a repeat after publication from silently starting assessment. - A fixed plan owns purpose, protected claims, passes and scopes. Combining fixed-plan execution with CLI purpose/defend options is rejected rather than silently ignoring them. The existing plan schema and depth rules remain.
- Fixed-plan execution constructs no assessment request. Editors in both modes
receive
execute-a-revision-pass.md, not the assessment/dispatch procedure. - Fixed-plan publication binds the plan, execution instruction, selected pass definitions, relevant profiles, brief and accepted outputs. Changes to the assessment instruction, unselected pass text or unused profile do not invalidate it. Assessment-led runs still bind their planning inputs.
- One gate id over one artifact remains report-only. A failure does not select more work or start editing. Fresh results still skip redundant calls.
- Multiple fixed passes remain supported, but are composition, not evidence
for the reliability of an individual operation.
--assessandfull-passremain available as explicitly planning-containing paths.
Consumer change packet
| Contract surface | Treatment |
|---|---|
| Authoritative declaration | ADR 127, CLI mode selection and revision execution; operator recipe in the simplification-pass guide. |
| Scope and enforcement | CLI requires a mode before opening a new revision; the fixed-plan branch never constructs the assessment request. Worker instructions constrain semantic scope; code does not prove semantic compliance. |
| Consumer classes | Updated CLI parser/help/options/report, worker request construction, execution/planning instructions, guide, command reference, architecture, ADR and workshop priorities. Tests cover revision and single-criterion review. No schema, type, root rule, control-plane template or promotion interface changes. |
| Inventory searches | rg -l 'run revise' --glob '*.py' --glob '*.md' --glob '*.yaml' src tests kb found 13 files during implementation; rg -l 'revise-an-article-or-note' kb/instructions found one direct composition sibling. The other consumers were found through source constants and the scoped reference/workshop search. |
| Byte-pinned consumers | rg -l --hidden --no-ignore '"job": "assessment"\|revise-an-article-or-note.md' kb/reports/state/review/runs/revise found two retained files. Run records are historical: no rewrite, deletion or re-pin. Instruction changes generate new worker identities when those inputs are used. Existing publication contexts cannot authorize the new context. |
| Old spellings | Searched run revise, revise-an-article-or-note, named_plan, assessment and plan-option consumers. Current teaching must name --assess; bare repeat commands remain valid because mode is recorded. |
| Generated and projected forms | Editable command and library load source changes directly. No skill stub, entry-point, scaffold layout, generated index or redirect change. |
| Fresh installation | Scratch-project probe uses bare installed commands and shared library files; fixed empty plan must finish without workers. |
| Existing installations and clones | No data migration. Old runs without mode require explicit --plan or --assess; callers keep their recorded files. Init refresh must leave project content unchanged. |
| Diagnostics | Missing mode and conflicting fixed-plan CLI constraints fail before workers; reports expose mode. Tests exercise both diagnostics. |
| Acceptance probe | Fresh scratch init, repeat init, missing-mode refusal, empty fixed-plan execution and bare replay, with zero launches and unchanged target. |
| Drift guard | CLI consumer tests capture actual worker inputs, forbid assessment-request construction in fixed mode, and exercise replay/publication after planner-only changes. Single-criterion test checks one result and no edit even for a failing judgment. |
| Historical witnesses | Older trial records and prior design sections remain historical. Current workshop headers point to this boundary. No retained run is silently adapted. |
| Identity conventions and exclusions | Existing artifact-hash run paths, pass discovery by effort, pair identities and freshness predicates remain. The new execution instruction has no effort, so it is not a selectable pass. |
| Relocation effects | None: no artifacts relocated. |
Verification
Focused fake-harness selection: 51 tests passed. It covers fixed scope and protected-claim delivery, absence of an assessment artifact, no planner request, private preparation, publication from replay, explicit mode switching, and report-only gate failure. Existing selection, brief-conflict, validation and publication-boundary tests also pass in that selection.
Final development selection: 343 passed, using
uv run pytest tests/commonplace/general tests/commonplace/review_workflows tests/commonplace/relocation tests/commonplace/docs -m '' -q.
This includes the additional checks that missing legacy mode or missing captured
plan never fall back to assessment. No slow tests are declared in these suites;
headless runtime and analysis implementation were not changed. Ruff passed.
Explicit validation of all 11 changed Markdown files returned zero failures
and zero warnings. The command/reference rescan found only explicit new-run
modes, valid recorded-mode repeats and historical descriptions.
The installed-project probe at /tmp/review-fixed-plan-probe-z1UX9b passed
fresh initialization, refresh and --check; a bare new revision failed with
exit 2; an empty fixed plan and its bare repeat both completed with zero
launches, no assessment artifact and a clean checkout. This probes installation
and routing, not editing judgment. The earlier published article and theory
note still match their approved candidate hashes.
These Python tests check workflow code; they are not steps added to live note-review or editing workflows. Unrelated ingest, validation and workshop changes in the shared checkout are outside this commission and remain untouched. The command reference has a disjoint pre-existing ingest edit; only its review section belongs to this change.
Next evaluation
For a separately commissioned paid trial, fix one artifact, purpose, pass, scope and protected claims before launch; do not ask an assessor to choose them. Inspect the diff for scope and meaning preservation, retain the worker's report and failure cases, and publish only after explicit approval. Evaluate one criterion independently in the same way. Planning stability and combined workflows need their own evidence; neither fake-worker replay checks nor the two earlier assessment-led Sol trials close that question.