savepoint 1.0.4 → 1.0.6

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 +10 -3
  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,103 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: active
4
- ---
5
-
6
- # Epic E08: board-workflow-cleanup
7
-
8
- ## Purpose
9
-
10
- Make the board usable as the primary release workflow surface before `0.1.0` ships by adding epic navigation, readable task presentation, acceptance criteria, and a focused task detail view.
11
-
12
- ## What this epic adds
13
-
14
- - Immersive full-screen TUI that utilizes the terminal's alternate screen buffer, hiding shell history while active.
15
- - Epic selection in a fixed left rail (minimum 25 columns wide) so users can browse and work across release epics without manually editing router state.
16
- - A clear separation between selectable epic items and task cards, with `Tab` to switch focus between the two panes.
17
- - Readable task card labels that prioritize task title/slug/objective over full `epic/task` IDs.
18
- - Required task-level acceptance criteria that define what "done" means.
19
- - A workflow rule that the implementation plan is the build checklist for satisfying acceptance criteria.
20
- - A full-screen task detail modal that shows objective, acceptance criteria, implementation checklist, dependencies, status, and transition affordances.
21
- - Updated templates and planning prompts so new task files include acceptance criteria by default.
22
- - Migration/compatibility behavior for existing task files that do not yet include acceptance criteria.
23
-
24
- ## Backlog.md & OpenCode inspiration
25
-
26
- Backlog.md and OpenCode are useful inspiration for release-blocking product behaviors: task files are human-readable Markdown, tasks carry clear acceptance criteria, and the visual board/detail views make task status and task content inspectable without opening files directly. The TUI acts as a standalone, immersive application. Savepoint should borrow those product lessons while preserving Savepoint's epic-first router and audit workflow.
27
-
28
- ## Components and files
29
-
30
- Expected files introduced or extended by this epic:
31
-
32
- | Path | Purpose |
33
- | ------------------------------------ | --------------------------------------------------------------------- |
34
- | `src/domain/task.ts` | Task document model with acceptance criteria parsing and validation. |
35
- | `src/readers/tasks.ts` | Epic task-set reader updated for acceptance criteria compatibility. |
36
- | `src/tui/board-data.ts` | Cross-epic board data and readable task/epic display metadata. |
37
- | `src/tui/state/*.ts` | Board navigation state for epic selection, task selection, and popup. |
38
- | `src/tui/{App,Board,DetailPane}.tsx` | Board keyboard flow, readable cards, layout, and task detail modal. |
39
- | `src/tui/render/plain-table.ts` | Non-TTY rendering for epic/task separation and acceptance criteria. |
40
- | `src/commands/board.ts` | Alternate screen buffer management and immersive launch. |
41
- | `templates/project/**` | Default workflow docs and task templates with acceptance criteria. |
42
- | `templates/prompts/*.prompt.md` | Agent prompts updated to require acceptance criteria before planning. |
43
- | `.savepoint/router.md` | Workflow instructions for acceptance criteria and detail navigation. |
44
- | `test/domain/*.test.ts` | Task schema and compatibility tests. |
45
- | `test/readers/*.test.ts` | Cross-epic task reading tests. |
46
- | `test/tui/**/*.test.ts(x)` | Board navigation, card labels, popup detail, and render tests. |
47
- | `test/templates/*.test.ts` | Template and prompt integrity tests. |
48
-
49
- ## Architectural delta
50
-
51
- Before this epic, the board is scoped to the active epic and shows task IDs as the primary task label. The board prints inline to standard output. Task files have an objective and implementation plan, but no explicit acceptance criteria contract.
52
-
53
- After this epic, the board becomes a release-level immersive navigation surface using the alternate screen buffer. Epics are selectable in a left rail, tasks are readable at a glance, and a full-screen task detail modal is available. Task documents gain acceptance criteria as a first-class section, with the implementation plan explicitly subordinate to those criteria.
54
-
55
- The router remains the source of truth for the active build task. Browsing another epic in the board must not silently change the active build task unless the user performs an explicit workflow action (`Enter` on the left rail).
56
-
57
- ## Resolved design decisions
58
-
59
- 1. **Immersive TUI & Layout:** The board will enter the terminal's alternate screen buffer (`\x1b[?1049h`), restoring shell history cleanly on exit. Layout consists of a fixed Left Rail (min 25 columns width) for Epics, and a Main Board for tasks. Focus is toggled via `Tab` / `Shift+Tab`.
60
- 2. **Epic Interaction:** Epics display status via glyphs and colors: `✓` (Completed/Green), `▶` (Active/Yellow), `○` (Planned/Dim). Browsing previews tasks (read-only). Pressing `Enter` on an Epic activates it in `router.md`.
61
- 3. **Task Mutation Constraints:** Tasks can only be advanced (`Space`) or retreated (`Backspace`) if the currently browsed epic matches the Active Router Epic. Otherwise, the action is blocked with a warning.
62
- 4. **Task Detail Modal:** A full-screen overlay triggered by `Enter` from the board. It displays task details, and the implementation checklist is strictly read-only for `v0.1.0`. Closed via `Escape`.
63
- 5. **Acceptance Criteria Parsing:** The `task.ts` parser will extract the `## Acceptance Criteria` markdown section. If missing, it safely returns an empty array for backward compatibility.
64
-
65
- ## Boundaries
66
-
67
- In scope:
68
-
69
- - Release-level epic browsing in an immersive full-screen board.
70
- - Readable task labels and full ID demotion into detail/metadata.
71
- - Required acceptance criteria for newly planned tasks.
72
- - Compatibility for existing tasks missing acceptance criteria.
73
- - Full-screen task detail modal in the TUI and plain fallback output.
74
- - Prompt/template updates that make acceptance criteria part of normal workflow.
75
- - Visual bugs to be fixed - scrolling up and down fragments the board, the task surface is too busy for a four-pane workflow, and the TUI should feel like a standalone application.
76
-
77
- Out of scope:
78
-
79
- - Web UI.
80
- - Search.
81
- - File watching.
82
- - Drag-and-drop or mouse interactions.
83
- - Editing every historical task file by hand unless tests/templates require fixture updates.
84
- - AI semantic review or audit pipeline behavior beyond prompt/template wording.
85
- - Interactive toggling of markdown implementation checklists within the TUI (deferred to future release).
86
-
87
- ## Quality gates
88
-
89
- - Tests cover task documents with and without acceptance criteria.
90
- - Tests cover cross-epic board data loading and epic switching.
91
- - Tests prove readable labels are shown on task cards while full IDs remain visible in detail.
92
- - Tests cover the task detail modal content, full-screen takeover, and keyboard flow.
93
- - Template tests prove new task scaffolds include acceptance criteria before implementation plans.
94
- - Existing board transition behavior remains covered after keybinding changes.
95
-
96
- ## Design constraints
97
-
98
- - Keep the board fast and bounded; release-level browsing must not load unrelated source code.
99
- - Preserve the file-first workflow. The board reads and writes Markdown-backed state; it does not create a hidden database.
100
- - Make navigation explicit. Browsing an epic and changing the router's active task are different actions.
101
- - Keep task files independently buildable and objective-led.
102
- - Acceptance criteria describe observable outcomes; implementation plans describe the build steps to satisfy them.
103
- - Design the layout for terminal constraints: safe truncation, fixed regions, and consistent with Atari-Noir terminal palette rules.
@@ -1,30 +0,0 @@
1
- ---
2
- id: E08-board-workflow-cleanup/T001-acceptance-criteria-model
3
- status: done
4
- objective: Add task-document acceptance criteria parsing with compatibility for existing tasks that do not declare criteria.
5
- depends_on: []
6
- ---
7
-
8
- # T001: acceptance-criteria-model
9
-
10
- ## Acceptance Criteria
11
-
12
- - Task documents with a `## Acceptance Criteria` section expose normalized criteria to callers.
13
- - Task documents without acceptance criteria remain readable and carry an explicit compatibility signal instead of failing schema validation.
14
- - Existing frontmatter validation remains unchanged, so status writes still preserve unknown frontmatter and task bodies.
15
- - Tests cover present, missing, empty, and checkbox/bullet acceptance criteria formats.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Add a focused Markdown section parser for task body sections, keeping frontmatter validation in `src/domain/task.ts` strict and unchanged.
20
- - [x] Extend the task document model returned to callers with acceptance criteria data and a missing-criteria compatibility marker.
21
- - [x] Update `test/domain/task.test.ts` to cover acceptance criteria extraction, missing-section compatibility, empty-section compatibility, and mixed bullet/checkbox criteria.
22
- - [x] Update the relevant status-write tests to prove task body and criteria text survive status changes unchanged.
23
- - [x] Run focused task-domain and status-write tests before handing off.
24
- - [x] Update this task's context log with implementation files read before moving it to review.
25
-
26
- ## Context Log
27
-
28
- - Files read: `.savepoint/router.md`; `AGENTS.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/Design.md`; `src/domain/task.ts`; `test/domain/task.test.ts`; `test/tui/io/write-status.test.ts`.
29
- - Estimated input tokens: ~7,500
30
- - Notes: Implementation pass. Added `AcceptanceCriteria` interface, `parseAcceptanceCriteria`, and `parseTaskDocument` to `src/domain/task.ts`. Tests: 9 new in task.test.ts, 1 new in write-status.test.ts. 35/35 pass.
@@ -1,33 +0,0 @@
1
- ---
2
- id: E08-board-workflow-cleanup/T002-release-task-set-reader
3
- status: done
4
- objective: Read release epics into a release-level task collection that preserves per-epic errors and resolves cross-epic task dependencies.
5
- depends_on:
6
- - E08-board-workflow-cleanup/T001-acceptance-criteria-model
7
- ---
8
-
9
- # T002: release-task-set-reader
10
-
11
- ## Acceptance Criteria
12
-
13
- - A release-level reader lists epic directories under `.savepoint/releases/{release}/epics` in deterministic order.
14
- - The reader returns task documents grouped by epic while preserving filesystem/schema errors for each epic.
15
- - Cross-epic dependencies are validated at release scope so valid cross-epic links do not appear as missing dependencies.
16
- - Existing `readEpicTaskSet` behavior remains available for callers that only need one epic.
17
- - Tests cover multiple epics, empty task directories, missing task directories, cross-epic dependencies, duplicate IDs, and true missing dependencies.
18
-
19
- ## Implementation Plan
20
-
21
- - [x] Add a release-level task-set result type in `src/readers/tasks.ts` or a new focused reader module if that keeps the file to one job.
22
- - [x] Implement deterministic epic directory discovery from the release `epics/` directory, ignoring non-directories.
23
- - [x] Reuse existing markdown/frontmatter parsing and acceptance-criteria extraction from T001 for every task file.
24
- - [x] Add release-scope graph validation that treats cross-epic dependencies as valid when the target task exists anywhere in the release.
25
- - [x] Add reader tests in `test/readers/tasks.test.ts` for multi-epic success, partial epic errors, cross-epic dependency success, and release-level graph failures.
26
- - [x] Run focused reader tests before handing off.
27
- - [x] Update this task's context log with implementation files read before moving it to review.
28
-
29
- ## Context Log
30
-
31
- - Files read: `.savepoint/router.md`; `.savepoint/Design.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/Design.md`; `.savepoint/releases/v1/epics/E06-tui-board/Design.md`; `.savepoint/releases/v1/epics/E07-audit-pipeline/Design.md`; `.savepoint/visual-identity.md`; `agent-skills/ink-tui-design/SKILL.md` and focused references; current task/domain/reader/board/template/test files for E08 planning.
32
- - Estimated input tokens: ~58,547
33
- - Notes: Task-breakdown planning context only. Implementation should re-read this task plus directly touched source/test files.
@@ -1,34 +0,0 @@
1
- ---
2
- id: E08-board-workflow-cleanup/T003-board-data-and-plain-output
3
- status: done
4
- objective: Build release-level board data and update non-TTY board output so epics and readable task labels are visible without changing router state.
5
- depends_on:
6
- - E08-board-workflow-cleanup/T002-release-task-set-reader
7
- ---
8
-
9
- # T003: board-data-and-plain-output
10
-
11
- ## Acceptance Criteria
12
-
13
- - `BoardData` includes release epic metadata (including status mapped to `✓`, `▶`, `○` markers), active router epic/task, selected epic, selected epic columns, readable task labels, full task IDs, acceptance criteria summaries, and per-epic warnings.
14
- - `runBoard` loads release-level board data for refresh and non-TTY rendering while keeping router state read-only.
15
- - Status writes derive the target task path from the selected task ID's epic segment, not only from the router's active epic.
16
- - Non-TTY output separates epic navigation from task status output and uses readable task labels before full IDs.
17
- - Tests cover release-level board data, readable labels, acceptance criteria summaries, selected-vs-active epic metadata, and non-TTY output.
18
-
19
- ## Implementation Plan
20
-
21
- - [x] Extend `src/tui/board-data.ts` types to represent release epics, selected epic metadata, readable task labels, full IDs, and acceptance criteria summaries.
22
- - [x] Update board-data construction to consume the release-level reader from T002 while preserving current single-epic behavior through compatible defaults.
23
- - [x] Update `src/commands/board.ts` loading and refresh callbacks to use release-level data without mutating `.savepoint/router.md`.
24
- - [x] Update status-write path resolution to derive `release`, `epic`, and task filename from the selected task ID and current release.
25
- - [x] Update `src/tui/render/plain-table.ts` so plain output shows an epic section, selected/active markers, readable task lines, and full IDs as metadata.
26
- - [x] Add or update focused tests in `test/commands/board.test.ts`, `test/tui/render/plain-table.test.ts`, and board-data tests for the new release-level contract.
27
- - [x] Run focused board-data, command, and plain-render tests before handing off.
28
- - [x] Update this task's context log with implementation files read before moving it to review.
29
-
30
- ## Context Log
31
-
32
- - Files read: `src/tui/board-data.ts`; `src/commands/board.ts`; `src/tui/render/plain-table.ts`; `src/readers/tasks.ts`; `src/domain/task.ts`; `src/domain/ids.ts`; `src/fs/markdown.ts`; `src/domain/router.ts`; `src/tui/state/view-state.ts`; `test/tui/render/plain-table.test.ts`; `test/commands/board.test.ts`; `test/tui/state/reducer.test.ts`; `test/tui/state/app-reducer.test.ts`; `test/tui/components/Board.test.tsx`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/Design.md`; `tsconfig.json`.
33
- - Also fixed pre-existing bug: `src/readers/tasks.ts` was not calling `parseTaskDocument` after parsing markdown, so `acceptanceCriteria` was always undefined at runtime.
34
- - 727 tests pass (54 test files). New tests: `test/tui/board-data.test.ts` (14), `test/tui/render/plain-table.test.ts` +7 cases, `test/commands/board.test.ts` +4 cases.
@@ -1,33 +0,0 @@
1
- ---
2
- id: E08-board-workflow-cleanup/T004-board-selection-state
3
- status: done
4
- objective: Model board selection state for epic browsing, task focus, refresh preservation, and task detail popup visibility.
5
- depends_on:
6
- - E08-board-workflow-cleanup/T003-board-data-and-plain-output
7
- ---
8
-
9
- # T004: board-selection-state
10
-
11
- ## Acceptance Criteria
12
-
13
- - Board state distinguishes epic focus, task focus, selected epic, selected task, and detail-popup visibility.
14
- - Browsing another epic never changes the active router epic/task in state. Advancing (`Space`) or retreating (`Backspace`) task status is blocked unless the browsed epic matches the active router epic.
15
- - Refresh preserves the selected epic and task when they still exist, and falls back predictably when an epic or task disappears.
16
- - Navigation clamps at list boundaries where wrapping would make the screen feel unstable.
17
- - Reducer tests cover epic switching, task movement within an epic, detail open/close, refresh preservation, and fallback behavior.
18
-
19
- ## Implementation Plan
20
-
21
- - [x] Extend `src/tui/state/view-state.ts` with selected-epic, selected-task, focus-area, and detail-popup state derived from the new `BoardData`.
22
- - [x] Update `src/tui/state/reducer.ts` actions for moving across epics, moving across tasks/status groups, switching focus, opening detail, closing detail, and refreshing release-level data.
23
- - [x] Update `src/tui/state/app-reducer.ts` to preserve warning/message/loading behavior while carrying the expanded view state.
24
- - [x] Replace wraparound movement with explicit clamp behavior where needed to avoid disorienting jumps and layout fragmentation.
25
- - [x] Update state tests for the new release-level board shape and add coverage for detail visibility and selected-vs-active router metadata.
26
- - [x] Run focused TUI state tests before handing off.
27
- - [x] Update this task's context log with implementation files read before moving it to review.
28
-
29
- ## Context Log
30
-
31
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/Design.md`; this task file; `src/tui/state/view-state.ts`; `src/tui/state/reducer.ts`; `src/tui/state/app-reducer.ts`; `src/tui/board-data.ts`; `test/tui/state/reducer.test.ts`; `test/tui/state/app-reducer.test.ts`.
32
- - Estimated input tokens: ~14,000
33
- - Notes: Added `FocusArea`, `epicIndex`, `selectedEpicRaw`, `focusArea`, `detailVisible` to `BoardViewState`. New actions: `move-epic`, `switch-focus`, `open-detail`, `close-detail`. Vertical task nav changed from wrap to clamp. 174 TUI tests pass.
@@ -1,37 +0,0 @@
1
- ---
2
- id: E08-board-workflow-cleanup/T005-ink-board-layout-cleanup
3
- status: done
4
- objective: Rework the Ink board into a stable release-level screen with an epic selector, readable task cards, and bounded terminal layout.
5
- depends_on:
6
- - E08-board-workflow-cleanup/T004-board-selection-state
7
- ---
8
-
9
- # T005: ink-board-layout-cleanup
10
-
11
- ## Acceptance Criteria
12
-
13
- - The TTY board renders as an immersive full-screen application using the alternate screen buffer (`\x1b[?1049h`), with a header, epic selector (fixed left rail, min 25 columns), task surface, warning area, and footer.
14
- - Epic items are visually distinct from task cards and explicitly show status (`✓`, `▶`, `○`) and active-router state separately from selected/browsed state. Focus switches between panes via `Tab`/`Shift+Tab`.
15
- - Task cards prioritize readable labels from slug/objective/title-style text while keeping full IDs visible as dim metadata.
16
- - The backlog status remains represented but no longer consumes one fifth of the horizontal screen when that space is better used for epic selection.
17
- - Layout uses terminal-safe widths, truncation, and fixed regions so arrow-key navigation does not fragment or wrap the board.
18
- - Component tests cover epic selector rendering, readable labels, active-vs-selected markers, no-color output, and empty states.
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Refactor `src/tui/Board.tsx` into smaller render parts if needed so epic selection, task grouping, and task cards each have one job.
23
- - [x] Implement alternate screen buffer entry/exit in `src/commands/board.ts` for full-screen takeover.
24
- - [x] Add a release-level header and a fixed-width left rail epic selector that follow Atari-Noir terminal constraints and the Ink guide's screen/part split.
25
- - [x] Replace full-ID-first task rendering with readable card labels, status/count metadata, and full IDs as secondary detail.
26
- - [x] Rebalance the task surface so backlog is still visible but does not monopolize equal-width Kanban space when an epic rail is present.
27
- - [x] Add terminal-width truncation and safe margins for long task labels, objectives, criteria, and epic names.
28
- - [x] Update `src/tui/App.tsx` footer/help text for the new focus and navigation model without adding long in-app instructions.
29
- - [x] Read and adhere to `agent-skills/ink-tui-design/SKILL.md` for component structure and visual constraints.
30
- - [x] Update Ink component tests for the new layout and readable labels.
31
- - [x] Run focused board component tests before handing off.
32
- - [x] Update this task's context log with implementation files read before moving it to review.
33
-
34
- ## Context Log
35
-
36
- - Files read: this task; E08 Design; T003/T004 context logs; `src/tui/Board.tsx`; `src/tui/App.tsx`; `src/tui/board-data.ts`; `src/tui/state/view-state.ts`; `src/tui/state/reducer.ts`; `src/tui/state/app-reducer.ts`; `src/commands/board.ts`; `src/tui/theme/palette.ts`; `agent-skills/ink-tui-design/SKILL.md`; `.savepoint/visual-identity.md`; `test/tui/components/Board.test.tsx`; `test/tui/components/App.test.tsx`.
37
- - Implementation: refactored `Board.tsx` into `EpicRail` (React.memo, fixed 25-col left rail, glyph status + browsed cursor `›`) + `TaskCard` (React.memo, label primary, dim full ID secondary) + flex task surface. `App.tsx` gains header, Tab→switch-focus, rail up/down→move-epic, board left/right guard, mutation guard when browsedEpic≠activeEpic. `board.ts` wraps render in `\x1b[?1049h`/`\x1b[?1049l` alt screen buffer with cleanup on process exit. 755 tests pass, typecheck clean.
@@ -1,36 +0,0 @@
1
- ---
2
- id: E08-board-workflow-cleanup/T006-task-detail-popup
3
- status: done
4
- objective: Add a keyboard-driven task detail popup that shows acceptance criteria, implementation checklist state, dependencies, status, and transition affordances.
5
- depends_on:
6
- - E08-board-workflow-cleanup/T005-ink-board-layout-cleanup
7
- ---
8
-
9
- # T006: task-detail-popup
10
-
11
- ## Acceptance Criteria
12
-
13
- - A selected task can open a full-screen detail modal using `Enter` (when focused on the board); `Escape` closes the modal. The implementation checklist remains read-only for v0.1.0.
14
- - While the popup is open, underlying board key handlers are disabled so input is handled once.
15
- - The popup shows objective, full ID, status, dependencies, acceptance criteria, implementation checklist progress, transition gate preview, and current warning/message text.
16
- - Enter/backspace status transitions remain predictable and refresh board data after successful writes.
17
- - Detail rendering is compact, no-color compatible, and safe for narrow terminals.
18
- - Ink tests cover open/close, disabled underlying navigation, content sections, transition affordances, loading/error messages, and long text truncation.
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Extend board task data with implementation checklist summary parsed from the task body.
23
- - [x] Add a focused detail popup component or refactor `src/tui/DetailPane.tsx` into popup-oriented parts while preserving one job per file.
24
- - [x] Wire `src/tui/App.tsx` input handling so `Enter` opens detail, `Escape` closes it, and board-level movement/transition keys are disabled in popup mode.
25
- - [x] Render criteria, checklist progress, dependency status, full ID, and transition gate previews with no hidden database state.
26
- - [x] Ensure status transitions across selected epics refresh release-level data and surface mtime conflicts without closing or corrupting detail state.
27
- - [x] Read and adhere to `agent-skills/ink-tui-design/SKILL.md` for modal component structure and visual constraints.
28
- - [x] Update Ink tests for popup keyboard flow and rendered sections.
29
- - [x] Run focused App and detail component tests before handing off.
30
- - [x] Update this task's context log with implementation files read before moving it to review.
31
-
32
- ## Context Log
33
-
34
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/Design.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/tasks/T006-task-detail-popup.md`; `.savepoint/visual-identity.md`; `agent-skills/ink-tui-design/SKILL.md`; `agent-skills/ink-tui-design/references/component-patterns.md`; `agent-skills/ink-tui-design/references/ink-gotchas.md`; `agent-skills/ink-tui-design/references/testing-patterns.md`; `src/domain/task.ts`; `src/tui/App.tsx`; `src/tui/Board.tsx`; `src/tui/DetailPane.tsx`; `src/tui/board-data.ts`; `src/tui/state/app-reducer.ts`; `src/tui/state/view-state.ts`; `src/tui/state/reducer.ts`; `test/domain/task.test.ts`; `test/tui/board-data.test.ts`; `test/tui/components/App.test.tsx`; `test/tui/components/Board.test.tsx`; `test/tui/components/DetailPane.test.tsx`; `test/tui/state/app-reducer.test.ts`; `.savepoint/metrics/context-bench.md`.
35
- - Estimated input tokens: ~41,158
36
- - Notes: Implemented Enter/Escape modal flow per acceptance criteria and retained Space/backspace status transitions. Focused tests, typecheck, and lint pass; full format check is still blocked by unrelated pre-existing unformatted files outside this task's edit set.
@@ -1,34 +0,0 @@
1
- ---
2
- id: E08-board-workflow-cleanup/T007-templates-acceptance-criteria
3
- status: done
4
- objective: Update workflow templates and prompts so new task files require acceptance criteria before implementation planning.
5
- depends_on:
6
- - E08-board-workflow-cleanup/T001-acceptance-criteria-model
7
- ---
8
-
9
- # T007: templates-acceptance-criteria
10
-
11
- ## Acceptance Criteria
12
-
13
- - Live workflow docs and scaffold templates describe acceptance criteria as required task content before `## Implementation Plan`.
14
- - Task-breakdown and task-planning prompts require acceptance criteria and distinguish observable outcomes from implementation checklist steps.
15
- - Task-building prompts tell agents to satisfy acceptance criteria by completing the implementation checklist.
16
- - Router and agent templates preserve token-discipline rules and include the Ink guide conditional read where TUI implementation requires it.
17
- - Template tests prove generated task examples contain `## Acceptance Criteria` before `## Implementation Plan`.
18
- - Historical task files are not bulk edited; compatibility behavior from T001 remains the migration path.
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Update live `.savepoint/router.md` workflow instructions only as needed for acceptance criteria and task detail navigation wording, without advancing router state while E07 remains active.
23
- - [x] Update `templates/project/AGENTS.md` and `templates/project/.savepoint/router.md` so generated projects inherit acceptance-criteria and Ink-guide conditional-read guidance.
24
- - [x] Update `templates/prompts/task-breakdown.prompt.md`, `templates/prompts/task-planning.prompt.md`, and `templates/prompts/task-building.prompt.md` to require acceptance criteria and clarify the implementation-plan relationship.
25
- - [x] Update template tests for prompt shape, generated task examples, and router/agent workflow wording.
26
- - [x] Confirm no historical task-file migration is required for tests or templates beyond fixtures that intentionally represent new tasks.
27
- - [x] Run focused template tests before handing off.
28
- - [x] Update this task's context log with implementation files read before moving it to review.
29
-
30
- ## Context Log
31
-
32
- - Files read: `.savepoint/router.md`; `templates/project/AGENTS.md`; `templates/project/.savepoint/router.md`; `templates/prompts/task-breakdown.prompt.md`; `templates/prompts/task-planning.prompt.md`; `templates/prompts/task-building.prompt.md`; `test/templates/prompt-templates.test.ts`; `test/templates/project-templates.test.ts`; `test/templates/router-template.test.ts`; `test/templates/render-integrity.test.ts`; `test/templates/template-registry.test.ts`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/Design.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/tasks/T007-templates-acceptance-criteria.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/tasks/T001-acceptance-criteria-model.md`; `src/domain/task.ts`; `.savepoint/metrics/context-bench.md`; `templates/prompts/magic-prompt.prompt.md`; `templates/prompts/audit-reconciliation.prompt.md`; `templates/prompts/epic-design.prompt.md`.
33
- - Estimated input tokens: ~19,360
34
- - Notes: Updated live router, template AGENTS.md/router.md, task prompts, and template tests. No historical task-file migration needed. All 48 template tests pass.
@@ -1,41 +0,0 @@
1
- ---
2
- id: E08-board-workflow-cleanup/T008-board-workflow-integration
3
- status: done
4
- objective: Close out the board workflow cleanup by reconciling E06/E07 board rework, updating integration coverage, and running the full quality gates.
5
- depends_on:
6
- - E08-board-workflow-cleanup/T006-task-detail-popup
7
- - E08-board-workflow-cleanup/T007-templates-acceptance-criteria
8
- ---
9
-
10
- # T008: board-workflow-integration
11
-
12
- ## Acceptance Criteria
13
-
14
- - E06 board command behavior still works after release-level browsing, including full-screen alternate buffer setup/teardown (restoring shell history cleanly), non-TTY fallback, TTY launch, refresh, transition gates, and mtime conflict handling.
15
- - E07 audit review entry still works for the router's active epic and is not confused with a merely browsed epic.
16
- - Existing E07 T008 audit-pipeline integration scope is respected; this task does not change E07 task status or audit lifecycle semantics.
17
- - Focused tests cover cross-epic board browsing through command/state/component layers.
18
- - Full quality gates pass or any blocker is documented in this task before handoff.
19
- - The E08 task set remains independently buildable and ready for normal implementation after E07 audit closeout.
20
-
21
- ## Implementation Plan
22
-
23
- - [x] Review the E06 and E07 tests affected by board data shape, App keybindings, audit entry, and non-TTY output, then update only assertions that reflect intentional E08 behavior.
24
- - [x] Add integration coverage for browsing a non-active epic, refreshing after underlying task-file changes, transitioning a selected task by ID-derived path, and preserving active-router audit review behavior.
25
- - [x] Run focused command, state, component, reader, template, and audit-review tests that cover E08 changes.
26
- - [x] Run `npm run typecheck`, `npm run lint`, `npm run format:check`, `npm run build`, and `npm test`.
27
- - [x] Update E08 task context logs and `.savepoint/metrics/context-bench.md` with measured implementation context before moving this task to review.
28
- - [x] Leave router advancement to the normal post-E07 workflow; do not mark E08 implementation active while E07 is still incomplete or unaudited.
29
- - [x] Simplify the canonical task workflow to `planned`, `in_progress`, and `done`, while preserving read-time compatibility for historical `backlog` and `review` task files.
30
-
31
- ## Rework Notes
32
-
33
- - E06 rework expected: board data moves from active-epic-only to release-level, reducers gain epic focus, the board collapses to a calmer three-lane workflow plus the epic rail, and plain output changes from ID-first rows to readable task lines.
34
- - E07 rework expected: audit proposal entry remains tied to the router active epic, and audit-review TUI patterns should be reused for mode-gated input and two-pane detail behavior where helpful.
35
- - E04/E05 rework expected: scaffolded workflow docs and prompts must learn acceptance criteria; historical task files should remain compatible rather than being hand-migrated.
36
-
37
- ## Context Log
38
-
39
- - Files read: `.savepoint/router.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/Design.md`; `.savepoint/releases/v1/epics/E08-board-workflow-cleanup/tasks/T008-board-workflow-integration.md`; `agent-skills/ink-tui-design/SKILL.md`; `.savepoint/visual-identity.md`; `src/commands/board.ts`; `src/tui/App.tsx`; `src/tui/board-data.ts`; `src/tui/state/app-reducer.ts`; `src/tui/state/view-state.ts`; `src/tui/state/reducer.ts`; `src/tui/Board.tsx`; `src/tui/DetailPane.tsx`; `src/tui/io/write-active-router-epic.ts`; `src/tui/io/write-active-router-release.ts`; `src/tui/render/plain-table.ts`; `src/tui/theme/palette.ts`; `src/domain/config.ts`; `.savepoint/config.yml`; `test/commands/board.test.ts`; `test/commands/board-tty.test.ts`; `test/tui/components/App.test.tsx`; `test/tui/components/Board.test.tsx`; `test/tui/components/DetailPane.test.tsx`; `test/tui/state/reducer.test.ts`; `test/tui/state/app-reducer.test.ts`; `test/tui/board-data.test.ts`; `test/tui/render/plain-table.test.ts`; `.savepoint/metrics/context-bench.md`.
40
- - Estimated input tokens: ~43,206
41
- - Notes: Integration closeout for E08. Fixed the release-workflow gaps found in the manual audit: rail browsing now previews the selected epic immediately, `Enter` on the rail activates that epic in the router, transition gates evaluate against release-level task data so cross-epic dependencies still block invalid moves, and horizontal board navigation clamps instead of wrapping. Added explicit release navigation with `[` and `]`, backed by router release rewrites and reload of the first available epic/task in the selected release. Reworked the board layout to a calmer four-surface workflow (`Epics`, `Planned`, `In Progress`, `Done`) with deterministic terminal-width sizing, stronger panel outlines, and detail sections that better match `.savepoint/visual-identity.md` through dark panel surfaces, warm text, orange focus treatment, purple epic accents, and retro iconography. Simplified the canonical task status model to `planned`, `in_progress`, and `done`, while preserving read-time compatibility for historical `backlog` and `review` task files and updating write paths to persist only canonical values. Tightened the workflow docs and templates so any explicit user-requested audit must persist `.savepoint/audit/{E##-epic}/snapshot.md` and `.savepoint/audit/{E##-epic}/proposals.md` before replying, and so task-building closes at `done` instead of `review`. Focused verification for this pass: targeted board/status/theme/template tests now pass after the simplification. `.savepoint/metrics/context-bench.md` could not be updated in this pass because the file is currently deleted in the workspace.
@@ -1,70 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: active
4
- ---
5
-
6
- # Epic E09: doctor-command
7
-
8
- ## Purpose
9
-
10
- Implement `savepoint doctor`, the diagnostic command for corrupted or inconsistent Savepoint projects. Doctor reports problems and suggested repairs, but does not make destructive changes automatically.
11
-
12
- ## What this epic adds
13
-
14
- - Integrity checks for config, router state, release/epic/task structure, YAML/frontmatter, task acceptance criteria, dependency references, cycles, duplicate task IDs, audit state, and orphaned tasks.
15
- - Ad-hoc quality gate runner.
16
- - Human-readable diagnostic output.
17
- - Machine-testable diagnostic objects.
18
- - Suggested repair messages for common failure modes.
19
- - Layer-2 AI review prompt printing hook for future expansion, without implementing v0.2 semantic review.
20
-
21
- ## Components and files
22
-
23
- Expected files introduced or extended by this epic:
24
-
25
- | Path | Purpose |
26
- | ----------------------------- | ----------------------------- |
27
- | `src/commands/doctor.ts` | Doctor command entrypoint. |
28
- | `src/doctor/checks/*.ts` | Individual integrity checks. |
29
- | `src/doctor/report.ts` | Diagnostic report formatting. |
30
- | `src/doctor/repairs.ts` | Suggested repair text. |
31
- | `src/doctor/quality-gates.ts` | Ad-hoc quality gate reuse. |
32
- | `test/doctor/**/*.test.ts` | Diagnostic behavior tests. |
33
-
34
- ## Architectural delta
35
-
36
- Before this epic, validation exists inside specific workflows. After this epic, users have a central command for diagnosing project health outside normal board/audit flows.
37
-
38
- Doctor should reuse the data model and audit quality-gate runner instead of introducing parallel logic.
39
-
40
- ## Boundaries
41
-
42
- In scope:
43
-
44
- - Detect corrupt YAML/frontmatter.
45
- - Detect missing config.
46
- - Detect missing dependencies and dependency cycles.
47
- - Detect duplicate task IDs.
48
- - Detect missing or malformed task acceptance criteria after the board workflow cleanup makes them required.
49
- - Detect tasks in nonexistent epics.
50
- - Detect audit proposals without matching audit-pending state.
51
- - Run configured quality gates on demand.
52
-
53
- Out of scope:
54
-
55
- - Auto-moving orphaned tasks without user action.
56
- - Repairing files destructively.
57
- - Launching the TUI.
58
- - Calling AI APIs.
59
-
60
- ## Quality gates
61
-
62
- - Each failure mode listed in the project Design should have at least one test.
63
- - Reports should include file paths and actionable messages.
64
- - Exit codes should distinguish clean, diagnosed problems, and internal command failure.
65
-
66
- ## Design constraints
67
-
68
- - Doctor diagnoses and proposes; it does not silently mutate.
69
- - Keep diagnostics deterministic and suitable for CI output.
70
- - Reuse existing validation functions wherever possible.
@@ -1,68 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: active
4
- ---
5
-
6
- # Epic E10: docs-and-packaging
7
-
8
- ## Purpose
9
-
10
- Prepare Savepoint as a public npm package with clear user-facing documentation, correct package metadata, and validated publish contents.
11
-
12
- ## What this epic adds
13
-
14
- - Public README suitable for npm and GitHub.
15
- - MIT license finalized.
16
- - Package metadata review for repository, keywords, files, bin, engines, and exports.
17
- - `npm pack` validation.
18
- - Local install smoke tests from the packed tarball.
19
- - Documentation for install, init, board, audit, doctor, and the audit loop.
20
- - Release checklist draft for `0.1.0`.
21
-
22
- ## Components and files
23
-
24
- Expected files introduced or extended by this epic:
25
-
26
- | Path | Purpose |
27
- | -------------------------------- | -------------------------------------------------- |
28
- | `README.md` | Public product and usage documentation. |
29
- | `LICENSE` | Final MIT license text. |
30
- | `package.json` | Publish metadata and package allowlist. |
31
- | `.npmignore` or `files` field | Publish contents control. |
32
- | `docs/*.md` | Optional focused docs if README becomes too large. |
33
- | `scripts/*.ts` or `scripts/*.js` | Optional pack/install smoke helpers. |
34
- | `test/packaging/**/*.test.ts` | Packaging validation tests if scriptable. |
35
-
36
- ## Architectural delta
37
-
38
- Before this epic, the package can function locally. After this epic, the package is shaped for public consumption and can be validated as a packed npm artifact.
39
-
40
- This epic does not publish the package; it makes publishing boring and inspectable.
41
-
42
- ## Boundaries
43
-
44
- In scope:
45
-
46
- - Public docs and package metadata.
47
- - Packed artifact validation.
48
- - Local install smoke tests.
49
- - Ensure generated `dist/cli.js` is the published binary.
50
-
51
- Out of scope:
52
-
53
- - Actual npm publish.
54
- - Manual agent matrix.
55
- - Broad marketing site work.
56
- - Major feature changes discovered during docs writing unless they block package correctness.
57
-
58
- ## Quality gates
59
-
60
- - `npm pack --dry-run` or equivalent should show only intended files.
61
- - Packed install smoke should verify `savepoint --help` and `savepoint --version`.
62
- - README examples should match implemented command behavior.
63
-
64
- ## Design constraints
65
-
66
- - Keep docs plain and practical for vibe coders.
67
- - Do not over-document deferred features.
68
- - Treat package contents as a release contract.
@@ -1,68 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: active
4
- ---
5
-
6
- # Epic E11: release-validation
7
-
8
- ## Purpose
9
-
10
- Run the final validation matrix for `0.1.0`, resolve release-blocking issues, and prepare the public release cut.
11
-
12
- ## What this epic adds
13
-
14
- - Manual e2e test matrix across Claude, Cursor, Gemini, and Aider where available.
15
- - Cross-platform checks for macOS, Linux, and Windows Terminal where available.
16
- - Fresh-project `npx savepoint init` validation.
17
- - Full command walkthrough: init, board, audit, and doctor.
18
- - Final version check for `0.1.0`.
19
- - Release notes.
20
- - Publish-readiness checklist.
21
-
22
- ## Components and files
23
-
24
- Expected files introduced or extended by this epic:
25
-
26
- | Path | Purpose |
27
- | --------------------------- | ------------------------------------------------- |
28
- | `docs/release-checklist.md` | Final release checklist and results. |
29
- | `docs/e2e-matrix.md` | Manual agent/platform matrix results. |
30
- | `CHANGELOG.md` | Initial release notes. |
31
- | `package.json` | Final version metadata if needed. |
32
- | `.savepoint/audit-log.md` | Audit history if audits were skipped or recorded. |
33
-
34
- ## Architectural delta
35
-
36
- Before this epic, the package should be feature-complete for v0.1.0. After this epic, the release has documented validation evidence and can be published with known residual risks.
37
-
38
- This epic should prefer fixing release blockers in the smallest responsible place over broad refactors.
39
-
40
- ## Boundaries
41
-
42
- In scope:
43
-
44
- - Manual matrix execution and recording.
45
- - Cross-platform smoke validation.
46
- - Final bug fixes required to pass release criteria.
47
- - Release notes and version confirmation.
48
-
49
- Out of scope:
50
-
51
- - New features.
52
- - v0.2.0 semantic review.
53
- - File watching.
54
- - Search.
55
- - MCP server work.
56
-
57
- ## Quality gates
58
-
59
- - All automated tests pass.
60
- - Packed install smoke passes.
61
- - Manual e2e matrix passes against at least three of four target agents.
62
- - Known limitations are documented.
63
-
64
- ## Design constraints
65
-
66
- - Keep late fixes narrow and auditable.
67
- - Do not relax quality gates to ship.
68
- - Record evidence, not vibes.