Tasks: declared skips in the process graph
Phase 4 of 4. Derived from the locked
design.mdandtesting-plan.md— each task's_Test:_names a row of the matrix. Ticket: issue #177.
Task list
- [x] T1 — model: the skip vocabulary —
Node.skippable(+as_mapping),Graph.skip_sets,expand_skip_tokens(), and the three compile validations (required×skippable, missingskippededge, bad set member). Depends on: —. Requirements: R1.1–R1.4. Test: M1. - [x] T2 — state: the declaration record —
GraphState.skipsloaded/saved additively; absent key →{}. Depends on: T1. Requirements: R2.1, R3.3. Test: M4, M12 (n/a-by-construction, exercised via absent-key loads). - [x] T3 — the shipped outer loop declares — six
skippable: truemarkers, sixon: skippededges,skipSets.spec-chain;pdlc-pr-loopuntouched. Depends on: T1. Requirements: R1.5, R1.6, R4.1. Test: M2. - [x] T4 — runtime: route, report, declare, snapshot —
declared_skips()defensive filter; skip routing instart/advance(including the no-pointeradvancepath); provenance instatus()both modes with forged-declaration warnings; module-leveldeclare_skips()(reason required, entered/past refused, audit comment, event); label snapshot at entry viaget-labels, best-effort, once. Depends on: T2, T3. Requirements: R2.1–R2.7, R3.1–R3.3, R3.5. Test: M3, M4, M6, M7. - [x] T5 — artifact gates tolerate declared absences —
HookContext.skipped_artifactscomputed inevaluate();validate-artifactsreports an absent, skip-covered slot as an info skip; present artifacts gated unchanged. Depends on: T4. Requirements: R3.4. Test: M5. - [x] T6 — the operator surface —
core.graphs.skip(),POST /graph/skip, the OpenAPI contract entry,the-loop graph skipsubcommand,graph showprintingskippable; no MCP exposure. Depends on: T4. Requirements: R2.3–R2.6, R4.2. Test: M7, M8. - [x] T7 — docs and the paper trail —
reference/workflow.md§ Declared skips,SKILL.mdrule bullet,docs/capabilities/process-graph.mdbehaviour + history row,docs/decisions/decision-067.md(+ index), labels report note. Depends on: T5, T6. Requirements: all (documentation of). Test: M9 (markdownlint; docs parity). - [x] T8 — verification — execute the testing plan, fill § Verification results, commit evidence. Depends on: T7. Requirements: all. Test: M9 plus the plan itself.