T-XD7M-retire-task-sort-stub
Status: closed/done · Impact: low · Complexity: small
Finish moving the task-pickup-order spec into its decision entity
D-Q2WR-task-pickup-order: repoint every operational reference from
docs/task-sort.md to the decision, then delete the redirect stub.
Context
Section titled “Context”The spec was converted to the decision D-Q2WR-task-pickup-order in
the index PR, but docs/task-sort.md was left as a redirect stub rather
than deleted. The citing files were Python at capture time and the
repoint was deferred behind the TypeScript migration; that migration is
complete, the citers are now stable .ts/.md files, and the deferral
— and the depends_on: T-0014 that encoded it — is moot. Re-verified
2026-06-03: 20 live citations across 11 files (the spec list below);
the old v4-to-v5.py migration citer has no successor citation.
| Location | Role today |
|---|---|
docs/task-sort.md | Redirect stub left behind when the spec moved into D-Q2WR-task-pickup-order; still cited operationally. |
docs/skills/task-work.md | Pickup-order delegation note links the stub. |
docs/skills/orchestrate.md | Same delegation note links the stub. |
docs/planning/capabilities/cap-6.md | Cites the stub for the sort signals. |
docs/planning/tasks/T-0015.md | Open task; cites the stub 4× including a frontmatter related: entry. |
docs/planning/decisions/D-Q2WR-task-pickup-order.md | Provenance note names the stub it was carved from. |
plugin/skills/task-work/SKILL.md | Two “see docs/task-sort.md” pointers (usage line + Step 1). |
plugin/skills/orchestrate/SKILL.md | Three pointers to the stub. |
plugin/cli/task_cli/README.md | Two links to the stub. |
plugin/cli/task_cli/index.ts | Verb help text cites the stub twice. |
plugin/scripts/new_task.ts | Comment cites the stub. |
plugin/scripts/tests/new_task.test.ts | Comment cites the stub. |
- Repoint every reference in the
modifyrows below fromdocs/task-sort.mdtodocs/planning/decisions/D-Q2WR-task-pickup-order.md— relative links in rendered markdown,[D-Q2WR-task-pickup-order](/planning/decisions/task-pickup-order/)wikilinks in planning prose, plain repo paths in code comments and help text. - In
D-Q2WR-task-pickup-order.md, keep the historical provenance mention but mark the stub retired. - Delete
docs/task-sort.md. - Leave the frozen historical task
T-3VD8-add-task-sort-script-and-priority-field.mdas-is.
Files to touch
Section titled “Files to touch”| Location | Kind | Change |
|---|---|---|
docs/task-sort.md | delete | Remove the redirect stub. |
docs/skills/task-work.md | modify | Repoint the stub link to the decision. |
docs/skills/orchestrate.md | modify | Repoint the stub link to the decision. |
docs/planning/capabilities/cap-6.md | modify | Repoint the citation to D-Q2WR-task-pickup-order. |
docs/planning/tasks/T-0015.md | modify | Repoint 4 citations including the frontmatter related: entry. |
docs/planning/decisions/D-Q2WR-task-pickup-order.md | modify | Mark the stub retired in the provenance note. |
plugin/skills/task-work/SKILL.md | modify | Repoint 2 pointers. |
plugin/skills/orchestrate/SKILL.md | modify | Repoint 3 pointers. |
plugin/cli/task_cli/README.md | modify | Repoint 2 links. |
plugin/cli/task_cli/index.ts | modify | Repoint the help-text citations. |
plugin/scripts/new_task.ts | modify | Repoint the comment. |
plugin/scripts/tests/new_task.test.ts | modify | Repoint the comment. |
Acceptance criteria
Section titled “Acceptance criteria”-
command grep -rn 'task-sort.md' docs pluginreturns nothing except this task file, the frozen historical record (T-3VD8-…), and the retired-stub provenance mention inD-Q2WR-task-pickup-order.md. -
docs/task-sort.mdno longer exists.
Out of scope
Section titled “Out of scope”- Any behavioral change to the sort algorithm.
Post-mortem
Section titled “Post-mortem”Captured by /sdlc:task-work on 2026-06-03. PR: pending.
Acceptance criteria coverage
Section titled “Acceptance criteria coverage”- AC-1: agent-manual —
command grep -rln 'task-sort.md' docs pluginin the worktree returns exactly the three allowed files (this task, the frozenT-3VD8record, theD-Q2WRprovenance note). - AC-2: agent-manual —
test -e docs/task-sort.mdreports gone; the commit carriesdelete mode 100644 docs/task-sort.md.
What worked
Section titled “What worked”- The Files-to-touch table authored at pickup from a live grep made implementation a mechanical sweep — the implementing sub-agent needed zero design decisions and found only one off-table citation.
- Adding the v3 Today/Files-to-touch tables on main before the readiness gate avoided a needs-definition park-and-teardown round trip on a task that predates the v3 contract.
Friction and automation gaps
Section titled “Friction and automation gaps”- Gate false-positives:
--diff-against-baselineflagged 10 pre-existing findings as new-drift (randomized tmpdir fixture paths, incidentalPR:marker lines) — proven identical on the clean tree; the masking fix is already tracked by T-TWZD-normalize-baseline-diff-nondeterministic-output. → T-TWZD-normalize-baseline-diff-nondeterministic-output - Fresh worktree had no
node_modules; every bun-test quality verb failed withCannot find module 'eta'until a manualbun install—sdlc.yamldeclares noworktree_init:; declaringbun installthere would arm worktrees deterministically in Step 4. → T-7PXF-declare-worktree-init-bun-install - The pickup-time reference sweep used extension-filtered grep
(
--include='*.md' --include='*.ts' …) and missed a live citation in a.jsonstring field (plugin/lib/model/entities/task/schema.json#priority) — reference enumeration for delete rows must grep unfiltered. → T-PSR1-reference-sweep-greps-unfiltered
Spawned follow-up tasks
Section titled “Spawned follow-up tasks”- T-TWZD-normalize-baseline-diff-nondeterministic-output — linked to existing tracker (gate false-positive masking).
- T-7PXF-declare-worktree-init-bun-install (https://github.com/sksizer/dev/pull/255) —
spawned, Local: declare
worktree_init: ["bun install"]in the repo-rootsdlc.yaml. - T-PSR1-reference-sweep-greps-unfiltered (https://github.com/sksizer/dev/pull/256) — spawned,
Upstream-plugin (
sdlc-meta): task-definition reference sweep must grep unfiltered for delete-row enumeration.