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,29 +0,0 @@
1
- ---
2
- id: E02-data-readers/T001-task-struct
3
- status: done
4
- objective: "Define Task struct with phase support"
5
- depends_on: [E01-go-setup/T003-directory-structure]
6
- ---
7
-
8
- # T001: Task Struct
9
-
10
- ## Acceptance Criteria
11
-
12
- - `internal/data/task.go` defines Task, ColumnType, ProgressStage structs.
13
- - Task includes: ID, Title, Description, Epic, Release, Column, Stage, Priority, Points, Tags, Acceptance, Notes.
14
- - ColumnType enum: planned, in_progress, done.
15
- - ProgressStage enum: build, test, audit.
16
- - Tests verify struct creation.
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Create `internal/data/task.go`.
21
- - [x] Define types and structs.
22
- - [x] Write `internal/data/task_test.go`.
23
- - [x] Run `go test ./internal/data/`.
24
-
25
- ## Context Log
26
-
27
- Files read: `internal/data/task.go`, `internal/data/task_test.go`
28
- Estimated input tokens: ~700
29
- Notes: Verified during E02 audit closeout. `go test ./internal/data/...`, `go test ./...`, and `go build ./...` passed.
@@ -1,30 +0,0 @@
1
- ---
2
- id: E02-data-readers/T002-frontmatter-parser
3
- status: done
4
- objective: "Parse YAML frontmatter from markdown task files"
5
- depends_on: [E02-data-readers/T001-task-struct]
6
- ---
7
-
8
- # T002: Frontmatter Parser
9
-
10
- ## Acceptance Criteria
11
-
12
- - Can parse `---\nyaml\n---\nbody` format from any `.md` file.
13
- - Extracts id, status, phase, objective, depends_on from frontmatter.
14
- - Returns structured Task or error for malformed files.
15
- - Tests cover valid, missing frontmatter, malformed yaml cases.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/data/parser.go`.
20
- - [x] Implement frontmatter regex extraction.
21
- - [x] Parse YAML with `gopkg.in/yaml.v3`.
22
- - [x] Map parsed fields to Task struct.
23
- - [x] Write `internal/data/parser_test.go`.
24
- - [x] Run `go test`.
25
-
26
- ## Context Log
27
-
28
- Files read: `internal/data/parser.go`, `internal/data/parser_test.go`, `internal/data/task.go`
29
- Estimated input tokens: ~1,500
30
- Notes: Audit closeout replaced regex extraction with delimiter-based extraction, mapped task metadata fields including `status`, `phase`, and `depends_on`, and added malformed YAML coverage. `go test ./internal/data/...`, `go test ./...`, and `go build ./...` passed.
@@ -1,29 +0,0 @@
1
- ---
2
- id: E02-data-readers/T003-router-reader
3
- status: done
4
- objective: "Read and parse router.md Current state block"
5
- depends_on: [E02-data-readers/T002-frontmatter-parser]
6
- ---
7
-
8
- # T003: Router Reader
9
-
10
- ## Acceptance Criteria
11
-
12
- - Reads `router.md` and extracts the `## Current state` yaml block.
13
- - Parses state, release, epic, task, next_action fields.
14
- - Returns error if router.md missing or block not found.
15
- - Tests cover valid and missing router cases.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/data/router.go`.
20
- - [x] Implement `## Current state` block regex extraction.
21
- - [x] Parse yaml block into RouterState struct.
22
- - [x] Write `internal/data/router_test.go`.
23
- - [x] Run `go test`.
24
-
25
- ## Context Log
26
-
27
- Files read: `internal/data/router.go`, `internal/data/router_test.go`
28
- Estimated input tokens: ~700
29
- Notes: Verified during E02 audit closeout. `go test ./internal/data/...`, `go test ./...`, and `go build ./...` passed.
@@ -1,29 +0,0 @@
1
- ---
2
- id: E02-data-readers/T004-config-reader
3
- status: done
4
- objective: "Read config.yml and parse theme colors"
5
- depends_on: [E02-data-readers/T003-router-reader]
6
- ---
7
-
8
- # T004: Config Reader
9
-
10
- ## Acceptance Criteria
11
-
12
- - Reads `.savepoint/config.yml`.
13
- - Parses theme colors (bg, surface, surface_2, border, text, accents).
14
- - Returns default theme if config.yml missing.
15
- - Tests cover valid config and missing file.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/data/config.go`.
20
- - [x] Define Config and Theme structs.
21
- - [x] Parse YAML with defaults.
22
- - [x] Write `internal/data/config_test.go`.
23
- - [x] Run `go test`.
24
-
25
- ## Context Log
26
-
27
- Files read: `internal/data/config.go`, `internal/data/config_test.go`
28
- Estimated input tokens: ~900
29
- Notes: Audit closeout limited default fallback to missing config files, returned malformed YAML/read errors, and added partial-default and malformed YAML coverage. `go test ./internal/data/...`, `go test ./...`, and `go build ./...` passed.
@@ -1,30 +0,0 @@
1
- ---
2
- id: E02-data-readers/T005-discovery
3
- status: done
4
- objective: "Walk .savepoint directory to discover releases, epics, and tasks"
5
- depends_on: [E02-data-readers/T004-config-reader]
6
- ---
7
-
8
- # T005: Discovery
9
-
10
- ## Acceptance Criteria
11
-
12
- - Can list all releases under `.savepoint/releases/`.
13
- - Can list all epics within a release.
14
- - Can list all tasks within an epic.
15
- - Can find `.savepoint` root by walking up from cwd.
16
- - Tests cover discovery logic.
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Create `internal/data/discover.go`.
21
- - [x] Implement `FindSavepointRoot(start string)`.
22
- - [x] Implement `ListReleases(root)`, `ListEpics(root, release)`, `ListTasks(root, release, epic)`.
23
- - [x] Write `internal/data/discover_test.go`.
24
- - [x] Run `go test`.
25
-
26
- ## Context Log
27
-
28
- Files read: `internal/data/discover.go`, `internal/data/discover_test.go`, `internal/data/errors.go`
29
- Estimated input tokens: ~800
30
- Notes: discover_test.go had unused `os`/`path/filepath` imports causing build failure — removed. Audit closeout moved discovery coverage to deterministic temp-directory fixtures and added a shared missing-root error sentinel. All 4 discovery tests pass. `go test ./internal/data/...`, `go test ./...`, and `go build ./...` passed.
@@ -1,38 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: planned
4
- ---
5
-
6
- # Epic E03: Board TUI Core
7
-
8
- ## Purpose
9
-
10
- Build the core Bubble Tea model, update loop, view rendering, styles, and layout system. This is the engine — no components yet, just the skeleton that renders a responsive grid.
11
-
12
- ## What this epic adds
13
-
14
- - `Model` struct with tasks, focus state, selected epic/release, overlay mode, dimensions.
15
- - `Init()`, `Update(msg)`, `View()` methods.
16
- - Atari-Noir color palette in `internal/styles/`.
17
- - Manual layout calculation: column widths, epic panel width, responsive breakpoints.
18
- - `tea.WindowSizeMsg` handling for terminal resize.
19
-
20
- ## Definition of Done
21
-
22
- - `go run main.go` launches and shows a bordered 3-column grid.
23
- - Columns resize correctly on terminal resize.
24
- - At 3 breakpoints: >=120 cols shows epic panel + 3 columns; 80-119 shows 3 columns; <80 shows 1 column.
25
- - Colors match Atari-Noir palette in truecolor; degrade gracefully in 256/16-color modes.
26
- - `q` quits cleanly.
27
- - No layout break at any width.
28
-
29
- ## Components and files
30
-
31
- | Path | Purpose |
32
- |------|---------|
33
- | `internal/board/model.go` | Model struct and Init |
34
- | `internal/board/update.go` | Update loop, message handling |
35
- | `internal/board/view.go` | View composition |
36
- | `internal/styles/palette.go` | Atari-Noir hex colors |
37
- | `internal/styles/styles.go` | Lip Gloss style definitions |
38
- | `internal/board/layout.go` | Width/height calculations |
@@ -1,29 +0,0 @@
1
- ---
2
- id: E03-board-tui-core/T001-model
3
- status: done
4
- objective: "Define Model struct with all state fields"
5
- depends_on: [E02-data-readers/T005-discovery]
6
- ---
7
-
8
- # T001: Model Struct
9
-
10
- ## Acceptance Criteria
11
-
12
- - `internal/board/model.go` defines Model with all state.
13
- - Fields: Tasks, FocusedColumn, FocusedTask, SelectedEpic, SelectedRelease, Overlay, Width, Height.
14
- - `Init()` returns `tea.Batch()` with initial commands.
15
- - `NewModel()` accepts loaded data and returns initialized Model.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/board/model.go`.
20
- - [x] Define Model struct and constructor.
21
- - [x] Implement `Init()` method.
22
- - [x] Write tests.
23
- - [x] Run `go test`.
24
-
25
- ## Context Log
26
-
27
- Files read: `internal/data/task.go`, `internal/board/board.go`, `go.mod`, `E03-board-tui-core/Design.md`
28
- Estimated input tokens: ~900
29
- Notes: `go test ./internal/board/ -v` — 4 tests pass. `go build ./...` clean. Model groups tasks by column on construction; empty column defaults to planned.
@@ -1,30 +0,0 @@
1
- ---
2
- id: E03-board-tui-core/T002-update-loop
3
- status: done
4
- objective: "Implement Update(msg) with key and window size handling"
5
- depends_on: [E03-board-tui-core/T001-model]
6
- ---
7
-
8
- # T002: Update Loop
9
-
10
- ## Acceptance Criteria
11
-
12
- - `Update(msg)` handles `tea.KeyMsg` for `q`, `ctrl+c`.
13
- - `Update(msg)` handles `tea.WindowSizeMsg` for terminal resize.
14
- - Returns `tea.Quit` on `q`.
15
- - Tests verify update behavior.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/board/update.go`.
20
- - [x] Implement `Update(msg tea.Msg)` with type switch.
21
- - [x] Add key handling.
22
- - [x] Add window size handling.
23
- - [x] Write tests.
24
- - [x] Run `go test`.
25
-
26
- ## Context Log
27
-
28
- Files read: `internal/board/model.go`, `T001-model.md`, `E03-board-tui-core/Design.md`
29
- Estimated input tokens: ~600
30
- Notes: `go test ./internal/board/ -v` — 8 pass. `go build ./...` clean. Update returns `(Model, tea.Cmd)` not `(tea.Model, tea.Cmd)` — keeps type concrete for T003 View composition.
@@ -1,34 +0,0 @@
1
- ---
2
- id: E03-board-tui-core/T003-view
3
- status: done
4
- objective: "Render a bordered 3-column grid via View()"
5
- depends_on: [E03-board-tui-core/T002-update-loop]
6
- ---
7
-
8
- # T003: View Rendering
9
-
10
- ## Acceptance Criteria
11
-
12
- - `View()` renders a header, 3-column board, and status bar.
13
- - Columns have borders using Lip Gloss.
14
- - Board fills terminal width.
15
- - No wrapping or layout breaks.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/board/view.go`.
20
- - [x] Implement `View()` composing header, board, footer.
21
- - [x] Use `lipgloss.JoinHorizontal` and `JoinVertical`.
22
- - [x] Verify rendering at multiple terminal sizes.
23
-
24
- ## Context Log
25
-
26
- Files read: `internal/board/model.go`, `internal/board/update.go`, `.savepoint/visual-identity.md`, `internal/data/task.go`, `E03-board-tui-core/Design.md`, `T003-view.md`
27
- Estimated input tokens: ~2000
28
- Notes: `go test ./internal/board/ ./internal/styles/ -v` — 17 pass. `go build ./...` clean. Created `internal/styles/palette.go` (Atari-Noir hex constants) and `internal/styles/styles.go` (Lip Gloss style vars). `view.go` uses `lipgloss.JoinHorizontal` for 3 columns, `JoinVertical` for header+board+status. Column content width = (termW - 12) / 3; fallback default=80 when Width=0. Focused column gets orange border; focused task gets orange text.
29
-
30
- ## Drift Notes
31
-
32
- - Drift: `internal/styles/palette.go` added, not yet in Codebase Map.
33
- - Drift: `internal/styles/styles.go` added, not yet in Codebase Map.
34
- - Drift: `internal/board/view.go` added, not yet in Codebase Map.
@@ -1,29 +0,0 @@
1
- ---
2
- id: E03-board-tui-core/T004-styles
3
- status: done
4
- objective: "Define Atari-Noir palette and Lip Gloss styles"
5
- depends_on: [E03-board-tui-core/T003-view]
6
- ---
7
-
8
- # T004: Styles
9
-
10
- ## Acceptance Criteria
11
-
12
- - `internal/styles/palette.go` defines all Atari-Noir hex colors.
13
- - `internal/styles/styles.go` defines Lip Gloss styles for columns, cards, borders, text.
14
- - Styles adapt to terminal color capability (truecolor/256/16/none).
15
-
16
- ## Implementation Plan
17
-
18
- - [x] Create `internal/styles/palette.go` with hex constants.
19
- - [x] Create `internal/styles/styles.go` with `lipgloss.NewStyle()` definitions.
20
- - [x] Add adaptive color logic for 256/16/none modes.
21
- - [x] Verify styles render correctly.
22
-
23
- ## Context Log
24
-
25
- Files read: `internal/styles/palette.go`, `internal/styles/styles.go`, `.savepoint/visual-identity.md`, `E03-board-tui-core/Design.md`, `T003-view.md`
26
- Estimated input tokens: ~1800
27
- Notes: Files were seeded by T003. T004 added 256-color and 16-color fallback constants to palette.go and updated styles.go to use `lipgloss.CompleteColor{TrueColor, ANSI256, ANSI}` for all color references. Added `TagDone` (green) and `TagAI` (purple) styles for semantic encoding per visual-identity. `go build ./...` clean. 17 board tests pass.
28
-
29
- Quality gates: `go build ./...` ✓ | `go test ./internal/board/ ./internal/styles/ -v` 17/17 ✓
@@ -1,42 +0,0 @@
1
- ---
2
- id: E03-board-tui-core/T005-layout
3
- status: done
4
- objective: "Implement responsive layout with 3 breakpoints"
5
- depends_on: [E03-board-tui-core/T004-styles]
6
- ---
7
-
8
- # T005: Layout
9
-
10
- ## Acceptance Criteria
11
-
12
- - >=120 cols: epic panel (28w) + 3 columns. ✓ (CalculateLayout, renderEpicPanel)
13
- - 80-119 cols: 3 columns only. ✓
14
- - <80 cols: 1 column, left/right switches columns. ✓ (renderColumns + update.go left/right/h/l keys)
15
- - Column widths calculated from available width. ✓
16
- - No hardcoded widths that break at small sizes. ✓ (minColWidth floor in CalculateLayout)
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Create `internal/board/layout.go`.
21
- - [x] Implement `CalculateLayout(width, height)`.
22
- - [x] Return column count, widths, epic panel visibility.
23
- - [x] Wire into `View()`.
24
- - [x] Test at multiple widths.
25
-
26
- ## Context Log
27
-
28
- Files read: internal/board/model.go, view.go, update.go, board.go, view_test.go, update_test.go, model_test.go, internal/styles/styles.go, go.mod, .savepoint/releases/v1/epics/E03-board-tui-core/E03-Detail.md
29
-
30
- Estimated input tokens: ~6 000
31
-
32
- Notes:
33
- - Moved colOverhead/minColWidth constants from view.go to layout.go (logical home).
34
- - Audit closeout removed dead columnContentWidth() from view.go; layout width coverage lives in layout_test.go.
35
- - Added left/right (and h/l) column navigation to update.go to satisfy the <80-col acceptance criterion.
36
- - Added EpicPanel lipgloss style to internal/styles/styles.go (purple border, rounded).
37
- - Quality gates: go build ./... ✓ · go vet ./... ✓ · go test ./... ✓ (all 3 packages)
38
- - Audit closeout gates: go test ./internal/board ✓ · go test ./... ✓ · go build ./... ✓
39
-
40
- ## Drift Notes
41
-
42
- - Drift: `internal/board/layout.go` added, not yet in Codebase Map.
@@ -1,44 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: planned
4
- ---
5
-
6
- # Epic E04: Board Components
7
-
8
- ## Purpose
9
-
10
- Build all visual components: columns, task cards with phase glyphs, epic panel, detail overlay, epic/release dropdowns, and help overlay.
11
-
12
- ## What this epic adds
13
-
14
- - Column component: header with status label + count, bordered container.
15
- - Task card component: fixed width, truncated title, dimmed metadata, phase glyphs (▣/◇/◆), accent border on focus.
16
- - Epic panel component: left sidebar with epic list, active/selected indicators.
17
- - Detail overlay: centered modal showing full task info, board visible behind.
18
- - Epic selector dropdown: overlay list of epics.
19
- - Release selector dropdown: overlay list of releases.
20
- - Help overlay: keyboard shortcuts reference.
21
-
22
- ## Definition of Done
23
-
24
- - Cards render with correct phase glyphs and colors.
25
- - Focused card has orange accent border.
26
- - Epic panel renders on wide screens; dropdown on narrow.
27
- - Detail overlay opens with Enter, closes with Esc.
28
- - Epic dropdown opens with `e`, release with `r`.
29
- - Help overlay opens with `?`.
30
- - All components render without wrapping or layout breaks.
31
- - Component tests pass.
32
-
33
- ## Components and files
34
-
35
- | Path | Purpose |
36
- |------|---------|
37
- | `internal/board/column.go` | Column rendering |
38
- | `internal/board/card.go` | Task card rendering |
39
- | `internal/board/epic_panel.go` | Epic sidebar / dropdown |
40
- | `internal/board/detail.go` | Task detail overlay |
41
- | `internal/board/dropdown.go` | Generic dropdown component |
42
- | `internal/board/help.go` | Help overlay |
43
- | `internal/board/card_test.go` | Card rendering tests |
44
- | `internal/board/column_test.go` | Column rendering tests |
@@ -1,34 +0,0 @@
1
- ---
2
- id: E04-board-components/T001-column
3
- status: done
4
- objective: "Render column with header, count, and task list"
5
- depends_on: [E03-board-tui-core/T005-layout]
6
- ---
7
-
8
- # T001: Column Component
9
-
10
- ## Acceptance Criteria
11
-
12
- - Column renders header with status label (PLANNED / IN PROGRESS / DONE).
13
- - Header shows task count.
14
- - Column has bordered container.
15
- - Focused column has accent border.
16
- - Empty columns show "(empty)".
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Create `internal/board/column.go`.
21
- - [x] Implement `RenderColumn(tasks, col, width, focusedTask, focused)`.
22
- - [x] Style header and border.
23
- - [x] Write tests.
24
- - [x] Run `go test`.
25
-
26
- ## Context Log
27
-
28
- **Files read:** `internal/board/view.go`, `internal/board/model.go`, `internal/styles/styles.go`, `internal/styles/palette.go`, `internal/data/task.go`, `internal/board/view_test.go`
29
-
30
- **Estimated input tokens:** ~4 000
31
-
32
- **Notes:** Extracted `columnTitle` and `taskLabel` from `view.go` into `column.go`. `renderColumn` method in `view.go` now delegates to `RenderColumn`. Added task count to header format `LABEL (N)` and `(empty)` placeholder for empty columns. All 7 column tests + prior view/board tests pass. `go build` and `go vet` clean.
33
-
34
- **Quality gates:** `go build ./...` ✅ | `go vet ./...` ✅ | `go test ./...` ✅
@@ -1,33 +0,0 @@
1
- ---
2
- id: E04-board-components/T002-card
3
- status: done
4
- objective: "Render task card with phase glyphs, truncation, and focus styling"
5
- depends_on: [E04-board-components/T001-column]
6
- ---
7
-
8
- # T002: Card Component
9
-
10
- ## Acceptance Criteria
11
-
12
- - Card shows: task ID (truncated), title (truncated), phase glyphs (▣/◇/◆).
13
- - Fixed width, never wraps.
14
- - Metadata dimmed.
15
- - Focused card has orange accent border and background tint.
16
- - Phase glyph uses phase accent color.
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Create `internal/board/card.go`.
21
- - [x] Implement `RenderCard(task, width, focused)`.
22
- - [x] Add truncation helper.
23
- - [x] Apply focus and phase styling.
24
- - [x] Write tests.
25
- - [x] Run `go test`.
26
-
27
- ## Context Log
28
-
29
- Files read: `internal/board/column.go`, `internal/board/column_test.go`, `internal/styles/styles.go`, `internal/styles/palette.go`, `internal/data/task.go`, `.savepoint/releases/v1/epics/E04-board-components/E04-Detail.md`, `AGENTS.md`, `.savepoint/router.md`
30
-
31
- Estimated input tokens: ~4 000
32
-
33
- Notes: Added `Dim`/`Dim256`/`Dim16` palette constants and `Card`, `CardFocused`, `CardMeta`, `GlyphBuild`, `GlyphTest`, `GlyphAudit` styles. `truncate` helper is package-private in `board`. All 13 tests pass. `go build ./...`, `go vet ./...`, `go test ./...` green.
@@ -1,49 +0,0 @@
1
- ---
2
- id: E04-board-components/T003-epic-panel
3
- status: done
4
- objective: "Render epic sidebar on wide screens, dropdown on narrow"
5
- depends_on: [E04-board-components/T002-card]
6
- ---
7
-
8
- # T003: Epic Panel
9
-
10
- ## Acceptance Criteria
11
-
12
- - >=120 cols: left sidebar with epic list, active indicator.
13
- - <120 cols: `e` key opens epic dropdown overlay.
14
- - Active epic marked with indicator.
15
- - Selecting an epic updates board tasks.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/board/epic_panel.go`.
20
- - [x] Implement sidebar rendering (`RenderEpicSidebar`).
21
- - [x] Implement dropdown overlay (`RenderEpicDropdown`).
22
- - [x] Wire into Update loop (`e` key, overlay nav, enter/esc).
23
- - [x] Write tests (`epic_panel_test.go`, 25 tests).
24
- - [x] Run `go test`.
25
-
26
- ## Context Log
27
-
28
- **Files read:** model.go, view.go, update.go, layout.go, card.go, column.go, board.go, styles/styles.go, styles/palette.go, card_test.go, view_test.go, update_test.go, model_test.go
29
-
30
- **Estimated input tokens:** ~6000
31
-
32
- **Notes:**
33
- - Added `OverlayEpic` to `OverlayType` constants in model.go.
34
- - Added `Epics []string` and `EpicCursor int` to Model struct; `NewModel` signature unchanged — callers set Epics directly.
35
- - `RenderEpicSidebar` falls back to showing `selected` as sole entry when `Epics` is nil; shows `(none)` if both empty.
36
- - `e` key only opens dropdown when `m.Width < breakpointWide` (120); sidebar is always visible on wide screens.
37
- - Overlay blocks column nav (`l`/`h`) while open; `esc`/`q` both close it.
38
- - `lipgloss.Place` centers dropdown on full terminal; board not visible behind (limitation of lipgloss — noted as drift).
39
- - `defaultTermH = 24` added to view.go for zero-Height fallback.
40
- - `renderEpicPanel` stub in view.go replaced with `RenderEpicSidebar` call.
41
- - `fmt` import in view.go retained (still used by `renderStatus`).
42
-
43
- **Quality gates:** `go build ./...` ✓ `go vet ./...` ✓ `go test ./...` ✓ (all pass)
44
-
45
- ## Drift Notes
46
-
47
- - Drift: `internal/board/epic_panel.go` added, not yet in Codebase Map.
48
- - Drift: Model.Epics and Model.EpicCursor fields added — Design.md data model section may need update.
49
- - Drift: Board-visible-behind overlay not implemented (lipgloss limitation); Design.md "board visible behind" note is aspirational.
@@ -1,40 +0,0 @@
1
- ---
2
- id: E04-board-components/T004-detail-overlay
3
- status: done
4
- objective: "Render task detail as centered overlay with board behind"
5
- depends_on: [E04-board-components/T003-epic-panel]
6
- ---
7
-
8
- # T004: Detail Overlay
9
-
10
- ## Acceptance Criteria
11
-
12
- - `Enter` opens detail overlay for focused task.
13
- - `Esc` closes overlay.
14
- - Overlay shows: ID, title, epic, release, status, phase, description, acceptance criteria.
15
- - Board visible and dimmed behind overlay.
16
- - Overlay width = min(terminal width - 4, 80).
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Create `internal/board/detail.go`.
21
- - [x] Implement `RenderDetail(task, overlayW)`.
22
- - [x] Add board dimming (`dimLines` + `overlayOnBase` in `view.go`).
23
- - [x] Wire Enter/Esc into Update loop.
24
- - [x] Write tests.
25
- - [x] Run `go test`.
26
-
27
- ## Context Log
28
-
29
- **Files read:** model.go, update.go, view.go, epic_panel.go, card.go, layout.go, update_test.go, view_test.go, epic_panel_test.go, internal/data/task.go, internal/styles/styles.go, internal/styles/palette.go, go.mod
30
-
31
- **Estimated input tokens:** ~8 000
32
-
33
- **Notes:**
34
- - `overlayOnBase` uses `charmbracelet/x/ansi.Truncate` for ANSI-aware left truncation; each base line is independently faint-wrapped so truncation doesn't inherit prior escape states.
35
- - `overlayWidth` clamps to `min(termW-4, 80)` with a floor of 20.
36
- - `phaseLabel` lives in `detail.go`; `focusedTask`, `overlayWidth`, `dimLines`, `overlayOnBase` live in `view.go`.
37
- - `OverlayDetail` constant added to `model.go`; `styles.DetailOverlay` added to `styles.go`.
38
- - No drift: all new files/exports match the Codebase Map entry for `internal/board/detail.go`.
39
-
40
- **Quality gates:** `go build ./...` ✓ · `go vet ./...` ✓ · `go test ./...` ✓ (board: 32 tests pass)
@@ -1,33 +0,0 @@
1
- ---
2
- id: E04-board-components/T005-release-dropdown
3
- status: done
4
- objective: "Render release selector dropdown"
5
- depends_on: [E04-board-components/T004-detail-overlay]
6
- ---
7
-
8
- # T005: Release Dropdown
9
-
10
- ## Acceptance Criteria
11
-
12
- - `r` opens release dropdown.
13
- - Shows list of releases with current one marked.
14
- - Selecting a release updates board.
15
- - `Esc` closes without selecting.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Add `OverlayRelease` to `model.go` overlay type constants.
20
- - [x] Add `Releases []string` and `ReleaseCursor int` fields to `Model`.
21
- - [x] Create `internal/board/release.go` with `RenderReleaseDropdown` and `releaseIndex`.
22
- - [x] Wire `r` key in `update.go` to open `OverlayRelease` and set cursor.
23
- - [x] Handle `up`/`down`/`enter`/`esc` for release overlay in `updateOverlay`.
24
- - [x] Render `OverlayRelease` in `view.go`.
25
- - [x] Write `release_test.go` covering render, nav, select, and esc.
26
- - [x] Run `go test ./internal/board/...` — all pass.
27
- - [x] Run `go build ./... && go vet ./... && go test ./...` — all pass.
28
-
29
- ## Context Log
30
-
31
- Files read: model.go, update.go, view.go, epic_panel.go, board.go, update_test.go, model_test.go
32
- Estimated input tokens: ~2500
33
- Notes: Mirrored epic dropdown pattern exactly. `r` always opens regardless of screen width (unlike `e` which is narrow-only). Quality gates: build OK, vet OK, all tests pass.
@@ -1,34 +0,0 @@
1
- ---
2
- id: E04-board-components/T006-help-overlay
3
- status: done
4
- objective: "Render help overlay with keyboard shortcuts"
5
- depends_on: [E04-board-components/T005-release-dropdown]
6
- ---
7
-
8
- # T006: Help Overlay
9
-
10
- ## Acceptance Criteria
11
-
12
- - `?` opens help overlay.
13
- - Shows all keyboard shortcuts.
14
- - `Esc` or `q` closes help.
15
- - Overlay renders centered.
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Create `internal/board/help.go`.
20
- - [x] Implement help content.
21
- - [x] Wire `?` key into Update loop.
22
- - [x] Write tests.
23
- - [x] Run `go test`.
24
-
25
- ## Context Log
26
-
27
- Files read: `.savepoint/router.md`, `.savepoint/releases/v1/epics/E04-board-components/E04-Detail.md`, this task file, `agent-skills/ink-tui-design/SKILL.md`, `.savepoint/visual-identity.md`, `internal/board/model.go`, `internal/board/update.go`, `internal/board/view.go`, `internal/board/detail.go`, `internal/board/epic_panel.go`, `internal/board/release.go`, `internal/board/update_test.go`, `internal/board/view_test.go`, `internal/board/detail_test.go`, `internal/board/release_test.go`, `internal/styles/styles.go`, `go.mod`, `Makefile`
28
- Estimated input tokens: ~8500
29
- Notes: Added help overlay renderer, `?` key handling, centered overlay rendering over dimmed board, and focused render/update/view tests. Focused test `go test ./internal/board/...` initially failed in the sandbox because Go could not access the external build cache; rerun with approved cache access passed. Quality gates: `go build ./...` pass, `go vet ./...` pass, `go test ./...` pass.
30
-
31
- ## Drift Notes
32
-
33
- - Drift: `internal/board/help.go` added, not yet in Codebase Map.
34
- - Drift: `internal/board/help_test.go` added, not yet in Codebase Map.