savepoint 1.0.3 → 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 (418) hide show
  1. package/package.json +10 -3
  2. package/{savepoint → savepoint.exe} +0 -0
  3. package/.claude/settings.local.json +0 -38
  4. package/.golangci.yml +0 -11
  5. package/.prettierignore +0 -4
  6. package/.savepoint/Design.md +0 -206
  7. package/.savepoint/PRD.md +0 -58
  8. package/.savepoint/config.yml +0 -27
  9. package/.savepoint/releases/v1/epics/E01-go-setup/E01-Detail.md +0 -39
  10. package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T001-init-module.md +0 -42
  11. package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T002-entrypoint.md +0 -23
  12. package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T003-directory-structure.md +0 -24
  13. package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T004-makefile.md +0 -23
  14. package/.savepoint/releases/v1/epics/E02-data-readers/E02-Detail.md +0 -61
  15. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T001-task-struct.md +0 -29
  16. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T002-frontmatter-parser.md +0 -30
  17. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T003-router-reader.md +0 -29
  18. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T004-config-reader.md +0 -29
  19. package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T005-discovery.md +0 -30
  20. package/.savepoint/releases/v1/epics/E03-board-tui-core/E03-Detail.md +0 -38
  21. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T001-model.md +0 -29
  22. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T002-update-loop.md +0 -30
  23. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T003-view.md +0 -34
  24. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T004-styles.md +0 -29
  25. package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T005-layout.md +0 -42
  26. package/.savepoint/releases/v1/epics/E04-board-components/E04-Detail.md +0 -44
  27. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T001-column.md +0 -34
  28. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T002-card.md +0 -33
  29. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T003-epic-panel.md +0 -49
  30. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T004-detail-overlay.md +0 -40
  31. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T005-release-dropdown.md +0 -33
  32. package/.savepoint/releases/v1/epics/E04-board-components/tasks/T006-help-overlay.md +0 -34
  33. package/.savepoint/releases/v1/epics/E05-phase-transitions/E05-Detail.md +0 -38
  34. package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T001-phase-stepping.md +0 -29
  35. package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T002-gates.md +0 -31
  36. package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T003-write-task.md +0 -31
  37. package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T004-write-router.md +0 -31
  38. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/E06-Detail.md +0 -62
  39. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T001-color-system.md +0 -39
  40. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T002-header-and-dividers.md +0 -52
  41. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T003-footer-status-bar.md +0 -52
  42. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T004-component-refinement.md +0 -53
  43. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T005-restore-nav-hints.md +0 -39
  44. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T007-detail-card-fixes.md +0 -36
  45. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T008-checkbox-states.md +0 -40
  46. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T009-router-priority-marker.md +0 -48
  47. package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T010-auto-refresh-watcher.md +0 -66
  48. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/Design.md +0 -39
  49. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T001-archive-epics.md +0 -20
  50. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T002-rewrite-prd.md +0 -22
  51. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T003-create-epic-stubs.md +0 -24
  52. package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T004-update-router.md +0 -22
  53. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/Design.md +0 -118
  54. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/handoff.md +0 -9
  55. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T001-package-baseline.md +0 -45
  56. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T002-typescript-build.md +0 -48
  57. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T003-vitest-smoke.md +0 -43
  58. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T004-lint-format-gates.md +0 -45
  59. package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T005-scaffold-verification.md +0 -40
  60. package/.savepoint/releases/v1/epics/_archived/E02-data-model/Design.md +0 -142
  61. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T001-domain-ids-status.md +0 -27
  62. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T002-markdown-frontmatter-boundary.md +0 -28
  63. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T003-task-documents.md +0 -29
  64. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T004-release-epic-router-config-readers.md +0 -30
  65. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T005-dependency-validation.md +0 -29
  66. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T006-epic-task-set-reader.md +0 -29
  67. package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T007-quality-gates.md +0 -31
  68. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/Design.md +0 -40
  69. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T001-phase-types.md +0 -27
  70. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T002-phase-frontmatter.md +0 -25
  71. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T003-simplify-config.md +0 -26
  72. package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T004-simplify-router-domain.md +0 -24
  73. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/Design.md +0 -122
  74. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T001-argument-parser-contract.md +0 -28
  75. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T002-help-text-generation.md +0 -28
  76. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T003-terminal-environment-detection.md +0 -27
  77. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T004-command-stub-modules.md +0 -29
  78. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T005-cli-runner-dispatch.md +0 -34
  79. package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T006-entrypoint-quality-gates.md +0 -32
  80. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/Design.md +0 -43
  81. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T001-strip-args.md +0 -26
  82. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T002-strip-help.md +0 -23
  83. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T003-strip-run.md +0 -23
  84. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T004-delete-commands.md +0 -24
  85. package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T005-update-cli-tests.md +0 -22
  86. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/Design.md +0 -48
  87. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T001-board-data-phases.md +0 -26
  88. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T002-phase-rendering.md +0 -28
  89. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T003-detail-pane-phases.md +0 -27
  90. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T004-phase-transitions.md +0 -42
  91. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T005-phase-gates.md +0 -24
  92. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T006-phase-write-back.md +0 -24
  93. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T007-remove-audit-flow.md +0 -27
  94. package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T008-board-tests.md +0 -25
  95. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/Design.md +0 -85
  96. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T001-project-template-assets.md +0 -17
  97. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T002-release-and-prompt-assets.md +0 -20
  98. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T003-template-registry-renderer.md +0 -22
  99. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T004-template-integrity-tests.md +0 -17
  100. package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T005-template-closeout-quality-gates.md +0 -16
  101. package/.savepoint/releases/v1/epics/_archived/E05-init-command/Design.md +0 -88
  102. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T001-init-cli-contract.md +0 -22
  103. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T002-target-validation.md +0 -23
  104. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T003-scaffold-writer.md +0 -24
  105. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T004-magic-prompt-and-clipboard.md +0 -23
  106. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T005-dev-deps-install-option.md +0 -24
  107. package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T006-init-command-integration.md +0 -28
  108. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/Design.md +0 -53
  109. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T001-delete-dead-src.md +0 -23
  110. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T002-delete-dead-tests.md +0 -26
  111. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T003-delete-assets.md +0 -25
  112. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T004-clean-savepoint.md +0 -28
  113. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T005-rewrite-agents-md.md +0 -28
  114. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T006-clean-package-json.md +0 -23
  115. package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T007-verify.md +0 -25
  116. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/Design.md +0 -104
  117. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T001-board-command-data.md +0 -23
  118. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T002-board-view-state.md +0 -24
  119. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T003-transition-gates-and-writes.md +0 -25
  120. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T004-terminal-theme.md +0 -23
  121. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T005-ink-board-ui.md +0 -26
  122. package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T006-board-integration-audit-entry.md +0 -24
  123. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/Design.md +0 -88
  124. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T001-audit-cli-contract.md +0 -23
  125. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T002-quality-gate-runner.md +0 -23
  126. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T003-snapshot-and-prompt.md +0 -23
  127. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T004-audit-orchestration-router.md +0 -27
  128. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T005-proposal-validation-apply.md +0 -25
  129. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T006-audit-review-state.md +0 -24
  130. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T007-audit-review-ui.md +0 -26
  131. package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T008-audit-pipeline-integration.md +0 -24
  132. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/Design.md +0 -103
  133. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T001-acceptance-criteria-model.md +0 -30
  134. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T002-release-task-set-reader.md +0 -33
  135. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T003-board-data-and-plain-output.md +0 -34
  136. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T004-board-selection-state.md +0 -33
  137. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T005-ink-board-layout-cleanup.md +0 -37
  138. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T006-task-detail-popup.md +0 -36
  139. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T007-templates-acceptance-criteria.md +0 -34
  140. package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T008-board-workflow-integration.md +0 -41
  141. package/.savepoint/releases/v1/epics/_archived/E09-doctor-command/Design.md +0 -70
  142. package/.savepoint/releases/v1/epics/_archived/E10-docs-and-packaging/Design.md +0 -68
  143. package/.savepoint/releases/v1/epics/_archived/E11-release-validation/Design.md +0 -68
  144. package/.savepoint/releases/v1/v1-PRD.md +0 -66
  145. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/E01-Detail.md +0 -40
  146. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T001-next-activity-header.md +0 -56
  147. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T002-rename-epic-design-files.md +0 -38
  148. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T003-rename-release-prd.md +0 -28
  149. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T004-update-instruction-files.md +0 -51
  150. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T005-update-cross-references.md +0 -45
  151. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T006-column-and-detail-scrolling.md +0 -68
  152. package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T007-column-focus-border-stability.md +0 -57
  153. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Audit.md +0 -124
  154. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Detail.md +0 -49
  155. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T001-fix-makefile.md +0 -37
  156. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T002-linux-build-target.md +0 -38
  157. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T003-macos-build-target.md +0 -36
  158. package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T004-smoke-tests-and-artifacts.md +0 -59
  159. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Audit.md +0 -195
  160. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md +0 -45
  161. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T001-border-resize-fix.md +0 -40
  162. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T002-next-activity-below-header.md +0 -64
  163. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T003-checkbox-rendering-fix.md +0 -56
  164. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T005-unify-status-glyphs.md +0 -65
  165. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T006-forced-256-color-profile.md +0 -36
  166. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Audit.md +0 -167
  167. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Detail.md +0 -51
  168. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T001-sidebar-focusable-navigation.md +0 -65
  169. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T002-epic-detail-overlay.md +0 -73
  170. package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T003-epic-status-glyphs.md +0 -73
  171. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Audit.md +0 -237
  172. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md +0 -54
  173. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md +0 -45
  174. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md +0 -40
  175. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T003-update-design-md.md +0 -47
  176. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T004-implement-m-hotkey.md +0 -98
  177. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md +0 -33
  178. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T006-tests-and-quality-gates.md +0 -62
  179. package/.savepoint/releases/v1.1/epics/E06-audit-command/E06-Audit.md +0 -56
  180. package/.savepoint/releases/v1.1/epics/E06-audit-command/E06-Detail.md +0 -63
  181. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T005-proposals.md +0 -44
  182. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T007-apply-close.md +0 -35
  183. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T009-integration.md +0 -40
  184. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T010-audit-file-migration.md +0 -45
  185. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T011-model-tab-state.md +0 -26
  186. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T012-epic-audit-render.md +0 -33
  187. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T013-handle-tab-keys.md +0 -34
  188. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T014-tab-indicator.md +0 -33
  189. package/.savepoint/releases/v1.1/epics/E07-init-command/E07-Audit.md +0 -336
  190. package/.savepoint/releases/v1.1/epics/E07-init-command/E07-Detail.md +0 -61
  191. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T001-cli-entrypoint.md +0 -37
  192. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T002-target-validation.md +0 -28
  193. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T003-scaffold-writer.md +0 -46
  194. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T004-atomic-writes.md +0 -27
  195. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T005-magic-prompt.md +0 -25
  196. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T006-clipboard.md +0 -26
  197. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T007-integration-test.md +0 -26
  198. package/.savepoint/releases/v1.1/epics/E08-board-command/E08-Audit.md +0 -333
  199. package/.savepoint/releases/v1.1/epics/E08-board-command/E08-Detail.md +0 -68
  200. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T001-cli-entrypoint.md +0 -26
  201. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T002-non-tty-fallback.md +0 -27
  202. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T003-tui-app-shell.md +0 -28
  203. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T004-board-model.md +0 -29
  204. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T005-detail-pane.md +0 -27
  205. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T006-status-transitions.md +0 -29
  206. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T007-theme-fallbacks.md +0 -29
  207. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T008-integration-test.md +0 -27
  208. package/.savepoint/releases/v1.1/epics/E09-doctor-command/E09-Audit.md +0 -207
  209. package/.savepoint/releases/v1.1/epics/E09-doctor-command/E09-Detail.md +0 -65
  210. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T001-cli-entrypoint.md +0 -24
  211. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T002-config-router-validation.md +0 -28
  212. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T003-structure-checks.md +0 -29
  213. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T004-dependency-checks.md +0 -27
  214. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T005-audit-orphan-checks.md +0 -28
  215. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T006-quality-gates-report.md +0 -31
  216. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/E11-Detail.md +0 -36
  217. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T001-debug-logging.md +0 -25
  218. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T002-increase-debounce.md +0 -21
  219. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T003-error-handling.md +0 -22
  220. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T004-test-verify.md +0 -29
  221. package/.savepoint/releases/v1.1/epics/E12-validation-fix/E12-Audit.md +0 -444
  222. package/.savepoint/releases/v1.1/epics/E12-validation-fix/E12-Detail.md +0 -45
  223. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T001-default-phase.md +0 -35
  224. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T002-default-status.md +0 -19
  225. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T003-better-errors.md +0 -29
  226. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T004-validate-on-write.md +0 -25
  227. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T005-tests.md +0 -37
  228. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/E13-Audit.md +0 -118
  229. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/E13-Detail.md +0 -73
  230. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T001-safe-cleanup.md +0 -66
  231. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T002-bug-fixes.md +0 -35
  232. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T003-centralize-duplication.md +0 -60
  233. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T004-infrastructure.md +0 -33
  234. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T005-decompose-update.md +0 -37
  235. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T006-async-io.md +0 -40
  236. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T007-test-coverage.md +0 -37
  237. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/E14-Audit.md +0 -267
  238. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/E14-Detail.md +0 -54
  239. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T001-group-model.md +0 -39
  240. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T002-data-interfaces.md +0 -42
  241. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T003-discover-orphans.md +0 -33
  242. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T004-epic-panel-headings.md +0 -35
  243. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T005-shell-tokenization.md +0 -27
  244. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T006-unify-enums.md +0 -29
  245. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T007-testutil-package.md +0 -28
  246. package/.savepoint/releases/v1.1/epics/E15-hardening/E15-Detail.md +0 -43
  247. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T001-benchmarks.md +0 -31
  248. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T002-fuzz-targets.md +0 -28
  249. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T003-debug-flag.md +0 -30
  250. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T004-dist-checksums.md +0 -27
  251. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T005-windows-targets.md +0 -28
  252. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T006-abbreviation-splitting.md +0 -26
  253. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T007-root-test-allowlist.md +0 -28
  254. package/.savepoint/releases/v1.1/epics/_archived/T001-cli-entrypoint.md +0 -25
  255. package/.savepoint/releases/v1.1/epics/_archived/T002-quality-gates.md +0 -27
  256. package/.savepoint/releases/v1.1/epics/_archived/T003-snapshot.md +0 -27
  257. package/.savepoint/releases/v1.1/epics/_archived/T004-ai-reconcile.md +0 -29
  258. package/.savepoint/releases/v1.1/epics/_archived/T006-tui-review.md +0 -31
  259. package/.savepoint/releases/v1.1/epics/_archived/T008-skip-handling.md +0 -34
  260. package/.savepoint/releases/v1.1/v1.1-PRD.md +0 -139
  261. package/.savepoint/router.md +0 -57
  262. package/.savepoint/visual-identity.md +0 -125
  263. package/AGENTS.md +0 -99
  264. package/CLAUDE.md +0 -1
  265. package/GEMINI.md +0 -1
  266. package/Makefile +0 -29
  267. package/agent-skills/ink-tui-design/SKILL.md +0 -309
  268. package/agent-skills/ink-tui-design/references/component-patterns.md +0 -371
  269. package/agent-skills/ink-tui-design/references/hooks-guide.md +0 -436
  270. package/agent-skills/ink-tui-design/references/ink-gotchas.md +0 -330
  271. package/agent-skills/ink-tui-design/references/testing-patterns.md +0 -384
  272. package/agent-skills/savepoint-audit/SKILL.md +0 -87
  273. package/agent-skills/savepoint-build-task/SKILL.md +0 -44
  274. package/agent-skills/savepoint-create-plan/SKILL.md +0 -33
  275. package/agent-skills/savepoint-create-task/SKILL.md +0 -44
  276. package/agent-skills/savepoint-draft-prd/SKILL.md +0 -37
  277. package/agent-skills/savepoint-system-design/SKILL.md +0 -38
  278. package/agent-skills/superpowers/brainstorming/SKILL.md +0 -165
  279. package/agent-skills/superpowers/brainstorming/visual-companion.md +0 -304
  280. package/agent-skills/superpowers/dispatching-parallel-agents/SKILL.md +0 -193
  281. package/agent-skills/superpowers/executing-plans/SKILL.md +0 -77
  282. package/agent-skills/superpowers/finishing-a-development-branch/SKILL.md +0 -213
  283. package/agent-skills/superpowers/receiving-code-review/SKILL.md +0 -226
  284. package/agent-skills/superpowers/requesting-code-review/SKILL.md +0 -115
  285. package/agent-skills/superpowers/requesting-code-review/code-reviewer.md +0 -160
  286. package/agent-skills/superpowers/subagent-driven-development/SKILL.md +0 -292
  287. package/agent-skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +0 -27
  288. package/agent-skills/superpowers/subagent-driven-development/implementer-prompt.md +0 -113
  289. package/agent-skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +0 -61
  290. package/agent-skills/superpowers/systematic-debugging/SKILL.md +0 -305
  291. package/agent-skills/superpowers/systematic-debugging/condition-based-waiting.md +0 -122
  292. package/agent-skills/superpowers/systematic-debugging/defense-in-depth.md +0 -130
  293. package/agent-skills/superpowers/systematic-debugging/root-cause-tracing.md +0 -183
  294. package/agent-skills/superpowers/test-driven-development/SKILL.md +0 -389
  295. package/agent-skills/superpowers/test-driven-development/testing-anti-patterns.md +0 -317
  296. package/agent-skills/superpowers/verification-before-completion/SKILL.md +0 -147
  297. package/agent-skills/superpowers/writing-plans/SKILL.md +0 -159
  298. package/agent-skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +0 -49
  299. package/agent_skills_test.go +0 -91
  300. package/assets/banner.png +0 -0
  301. package/assets/logo.png +0 -0
  302. package/assets/strawman.png +0 -0
  303. package/cmd/board.go +0 -59
  304. package/cmd/board_test.go +0 -137
  305. package/cmd/doctor.go +0 -53
  306. package/cmd/doctor_test.go +0 -146
  307. package/cmd/init.go +0 -63
  308. package/cmd/init_test.go +0 -104
  309. package/go.mod +0 -36
  310. package/go.sum +0 -75
  311. package/internal/board/board.go +0 -177
  312. package/internal/board/board_test.go +0 -168
  313. package/internal/board/card.go +0 -129
  314. package/internal/board/card_test.go +0 -254
  315. package/internal/board/column.go +0 -127
  316. package/internal/board/column_test.go +0 -139
  317. package/internal/board/detail.go +0 -185
  318. package/internal/board/detail_test.go +0 -340
  319. package/internal/board/epic_panel.go +0 -262
  320. package/internal/board/epic_panel_test.go +0 -869
  321. package/internal/board/help.go +0 -41
  322. package/internal/board/help_test.go +0 -86
  323. package/internal/board/integration_test.go +0 -266
  324. package/internal/board/interfaces.go +0 -65
  325. package/internal/board/interfaces_test.go +0 -114
  326. package/internal/board/io.go +0 -93
  327. package/internal/board/layout.go +0 -68
  328. package/internal/board/layout_test.go +0 -106
  329. package/internal/board/model.go +0 -235
  330. package/internal/board/model_test.go +0 -67
  331. package/internal/board/plain.go +0 -88
  332. package/internal/board/plain_test.go +0 -117
  333. package/internal/board/release.go +0 -34
  334. package/internal/board/release_test.go +0 -177
  335. package/internal/board/render_policy_test.go +0 -77
  336. package/internal/board/status.go +0 -23
  337. package/internal/board/theme.go +0 -24
  338. package/internal/board/theme_test.go +0 -31
  339. package/internal/board/transitions.go +0 -113
  340. package/internal/board/transitions_test.go +0 -164
  341. package/internal/board/tui.go +0 -32
  342. package/internal/board/update.go +0 -556
  343. package/internal/board/update_test.go +0 -575
  344. package/internal/board/util.go +0 -76
  345. package/internal/board/view.go +0 -317
  346. package/internal/board/view_test.go +0 -315
  347. package/internal/board/watch.go +0 -130
  348. package/internal/buildtool/main.go +0 -211
  349. package/internal/buildtool/main_test.go +0 -46
  350. package/internal/data/config.go +0 -101
  351. package/internal/data/config_test.go +0 -122
  352. package/internal/data/discover.go +0 -178
  353. package/internal/data/discover_test.go +0 -130
  354. package/internal/data/errors.go +0 -13
  355. package/internal/data/lifecycle.go +0 -44
  356. package/internal/data/lifecycle_test.go +0 -41
  357. package/internal/data/parser.go +0 -242
  358. package/internal/data/parser_test.go +0 -281
  359. package/internal/data/router.go +0 -52
  360. package/internal/data/router_test.go +0 -35
  361. package/internal/data/task.go +0 -57
  362. package/internal/data/task_test.go +0 -51
  363. package/internal/data/write.go +0 -218
  364. package/internal/data/write_test.go +0 -623
  365. package/internal/doctor/checks.go +0 -567
  366. package/internal/doctor/checks_test.go +0 -716
  367. package/internal/doctor/gates.go +0 -193
  368. package/internal/doctor/gates_test.go +0 -166
  369. package/internal/doctor/interfaces.go +0 -64
  370. package/internal/doctor/interfaces_test.go +0 -104
  371. package/internal/doctor/repairs.go +0 -80
  372. package/internal/doctor/repairs_test.go +0 -81
  373. package/internal/doctor/report.go +0 -157
  374. package/internal/doctor/report_test.go +0 -89
  375. package/internal/init/clipboard.go +0 -146
  376. package/internal/init/clipboard_test.go +0 -74
  377. package/internal/init/install.go +0 -16
  378. package/internal/init/integration_test.go +0 -197
  379. package/internal/init/prompt.go +0 -14
  380. package/internal/init/prompt_test.go +0 -77
  381. package/internal/init/scaffold.go +0 -59
  382. package/internal/init/scaffold_test.go +0 -179
  383. package/internal/init/template_freshness_test.go +0 -56
  384. package/internal/init/validate.go +0 -85
  385. package/internal/init/validate_test.go +0 -141
  386. package/internal/init/write.go +0 -73
  387. package/internal/init/write_test.go +0 -91
  388. package/internal/styles/palette.go +0 -49
  389. package/internal/styles/styles.go +0 -139
  390. package/internal/styles/styles_test.go +0 -133
  391. package/internal/testutil/fixture.go +0 -113
  392. package/internal/testutil/fs.go +0 -26
  393. package/main.go +0 -117
  394. package/project-audit/audit_report_glm_5.1.md +0 -411
  395. package/project-audit/audit_report_opus_4.6 +0 -406
  396. package/project-audit/consolidated-audit-report.md +0 -456
  397. package/scripts/vitest-preload.cjs +0 -95
  398. package/templates/project/.savepoint/Design.md +0 -47
  399. package/templates/project/.savepoint/PRD.md +0 -34
  400. package/templates/project/.savepoint/config.yml +0 -27
  401. package/templates/project/.savepoint/router.md +0 -153
  402. package/templates/project/.savepoint/visual-identity.md +0 -122
  403. package/templates/project/AGENTS.md +0 -88
  404. package/templates/project/agent-skills/savepoint-audit/SKILL.md +0 -87
  405. package/templates/project/agent-skills/savepoint-build-task/SKILL.md +0 -44
  406. package/templates/project/agent-skills/savepoint-create-plan/SKILL.md +0 -33
  407. package/templates/project/agent-skills/savepoint-create-task/SKILL.md +0 -44
  408. package/templates/project/agent-skills/savepoint-draft-prd/SKILL.md +0 -37
  409. package/templates/project/agent-skills/savepoint-system-design/SKILL.md +0 -38
  410. package/templates/prompts/audit-reconciliation.prompt.md +0 -72
  411. package/templates/prompts/design.prompt.md +0 -45
  412. package/templates/prompts/epic-design.prompt.md +0 -43
  413. package/templates/prompts/magic-prompt.prompt.md +0 -7
  414. package/templates/prompts/prd.prompt.md +0 -42
  415. package/templates/prompts/task-breakdown.prompt.md +0 -54
  416. package/templates/prompts/task-building.prompt.md +0 -38
  417. package/templates/prompts/task-planning.prompt.md +0 -53
  418. package/templates/release/v1/PRD.md +0 -37
@@ -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.
@@ -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 |