Task-corpus audit — 2026-08-01
State: open/active · Genre: analysis
Scope: every non-closed task in docs/planning/tasks/ (144 files) audited
against the live codebase. Snapshot audited: 758baf72a; edits applied on
081937cea (three tasks spawned between the two — T-08HW, T-ZYBI, T-X8NO —
are post-snapshot and not audited; T-B98V closed upstream mid-audit and was
left alone).
Method: 12 parallel review agents, one per thematic cluster. Per task:
full read; git log --all --grep=<id> commit trail; cross-reference sweep
over milestones/decisions/code; cited paths and symbols resolved against the
checkout; verdict only with code-level evidence. Medium-confidence closes were
re-verified by the orchestrator before applying.
Outcome
Section titled “Outcome”| Verdict | Count | Applied action |
|---|---|---|
| keep | 126 | last_reviewed: 2026-08-01; relevance_note where the codebase moved under the spec |
| shipped | 5 | 4 → closed/done (T-FOJN, T-LWEH, T-2CXH, T-PTDG); T-B98V closed upstream |
| obsolete | 6 | 5 → closed/obsoleted; T-TDES → closed/no-repro |
| superseded | 2 | closed/superseded (T-OB74 → D-WK7T, T-KIM9 → T-CF7M) |
| duplicate | 2 | closed/superseded into the survivor (T-XC32 → T-12HH, T-0X9M → T-0AM0) |
| unclear | 3 | kept + need_human_review: true (T-WML6, T-0PQK, T-WWNY) |
need_human_review: true also set on T-BLYF (leak risk now structurally
capped) and T-UWRG (every bun→pnpm driver got a Bun-native fix; the item
encodes an owner decision).
Closes
Section titled “Closes”| Task | Close | Evidence anchor |
|---|---|---|
| T-FOJN task-work-durable-task-state-commits | done | commitToMainViaWorktree (lib/services/git/commit-to-main.ts) ships the whole mechanism |
| T-LWEH entity-title-accessor | done | PR #940 / b9b74ba80; task file never flipped |
| T-2CXH scope-release-roster-off-moon-app-vitest | done | sdlc.yaml roster comment cites its own retirement; polish-ci.yml (PR #757) |
| T-PTDG retire-pyyaml-emitter | done | PR #1100; yaml.ts now 108 lines over npm yaml |
| T-2UYF / T-7270 / T-LH85 polish-* | obsoleted | target tree frozen as apps/legacy-polish (39f911d6c); live polish is apps/determined/products/polish |
| T-521G pilot-consumer-polish | obsoleted | hard dep T-75UD closed/obsoleted (dist-repo channel retired for D-2APS); M-UWPO annotated |
| T-132J worktree-move-creates-parent-dir | obsoleted | sole caller already mkdirSync(recursive); migration spent |
| T-TDES investigate-bash-multiline-arg-glue | no-repro | single 2026-05-22 observation, zero recurrence; its own AC-1 sanctions the close |
| T-OB74 stash-roundtrip-worktree-guard | superseded | D-WK7T (accepted) removes the stash roundtrip rather than guarding it |
| T-XC32 task-acs-phrase-against-clean-fixtures | superseded | scope absorbed into T-12HH (Approach step 3 / AC-4) |
| T-0X9M probe-credits-session-observed-tools | superseded | same probe-false-positive scope as T-0AM0, which links it and carries the residual arm |
| T-KIM9 task-define-batch-skill | superseded | /sdlc:task-auto-define (T-CF7M) already batches; KIM9’s own gap note concedes the premise |
Consolidation groups (encoded in relevance notes; merge when picked up)
Section titled “Consolidation groups (encoded in relevance notes; merge when picked up)”| Group | Members | Shape |
|---|---|---|
| Touchpoint cell-parser hardening | T-I8UZ, T-LF7V, T-TLJW | single-function tokenization fixes in parse-touchpoints.ts / _table_cells.ts — one PR |
| Paths claim-resolver precision | T-O66A (residual half), T-6S2N, T-HYSY, then T-L7XL | same collectCitations section-provenance plumbing; T-6S2N and T-HYSY pull opposite directions and must be designed together; T-L7XL must sequence after T-O66A |
| Files-to-touch enumeration rules | T-KS7C, T-KY0Y | T-KS7C’s own body requests the merge |
| AC authoring guidance | T-12HH (carrier), T-N0HI prose half, T-HQ56 substrate, T-MNGR | T-XC32 already folded in |
| Preflight probe family | T-DTAQ first (only ready member), T-0AM0 (+absorbed T-0X9M), T-NUML separate, T-0JTT pairs with T-9J63 | three distinct problems, not five |
| Heartbeat lifecycle | T-IZLC, T-P6E5, T-S9SV | one combined design pass |
| Baseline capture family | T-7FPF + T-G6T3 (deliberate halves), T-LDH4 (same incident as G6T3), T-OLTA (+B-YNEX) | |
normalizeFinding extensions | T-BCNP (best-specified; promotion candidate), T-2HDX | |
| audit-skill-runtime citations | T-4ZZX (keeper, fully authored), T-T8S2 (5 dangling doc paths live right now) | one regex generalization covers both |
| graph-scheduler chain | T-ROJC unblocked head; T-7OJL + T-BR6H natural PR-mates; T-8I15 premise fully live | all 11 shared the same stale “greenfield” Today |
Ordering and collision repairs
Section titled “Ordering and collision repairs”- T-RNHP was
open/readywith “Dependencies: none” while building on T-NXAM’s unimplementeddoc-editverb — hard dependency now recorded. - D-EQGC (task-state planes, open/proposed) pre-empts or reshapes T-RNHP, T-WLNF, T-9TYJ, T-U3NR: decide that ADR before dispatching any of them (each now carries the warning in its relevance note).
- Same-line collisions: T-RNHP ↔ T-BR8T (
start_task.ts:589); T-WLNF ↔ T-9TYJ (lint-state-origin.tsinput schema). Serialize within each pair.
Capture gaps found (not fixed here)
Section titled “Capture gaps found (not fixed here)”- The T-SITE post-mortem’s third defect (an
index.(md|mdx)alternation read as a literal path) has no tracking task; siblings T-LF7V and T-0O6S exist. - B-6AHH carries the real spec for the templated T-I4F7; the no-lock finding suggests the true root cause is B-O8MK’s (tsc incremental-cache corruption).
- M-UWPO needs milestone review: two success criteria and one Wave-4 deliverable now point at obsoleted tasks (annotated in place).
Highest-value dispatchable work (post-audit)
Section titled “Highest-value dispatchable work (post-audit)”- T-OLTA — confirmed live one-line defect (
run.ts:235-238baselineDir default) breaking every worktree Step 7 run; B-YNEX corroborates. - T-DTAQ — only implementation-ready member of the probe family;
BLANKET_EDIT_MODESstill lacksauto. - T-B5ZA — clean spec, zero stale citations, no gating decision.
Systemic findings
Section titled “Systemic findings”The corpus-shape conclusions this audit feeds — spec-rot mechanics, the
task-as-only-unit overload, ceremony scaling per instance, competing answers
filed as parallel ready tasks, intake/triage vocabulary gaps — are argued with
this data in the companion decision Corpus planes — work orders, process
registry, product planning (see docs/planning/decisions/).