feat(plan): plan_version 1.9 is the current target, the file first on every line [skip-docs]
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
d14a49b92d
commit
64e6771c8b
14 changed files with 219 additions and 34 deletions
|
|
@ -18,7 +18,7 @@ source_findings:
|
|||
|
||||
> **Plan quality: {grade}** ({score}/100) — {APPROVE | APPROVE_WITH_NOTES | REVISE | REPLAN}
|
||||
>
|
||||
> Generated by trekplan v{version} on {YYYY-MM-DD} — `plan_version: 1.8` · `ceremony: {small | bounded | architectural}`
|
||||
> Generated by trekplan v{version} on {YYYY-MM-DD} — `plan_version: 1.9` · `ceremony: {small | bounded | architectural}`
|
||||
|
||||
## Context
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ their relationships, and the data flow between them.*
|
|||
Each step targets 1–2 files and one focused change, and is a vertical slice:
|
||||
a narrow but complete path through every layer it touches, verifiable on its
|
||||
own. Preparatory refactoring comes first, as its own steps. Every step has
|
||||
`Test first:` (plan_version 1.8 requires it), and one step runs the thing
|
||||
`Test first:` (plan_version 1.8 or later requires it), and one step runs the thing
|
||||
end to end (`End-to-end:`). The test for a behaviour belongs in the step that
|
||||
builds it: a step of only tests for behaviour an earlier step delivered passes
|
||||
at its start point and can never be proven red (the validator warns:
|
||||
|
|
@ -89,6 +89,17 @@ runs green before the checkpoint, on a step that can break existing tests;
|
|||
never empty. `On failure:` opens with `revert`, `retry`, `skip` or `escalate`,
|
||||
then the specifics.
|
||||
|
||||
From plan_version 1.9 the rule is the file first on every line: each `Files:`
|
||||
entry and each `Test first:` `File:` line opens with its backticked path(s),
|
||||
separated only by commas or spaces, and everything after the first other text
|
||||
is description that is never read. A 1.9 step always names a file (`none` or
|
||||
an empty `Files:` is refused). In `Files:`,
|
||||
every path stands before any annotation: `` `src/a.mjs`, `src/b.mjs` (new) ``,
|
||||
never `` `src/a.mjs` (new), `src/b.mjs` `` (in 1.9 that second path is
|
||||
description).
|
||||
Several test files share one `File:` line the same way:
|
||||
`` File: `a.test.mjs`, `b.test.mjs` *(new)* ``.
|
||||
|
||||
### Step 1: {description}
|
||||
|
||||
- **Files:** `path/to/file.ts`
|
||||
|
|
@ -146,8 +157,8 @@ then the specifics.
|
|||
|
||||
*A project without tests still gets `Test first:` on every step: the first step
|
||||
adds the test runner (or a script under `tests/`) the later steps use. A plan
|
||||
without an `End-to-end:` step is invalid at plan_version 1.8 — without it the
|
||||
result can only be "not verified end to end", never green.*
|
||||
without an `End-to-end:` step is invalid at plan_version 1.8 or later — without
|
||||
it the result can only be "not verified end to end", never green.*
|
||||
|
||||
### Manifest — objective completion predicate
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue