savepoint 1.0.4 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/package.json +11 -4
  2. package/savepoint.exe +0 -0
  3. package/.claude/settings.local.json +0 -38
  4. package/.github/workflows/ci.yml +0 -20
  5. package/.golangci.yml +0 -11
  6. package/.prettierignore +0 -4
  7. package/.savepoint/Design.md +0 -207
  8. package/.savepoint/PRD.md +0 -58
  9. package/.savepoint/config.yml +0 -27
  10. package/.savepoint/releases/v1/epics/E01-go-setup/E01-Detail.md +0 -39
  11. package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T001-init-module.md +0 -42
  12. package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T002-entrypoint.md +0 -23
  13. package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T003-directory-structure.md +0 -24
  14. package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T004-makefile.md +0 -23
  15. package/.savepoint/releases/v1/epics/E02-data-readers/E02-Detail.md +0 -61
  16. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T001-task-struct.md +0 -29
  17. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T002-frontmatter-parser.md +0 -30
  18. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T003-router-reader.md +0 -29
  19. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T004-config-reader.md +0 -29
  20. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T005-discovery.md +0 -30
  21. package/.savepoint/releases/v1/epics/E03-board-tui-core/E03-Detail.md +0 -38
  22. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T001-model.md +0 -29
  23. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T002-update-loop.md +0 -30
  24. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T003-view.md +0 -34
  25. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T004-styles.md +0 -29
  26. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T005-layout.md +0 -42
  27. package/.savepoint/releases/v1/epics/E04-board-components/E04-Detail.md +0 -44
  28. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T001-column.md +0 -34
  29. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T002-card.md +0 -33
  30. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T003-epic-panel.md +0 -49
  31. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T004-detail-overlay.md +0 -40
  32. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T005-release-dropdown.md +0 -33
  33. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T006-help-overlay.md +0 -34
  34. package/.savepoint/releases/v1/epics/E05-phase-transitions/E05-Detail.md +0 -38
  35. package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T001-phase-stepping.md +0 -29
  36. package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T002-gates.md +0 -31
  37. package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T003-write-task.md +0 -31
  38. package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T004-write-router.md +0 -31
  39. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/E06-Detail.md +0 -62
  40. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T001-color-system.md +0 -39
  41. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T002-header-and-dividers.md +0 -52
  42. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T003-footer-status-bar.md +0 -52
  43. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T004-component-refinement.md +0 -53
  44. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T005-restore-nav-hints.md +0 -39
  45. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T007-detail-card-fixes.md +0 -36
  46. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T008-checkbox-states.md +0 -40
  47. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T009-router-priority-marker.md +0 -48
  48. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T010-auto-refresh-watcher.md +0 -66
  49. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/Design.md +0 -39
  50. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T001-archive-epics.md +0 -20
  51. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T002-rewrite-prd.md +0 -22
  52. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T003-create-epic-stubs.md +0 -24
  53. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T004-update-router.md +0 -22
  54. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/Design.md +0 -118
  55. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/handoff.md +0 -9
  56. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T001-package-baseline.md +0 -45
  57. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T002-typescript-build.md +0 -48
  58. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T003-vitest-smoke.md +0 -43
  59. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T004-lint-format-gates.md +0 -45
  60. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T005-scaffold-verification.md +0 -40
  61. package/.savepoint/releases/v1/epics/_archived/E02-data-model/Design.md +0 -142
  62. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T001-domain-ids-status.md +0 -27
  63. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T002-markdown-frontmatter-boundary.md +0 -28
  64. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T003-task-documents.md +0 -29
  65. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T004-release-epic-router-config-readers.md +0 -30
  66. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T005-dependency-validation.md +0 -29
  67. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T006-epic-task-set-reader.md +0 -29
  68. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T007-quality-gates.md +0 -31
  69. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/Design.md +0 -40
  70. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T001-phase-types.md +0 -27
  71. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T002-phase-frontmatter.md +0 -25
  72. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T003-simplify-config.md +0 -26
  73. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T004-simplify-router-domain.md +0 -24
  74. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/Design.md +0 -122
  75. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T001-argument-parser-contract.md +0 -28
  76. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T002-help-text-generation.md +0 -28
  77. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T003-terminal-environment-detection.md +0 -27
  78. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T004-command-stub-modules.md +0 -29
  79. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T005-cli-runner-dispatch.md +0 -34
  80. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T006-entrypoint-quality-gates.md +0 -32
  81. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/Design.md +0 -43
  82. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T001-strip-args.md +0 -26
  83. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T002-strip-help.md +0 -23
  84. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T003-strip-run.md +0 -23
  85. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T004-delete-commands.md +0 -24
  86. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T005-update-cli-tests.md +0 -22
  87. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/Design.md +0 -48
  88. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T001-board-data-phases.md +0 -26
  89. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T002-phase-rendering.md +0 -28
  90. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T003-detail-pane-phases.md +0 -27
  91. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T004-phase-transitions.md +0 -42
  92. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T005-phase-gates.md +0 -24
  93. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T006-phase-write-back.md +0 -24
  94. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T007-remove-audit-flow.md +0 -27
  95. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T008-board-tests.md +0 -25
  96. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/Design.md +0 -85
  97. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T001-project-template-assets.md +0 -17
  98. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T002-release-and-prompt-assets.md +0 -20
  99. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T003-template-registry-renderer.md +0 -22
  100. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T004-template-integrity-tests.md +0 -17
  101. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T005-template-closeout-quality-gates.md +0 -16
  102. package/.savepoint/releases/v1/epics/_archived/E05-init-command/Design.md +0 -88
  103. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T001-init-cli-contract.md +0 -22
  104. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T002-target-validation.md +0 -23
  105. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T003-scaffold-writer.md +0 -24
  106. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T004-magic-prompt-and-clipboard.md +0 -23
  107. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T005-dev-deps-install-option.md +0 -24
  108. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T006-init-command-integration.md +0 -28
  109. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/Design.md +0 -53
  110. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T001-delete-dead-src.md +0 -23
  111. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T002-delete-dead-tests.md +0 -26
  112. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T003-delete-assets.md +0 -25
  113. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T004-clean-savepoint.md +0 -28
  114. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T005-rewrite-agents-md.md +0 -28
  115. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T006-clean-package-json.md +0 -23
  116. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T007-verify.md +0 -25
  117. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/Design.md +0 -104
  118. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T001-board-command-data.md +0 -23
  119. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T002-board-view-state.md +0 -24
  120. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T003-transition-gates-and-writes.md +0 -25
  121. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T004-terminal-theme.md +0 -23
  122. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T005-ink-board-ui.md +0 -26
  123. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T006-board-integration-audit-entry.md +0 -24
  124. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/Design.md +0 -88
  125. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T001-audit-cli-contract.md +0 -23
  126. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T002-quality-gate-runner.md +0 -23
  127. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T003-snapshot-and-prompt.md +0 -23
  128. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T004-audit-orchestration-router.md +0 -27
  129. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T005-proposal-validation-apply.md +0 -25
  130. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T006-audit-review-state.md +0 -24
  131. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T007-audit-review-ui.md +0 -26
  132. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T008-audit-pipeline-integration.md +0 -24
  133. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/Design.md +0 -103
  134. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T001-acceptance-criteria-model.md +0 -30
  135. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T002-release-task-set-reader.md +0 -33
  136. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T003-board-data-and-plain-output.md +0 -34
  137. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T004-board-selection-state.md +0 -33
  138. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T005-ink-board-layout-cleanup.md +0 -37
  139. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T006-task-detail-popup.md +0 -36
  140. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T007-templates-acceptance-criteria.md +0 -34
  141. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T008-board-workflow-integration.md +0 -41
  142. package/.savepoint/releases/v1/epics/_archived/E09-doctor-command/Design.md +0 -70
  143. package/.savepoint/releases/v1/epics/_archived/E10-docs-and-packaging/Design.md +0 -68
  144. package/.savepoint/releases/v1/epics/_archived/E11-release-validation/Design.md +0 -68
  145. package/.savepoint/releases/v1/v1-PRD.md +0 -66
  146. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/E01-Detail.md +0 -40
  147. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T001-next-activity-header.md +0 -56
  148. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T002-rename-epic-design-files.md +0 -38
  149. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T003-rename-release-prd.md +0 -28
  150. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T004-update-instruction-files.md +0 -51
  151. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T005-update-cross-references.md +0 -45
  152. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T006-column-and-detail-scrolling.md +0 -68
  153. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T007-column-focus-border-stability.md +0 -57
  154. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Audit.md +0 -124
  155. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Detail.md +0 -49
  156. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T001-fix-makefile.md +0 -37
  157. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T002-linux-build-target.md +0 -38
  158. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T003-macos-build-target.md +0 -36
  159. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T004-smoke-tests-and-artifacts.md +0 -59
  160. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Audit.md +0 -195
  161. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md +0 -45
  162. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T001-border-resize-fix.md +0 -40
  163. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T002-next-activity-below-header.md +0 -64
  164. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T003-checkbox-rendering-fix.md +0 -56
  165. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T005-unify-status-glyphs.md +0 -65
  166. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T006-forced-256-color-profile.md +0 -36
  167. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Audit.md +0 -167
  168. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Detail.md +0 -51
  169. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T001-sidebar-focusable-navigation.md +0 -65
  170. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T002-epic-detail-overlay.md +0 -73
  171. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T003-epic-status-glyphs.md +0 -73
  172. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Audit.md +0 -237
  173. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md +0 -54
  174. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md +0 -45
  175. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md +0 -40
  176. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T003-update-design-md.md +0 -47
  177. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T004-implement-m-hotkey.md +0 -98
  178. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md +0 -33
  179. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T006-tests-and-quality-gates.md +0 -62
  180. package/.savepoint/releases/v1.1/epics/E06-audit-command/E06-Audit.md +0 -56
  181. package/.savepoint/releases/v1.1/epics/E06-audit-command/E06-Detail.md +0 -63
  182. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T005-proposals.md +0 -44
  183. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T007-apply-close.md +0 -35
  184. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T009-integration.md +0 -40
  185. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T010-audit-file-migration.md +0 -45
  186. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T011-model-tab-state.md +0 -26
  187. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T012-epic-audit-render.md +0 -33
  188. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T013-handle-tab-keys.md +0 -34
  189. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T014-tab-indicator.md +0 -33
  190. package/.savepoint/releases/v1.1/epics/E07-init-command/E07-Audit.md +0 -336
  191. package/.savepoint/releases/v1.1/epics/E07-init-command/E07-Detail.md +0 -61
  192. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T001-cli-entrypoint.md +0 -37
  193. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T002-target-validation.md +0 -28
  194. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T003-scaffold-writer.md +0 -46
  195. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T004-atomic-writes.md +0 -27
  196. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T005-magic-prompt.md +0 -25
  197. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T006-clipboard.md +0 -26
  198. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T007-integration-test.md +0 -26
  199. package/.savepoint/releases/v1.1/epics/E08-board-command/E08-Audit.md +0 -333
  200. package/.savepoint/releases/v1.1/epics/E08-board-command/E08-Detail.md +0 -68
  201. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T001-cli-entrypoint.md +0 -26
  202. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T002-non-tty-fallback.md +0 -27
  203. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T003-tui-app-shell.md +0 -28
  204. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T004-board-model.md +0 -29
  205. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T005-detail-pane.md +0 -27
  206. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T006-status-transitions.md +0 -29
  207. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T007-theme-fallbacks.md +0 -29
  208. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T008-integration-test.md +0 -27
  209. package/.savepoint/releases/v1.1/epics/E09-doctor-command/E09-Audit.md +0 -207
  210. package/.savepoint/releases/v1.1/epics/E09-doctor-command/E09-Detail.md +0 -65
  211. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T001-cli-entrypoint.md +0 -24
  212. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T002-config-router-validation.md +0 -28
  213. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T003-structure-checks.md +0 -29
  214. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T004-dependency-checks.md +0 -27
  215. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T005-audit-orphan-checks.md +0 -28
  216. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T006-quality-gates-report.md +0 -31
  217. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/E11-Detail.md +0 -36
  218. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T001-debug-logging.md +0 -25
  219. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T002-increase-debounce.md +0 -21
  220. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T003-error-handling.md +0 -22
  221. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T004-test-verify.md +0 -29
  222. package/.savepoint/releases/v1.1/epics/E12-validation-fix/E12-Audit.md +0 -444
  223. package/.savepoint/releases/v1.1/epics/E12-validation-fix/E12-Detail.md +0 -45
  224. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T001-default-phase.md +0 -35
  225. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T002-default-status.md +0 -19
  226. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T003-better-errors.md +0 -29
  227. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T004-validate-on-write.md +0 -25
  228. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T005-tests.md +0 -37
  229. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/E13-Audit.md +0 -118
  230. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/E13-Detail.md +0 -73
  231. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T001-safe-cleanup.md +0 -66
  232. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T002-bug-fixes.md +0 -35
  233. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T003-centralize-duplication.md +0 -60
  234. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T004-infrastructure.md +0 -33
  235. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T005-decompose-update.md +0 -37
  236. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T006-async-io.md +0 -40
  237. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T007-test-coverage.md +0 -37
  238. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/E14-Audit.md +0 -267
  239. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/E14-Detail.md +0 -54
  240. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T001-group-model.md +0 -39
  241. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T002-data-interfaces.md +0 -42
  242. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T003-discover-orphans.md +0 -33
  243. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T004-epic-panel-headings.md +0 -35
  244. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T005-shell-tokenization.md +0 -27
  245. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T006-unify-enums.md +0 -29
  246. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T007-testutil-package.md +0 -28
  247. package/.savepoint/releases/v1.1/epics/E15-hardening/E15-Audit.md +0 -272
  248. package/.savepoint/releases/v1.1/epics/E15-hardening/E15-Detail.md +0 -60
  249. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T001-benchmarks.md +0 -31
  250. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T002-fuzz-targets.md +0 -34
  251. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T003-debug-flag.md +0 -30
  252. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T004-dist-checksums.md +0 -27
  253. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T005-windows-targets.md +0 -28
  254. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T006-abbreviation-splitting.md +0 -26
  255. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T007-root-test-allowlist.md +0 -33
  256. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T008-ci-and-release-automation.md +0 -46
  257. package/.savepoint/releases/v1.1/epics/_archived/T001-cli-entrypoint.md +0 -25
  258. package/.savepoint/releases/v1.1/epics/_archived/T002-quality-gates.md +0 -27
  259. package/.savepoint/releases/v1.1/epics/_archived/T003-snapshot.md +0 -27
  260. package/.savepoint/releases/v1.1/epics/_archived/T004-ai-reconcile.md +0 -29
  261. package/.savepoint/releases/v1.1/epics/_archived/T006-tui-review.md +0 -31
  262. package/.savepoint/releases/v1.1/epics/_archived/T008-skip-handling.md +0 -34
  263. package/.savepoint/releases/v1.1/v1.1-PRD.md +0 -139
  264. package/.savepoint/router.md +0 -57
  265. package/.savepoint/visual-identity.md +0 -125
  266. package/AGENTS.md +0 -99
  267. package/CLAUDE.md +0 -1
  268. package/GEMINI.md +0 -1
  269. package/Makefile +0 -31
  270. package/agent-skills/ink-tui-design/SKILL.md +0 -309
  271. package/agent-skills/ink-tui-design/references/component-patterns.md +0 -371
  272. package/agent-skills/ink-tui-design/references/hooks-guide.md +0 -436
  273. package/agent-skills/ink-tui-design/references/ink-gotchas.md +0 -330
  274. package/agent-skills/ink-tui-design/references/testing-patterns.md +0 -384
  275. package/agent-skills/savepoint-audit/SKILL.md +0 -87
  276. package/agent-skills/savepoint-build-task/SKILL.md +0 -44
  277. package/agent-skills/savepoint-create-plan/SKILL.md +0 -33
  278. package/agent-skills/savepoint-create-task/SKILL.md +0 -44
  279. package/agent-skills/savepoint-draft-prd/SKILL.md +0 -37
  280. package/agent-skills/savepoint-system-design/SKILL.md +0 -38
  281. package/agent-skills/superpowers/brainstorming/SKILL.md +0 -165
  282. package/agent-skills/superpowers/brainstorming/visual-companion.md +0 -304
  283. package/agent-skills/superpowers/dispatching-parallel-agents/SKILL.md +0 -193
  284. package/agent-skills/superpowers/executing-plans/SKILL.md +0 -77
  285. package/agent-skills/superpowers/finishing-a-development-branch/SKILL.md +0 -213
  286. package/agent-skills/superpowers/receiving-code-review/SKILL.md +0 -226
  287. package/agent-skills/superpowers/requesting-code-review/SKILL.md +0 -115
  288. package/agent-skills/superpowers/requesting-code-review/code-reviewer.md +0 -160
  289. package/agent-skills/superpowers/subagent-driven-development/SKILL.md +0 -292
  290. package/agent-skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +0 -27
  291. package/agent-skills/superpowers/subagent-driven-development/implementer-prompt.md +0 -113
  292. package/agent-skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +0 -61
  293. package/agent-skills/superpowers/systematic-debugging/SKILL.md +0 -305
  294. package/agent-skills/superpowers/systematic-debugging/condition-based-waiting.md +0 -122
  295. package/agent-skills/superpowers/systematic-debugging/defense-in-depth.md +0 -130
  296. package/agent-skills/superpowers/systematic-debugging/root-cause-tracing.md +0 -183
  297. package/agent-skills/superpowers/test-driven-development/SKILL.md +0 -389
  298. package/agent-skills/superpowers/test-driven-development/testing-anti-patterns.md +0 -317
  299. package/agent-skills/superpowers/verification-before-completion/SKILL.md +0 -147
  300. package/agent-skills/superpowers/writing-plans/SKILL.md +0 -159
  301. package/agent-skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +0 -49
  302. package/agent_skills_test.go +0 -91
  303. package/assets/banner.png +0 -0
  304. package/assets/logo.png +0 -0
  305. package/assets/strawman.png +0 -0
  306. package/cmd/board.go +0 -59
  307. package/cmd/board_test.go +0 -137
  308. package/cmd/doctor.go +0 -53
  309. package/cmd/doctor_test.go +0 -146
  310. package/cmd/init.go +0 -63
  311. package/cmd/init_test.go +0 -104
  312. package/go.mod +0 -36
  313. package/go.sum +0 -75
  314. package/internal/board/board.go +0 -181
  315. package/internal/board/board_test.go +0 -168
  316. package/internal/board/card.go +0 -129
  317. package/internal/board/card_test.go +0 -287
  318. package/internal/board/column.go +0 -156
  319. package/internal/board/column_test.go +0 -210
  320. package/internal/board/debug.go +0 -26
  321. package/internal/board/debug_test.go +0 -108
  322. package/internal/board/detail.go +0 -218
  323. package/internal/board/detail_test.go +0 -388
  324. package/internal/board/epic_panel.go +0 -264
  325. package/internal/board/epic_panel_test.go +0 -869
  326. package/internal/board/help.go +0 -41
  327. package/internal/board/help_test.go +0 -86
  328. package/internal/board/integration_test.go +0 -266
  329. package/internal/board/interfaces.go +0 -65
  330. package/internal/board/interfaces_test.go +0 -114
  331. package/internal/board/io.go +0 -93
  332. package/internal/board/layout.go +0 -68
  333. package/internal/board/layout_test.go +0 -106
  334. package/internal/board/model.go +0 -235
  335. package/internal/board/model_test.go +0 -67
  336. package/internal/board/plain.go +0 -88
  337. package/internal/board/plain_test.go +0 -117
  338. package/internal/board/release.go +0 -34
  339. package/internal/board/release_test.go +0 -177
  340. package/internal/board/render_policy_test.go +0 -77
  341. package/internal/board/status.go +0 -23
  342. package/internal/board/theme.go +0 -24
  343. package/internal/board/theme_test.go +0 -31
  344. package/internal/board/transitions.go +0 -113
  345. package/internal/board/transitions_test.go +0 -164
  346. package/internal/board/tui.go +0 -32
  347. package/internal/board/update.go +0 -575
  348. package/internal/board/update_test.go +0 -602
  349. package/internal/board/util.go +0 -76
  350. package/internal/board/view.go +0 -317
  351. package/internal/board/view_test.go +0 -377
  352. package/internal/board/watch.go +0 -136
  353. package/internal/buildtool/main.go +0 -249
  354. package/internal/buildtool/main_test.go +0 -224
  355. package/internal/data/config.go +0 -101
  356. package/internal/data/config_test.go +0 -122
  357. package/internal/data/discover.go +0 -178
  358. package/internal/data/discover_test.go +0 -130
  359. package/internal/data/errors.go +0 -13
  360. package/internal/data/fuzz_test.go +0 -75
  361. package/internal/data/lifecycle.go +0 -44
  362. package/internal/data/lifecycle_test.go +0 -41
  363. package/internal/data/parser.go +0 -243
  364. package/internal/data/parser_test.go +0 -281
  365. package/internal/data/router.go +0 -52
  366. package/internal/data/router_test.go +0 -35
  367. package/internal/data/task.go +0 -57
  368. package/internal/data/task_test.go +0 -51
  369. package/internal/data/testdata/fuzz/FuzzSplitFrontmatterBody/68eb66b0fe91e7e3 +0 -2
  370. package/internal/data/write.go +0 -221
  371. package/internal/data/write_test.go +0 -623
  372. package/internal/doctor/checks.go +0 -567
  373. package/internal/doctor/checks_test.go +0 -716
  374. package/internal/doctor/gates.go +0 -193
  375. package/internal/doctor/gates_test.go +0 -166
  376. package/internal/doctor/interfaces.go +0 -64
  377. package/internal/doctor/interfaces_test.go +0 -104
  378. package/internal/doctor/repairs.go +0 -80
  379. package/internal/doctor/repairs_test.go +0 -81
  380. package/internal/doctor/report.go +0 -157
  381. package/internal/doctor/report_test.go +0 -89
  382. package/internal/init/clipboard.go +0 -146
  383. package/internal/init/clipboard_test.go +0 -74
  384. package/internal/init/install.go +0 -16
  385. package/internal/init/integration_test.go +0 -197
  386. package/internal/init/prompt.go +0 -14
  387. package/internal/init/prompt_test.go +0 -77
  388. package/internal/init/scaffold.go +0 -59
  389. package/internal/init/scaffold_test.go +0 -179
  390. package/internal/init/template_freshness_test.go +0 -56
  391. package/internal/init/validate.go +0 -85
  392. package/internal/init/validate_test.go +0 -141
  393. package/internal/init/write.go +0 -73
  394. package/internal/init/write_test.go +0 -91
  395. package/internal/styles/palette.go +0 -49
  396. package/internal/styles/styles.go +0 -139
  397. package/internal/styles/styles_test.go +0 -133
  398. package/internal/testutil/fixture.go +0 -113
  399. package/internal/testutil/fs.go +0 -26
  400. package/main.go +0 -136
  401. package/project-audit/audit_report_glm_5.1.md +0 -411
  402. package/project-audit/audit_report_opus_4.6.md +0 -406
  403. package/project-audit/consolidated-audit-report.md +0 -456
  404. package/scripts/vitest-preload.cjs +0 -95
  405. package/templates/project/.savepoint/Design.md +0 -47
  406. package/templates/project/.savepoint/PRD.md +0 -34
  407. package/templates/project/.savepoint/config.yml +0 -27
  408. package/templates/project/.savepoint/router.md +0 -153
  409. package/templates/project/.savepoint/visual-identity.md +0 -122
  410. package/templates/project/AGENTS.md +0 -88
  411. package/templates/project/agent-skills/savepoint-audit/SKILL.md +0 -87
  412. package/templates/project/agent-skills/savepoint-build-task/SKILL.md +0 -44
  413. package/templates/project/agent-skills/savepoint-create-plan/SKILL.md +0 -33
  414. package/templates/project/agent-skills/savepoint-create-task/SKILL.md +0 -44
  415. package/templates/project/agent-skills/savepoint-draft-prd/SKILL.md +0 -37
  416. package/templates/project/agent-skills/savepoint-system-design/SKILL.md +0 -38
  417. package/templates/prompts/audit-reconciliation.prompt.md +0 -72
  418. package/templates/prompts/design.prompt.md +0 -45
  419. package/templates/prompts/epic-design.prompt.md +0 -43
  420. package/templates/prompts/magic-prompt.prompt.md +0 -7
  421. package/templates/prompts/prd.prompt.md +0 -42
  422. package/templates/prompts/task-breakdown.prompt.md +0 -54
  423. package/templates/prompts/task-building.prompt.md +0 -38
  424. package/templates/prompts/task-planning.prompt.md +0 -53
  425. package/templates/release/v1/PRD.md +0 -37
@@ -1,25 +0,0 @@
1
- ---
2
- id: E05-project-cleanup/T007-verify
3
- status: planned
4
- objective: "Run full verification: build, typecheck, lint, test"
5
- depends_on: [E05-project-cleanup/T006-clean-package-json]
6
- ---
7
-
8
- # T007: Verify
9
-
10
- ## Acceptance Criteria
11
-
12
- - `npm run build` passes.
13
- - `npm run typecheck` passes.
14
- - `npm run lint` passes.
15
- - `npm test` passes.
16
- - No errors, no warnings, no dead code.
17
-
18
- ## Implementation Plan
19
-
20
- - [ ] Run `npm run build`.
21
- - [ ] Run `npm run typecheck`.
22
- - [ ] Run `npm run lint`.
23
- - [ ] Run `npm test`.
24
- - [ ] Fix any failures.
25
- - [ ] Repeat until all gates pass.
@@ -1,104 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: audited
4
- ---
5
-
6
- # Epic E06: tui-board
7
-
8
- ## Purpose
9
-
10
- Implement `savepoint board`, an Ink-based terminal UI for viewing and moving tasks through the Savepoint workflow, including audit-review mode entry points. The board should make the file-backed state machine usable without replacing direct file editing.
11
-
12
- ## What this epic adds
13
-
14
- - Ink app shell launched by `savepoint board`.
15
- - Three-column Kanban view for `planned`, `in_progress`, and `done`.
16
- - Detail pane for the selected task.
17
- - Keyboard navigation using arrows and vim-style movement.
18
- - Status transition actions with gate enforcement.
19
- - Manual refresh.
20
- - Theme tokens loaded from `config.yml`.
21
- - Render fallbacks for 24-bit/256-color, 16-color, `NO_COLOR=1`, and non-TTY plain table output.
22
- - Optimistic mtime conflict detection before writes.
23
- - Reducer tests for navigation, selection, and transition behavior.
24
-
25
- ## Components and files
26
-
27
- Expected files introduced or extended by this epic:
28
-
29
- | Path | Purpose |
30
- | ------------------------------- | -------------------------------------------------- |
31
- | `src/commands/board.ts` | Command entrypoint and non-TTY fallback. |
32
- | `src/tui/App.tsx` | Ink app root. |
33
- | `src/tui/Board.tsx` | Kanban layout. |
34
- | `src/tui/DetailPane.tsx` | Selected task details. |
35
- | `src/tui/state/*.ts` | Reducers and derived view state. |
36
- | `src/tui/theme/*.ts` | Theme loading and terminal color fallback mapping. |
37
- | `src/tui/render/plain-table.ts` | Non-TTY table rendering. |
38
- | `src/tui/io/*.ts` | Safe task status write helpers and mtime checks. |
39
- | `test/tui/**/*.test.ts` | Reducer and fallback rendering tests. |
40
-
41
- ## Architectural delta
42
-
43
- Before this epic, Savepoint can read project files and expose CLI commands. After this epic, users can inspect and advance workflow state through a terminal interface.
44
-
45
- The TUI uses the domain layer for rules and the filesystem layer for reads/writes. It should not define independent workflow logic.
46
-
47
- ## Visual and interaction design
48
-
49
- The terminal adaptation of Atari-Noir applies here:
50
-
51
- - Dark background with warm off-white text where terminal color support allows.
52
- - One accent color per major semantic area.
53
- - Quiet borders and compact uppercase headings.
54
- - Focus shown through accent borders or subtle background tint.
55
- - Colored glyphs should reinforce state but never be the only signal.
56
- - Scanlines and web-style glow are skipped in terminal rendering.
57
-
58
- ## Boundaries
59
-
60
- In scope:
61
-
62
- - Board navigation and status transitions.
63
- - Gate enforcement for dependencies and status rules.
64
- - Plain table fallback when not in a TTY.
65
- - Manual `r` refresh.
66
- - Initial audit-review mode entry point if audit proposals exist.
67
-
68
- ## Implemented as
69
-
70
- - `savepoint board` now reads the Savepoint root, router state, config, and active epic task set through existing readers.
71
- - Non-TTY sessions render deterministic plain text with warnings and audit-entry signaling.
72
- - TTY sessions launch an Ink app with five status columns, selected-task detail, keyboard navigation, surfaced load warnings, manual refresh, forward/backward transition actions, and audit proposal handoff.
73
- - Reducers in `src/tui/state/` own derived view state only; workflow truth remains in project files.
74
- - Transition gates combine domain status validation with dependency completion checks.
75
- - Status writes preserve task body and extra frontmatter fields, re-stat after parsing, and return non-destructive conflict/error results.
76
- - Theme helpers map configured tokens into truecolor, 256-color, 16-color, and no-color palettes.
77
-
78
- ## Audit deltas
79
-
80
- - Full proposal diff review remains deferred to `E07-audit-pipeline`; E06 only signals that proposals exist and exits toward `savepoint audit`.
81
- - Rich TUI rendering is covered with deterministic component assertions instead of full-screen snapshots.
82
- - Conflict UX is implemented as a message plus manual refresh, not an interactive reload prompt.
83
-
84
- Out of scope:
85
-
86
- - File watching.
87
- - Search.
88
- - Mouse interaction.
89
- - Drag-and-drop.
90
- - Full audit proposal diff implementation beyond what `audit-pipeline` needs.
91
- - Snapshot tests for rich TUI rendering.
92
-
93
- ## Quality gates
94
-
95
- - Reducers and transition behavior should be covered by tests.
96
- - Rendering tests should focus on deterministic fallback/plain output, not brittle full-screen snapshots.
97
- - Conflict detection should be tested without relying on real-time delays where possible.
98
-
99
- ## Design constraints
100
-
101
- - Keep workflow state in files; the TUI holds only derived view state.
102
- - Use mtime-based optimistic concurrency.
103
- - Do not create a lockfile.
104
- - Keep terminal controls discoverable but avoid loading screens with long instructions.
@@ -1,23 +0,0 @@
1
- ---
2
- id: E06-tui-board/T001-board-command-data
3
- status: done
4
- objective: "Replace the board stub with a data-backed command path that can read the active Savepoint project and render deterministic plain output."
5
- depends_on: []
6
- ---
7
-
8
- # T001: board-command-data
9
-
10
- ## Implementation Plan
11
-
12
- - [x] Add the command context needed by `runBoard()` to know the current working directory, stdout TTY capability, environment, and platform without breaking existing command handlers.
13
- - [x] Resolve the Savepoint project root from the command context and surface boundary errors through existing CLI exit-code conventions.
14
- - [x] Load router state, config, and the active epic task set through existing readers instead of parsing workflow files inside the command.
15
- - [x] Introduce a small board data model that groups tasks by the five canonical statuses and records the active release, epic, task, and reader errors.
16
- - [x] Implement `src/tui/render/plain-table.ts` as the deterministic non-TTY fallback for columns, selected task marker, and empty states.
17
- - [x] Update board command and runner tests to prove `savepoint board` no longer returns the not-implemented stub in an initialized project and still reports readable errors outside a Savepoint project.
18
-
19
- ## Context Log
20
-
21
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E06-tui-board/Design.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T001-board-command-data.md`; `.savepoint/metrics/context-bench.md`; `src/commands/board.ts`; `src/cli/run.ts`; `src/cli/environment.ts`; `src/domain/config.ts`; `src/domain/status.ts`; `src/domain/task.ts`; `src/fs/markdown.ts`; `src/fs/project.ts`; `src/readers/config.ts`; `src/readers/router.ts`; `src/readers/tasks.ts`; `src/validation/dependencies.ts`; `test/cli/run.test.ts`; `test/domain/status.test.ts`; `package.json`; `src/cli.ts`; `src/commands/audit.ts`; `src/commands/doctor.ts`; `src/commands/init.ts`; `test/init/validate-target.test.ts`; `test/readers/router.test.ts`; `test/domain/router.test.ts`; `test/cli/commands.test.ts`; `src/domain/router.ts`; `src/domain/ids.ts`; `src/cli/exit-codes.ts`; `src/commands/result.ts`
22
- - Estimated input tokens: ~19,660
23
- - Notes: Rehydrated from router, E06 Design, task file, and directly touched source/test files. Extended router schema with optional `task` field to match live `router.md` format. Board command now async with rich result shape matching `runInit` pattern.
@@ -1,24 +0,0 @@
1
- ---
2
- id: E06-tui-board/T002-board-view-state
3
- status: done
4
- objective: "Create pure board view-state reducers for column grouping, selected-task movement, refresh replacement, and keyboard-intent actions."
5
- depends_on:
6
- - E06-tui-board/T001-board-command-data
7
- ---
8
-
9
- # T002: board-view-state
10
-
11
- ## Implementation Plan
12
-
13
- - [x] Add `src/tui/state/` modules that derive board columns and task indexes from the T001 board data model without storing duplicate workflow truth.
14
- - [x] Model selection state so it survives same-task refreshes, falls back predictably when tasks disappear, and handles empty columns.
15
- - [x] Implement reducer actions for left/right/up/down movement plus vim-style `h`, `j`, `k`, and `l` intents.
16
- - [x] Add refresh replacement behavior that swaps in newly read task data while preserving selection and visible status columns.
17
- - [x] Keep transition and filesystem write behavior out of this reducer task so the reducer remains pure.
18
- - [x] Add focused reducer tests for initial selection, horizontal and vertical navigation, empty columns, and refresh after task reorder/removal.
19
-
20
- ## Context Log
21
-
22
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E06-tui-board/Design.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T002-board-view-state.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T001-board-command-data.md`; `src/tui/board-data.ts`; `src/tui/render/plain-table.ts`; `src/domain/status.ts`; `src/domain/task.ts`; `src/commands/board.ts`; `test/domain/status.test.ts`; `package.json`; `tsconfig.json`; `.savepoint/metrics/context-bench.md`
23
- - Estimated input tokens: ~6,925
24
- - Notes: Rehydrated from router, E06 Design, task file, and directly touched source/test files. Implemented pure reducer with deterministic selection fallbacks and refresh behavior.
@@ -1,25 +0,0 @@
1
- ---
2
- id: E06-tui-board/T003-transition-gates-and-writes
3
- status: done
4
- objective: "Add task transition gate evaluation and optimistic mtime-safe status writes for board actions."
5
- depends_on:
6
- - E06-tui-board/T001-board-command-data
7
- - E06-tui-board/T002-board-view-state
8
- ---
9
-
10
- # T003: transition-gates-and-writes
11
-
12
- ## Implementation Plan
13
-
14
- - [x] Add pure gate evaluation that combines `validateTransition()` with dependency rules so tasks cannot advance when required dependencies are not `done`.
15
- - [x] Return structured gate results that the TUI can display without duplicating workflow logic in rendering components.
16
- - [x] Add `src/tui/io/` helpers that read a task file's mtime before action and verify it is unchanged immediately before writing.
17
- - [x] Update only the task frontmatter `status` field while preserving the task body and unrelated frontmatter fields.
18
- - [x] Surface stale mtime conflicts as non-destructive action results that require a manual refresh before retry.
19
- - [x] Add tests for allowed transitions, blocked dependencies, disallowed status jumps, successful status write preservation, and stale mtime conflict handling without relying on real-time delays.
20
-
21
- ## Context Log
22
-
23
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E06-tui-board/Design.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T003-transition-gates-and-writes.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T001-board-command-data.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T002-board-view-state.md`; `.savepoint/metrics/context-bench.md`; `package.json`; `tsconfig.json`; `vitest.config.js`; `src/domain/status.ts`; `src/domain/task.ts`; `src/domain/ids.ts`; `src/validation/dependencies.ts`; `src/fs/markdown.ts`; `src/readers/tasks.ts`; `src/commands/board.ts`; `src/tui/board-data.ts`; `src/tui/state/reducer.ts`; `src/tui/state/view-state.ts`; `src/tui/render/plain-table.ts`; `test/tui/state/reducer.test.ts`; `test/tui/render/plain-table.test.ts`; `test/fs/markdown.test.ts`
24
- - Estimated input tokens: ~19,630
25
- - Notes: Implementation rehydrated from router, E06 Design, task file, and directly touched source/test files. Extended `MarkdownDoc` with `rawFrontmatter` to preserve extra frontmatter fields during status writes. Gate evaluator allows idempotent same-status transitions and blocks only forward moves with undone dependencies.
@@ -1,23 +0,0 @@
1
- ---
2
- id: E06-tui-board/T004-terminal-theme
3
- status: done
4
- objective: "Load board theme tokens from config and map them into deterministic terminal color palettes for rich and fallback environments."
5
- depends_on:
6
- - E06-tui-board/T001-board-command-data
7
- ---
8
-
9
- # T004: terminal-theme
10
-
11
- ## Implementation Plan
12
-
13
- - [x] Add `src/tui/theme/` modules that consume `SavepointConfig["theme"]` and expose board-specific semantic tokens for statuses, borders, text, focus, and blocked states.
14
- - [x] Implement terminal color capability mapping for 24-bit, 256-color, 16-color, `NO_COLOR=1`, `FORCE_COLOR`, `TERM=dumb`, and non-TTY plain output.
15
- - [x] Keep color fallback data deterministic and separate from Ink components so render tests can avoid full-screen snapshots.
16
- - [x] Respect configured border style values while preserving readable defaults when config values are missing or colors are disabled.
17
- - [x] Add tests for config defaults, custom accents, no-color mode, dumb terminals, and reduced palettes.
18
-
19
- ## Context Log
20
-
21
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E06-tui-board/Design.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T004-terminal-theme.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T003-transition-gates-and-writes.md`; `package.json`; `tsconfig.json`; `src/domain/config.ts`; `src/cli/environment.ts`; `src/commands/board.ts`; `src/domain/status.ts`; `src/tui/board-data.ts`; `src/tui/render/plain-table.ts`; `src/tui/state/view-state.ts`; `src/tui/state/reducer.ts`; `src/tui/io/gates.ts`; `src/tui/io/write-status.ts`; `test/tui/state/reducer.test.ts`; `test/tui/render/plain-table.test.ts`
22
- - Estimated input tokens: ~14,752
23
- - Notes: Implemented theme capability detection, 256/16 color approximation, and palette builder with semantic tokens. Rehydrated from router, E06 Design, T004 task, T003 task for dependency state, and directly touched source/test files.
@@ -1,26 +0,0 @@
1
- ---
2
- id: E06-tui-board/T005-ink-board-ui
3
- status: done
4
- objective: "Build the Ink board UI shell with keyboard navigation, detail pane, manual refresh, and transition actions."
5
- depends_on:
6
- - E06-tui-board/T002-board-view-state
7
- - E06-tui-board/T003-transition-gates-and-writes
8
- - E06-tui-board/T004-terminal-theme
9
- ---
10
-
11
- # T005: ink-board-ui
12
-
13
- ## Implementation Plan
14
-
15
- - [x] Add the minimum Ink and React dependencies and TypeScript configuration needed for `src/tui/**/*.tsx` while keeping the CLI build ESM-compatible on Node 20.
16
- - [x] Implement `src/tui/App.tsx` as the stateful app root that receives initial board data, theme, refresh/write callbacks, and terminal capability data.
17
- - [x] Implement `src/tui/Board.tsx` with five compact status columns, selected-task focus treatment, empty-column states, and keyboard hints that do not dominate the screen.
18
- - [x] Implement `src/tui/DetailPane.tsx` for selected task objective, status, dependencies, gate state, and last action/conflict messages.
19
- - [x] Wire arrow keys, vim-style navigation, manual `r` refresh, and transition actions through the pure reducer and IO helpers.
20
- - [x] Add focused tests around reducer-connected interaction behavior and component output where deterministic, avoiding brittle full-screen TUI snapshots.
21
-
22
- ## Context Log
23
-
24
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E06-tui-board/Design.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T005-ink-board-ui.md`; `.savepoint/visual-identity.md`; `.savepoint/metrics/context-bench.md`; `package.json`; `tsconfig.json`; `vitest.config.js`; `src/commands/board.ts`; `src/cli/run.ts`; `src/cli/environment.ts`; `src/domain/config.ts`; `src/domain/ids.ts`; `src/domain/status.ts`; `src/domain/task.ts`; `src/fs/project.ts`; `src/readers/tasks.ts`; `src/tui/board-data.ts`; `src/tui/state/reducer.ts`; `src/tui/state/view-state.ts`; `src/tui/theme/index.ts`; `src/tui/theme/palette.ts`; `src/tui/theme/capability.ts`; `src/tui/io/gates.ts`; `src/tui/io/write-status.ts`; `src/tui/render/plain-table.ts`; `test/tui/state/reducer.test.ts`; `test/tui/io/gates.test.ts`; `test/tui/io/write-status.test.ts`; `test/tui/render/plain-table.test.ts`; `test/tui/theme/capability.test.ts`; `test/tui/theme/palette.test.ts`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T002-board-view-state.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T003-transition-gates-and-writes.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T004-terminal-theme.md`
25
- - Estimated input tokens: ~18,000
26
- - Notes: Rehydrated from router, E06 Design, T005 task, prerequisite task files (T002-T004), visual-identity, and directly touched source/test files. Added Ink 7 + React 19 with JSX support, extended EnvMap with COLORTERM, and built App/Board/DetailPane components with keyboard-driven navigation and transition actions.
@@ -1,24 +0,0 @@
1
- ---
2
- id: E06-tui-board/T006-board-integration-audit-entry
3
- status: done
4
- objective: "Integrate the rich board command end to end and add the initial audit-review entry point when audit proposals are present."
5
- depends_on:
6
- - E06-tui-board/T005-ink-board-ui
7
- ---
8
-
9
- # T006: board-integration-audit-entry
10
-
11
- ## Implementation Plan
12
-
13
- - [x] Update `runBoard()` so TTY sessions launch the Ink app and non-TTY sessions use the plain table fallback from T001.
14
- - [x] Ensure command execution handles missing project files, task graph errors, config errors, refresh failures, write conflicts, and user exit with clear stdout/stderr behavior.
15
- - [x] Add audit proposal discovery for the active epic and expose an initial board entry point when `.savepoint/audit/{epic}/proposals.md` exists.
16
- - [x] Keep audit-review behavior limited to entry signaling and navigation handoff; leave full proposal diff review to `E07-audit-pipeline`.
17
- - [x] Add integration tests for TTY vs non-TTY dispatch, fallback rendering, audit-entry detection, and unchanged help/unknown-flag behavior.
18
- - [x] Run the focused TUI/CLI tests first, then run typecheck, lint, format check, build, and the smoke suite before moving the task to review.
19
-
20
- ## Context Log
21
-
22
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E06-tui-board/Design.md`; `.savepoint/releases/v1/epics/E06-tui-board/tasks/T006-board-integration-audit-entry.md`; `.savepoint/metrics/context-bench.md`; `package.json`; `vitest.config.js`; `src/commands/board.ts`; `src/cli/run.ts`; `src/cli/environment.ts`; `src/cli/help.ts`; `src/commands/audit.ts`; `src/tui/App.tsx`; `src/tui/board-data.ts`; `src/tui/Board.tsx`; `src/tui/DetailPane.tsx`; `src/tui/io/gates.ts`; `src/tui/io/write-status.ts`; `src/tui/render/plain-table.ts`; `src/tui/state/app-reducer.ts`; `src/tui/state/reducer.ts`; `src/tui/state/view-state.ts`; `src/tui/theme/capability.ts`; `src/tui/theme/palette.ts`; `src/fs/project.ts`; `test/cli/run.test.ts`; `test/commands/board.test.ts`; `test/commands/board-tty.test.ts`; `test/tui/state/app-reducer.test.ts`; `test/tui/render/plain-table.test.ts`; `test/tui/state/reducer.test.ts`
23
- - Estimated input tokens: ~28,568
24
- - Notes: Implemented audit proposal discovery, plain-table signal, Ink banner and key handler, and handoff message. Added board-tty integration tests with mocked ink. All quality gates passed.
@@ -1,88 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: audited
4
- ---
5
-
6
- # Epic E07: audit-pipeline
7
-
8
- ## Purpose
9
-
10
- Implement `savepoint audit`, the hard gate that reconciles built code with Savepoint documentation before the next epic can start. This epic ships the v0.1.0 audit loop without AI semantic review content.
11
-
12
- ## What this epic adds
13
-
14
- - Quality gate runner for configured lint, typecheck, and test commands.
15
- - Gitignore-respecting snapshot generation.
16
- - Changed-files listing without embedding code contents in the snapshot.
17
- - Router transition into audit-pending state.
18
- - Audit prompt output for the user to give to an AI agent.
19
- - Proposal directory creation.
20
- - TUI review mode for approving, rejecting, or editing proposed documentation updates.
21
- - Commit step that applies approved proposals to live files.
22
- - Audit log entries, including skipped audits and reasons.
23
-
24
- ## Components and files
25
-
26
- Expected files introduced or extended by this epic:
27
-
28
- | Path | Purpose |
29
- | ------------------------------ | ----------------------------------------------- |
30
- | `src/commands/audit.ts` | Audit command entrypoint. |
31
- | `src/audit/quality-gates.ts` | Configured command runner. |
32
- | `src/audit/snapshot.ts` | File tree and changed-file snapshot generation. |
33
- | `src/audit/router-state.ts` | Audit-pending state updates. |
34
- | `src/audit/prompts.ts` | Audit handoff prompt generation. |
35
- | `src/audit/proposals.ts` | Proposal discovery and validation. |
36
- | `src/audit/apply-proposals.ts` | Approved proposal application. |
37
- | `src/audit/log.ts` | Audit log writes. |
38
- | `src/tui/audit-review/*.tsx` | Proposal review UI. |
39
- | `test/audit/**/*.test.ts` | Audit pipeline tests. |
40
-
41
- ## Implemented as
42
-
43
- - `src/commands/audit.ts` resolves the target epic from `--epic` or router state, supports `--skip --reason`, runs configured quality gates, writes bounded audit artifacts, transitions the router into `audit-pending`, logs audit events, and prints the audit handoff prompt.
44
- - `src/audit/quality-gates.ts`, `snapshot.ts`, `router-state.ts`, `prompts.ts`, `proposals.ts`, `apply-proposals.ts`, and `log.ts` keep audit gates, snapshot generation, router updates, prompt text, proposal parsing, proposal application, and audit logging separately testable.
45
- - `src/commands/board.ts` detects proposal availability and launches `src/tui/audit-review/AuditReviewApp.tsx` after the board exits through the audit-review entry path.
46
- - `src/tui/audit-review/state.ts`, `summary.ts`, `ProposalList.tsx`, `OperationDetail.tsx`, and `AuditReviewApp.tsx` model and render proposal review decisions, replacement edits, apply status, high-divergence acknowledgement, and audit review outcomes.
47
- - `test/audit/`, `test/commands/audit.test.ts`, `test/cli/{args,run}.test.ts`, and `test/tui/audit-review/` cover the audit command contract, quality gates, snapshots, prompt generation, proposal validation/application, review state, Ink interactions, and end-to-end lifecycle behavior.
48
-
49
- Implementation deltas from the original plan:
50
-
51
- - Proposal review is launched from the board audit-entry path rather than a separate `savepoint audit review` command.
52
- - The audit command creates `.savepoint/audit/{epic}/proposals/`; reconciliation writes one `proposals/proposals.md` bundle, and the loader rejects multiple bundles to keep review state aligned with the workflow.
53
- - AI semantic review remains manual and advisory through the handoff prompt, matching the epic's out-of-scope boundary for API calls and automatic semantic findings.
54
-
55
- ## Architectural delta
56
-
57
- Before this epic, Savepoint can manage workflow state but cannot enforce the documentation audit gate. After this epic, completing an epic can produce a bounded audit context and block progress until documentation proposals are reviewed.
58
-
59
- The audit pipeline bridges CLI, filesystem, config, templates, and TUI review mode, but each step should remain separately testable.
60
-
61
- ## Boundaries
62
-
63
- In scope:
64
-
65
- - Implement the six-step audit pipeline except AI semantic review generation.
66
- - Support `--skip --reason`.
67
- - Support `--epic` when an explicit epic is needed.
68
- - Generate `.savepoint/audit/{epic}/snapshot.md`.
69
- - Generate `.savepoint/audit/{epic}/proposals/`.
70
-
71
- Out of scope:
72
-
73
- - Writing semantic-review findings automatically.
74
- - Calling AI APIs.
75
- - Inferring code quality beyond configured mechanical gates.
76
- - Complex merge conflict resolution for proposal application.
77
-
78
- ## Quality gates
79
-
80
- - Tests should cover passing/failing quality gates, snapshot generation, skip logging, proposal validation, and approved proposal application.
81
- - Snapshot generation must not include source code contents.
82
- - Failed blocking quality gates must stop the audit before snapshot generation.
83
-
84
- ## Design constraints
85
-
86
- - Keep audit context bounded to protect token budgets.
87
- - Treat proposal application as a filesystem boundary with explicit failure states.
88
- - Preserve user edits and require confirmation for high-divergence proposal application through the TUI.
@@ -1,23 +0,0 @@
1
- ---
2
- id: E07-audit-pipeline/T001-audit-cli-contract
3
- status: done
4
- objective: Define the audit command contract, explicit epic selection, and skip-with-reason logging path without running the full audit pipeline.
5
- depends_on: []
6
- ---
7
-
8
- # T001: audit-cli-contract
9
-
10
- ## Implementation Plan
11
-
12
- - [x] Extend CLI parsing and help text for `savepoint audit --epic <epic>`, `--skip`, and `--reason <text>` while rejecting invalid flag combinations.
13
- - [x] Replace the audit stub with a boundary-safe command handler that resolves the Savepoint project root and active epic from `--epic` or the router state.
14
- - [x] Add audit path and log helpers that can create `.savepoint/audit/{epic}/` and record skipped audits with timestamp, epic, and reason.
15
- - [x] Keep the non-skip path explicit and non-destructive until the pipeline tasks are available.
16
- - [x] Add focused CLI tests for help output, option parsing, explicit epic selection, skip success, missing reason, and invalid reason usage.
17
- - [x] Run the focused audit CLI tests before handing off the task.
18
-
19
- ## Context Log
20
-
21
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/Design.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/tasks/T001-audit-cli-contract.md`; `src/cli/args.ts`; `src/cli/help.ts`; `src/cli/run.ts`; `src/cli/exit-codes.ts`; `src/commands/audit.ts`; `src/commands/board.ts`; `src/commands/result.ts`; `src/domain/router.ts`; `src/fs/project.ts`; `src/fs/markdown.ts`; `src/readers/router.ts`; `test/cli/args.test.ts`; `test/cli/run.test.ts`; `test/cli/commands.test.ts`; `test/commands/board.test.ts`
22
- - Estimated input tokens: ~18,000
23
- - Notes: Added `AuditOptions` interface and `parseAuditArgs()` to `src/cli/args.ts`; audit now has its own `"audit-command"` and `"audit-invalid-options"` ParseResult kinds. Created `src/audit/log.ts` for skip logging. Replaced audit stub in `src/commands/audit.ts` with async `runAudit(ctx: AuditContext)`. Updated `run.ts` to dispatch audit-command and audit-invalid-options. 500 tests passing, 0 failures.
@@ -1,23 +0,0 @@
1
- ---
2
- id: E07-audit-pipeline/T002-quality-gate-runner
3
- status: done
4
- objective: Run configured audit quality gates with deterministic pass/fail results and no snapshot side effects.
5
- depends_on: []
6
- ---
7
-
8
- # T002: quality-gate-runner
9
-
10
- ## Implementation Plan
11
-
12
- - [x] Introduce `src/audit/quality-gates.ts` with a small typed model for configured lint, typecheck, test, and future gate commands.
13
- - [x] Implement an injectable command runner that executes gates in project-root context and captures exit code, stdout, stderr, duration, and spawn failures.
14
- - [x] Normalize empty or missing gate configuration into the project defaults without hard-coding command execution inside the CLI command.
15
- - [x] Return an aggregate result that clearly distinguishes pass, blocking failure, and runner error so orchestration can stop before snapshot generation.
16
- - [x] Add unit tests for all-pass gates, nonzero failures, spawn errors, empty gate lists, output capture, and deterministic execution order.
17
- - [x] Run the focused audit quality-gate tests before handing off the task.
18
-
19
- ## Context Log
20
-
21
- - Files read: `.savepoint/router.md` (via AGENTS.md routing); `AGENTS.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/Design.md`; `T001-audit-cli-contract.md`; `T002-quality-gate-runner.md`; `src/commands/audit.ts`; `src/audit/log.ts`; `src/domain/config.ts`; `src/readers/config.ts`; `src/fs/project.ts`; `src/cli/args.ts`; `test/commands/audit.test.ts`
22
- - Estimated input tokens: ~8,500
23
- - Notes: Created `src/audit/quality-gates.ts` with `Gate`, `GateResult`, `QualityGateOutcome`, `CommandRunner` types, `normalizeGates()`, `defaultRunner()`, and `runQualityGates()`. Created `test/audit/quality-gates.test.ts` with 13 tests covering all-pass, blocking failure, non-blocking failure, spawn errors, empty gates, output capture, duration recording, and deterministic order. All 13 tests pass.
@@ -1,23 +0,0 @@
1
- ---
2
- id: E07-audit-pipeline/T003-snapshot-and-prompt
3
- status: done
4
- objective: Generate a bounded audit snapshot and AI handoff prompt for an epic without embedding source contents.
5
- depends_on: []
6
- ---
7
-
8
- # T003: snapshot-and-prompt
9
-
10
- ## Implementation Plan
11
-
12
- - [x] Add `src/audit/snapshot.ts` to generate `.savepoint/audit/{epic}/snapshot.md` from router state, epic/task metadata, gitignore-respecting file listings, and changed-file paths.
13
- - [x] Ensure changed-file output records path and status only, never source or test file contents.
14
- - [x] Create `.savepoint/audit/{epic}/proposals/` alongside the snapshot so later proposal review has a stable artifact location.
15
- - [x] Add `src/audit/prompts.ts` to render the bounded handoff prompt that points an AI agent at the snapshot and proposal directory.
16
- - [x] Add tests for gitignore exclusions, snapshot bounds, changed-file metadata, proposal directory creation, and prompt content.
17
- - [x] Run the focused audit snapshot and prompt tests before handing off the task.
18
-
19
- ## Context Log
20
-
21
- - Files read: `AGENTS.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/Design.md`; `T003-snapshot-and-prompt.md`; `src/audit/quality-gates.ts`; `src/audit/log.ts`; `src/fs/project.ts`; `src/fs/markdown.ts`; `src/readers/router.ts`; `src/readers/epic.ts`; `src/readers/tasks.ts`; `src/domain/router.ts`; `src/domain/task.ts`; `src/domain/ids.ts`; `src/domain/status.ts`; `src/domain/config.ts`; `templates/prompts/audit-reconciliation.prompt.md`; `test/audit/quality-gates.test.ts`; `test/init/write-scaffold.test.ts`; `package.json`
22
- - Estimated input tokens: ~12,500
23
- - Notes: Implemented `buildSnapshotMarkdown` (pure), `generateSnapshot` (filesystem + injected GitReader), `defaultGitReader` (spawn-based), and `buildAuditPrompt` (pure). 31 tests, 555 total passing. Typecheck and lint clean.
@@ -1,27 +0,0 @@
1
- ---
2
- id: E07-audit-pipeline/T004-audit-orchestration-router
3
- status: done
4
- objective: Wire `savepoint audit` to run gates, write audit artifacts, and move the router into audit-pending only after blocking gates pass.
5
- depends_on:
6
- - E07-audit-pipeline/T001-audit-cli-contract
7
- - E07-audit-pipeline/T002-quality-gate-runner
8
- - E07-audit-pipeline/T003-snapshot-and-prompt
9
- ---
10
-
11
- # T004: audit-orchestration-router
12
-
13
- ## Implementation Plan
14
-
15
- - [x] Replace the non-skip audit placeholder with orchestration that resolves the target epic, reads config, runs quality gates, and reports gate results.
16
- - [x] Stop before snapshot generation when any blocking quality gate fails, preserving clear stdout/stderr and exit-code behavior.
17
- - [x] Generate the snapshot, proposal directory, and handoff prompt after gates pass.
18
- - [x] Add `src/audit/router-state.ts` to transition `.savepoint/router.md` into `audit-pending` for the audited epic without disturbing unrelated router content.
19
- - [x] Write audit log entries for started, failed-gate, and snapshot-created outcomes.
20
- - [x] Add integration tests for happy path, failed gates stopping snapshots, explicit `--epic`, active-router epic fallback, and router transition.
21
- - [x] Run the focused audit command integration tests before handing off the task.
22
-
23
- ## Context Log
24
-
25
- - Files read: `.savepoint/router.md`; `E07/Design.md`; `T004`; `T001`; `T002`; `T003`; `src/commands/audit.ts`; `src/audit/log.ts`; `src/audit/quality-gates.ts`; `src/audit/snapshot.ts`; `src/audit/prompts.ts`; `src/domain/config.ts`; `src/readers/config.ts`; `src/readers/tasks.ts`; `src/domain/router.ts`; `src/readers/router.ts`; `src/fs/project.ts`; `src/cli/exit-codes.ts`; `test/audit/quality-gates.test.ts`; `test/audit/snapshot.test.ts` (partial); `test/commands/audit.test.ts`; `.savepoint/metrics/context-bench.md`
26
- - Estimated input tokens: ~15,300
27
- - Notes: Created `src/audit/router-state.ts` with `transitionToAuditPending`. Added `logAuditEntry` to `src/audit/log.ts`. Replaced placeholder in `src/commands/audit.ts` with full orchestration (gates → snapshot → router transition → prompt). Added injectable `commandRunner` and `gitReader` to `AuditContext` for testing. 20 audit command tests, 564 total passing. Typecheck and lint clean.
@@ -1,25 +0,0 @@
1
- ---
2
- id: E07-audit-pipeline/T005-proposal-validation-apply
3
- status: done
4
- objective: Validate audit proposal files and apply approved patch-shaped documentation updates with explicit divergence failures.
5
- depends_on:
6
- - E07-audit-pipeline/T003-snapshot-and-prompt
7
- ---
8
-
9
- # T005: proposal-validation-apply
10
-
11
- ## Implementation Plan
12
-
13
- - [x] Add `src/audit/proposals.ts` to discover proposal files in `.savepoint/audit/{epic}/proposals/` and parse patch-shaped operations for documentation targets.
14
- - [x] Validate proposal target paths, required sections, duplicate operations, empty replacements, and malformed proposal documents with path-aware errors.
15
- - [x] Add `src/audit/apply-proposals.ts` to apply approved replace, insert, and delete operations only when anchors still match the live file.
16
- - [x] Fail with explicit divergence errors instead of overwriting user edits when a proposal no longer matches the target document.
17
- - [x] Preserve compatibility with any existing board handoff signal until the review UI moves fully to the proposal directory.
18
- - [x] Add tests for discovery, validation failures, successful apply, partial approval, divergence, and scoped path protection.
19
- - [x] Run the focused proposal validation and apply tests before handing off the task.
20
-
21
- ## Context Log
22
-
23
- - Files read: `AGENTS.md`; `.savepoint/router.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/Design.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/tasks/T005-proposal-validation-apply.md`; `src/audit/snapshot.ts`; `src/audit/prompts.ts`; `src/audit/router-state.ts`; `src/audit/log.ts`; `src/fs/project.ts`; `test/audit/snapshot.test.ts`; `test/audit/quality-gates.test.ts`; `templates/prompts/audit-reconciliation.prompt.md`; `.savepoint/audit/E06-tui-board/proposals.md`; `.savepoint/audit/E05-init-command/proposals.md`
24
- - Estimated input tokens: ~18,500
25
- - Notes: Implemented `proposals.ts` (discovery, parse, validate) and `apply-proposals.ts` (applyOperation, applyApprovedOperations). All 46 focused tests pass. Proposal format supports Replace/Insert After/Delete with fenced or plain-text anchors; scoped path protection rejects non-.md/.yml/.yaml and path traversal targets; divergence detection skips writing any operation to a file if any op on it diverges.
@@ -1,24 +0,0 @@
1
- ---
2
- id: E07-audit-pipeline/T006-audit-review-state
3
- status: done
4
- objective: Model audit proposal review decisions so approve, reject, edit, and apply flows are testable before the Ink UI.
5
- depends_on:
6
- - E07-audit-pipeline/T005-proposal-validation-apply
7
- ---
8
-
9
- # T006: audit-review-state
10
-
11
- ## Implementation Plan
12
-
13
- - [x] Add non-rendering audit review state under `src/tui/audit-review/` for loaded proposals, selected operation, review decision, edited replacement text, warnings, and apply readiness.
14
- - [x] Implement reducer actions for navigation, approve, reject, edit, reset edit, show divergence warning, and mark apply result.
15
- - [x] Derive concise review summaries that the UI can render without reparsing proposal documents.
16
- - [x] Keep all filesystem writes out of the state layer; call proposal/apply services through injected callbacks only in later integration.
17
- - [x] Add deterministic reducer tests for navigation bounds, decision changes, edit preservation, ready-to-apply calculation, and warning state.
18
- - [x] Run the focused audit review state tests before handing off the task.
19
-
20
- ## Context Log
21
-
22
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/Design.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/tasks/T006-audit-review-state.md`; `src/tui/state/reducer.ts`; `src/tui/state/app-reducer.ts`; `src/tui/state/view-state.ts`; `test/tui/state/reducer.test.ts`; `test/tui/state/app-reducer.test.ts`; `src/audit/proposals.ts`; `src/audit/apply-proposals.ts`; `.savepoint/metrics/context-bench.md`
23
- - Estimated input tokens: ~11,975
24
- - Notes: E06 state/test conventions for reducer shape and deterministic testing; E07 audit proposal/apply types for state model alignment.
@@ -1,26 +0,0 @@
1
- ---
2
- id: E07-audit-pipeline/T007-audit-review-ui
3
- status: done
4
- objective: "Add the Ink audit review mode that lets users inspect proposals, approve or reject them, edit replacements, and apply approved changes."
5
- depends_on:
6
- - E07-audit-pipeline/T004-audit-orchestration-router
7
- - E07-audit-pipeline/T006-audit-review-state
8
- ---
9
-
10
- # T007: audit-review-ui
11
-
12
- ## Implementation Plan
13
-
14
- - [x] Create `src/tui/audit-review/*.tsx` components that follow the existing terminal palette and the Atari-Noir visual identity within terminal constraints.
15
- - [x] Update the board audit entry point so proposal directories produced by E07 open the review mode for the active epic.
16
- - [x] Render proposal targets, operation summaries, selected diffs, approval state, edit mode, and divergence warnings without dumping full unrelated file contents.
17
- - [x] Wire apply actions through `src/audit/apply-proposals.ts`, require confirmation for high-divergence cases, and surface apply errors without losing review decisions.
18
- - [x] Write audit log entries for applied, rejected-only, and user-aborted review outcomes.
19
- - [x] Add TUI tests with mocked Ink rendering and service callbacks for navigation, approve/reject/edit, apply success, and apply failure.
20
- - [x] Run the focused audit review UI and board integration tests before handing off the task.
21
-
22
- ## Context Log
23
-
24
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/Design.md`; `.savepoint/visual-identity.md`; `.savepoint/metrics/context-bench.md`; `src/tui/App.tsx`; `src/tui/Board.tsx`; `src/commands/board.ts`; `src/tui/theme/palette.ts`; `src/tui/DetailPane.tsx`; `src/audit/apply-proposals.ts`; `src/audit/proposals.ts`; `src/audit/log.ts`; `src/domain/config.ts`; `src/tui/state/app-reducer.ts`; `src/tui/board-data.ts`; `test/commands/board.test.ts`; `test/commands/board-tty.test.ts`; `test/tui/components/App.test.tsx`; `src/tui/state/reducer.ts`; `src/tui/audit-review/state.ts`; `src/tui/audit-review/summary.ts`; `test/tui/audit-review/state.test.ts`; `vitest.config.ts`; `vitest.config.js`
25
- - Estimated input tokens: ~16,000
26
- - Notes: Implementation required understanding E06 TUI patterns for reducer shape, keyboard input, Ink testing, and board integration; extended T006 state model with confirm-divergence and edit helpers; wired apply through existing E07 audit services.
@@ -1,24 +0,0 @@
1
- ---
2
- id: E07-audit-pipeline/T008-audit-pipeline-integration
3
- status: done
4
- objective: Verify the complete audit lifecycle from command execution through review application with end-to-end coverage and full quality gates.
5
- depends_on:
6
- - E07-audit-pipeline/T007-audit-review-ui
7
- ---
8
-
9
- # T008: audit-pipeline-integration
10
-
11
- ## Implementation Plan
12
-
13
- - [x] Add end-to-end tests that cover audit skip logging, gate failure short-circuiting, successful snapshot/prompt generation, router `audit-pending` transition, proposal review, and approved proposal application.
14
- - [x] Verify audit artifacts remain bounded by asserting snapshots contain metadata and paths but not source/test code bodies.
15
- - [x] Confirm explicit `--epic` and active-router epic selection work consistently across command, snapshot, proposal, and review paths.
16
- - [x] Tighten command help, error messages, and fixture cleanup discovered by the integration tests.
17
- - [x] Run focused audit integration tests first, then run `npm run typecheck`, `npm run lint`, `npm run format:check`, `npm run build`, and `npm test`.
18
- - [x] Update this task's context log with implementation files read before moving it to review.
19
-
20
- ## Context Log
21
-
22
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/Design.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/tasks/T008-audit-pipeline-integration.md`; `src/commands/audit.ts`; `src/audit/quality-gates.ts`; `src/audit/snapshot.ts`; `src/audit/router-state.ts`; `src/audit/prompts.ts`; `src/audit/proposals.ts`; `src/audit/apply-proposals.ts`; `src/audit/log.ts`; `test/commands/audit.test.ts`; `test/cli/run.test.ts`; `test/audit/quality-gates.test.ts`; `test/audit/snapshot.test.ts`; `test/audit/proposals.test.ts`; `test/audit/apply-proposals.test.ts`; `test/audit/prompts.test.ts`; `src/tui/audit-review/state.ts`; `src/tui/audit-review/AuditReviewApp.tsx`; `src/tui/audit-review/summary.ts`; `test/tui/audit-review/state.test.ts`; `test/tui/audit-review/AuditReviewApp.test.tsx`; `test/commands/board.test.ts`; `src/cli/args.ts`; `src/cli/run.ts`; `src/cli/help.ts`; `src/readers/router.ts`; `.savepoint/metrics/context-bench.md`
23
- - Estimated input tokens: ~45,844
24
- - Notes: Full integration context: all E07 audit source and test files, CLI dispatch layer, TUI audit-review state/components, board test patterns for fixture setup, and context bench. Prettier formatting applied to all E07-scoped files with existing warnings.