diff --git a/TODO.md b/TODO.md index 0703d5fd2..8df1b17c1 100644 --- a/TODO.md +++ b/TODO.md @@ -2,58 +2,3 @@ Dump anything here. ---- - -## Triage should auto-promote Tier 1 items into real milestones - -Confirmed today: `/todo triage` works — it produces a plan doc and tiers -items into `BUILD_PLAN.md`. **But it stops at tiering.** Tier 1 items — -the ones marked blocking / correctness — should additionally trigger -the milestone-creation path so they land as `.sf/milestones/MNNN/` -scaffolds, not just tier-list rows that have to be promoted by hand. - -Concretely: at the end of `triageTodoDump()` in -`src/resources/extensions/sf/commands-todo.js`, after items are -inserted into `triage_runs`/`triage_items` and reflected in -`BUILD_PLAN.md`, iterate items where `tier === "T1"` (or some configured -threshold) and call into the same milestone-creation flow that -`/sf new-milestone` uses. Each Tier-1 triage item's context (the -already-LLM-rationalised "Why" + "Implementation note") becomes the -spec for one milestone. - -Two design decisions to make: - -1. **Auto-create vs queue.** Safer default is "queue, await human - approval before scaffolding files" — so triage emits a small - `triage_milestone_candidates` row and a follow-up command - (`/sf triage-milestones approve `) does the actual scaffold. - More aggressive: skip the human gate when there's high confidence - from the triage LLM that the item is well-scoped. - -2. **What counts as Tier 1.** The triage LLM already decides this - based on the spec wording. Document the criteria so it's stable - across model swaps (e.g. "correctness / blocking / safety = T1; - ergonomics / nice-to-have = T2-3"). - -When this ships, today's seven triage items (recorded in -`docs/plans/todo-triage-2026-05-11-plan.md`) should retroactively get -milestones for the two Tier 1 entries (headless unattended fix + -adversarial-collaborative probes). - -## Triage runner had an extension load error - -Today's `/todo triage` run printed at the top of its output: - -``` -[sf] Extension load error Error: Failed to load extension -"/home/mhugo/.sf/agent/extensions/sf/index.js": -The requested module './phases-helpers.js' does not provide an -export named 'closeoutAndStop' -``` - -Triage itself still completed successfully, so it's non-fatal — but -some extension in the agent harness expected `closeoutAndStop` from -`phases-helpers.js` and didn't find it. Either the symbol was renamed -and a caller wasn't updated, or `npm run copy-resources` didn't sync -the right file. Likely caught by a test if there's one for the -phases-helpers exports list.