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,38 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: planned
4
- ---
5
-
6
- # Epic E05: Phase Transitions
7
-
8
- ## Purpose
9
-
10
- Enable task status and phase mutations from the board. Space advances, backspace retreats. Gates enforce phase order. Writes update task frontmatter and router state.
11
-
12
- ## What this epic adds
13
-
14
- - `Space` advances task through phases: planned → build → test → audit → done.
15
- - `Backspace` retreats: done → audit → test → build → planned.
16
- - Gate enforcement: cannot skip phases; cannot reach done without audit.
17
- - Task frontmatter write-back: update `status` and `phase` fields in the `.md` file.
18
- - Optimistic mtime conflict detection before writes.
19
- - Router write-back: update `router.md` Current state when epic/release changes.
20
-
21
- ## Definition of Done
22
-
23
- - Space/backspace correctly walk the phase chain.
24
- - Gate blocks illegal transitions with a visible message.
25
- - Task `.md` files are updated with new status/phase.
26
- - Mtime conflicts are detected and reported (no silent overwrites).
27
- - Router state updates when switching epic or release.
28
- - All transition tests pass.
29
- - `go test ./...` passes.
30
-
31
- ## Components and files
32
-
33
- | Path | Purpose |
34
- |------|---------|
35
- | `internal/board/transitions.go` | Phase transition logic, gates |
36
- | `internal/data/write.go` | Task frontmatter write-back |
37
- | `internal/data/write_test.go` | Write tests |
38
- | `internal/board/transitions_test.go` | Gate and transition tests |
@@ -1,29 +0,0 @@
1
- ---
2
- id: E05-phase-transitions/T001-phase-stepping
3
- status: done
4
- objective: "Space advances, Backspace retreats through phases"
5
- depends_on: [E04-board-components/T006-help-overlay]
6
- ---
7
-
8
- # T001: Phase Stepping
9
-
10
- ## Acceptance Criteria
11
-
12
- - `Space` on planned task moves to in_progress/build.
13
- - `Space` on in_progress advances phase: build → test → audit → done.
14
- - `Backspace` retreats: done → audit → test → build → planned.
15
- - Illegal transitions are blocked (governed by gates).
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/board/transitions.go`.
20
- - [x] Implement `Advance(task)` and `Retreat(task)`.
21
- - [x] Wire Space/Backspace into Update loop.
22
- - [x] Write tests.
23
- - [x] Run `go test`.
24
-
25
- ## Context Log
26
-
27
- - Files read: AGENTS.md, internal/data/task.go, internal/board/update.go
28
- - Quality gates: `go test ./...` passed.
29
- - Notes: Implemented Advance and Retreat logic. Mapped space and backspace keys to trigger transitions. Tests written and passing.
@@ -1,31 +0,0 @@
1
- ---
2
- id: E05-phase-transitions/T002-gates
3
- status: done
4
- objective: "Enforce phase order: cannot skip, must reach audit before done"
5
- depends_on: [E05-phase-transitions/T001-phase-stepping]
6
- ---
7
-
8
- # T002: Gates
9
-
10
- ## Acceptance Criteria
11
-
12
- - Cannot advance build → audit (must pass test).
13
- - Cannot advance audit → done if dependencies not done.
14
- - Retreat transitions are always allowed.
15
- - Blocked transitions show a message in the status bar.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Add `CanAdvance(task, allTasks)` to transitions.go.
20
- - [x] Add dependency check.
21
- - [x] Add phase adjacency check.
22
- - [x] Return reason string on block.
23
- - [x] Write tests.
24
- - [x] Run `go test`.
25
-
26
- ## Context Log
27
-
28
- - **Files read:** transitions.go, transitions_test.go, update.go, model.go, view.go, task.go, model_test.go, update_test.go
29
- - **Input tokens (estimate):** ~3,200
30
- - **Quality gates:** `go build ./...` ok, `go vet ./...` ok, `go test ./internal/board/...` 107/107 pass
31
- - **Notes:** No drift — all changes in existing files within `internal/board/`.
@@ -1,31 +0,0 @@
1
- ---
2
- id: E05-phase-transitions/T003-write-task
3
- status: done
4
- objective: "Write updated status/phase back to task markdown files"
5
- depends_on: [E05-phase-transitions/T002-gates]
6
- ---
7
-
8
- # T003: Write Task
9
-
10
- ## Acceptance Criteria
11
-
12
- - Task `.md` file is updated with new `status` and `phase`.
13
- - Mtime is checked before write; conflict reported if changed.
14
- - Phase field removed when status is planned or done.
15
- - Backup not required (git handles history).
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/data/write.go`.
20
- - [x] Implement `WriteTaskStatus(path, task, expectedMtime)`.
21
- - [x] Read file, parse frontmatter, update fields.
22
- - [x] Check mtime, write back.
23
- - [x] Write tests.
24
- - [x] Run `go test`.
25
-
26
- ## Context Log
27
-
28
- - **Files read:** internal/data/task.go, internal/data/parser.go, internal/data/errors.go, internal/data/write.go, internal/data/write_test.go, internal/board/transitions.go, internal/board/update.go, internal/board/model.go, internal/data/router.go, internal/data/config.go
29
- - **Estimated input tokens:** ~4,500
30
- - **Quality gates:** `go build ./...` ok, `go vet ./...` ok, `go test ./...` — 7/7 new tests pass, all existing tests pass
31
- - **Notes:** Drift: `internal/data/write.go` and `internal/data/write_test.go` added, mapped under E02-data-readers umbrella in Codebase Map but belong to E05-phase-transitions — next audit should reconcile.
@@ -1,31 +0,0 @@
1
- ---
2
- id: E05-phase-transitions/T004-write-router
3
- status: done
4
- objective: "Write router.md Current state when epic or release changes"
5
- depends_on: [E05-phase-transitions/T003-write-task]
6
- ---
7
-
8
- # T004: Write Router
9
-
10
- ## Acceptance Criteria
11
-
12
- - Selecting a new epic updates `router.md` epic field.
13
- - Selecting a new release updates `router.md` release field.
14
- - Mtime check before write.
15
- - Next action string preserved.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Add `WriteRouterState(root, state)` to `internal/data/write.go`.
20
- - [x] Read router.md, replace yaml block.
21
- - [x] Check mtime, write back.
22
- - [x] Wire into epic/release selection in Update loop.
23
- - [x] Write tests.
24
- - [x] Run `go test`.
25
-
26
- ## Context Log
27
-
28
- - **Files read:** internal/data/router.go, internal/data/write.go, internal/data/write_test.go, internal/data/parser.go, internal/data/task.go, internal/data/discover.go, internal/data/config.go, internal/data/errors.go, internal/board/model.go, internal/board/update.go, internal/board/board.go, internal/board/update_test.go, internal/board/model_test.go, internal/board/transitions.go, internal/board/transitions_test.go
29
- - **Estimated input tokens:** ~7,200
30
- - **Quality gates:** `go build ./...` ok, `go vet ./...` ok, `go test ./...` — 17/17 new tests pass (4 WriteRouterState tests + 13 existing), all packages pass, board tests pass, data tests pass
31
- - **Notes:** Drift: `Model.Root` field added to board, not yet in Codebase Map. Next audit should reconcile.
@@ -1,62 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: audited
4
- ---
5
-
6
- # Epic E06: Atari-Noir Layout Uplift
7
-
8
- ## Purpose
9
-
10
- Update the existing TUI to align with the **Atari-Noir SavePoint design system**. This is a visual and layout uplift focused on restraint, clarity, and control, preserving existing functionality while eliminating visual noise and strictly adhering to the new color and layout rules.
11
-
12
- ## What this epic adds
13
-
14
- - Centralized Atari-Noir color system in `palette.go`.
15
- - Restructured `styles.go` mapped to exact usage rules.
16
- - Static header component: `▣ S A V E P O I N T`.
17
- - Static footer component: `PLAN │ BUILD │ AUDIT`.
18
- - Full-width subtle horizontal dividers.
19
- - Refined component styling (columns, cards, epic panel) to remove unnecessary borders and improve spacing.
20
-
21
- ## Definition of Done
22
-
23
- - All colors match the Atari-Noir strict specification.
24
- - Header renders correctly with no wrapping.
25
- - Footer displays PLAN / BUILD / AUDIT cleanly without dynamic status text.
26
- - Full-width dividers frame the content.
27
- - Cards/panels feel like surfaces, not text blocks.
28
- - Spacing is consistent and components breathe.
29
- - Focus/selection is obvious through position and Atari Orange borders, not relying solely on color text changes.
30
- - Existing functionality remains 100% intact.
31
-
32
- ## Components and files
33
-
34
- | Path | Purpose |
35
- |------|---------|
36
- | `internal/styles/palette.go` | Define strict hex values |
37
- | `internal/styles/styles.go` | Map styles to new usage rules |
38
- | `internal/board/view.go` | Implement header, footer, dividers |
39
- | `internal/board/layout.go` | Adjust layout height calculations |
40
- | `internal/board/column.go` | Refine column styling and spacing |
41
- | `internal/board/card.go` | Refine card surface and focus state |
42
- | `internal/board/epic_panel.go` | Refine epic panel layout |
43
-
44
- ## Implemented As
45
-
46
- - `internal/styles/palette.go` defines the Atari-Noir hex palette plus ANSI256/ANSI16 fallbacks.
47
- - `internal/styles/styles.go` centralizes header, divider, footer, column, card, detail, glyph, and semantic tag styles.
48
- - `internal/board/view.go` renders the static SavePoint header, explicit full-width top/bottom dividers, the static `PLAN │ BUILD │ AUDIT` footer, subdued navigation hints, and overlay composition.
49
- - `internal/board/card.go` wraps long task titles instead of truncating them, uses a green `▣` marker only for the release/epic/task-scoped router-priority task, and keeps all done cards on the orange build glyph.
50
- - `internal/board/detail.go` adds spacing below Acceptance Criteria and Implementation Plan headings, renders checklist state with `☑`/`□`, and labels only the release/epic/task-scoped router-priority task.
51
- - `internal/data/task.go` and `internal/data/parser.go` represent Implementation Plan items as `CheckItem{Text, Done}` and parse `- [x]`, `- [ ]`, and legacy `- ` items.
52
- - `internal/data/write.go` persists task status and phase changes with mtime conflict protection.
53
- - `internal/board/watch.go` adds fsnotify-based recursive release directory watching from the `.savepoint/releases/` root, dynamically adds watches for newly-created subdirectories, applies a 100ms debounce, and sends reload messages used by `internal/board/update.go`.
54
-
55
- ## Implementation Deltas
56
-
57
- - The original visual-only scope expanded to include board usability fixes requested during E06: footer navigation hints, detail overlay spacing, card title word-wrap, checklist state rendering, router priority markers, and auto-refresh on task file changes.
58
- - Audit closeout removed unnecessary borders from unfocused header, board, column, card, and epic-panel surfaces while preserving Atari Orange borders for focused cards/columns and detail overlays.
59
- - User-approved visual guardrail: Background, Surface, and Surface 2 are intentionally the same black value in the terminal TUI. Do not reintroduce subtly different background fills for panels/cards.
60
- - The main view now renders explicit full-width divider lines with `styles.Divider` rather than relying on component frames as separators.
61
- - Auto-refresh reload now refreshes both task data and release/epic indexes so newly-added task files and newly-added epic directories can appear without restarting the board.
62
- - Router-priority matching is intentionally scoped by release and epic before task number; a router task of `T001` must not mark every epic's `T001` as priority.
@@ -1,39 +0,0 @@
1
- ---
2
- id: E06-atari-noir-layout/T001-color-system
3
- status: done
4
- objective: "Implement Atari-Noir Color System in palette and styles"
5
- depends_on: []
6
- ---
7
-
8
- # T001: Implement Atari-Noir Color System
9
-
10
- ## Acceptance Criteria
11
-
12
- - `internal/styles/palette.go` updated with exact hex values for Background, Surface, Surface 2, Border, Border Subtle, Primary Text, Atari Orange, NPP Green, Vibe Purple.
13
- - Legacy colors or gradients removed from `palette.go`.
14
- - `internal/styles/styles.go` maps styles according to usage rules (e.g., Background is dark `#121212`, Primary text is `#F0E6DA`, Atari Orange `#FC6323` for active/focus, Vibe Purple `#B1A1DF` for metadata, NPP Green `#A4C639` for success).
15
- - No large bright background fills or mixed accent colors in a single element exist in the style definitions.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Update `internal/styles/palette.go` with Atari-Noir hex, ANSI256, and ANSI16 values.
20
- - [x] Refactor `internal/styles/styles.go` variables to use the updated palette constants strictly.
21
- - [x] Remove unused or conflicting colors.
22
-
23
- ## Context Log
24
-
25
- Files read:
26
- - `internal/styles/palette.go`
27
- - `internal/styles/styles.go`
28
- - `.savepoint/visual-identity.md`
29
- - `.savepoint/router.md`
30
- - `E06-atari-noir-layout/Design.md`
31
-
32
- Estimated input tokens: 2400
33
-
34
- Notes:
35
- - palette.go already contained correct Atari-Noir hex/256/16 values matching the visual identity spec — no changes needed.
36
- - styles.go already referenced palette constants strictly — no circular refs or string literals.
37
- - No legacy colors or gradients found in palette.go.
38
- - No large bright background fills or mixed accent colors found in styles.go.
39
- - Quality gates: `go build ./...` pass, `go test ./...` pass (all cached), `go vet` pass.
@@ -1,52 +0,0 @@
1
- ---
2
- id: E06-atari-noir-layout/T002-header-and-dividers
3
- status: done
4
- objective: "Build the SavePoint Header and horizontal dividers"
5
- depends_on: ["E06-atari-noir-layout/T001-color-system"]
6
- ---
7
-
8
- # T002: Build SavePoint Header and Dividers
9
-
10
- ## Acceptance Criteria
11
-
12
- - Header renders exactly `▣ S A V E P O I N T` at the top of the TUI.
13
- - Icon `▣` is styled with Atari Orange.
14
- - Text `S A V E P O I N T` is Primary Text, uppercase, with spacing between letters.
15
- - Horizontal dividers `────────────────────────────────────────────────────────` are added below the header.
16
- - Divider color is strictly Border Subtle.
17
- - The header renders cleanly without wrapping, even in narrow terminals.
18
- - No additional icons or animations are present in the header.
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Update `internal/board/view.go` to render the specific header string.
23
- - [x] Add logic in `internal/board/view.go` to insert the top horizontal divider.
24
- - [x] Adjust `internal/board/layout.go` / `internal/board/view.go` calculations if needed so the board fits below the header+divider.
25
-
26
- ## Context Log
27
-
28
- Files read:
29
- - `.savepoint/router.md`
30
- - `.savepoint/releases/v1/epics/E06-atari-noir-layout/E06-Detail.md`
31
- - `.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T002-header-and-dividers.md`
32
- - `.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T001-color-system.md`
33
- - `.savepoint/visual-identity.md`
34
- - `internal/styles/palette.go`
35
- - `internal/styles/styles.go`
36
- - `internal/board/view.go`
37
- - `internal/board/view_test.go`
38
- - `internal/board/layout.go`
39
- - `internal/board/epic_panel_test.go`
40
- - `internal/board/release_test.go`
41
-
42
- Estimated input tokens: ~4500
43
-
44
- Notes:
45
- - `layout.go` needed no changes — `lipgloss.JoinVertical` naturally accommodates the extra divider line without explicit height accounting.
46
- - The old `Header` style (orange, bold, padding) was replaced with `HeaderIcon` (orange, bold) and `HeaderText` (primary text) to support two-tone header rendering.
47
- - `Divider` style added with `BorderSubtle` foreground for quiet full-width separators.
48
- - Quality gates: `go build ./...` pass, `go test ./...` pass, `go vet ./...` pass.
49
-
50
- ## Drift Notes
51
-
52
- - Drift: `internal/styles/palette.go` and `internal/styles/styles.go` not yet in Codebase Map — pre-existing omission. These are the Atari-Noir color/style modules active across all board rendering.
@@ -1,52 +0,0 @@
1
- ---
2
- id: E06-atari-noir-layout/T003-footer-status-bar
3
- status: done
4
- objective: "Implement the static Footer Status Bar and bottom divider"
5
- depends_on: ["E06-atari-noir-layout/T002-header-and-dividers"]
6
- ---
7
-
8
- # T003: Implement Footer Status Bar
9
-
10
- ## Acceptance Criteria
11
-
12
- - Footer replaces the dynamic status string with exactly: `PLAN │ BUILD │ AUDIT`.
13
- - PLAN is colored Vibe Purple.
14
- - BUILD is colored Atari Orange.
15
- - AUDIT is colored NPP Green.
16
- - The divider `│` is colored Border Subtle.
17
- - The text is bold or slightly emphasized, with even spacing between sections.
18
- - A full-width horizontal divider is rendered above the footer.
19
- - The footer contains no icons, no repetition of the logo, and no extra labels/metrics.
20
- - The main application content sits cleanly between the top and bottom dividers without overlapping.
21
-
22
- ## Implementation Plan
23
-
24
- - [x] Update `renderStatus` in `internal/board/view.go` to render the new static phase footer.
25
- - [x] Style the footer segments according to the color rules.
26
- - [x] Add the bottom horizontal divider above the footer.
27
- - [x] Adjust height calculations so the board area fits exactly between the top and bottom dividers. (No height calculation changes needed — `lipgloss.JoinVertical` naturally accommodates the extra divider line.)
28
-
29
- ## Context Log
30
-
31
- Files read:
32
- - `.savepoint/router.md`
33
- - `.savepoint/releases/v1/epics/E06-atari-noir-layout/E06-Detail.md`
34
- - `.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T003-footer-status-bar.md`
35
- - `.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T002-header-and-dividers.md`
36
- - `.savepoint/visual-identity.md`
37
- - `internal/board/view.go`
38
- - `internal/board/view_test.go`
39
- - `internal/board/layout.go`
40
- - `internal/board/model.go`
41
- - `internal/styles/palette.go`
42
- - `internal/styles/styles.go`
43
-
44
- Estimated input tokens: ~5500
45
-
46
- Notes:
47
- - Replaced `renderStatus` (dynamic status bar with release/epic/column info) with `renderFooter` (static phase footer: PLAN │ BUILD │ AUDIT).
48
- - Added `FooterPhasePlan` (purple, bold), `FooterPhaseBuild` (orange, bold), `FooterPhaseAudit` (green, bold), and `FooterDivider` (border subtle) styles.
49
- - Added full-width bottom divider above the footer matching the top divider style.
50
- - Removed unused `fmt` import from `view.go` after `renderStatus` deletion.
51
- - `StatusBar` style and `StatusMessage` model field remain unused but harmless; left for future cleanup.
52
- - Quality gates: `go build ./...` pass, `go test ./...` pass, `go vet ./...` pass.
@@ -1,53 +0,0 @@
1
- ---
2
- id: E06-atari-noir-layout/T004-component-refinement
3
- status: done
4
- objective: "Refine columns, cards, and epic panels to match rhythm and interaction requirements"
5
- depends_on: ["E06-atari-noir-layout/T001-color-system"]
6
- ---
7
-
8
- # T004: Component Refinement & Spacing Rhythm
9
-
10
- ## Acceptance Criteria
11
-
12
- - Columns, cards, and epic panels use Surface (`#0D0D0D`) or Surface 2 (`#0F0F0F`) colors rather than text blocks.
13
- - Unnecessary borders are removed. Focus states use structure, position, and minimal accents (e.g., Atari Orange for focused borders).
14
- - Spacing is consistent and components "breathe". No dense, edge-to-edge clutter exists.
15
- - Line wrapping in standard data views is prevented where possible (treated as a bug).
16
- - The existing functional data structures and keyboard interactions remain completely intact.
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Refine `internal/board/column.go` to remove unnecessary borders and improve padding.
21
- - [x] Update `internal/board/card.go` to behave as a distinct surface with clear focus states.
22
- - [x] Update `internal/board/epic_panel.go` spacing and styles.
23
- - [x] Verify there is no unintentional wrapping on resizing, fixing any remaining flex/width issues in Lip Gloss setup.
24
-
25
- ## Context Log
26
-
27
- Files read:
28
- - `.savepoint/router.md`
29
- - `.savepoint/releases/v1/epics/E06-atari-noir-layout/E06-Detail.md`
30
- - `.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T004-component-refinement.md`
31
- - `internal/styles/palette.go`
32
- - `internal/styles/styles.go`
33
- - `internal/board/column.go`
34
- - `internal/board/card.go`
35
- - `internal/board/epic_panel.go`
36
- - `internal/board/layout.go`
37
- - `internal/board/view.go`
38
- - `internal/board/column_test.go`
39
- - `internal/board/card_test.go`
40
- - `internal/board/epic_panel_test.go`
41
- - `internal/board/layout_test.go`
42
- - `internal/board/board_test.go`
43
-
44
- Estimated input tokens: ~15k
45
-
46
- Notes:
47
- - Only `internal/styles/styles.go` was modified; no source code logic changes were needed since column.go, card.go, and epic_panel.go all reference the centralized styles.
48
- - Column (unfocused): removed `RoundedBorder()`, added `Background(clrSurfaceDark #0D0D0D)`.
49
- - ColumnFocused: added `Background(clrSurfaceDark)`, kept orange rounded border for focus.
50
- - Card (unfocused): added `Background(clrSurface #0F0F0F)` for surface feel.
51
- - EpicPanel: removed `RoundedBorder()`, added `Background(clrSurface #0F0F0F)`.
52
- - New color var `clrSurfaceDark` added for Surface (#0D0D0D) palette usage.
53
- - Quality gates: `go build ./...` (pass), `go vet ./...` (pass), `go test ./...` (all 113 tests pass).
@@ -1,39 +0,0 @@
1
- ---
2
- id: E06-atari-noir-layout/T005-restore-nav-hints
3
- status: done
4
- objective: "Restore persistent navigation keybinding hints to the main board footer"
5
- depends_on: []
6
- ---
7
-
8
- # T005: Restore Navigation Hints in Footer
9
-
10
- ## Acceptance Criteria
11
-
12
- - The footer shows a second line below the phase labels with keybinding hints: `←/→:nav E:epic R:release ?:help q:quit`
13
- - Hints are styled in a subdued color to not overwhelm the phase labels
14
- - The footer still fits within a single terminal width without wrapping
15
- - All existing footer behavior (centered phase labels, alignment) remains intact
16
- - Hints refresh correctly on terminal resize
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Edit `internal/board/view.go` — update `renderFooter()` to append a second line of keybinding hints below the phase labels.
21
- - [x] Add a new `FooterHints` style in `internal/styles/styles.go` using `clrDim` (dim/subdued appearance).
22
- - [x] Run `make build && make test` to verify no regressions.
23
-
24
- ## Context Log
25
-
26
- Files read:
27
- - `internal/board/view.go`
28
- - `internal/board/update.go`
29
- - `internal/styles/styles.go`
30
- - `internal/board/view_test.go`
31
- - `internal/board/layout.go`
32
- - `internal/board/model.go`
33
-
34
- Estimated input tokens: 1400
35
-
36
- Notes:
37
- - `make build` could not run because `make` is not installed on PATH in this environment.
38
- - Verified the task with `go build ./...`, `go test ./...`, and focused `go test ./internal/board`.
39
- - Footer render now uses a width-guarded centered phase line, a blank spacer line, and a second subdued hint line.
@@ -1,36 +0,0 @@
1
- ---
2
- id: E06-atari-noir-layout/T007-detail-card-fixes
3
- status: done
4
- objective: "Add line breaks under Acceptance Criteria and Implementation Plan headings in task detail, and word-wrap card titles instead of truncating"
5
- depends_on: []
6
- ---
7
-
8
- # T007: Detail Overlay Spacing and Card Word-Wrap
9
-
10
- ## Acceptance Criteria
11
-
12
- - Task detail overlay shows a blank line between `"Acceptance Criteria:"` heading and the first bullet item
13
- - Task detail overlay shows a blank line between `"Implementation Plan:"` heading and the first checklist item
14
- - Card titles word-wrap to multiple lines when too long for the available card width, instead of being truncated with `…`
15
- - Cards grow vertically to accommodate wrapped titles
16
- - Short titles remain single-line (no visual change for titles that fit)
17
- - All existing card visual structure (phase glyph, ID line, focus border) is preserved
18
-
19
- ## Implementation Plan
20
-
21
- - [x] Edit `internal/board/detail.go` — add `""` entry after the `Acceptance Criteria:` heading line and after the `Implementation Plan:` heading line.
22
- - [x] Edit `internal/board/detail.go` — make `wrapText` and `splitLongWord` exported (capitalize) so they can be reused from `card.go`.
23
- - [x] Edit `internal/board/card.go` — replace `truncate(t.Title, inner)` with a multi-line approach that word-wraps the title across available width.
24
- - [x] Edit `internal/board/card.go` — combine wrapped title lines with newlines in the card content (joining with `\n`).
25
- - [x] Run `make build && make test` to verify no regressions.
26
-
27
- ## Context Log
28
-
29
- Files read:
30
- - `internal/board/detail.go`
31
- - `internal/board/card.go`
32
- - `internal/board/column.go`
33
-
34
- Estimated input tokens: 600
35
-
36
- Notes: Exported WrapText/SplitLongWord from detail.go; updated card_test.go TestRenderCard_titleTruncated → TestRenderCard_titleWraps. Build and tests pass.
@@ -1,40 +0,0 @@
1
- ---
2
- id: E06-atari-noir-layout/T008-checkbox-states
3
- status: done
4
- objective: "Parse and render checked/unchecked state for Implementation Plan checklist items"
5
- depends_on: []
6
- ---
7
-
8
- # T008: Parse and Render Checkbox States in Task Detail
9
-
10
- ## Acceptance Criteria
11
-
12
- - `Task.Checklist` stores the checked state of each item (not just the text)
13
- - `- [x]` markers in the markdown source are parsed as "done" items
14
- - `- [ ]` markers in the markdown source are parsed as "undone" items
15
- - Legacy `- ` (no checkbox prefix) items are treated as undone
16
- - The task detail overlay renders done items with a `☑` (checked box) glyph and undone items with `□` (empty box)
17
- - Done items render in the `TagDone` (green) style; undone items render in `CardMeta` (dim) style
18
- - All existing `make test` tests pass, with updates to any tests that construct `Checklist` values
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Edit `internal/data/task.go` — add `CheckItem` struct with `Text string` and `Done bool` fields; change `Checklist []string` to `Checklist []CheckItem`.
23
- - [x] Edit `internal/data/parser.go` — update `extractChecklistSection()` to detect `- [x] ` vs `- [ ] ` vs `- ` prefixes and set `Done` accordingly; strip prefix from `Text`.
24
- - [x] Update all usages of `Checklist` across the codebase (likely only `board/detail.go` and tests).
25
- - [x] Edit `internal/board/detail.go` — in the Implementation Plan section, render done items with `☑ ` + green `TagDone` styling and undone items with `□ ` + dim `CardMeta` styling.
26
- - [x] Run `make build && make test` to verify no regressions.
27
-
28
- ## Context Log
29
-
30
- Files read:
31
- - `internal/data/task.go`
32
- - `internal/data/parser.go`
33
- - `internal/board/detail.go`
34
- - `internal/styles/styles.go`
35
- - `internal/data/parser_test.go`
36
- - `internal/board/detail_test.go`
37
-
38
- Estimated input tokens: 1200
39
-
40
- Notes: Added `extractChecklistItems` alongside existing `extractChecklistSection` (kept for `[]string` Acceptance path). Build and all tests pass.
@@ -1,48 +0,0 @@
1
- ---
2
- id: E06-atari-noir-layout/T009-router-priority-marker
3
- status: done
4
- objective: "Highlight the router priority task with a green marker on the card and optional text highlight"
5
- depends_on: []
6
- ---
7
-
8
- # T009: Highlight Router Priority Task on Board
9
-
10
- ## Acceptance Criteria
11
-
12
- - The model reads `RouterState.Task` (the `task:` field from `router.md`) and stores it as `Model.RouterTask`
13
- - In the board view, the task card whose ID matches `RouterTask` shows a green `▣` glyph (using `TagDone`/green style) instead of the normal phase-colored glyph
14
- - Non-priority tasks keep their existing phase-colored glyphs unchanged
15
- - Board always default view to current state release and epic
16
- - The task detail overlay shows a `"(router priority)"` label or marker when the displayed task matches `RouterTask`
17
- - All existing keyboard interactions, column rendering, and card behavior remain intact
18
-
19
- ## Implementation Plan
20
-
21
- - [x] Edit `internal/board/model.go` — add `RouterTask string` field to `Model`.
22
- - [x] Edit `internal/board/board.go` — in `newProjectModel()`, read `routerState.Task` into `model.RouterTask`.
23
- - [x] Edit `internal/board/card.go` — update `RenderCard` to accept a `routerTaskID string` parameter; when `t.ID == routerTaskID`, replace the phase glyph with a green `▣` using `TagDone` style.
24
- - [x] Edit `internal/board/card.go` — update `RenderCard` signature and callsites (`column.go`, `view.go`).
25
- - [x] Edit `internal/board/detail.go` — update `RenderDetail` to accept a `routerTaskID string`; when matching, append a `"(router priority)"` green label line.
26
- - [x] Update all callsites of `RenderCard` and `RenderDetail` to pass `m.RouterTask`.
27
- - [x] Run `make build && make test` to verify no regressions.
28
-
29
- ## Context Log
30
-
31
- Files read:
32
- - `internal/board/model.go`
33
- - `internal/board/board.go`
34
- - `internal/board/card.go`
35
- - `internal/board/column.go`
36
- - `internal/board/detail.go`
37
- - `internal/data/router.go`
38
- - `internal/board/view.go`
39
- - `internal/board/card_test.go`
40
- - `internal/board/detail_test.go`
41
- - `internal/board/column_test.go`
42
-
43
- Estimated input tokens: 1800
44
-
45
- Notes:
46
- - `go build && go test ./...` — PASS (all board tests green)
47
- - `RenderColumn` signature extended with `routerTaskID string`; all 7 test callsites updated
48
- - New tests: `TestRenderCard_routerPriorityUsesGreenGlyph`, `TestRenderDetail_routerPriorityLabel`, `TestRenderDetail_noRouterPriorityLabelWhenNoMatch`