Skip to content

feat: executor-narrative channel — tdd note command and friction-log rendering (issue #77) - #94

Merged
geuben merged 23 commits into
mainfrom
worktree-issue-77-executor-notes
Aug 29, 2026
Merged

feat: executor-narrative channel — tdd note command and friction-log rendering (issue #77)#94
geuben merged 23 commits into
mainfrom
worktree-issue-77-executor-notes

Conversation

@geuben

@geuben geuben commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds tdd note "<text>" — a free-text executor-narrative command scoped to the open cycle and phase, or to the run after it ends
  • Adds schema v8: a new note table (run_id, cycle_id, phase, text, at) with MIGRATIONS[7] = "" entry
  • Renders cycle notes as blockquotes inside their cycle section of the friction log; run-level notes in a new ## Executor narrative section between cycles and Blockers
  • Soft nudge on _reply envelopes when integrity events exist and the cycle has no note yet; silenced once a note is recorded
  • Closing-narrative invitation on both terminal COMPLETE envelopes (_handle_refactor and cmd_cycle_skip's final-cycle path)
  • Docs follow-up: README command table + friction-log section, PRD Note entity + command table + schema v8, harness-integration, tdd-drive SKILL.md

Commits

afbfeaf docs: add tdd note to README, PRD, harness-integration, and tdd-drive skill
cc3b871 docs: friction log for issue-77-executor-notes
c5d9115 feat: closing-narrative prompt on the terminal skip envelope
26df7d8 test: COMPLETE via final-cycle skip mentions the closing tdd note
c46a2f8 feat: closing-narrative prompt on the terminal advance envelope
35eb703 test: COMPLETE via advance mentions the closing tdd note
cfebfe0 feat: silence the note nudge once the cycle carries a note
5eb02ff test: a noted cycle is not nudged again
558cfe2 refactor: an integrity event's envelope nudges for a note
abaae1a feat: soft note nudge on integrity-event envelopes
08a02ac test: red_first_violation envelope suggests tdd note
dcf0558 refactor: no Executor narrative section without run-level notes
4d05f83 feat: Executor narrative section for run-level notes
fff34b9 test: run-level notes render under ## Executor narrative
5760d71 feat: friction log renders cycle notes as blockquote claims
3c20256 test: a cycle note renders as a phase-stamped blockquote
887b568 feat: tdd note falls back to the latest run after the run ends
19dc0f5 test: post-terminal tdd note lands run-level, no active run required
96a00b1 refactor: a v7 ledger is upgraded in place to v8
b8d48c2 feat: schema v8 — note table, empty MIGRATIONS[7] entry
5409f1b test: reopening a v7 ledger yields the note table and version 8
3478582 feat: tdd note — executor-narrative rows in a new note table
3d6cb70 test: tdd note stores a cycle-scoped, phase-stamped row

Quality gates

  • uv run ruff check src tests — All checks passed
  • uv run pytest tests/ — 461 passed

Test coverage note

All decision-point operators in new code are covered by at least one test (pseudo-mutation analysis passed). 10 cycles, 10 tests in tests/test_executor_notes.py. Cycle 6 passed on arrival as predicted by the plan; sensitivity check confirmed it can fail under mutation.

Closes #77

geuben added 23 commits August 29, 2026 20:57
TDD-Run: 16
TDD-Cycle: 1
TDD-Phase: red
TDD-Run: 16
TDD-Cycle: 1
TDD-Phase: green
TDD-Run: 16
TDD-Cycle: 2
TDD-Phase: green
TDD-Run: 16
TDD-Cycle: 2
TDD-Phase: refactor
TDD-Run: 16
TDD-Cycle: 3
TDD-Phase: green
TDD-Run: 16
TDD-Cycle: 4
TDD-Phase: red
TDD-Run: 16
TDD-Cycle: 4
TDD-Phase: green
TDD-Run: 16
TDD-Cycle: 5
TDD-Phase: red
TDD-Run: 16
TDD-Cycle: 5
TDD-Phase: green
TDD-Run: 16
TDD-Cycle: 6
TDD-Phase: refactor
TDD-Run: 16
TDD-Cycle: 7
TDD-Phase: red
TDD-Run: 16
TDD-Cycle: 7
TDD-Phase: green
TDD-Run: 16
TDD-Cycle: 7
TDD-Phase: refactor
TDD-Run: 16
TDD-Cycle: 8
TDD-Phase: red
TDD-Run: 16
TDD-Cycle: 8
TDD-Phase: green
TDD-Run: 16
TDD-Cycle: 9
TDD-Phase: red
TDD-Run: 16
TDD-Cycle: 9
TDD-Phase: green
TDD-Run: 16
TDD-Cycle: 10
TDD-Phase: green
@geuben
geuben merged commit cc095f6 into main Aug 29, 2026
10 checks passed
@geuben geuben mentioned this pull request Sep 3, 2026
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.

friction log: add an executor-narrative channel — telemetry-only logs cannot capture qualitative friction

1 participant