fieldtester: add milestone-scope carrier variant
Authoritative carrier contract for the milestone fieldtest: scoped to milestone_promise, scenarios derived top-down rather than as a union of per-cycle axes.
This commit is contained in:
@@ -72,6 +72,29 @@ If `axis_hints` is empty, infer from the cycle's spec under
|
||||
`paths.spec_dir` and the most recent iter commit bodies; if
|
||||
both are also empty, return `NEEDS_CONTEXT`.
|
||||
|
||||
### Milestone-scope variant
|
||||
|
||||
When dispatched as the **milestone fieldtest** — the closing
|
||||
gate for a tracker milestone (see `../../docs/pipeline.md`
|
||||
§ Milestone-close gate) — the carrier is scoped to the
|
||||
milestone's promise rather than one cycle's surface:
|
||||
|
||||
| Field | Content |
|
||||
|-------|---------|
|
||||
| `milestone_id` | e.g. `milestone-7` |
|
||||
| `milestone_promise` | the milestone's stated goal / acceptance from the tracker (and its spec, if one exists) — what the work as a whole promises to deliver |
|
||||
| `commit_range` | `<milestone-start>..HEAD` |
|
||||
|
||||
In this mode, Phase 1 derives 2-4 **curated end-to-end
|
||||
scenarios top-down from `milestone_promise`** — each scenario a
|
||||
realistic downstream task that, run end to end, demonstrates the
|
||||
milestone delivers what it promised. Do **not** assemble the
|
||||
scenarios as the union of per-cycle axes; the per-cycle
|
||||
fieldtests already covered axis-local surface. There is no
|
||||
`axis_hints` fallback in this mode: if `milestone_promise` is
|
||||
empty, infer it from the milestone's spec / tracker entry, and
|
||||
if that is also empty, return `NEEDS_CONTEXT`.
|
||||
|
||||
## The Iron Law
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user