Skip to content

feat(notes): store unprocessed worker-notes in the TODO.md index#12

Open
ArgonQQ wants to merge 3 commits into
mainfrom
task/t-4e7a
Open

feat(notes): store unprocessed worker-notes in the TODO.md index#12
ArgonQQ wants to merge 3 commits into
mainfrom
task/t-4e7a

Conversation

@ArgonQQ

@ArgonQQ ArgonQQ commented Jul 23, 2026

Copy link
Copy Markdown
Member

What

Human "note to worker" input now lives on the index entry in TODO.md as a repeatable - note: sub-bullet, instead of the per-task file's ## Notes section. A loop worker reads the index every pass, so notes are now surfaced reliably — previously a note added to an already-groomed task's file was invisible until someone opened the file.

Decision (t-4e7a grooming): store unprocessed notes in TODO.md; no long-term storage in the task file. Notes are transient — applied then deleted (Rule 16), and dropped on accept.

Changes

  • model: IndexEntry gains notes: string[]; TaskDetail drops it.
  • parser/writer: parse + serialize - note: after question:/answer:; round-trip fixpoint preserved.
  • taskfile: stops parsing/emitting ## Notes (a stray one is preserved as a flagged unknown section).
  • merge: note becomes an index field (patch routes to TODO.md); dropped from detail fields.
  • docs: media/template-loop.md grammar + task-file format + Rule 16 + Automation step 6; CLAUDE.md non-negotiable fix(board): make DRAFT cards readable — body-text layout instead of italic title blob #3.
  • The webview note UI is unchanged (it already sent field: 'note').

Second commit

chore: remove REFACTORING.md — deletes the v2 storage-split spec and its now-dangling references (CLAUDE.md, .vscodeignore), per request.

Verification

make check green — build clean, 57 tests pass (new note: parser round-trip + index-field merge tests), VSIX packaged.

ArgonQQ added 3 commits July 23, 2026 14:38
Move human "note to worker" storage from the per-task file's `## Notes`
section to a repeatable `- note:` sub-bullet on the index entry, so a loop
worker sees notes on its every-pass index read instead of missing them when
it doesn't open the task file (grammar v4 extension).

- model: IndexEntry gains `notes: string[]`; TaskDetail drops it
- parser/writer: parse + serialize `- note:` after questions; round-trips
- taskfile: stop parsing/emitting `## Notes` (a stray one is preserved as a
  flagged unknown section)
- merge: `note` becomes an index field (patch routes to TODO.md)
- notes are transient/unprocessed: dropped on accept; Rule 16 apply-then-delete
- docs: LOOP.md template + CLAUDE.md non-negotiable + Rule 16/Automation step 6
- tests/fixtures updated; make check green
Keep CLAUDE.md aware of >=2.0 only: drop the PLAN.md (v1 design) pointer, the
'breaking, no migration' + 'root TODO.md ignored' v1->v2 transition framing, and
the stale terminals note (old ~3,000-char prompt history, 'tmux = v2 path' — the
current terminals.ts uses plain VSCode terminals).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant