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,66 +0,0 @@
1
- ---
2
- version: 1
3
- name: "Simplified Board"
4
- status: in_progress
5
- ---
6
-
7
- # Release v1 — Simplified Board
8
-
9
- ## Simplification Objective
10
-
11
- The original v1 scope (11 epics, 5 CLI commands, full audit pipeline) proved over-engineered. This release strips savepoint back to its essential value: a board for tracking AI-driven development work through phases.
12
-
13
- **Stack change:** Ink/TypeScript → Bubble Tea/Go. Full rewrite.
14
-
15
- **What stays:**
16
- - `savepoint board` — Bubble Tea TUI for viewing and moving tasks
17
- - The `.savepoint/` data structure: router → release → epic → task
18
- - AGENTS.md as the agent bootstrap file
19
-
20
- **What goes:**
21
- - `init`, `audit`, `doctor` commands
22
- - Full 6-step audit pipeline
23
- - Template scaffolding and prompt generation
24
- - Quality gates, divergence thresholds, snapshot generation
25
- - Complex router state machine (6 states → 3 states)
26
- - TypeScript, React, Ink, npm, tsup, vitest
27
-
28
- **What replaces the audit pipeline:**
29
- - Tasks in `in_progress` now carry a `phase`: `build → test → audit → done`
30
- - The board itself enforces phase progression
31
- - Space advances phase, backspace retreats
32
- - Must reach `audit` phase before advancing to `done`
33
-
34
- ## What ships in v0.2.0
35
-
36
- - `savepoint board` — the only CLI command (Go binary)
37
- - Phase-aware Kanban board: planned / in_progress (build/test/audit) / done
38
- - Task status transitions with phase gating
39
- - Non-TTY plain table fallback
40
- - Atari-Noir theme, fully overridable via `config.yml`
41
- - Go 1.23+, single binary, `go build`
42
-
43
- ## Epic breakdown
44
-
45
- | # | Epic name | Purpose |
46
- | --- | ---------------------------- | ------- |
47
- | 01 | `E01-go-setup` | Initialize Go module, project structure, dependencies, build loop |
48
- | 02 | `E02-data-readers` | Parse markdown/yaml, read .savepoint data (router, config, tasks) |
49
- | 03 | `E03-board-tui-core` | Bubble Tea model, update loop, view, styles, responsive layout |
50
- | 04 | `E04-board-components` | Columns, cards with phase glyphs, epic panel, detail overlay, dropdowns, help |
51
- | 05 | `E05-phase-transitions` | Phase stepping, gates, task frontmatter write-back, router state write-back |
52
-
53
- ## Success criteria
54
-
55
- - `savepoint board` launches and renders the phase-aware Kanban board.
56
- - Space/backspace correctly advances/retreats task phases.
57
- - Cannot advance to `done` without passing through `audit` phase.
58
- - `go build` produces a working binary.
59
- - `go test ./...` passes.
60
- - No dead code, no unused dependencies, no references to deleted commands.
61
-
62
- ## Risks
63
-
64
- - **Agent compliance.** Simpler structure should improve compliance. AGENTS.md must be crystal clear.
65
- - **Phase model clarity.** Users must understand build/test/audit as sub-states of in_progress. Board rendering must make this obvious.
66
- - **Go ecosystem.** New stack requires different testing patterns, dependency management, build tooling.
@@ -1,40 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: audited
4
- ---
5
-
6
- # Epic E01: TUI Optimisation
7
-
8
- ## Purpose
9
-
10
- Performance, layout robustness, and structural improvements for the board TUI. Focused on fixing rendering edge-cases (resize clipping, wasted space) and improving the codebase's architectural hygiene around file watching and data refresh.
11
-
12
- ## Definition of Done
13
-
14
- - Right-border clipping is eliminated at all terminal widths ≥ 40
15
- - Resize handling is robust — no corruption, no artifacts when growing/shrinking
16
- - The board auto-refreshes when task files change on disk via fsnotify
17
- - Board columns use virtual viewport scrolling — 4-5 cards visible with `↑/↓` indicators
18
- - Detail overlay is height-capped (~70%) with scroll indicators for overflow content
19
- - All scroll indicators use dim/subtle styling consistent with Atari Noir aesthetic
20
-
21
- ## Implemented As
22
-
23
- - Header Next Activity rendering is implemented in `internal/board/view.go` using `FormatNextActivity` and `styles.HeaderRight`.
24
- - Column and detail scrolling are implemented through `ColumnOffsets`, `DetailOffset`, height-aware layout, viewport slicing, and subtle scroll indicators in `internal/board/model.go`, `internal/board/layout.go`, `internal/board/update.go`, `internal/board/column.go`, and `internal/board/detail.go`.
25
- - Focus border stability is implemented by rendering unfocused columns with `styles.ColumnUnfocused`, matching focused column border dimensions while using the subtle border color.
26
- - Naming conventions were reconciled across workflow docs: per-epic `Design.md` files became `E##-Detail.md`, and release `PRD.md` became `{release}-PRD.md`.
27
- - The originally listed fsnotify watcher scope was already present from the prior TUI epic and was reviewed as existing behavior rather than newly introduced in this epic.
28
-
29
- ## Components and files
30
-
31
- | Path | Purpose |
32
- |------|---------|
33
- | `internal/board/layout.go` | Layout arithmetic and resize guards, height-aware ContentHeight |
34
- | `internal/board/view.go` | Minimum width clamping, height passthrough to renderers |
35
- | `internal/board/watch.go` | File watcher and reload commands |
36
- | `internal/board/model.go` | Watcher lifecycle, ColumnOffsets, DetailOffset state |
37
- | `internal/board/update.go` | Reload message handling, auto-scroll offsets, PageUp/PageDown |
38
- | `internal/board/column.go` | Virtual viewport slicing, scroll indicator rendering |
39
- | `internal/board/detail.go` | Height-capped overlay, detail scroll indicators |
40
- | `internal/styles/styles.go` | ScrollIndicator style (dim/subtle) |
@@ -1,56 +0,0 @@
1
- ---
2
- id: E01-tui-optimisation/T001-next-activity-header
3
- status: done
4
- objective: "Show Next Activity indicator in the TUI header bar, right-aligned, displaying the current router state"
5
- depends_on: []
6
- ---
7
-
8
- # T001: Next Activity Header Display
9
-
10
- ## Acceptance Criteria
11
-
12
- - The header bar displays "Next Activity:" followed by a formatted state string on the right side
13
- - When router state is `task-building`, displays "Build T{NNN} (E{NN}) v{N}" format (e.g., "Build T010 (E06) v1")
14
- - When router state is `audit-pending`, displays "Audit E{NN}" format (e.g., "Audit E06")
15
- - For `epic-design` state, displays "Design E{NN}" format
16
- - For `epic-task-breakdown` state, displays "Plan E{NN}" format
17
- - For `pre-implementation` state, displays "Planning v{N}" format
18
- - The Next Activity text (excluding "Next Activity:" label) is capped at 20 characters maximum, with ellipsis truncation if exceeded
19
- - The display gracefully degrades at narrow terminal widths (header text remains intact, Next Activity truncates but doesn't break layout)
20
- - All existing tests pass
21
-
22
- ## Implementation Plan
23
-
24
- - [x] Add `HeaderRight` style to `internal/styles/styles.go` (dim foreground, right-aligned)
25
- - [x] Create `FormatNextActivity(state *data.RouterState) string` helper in `internal/board/view.go` that:
26
- - Parses router state and formats compact string based on state type
27
- - Truncates to max 20 chars using `xansi.Truncate` with ellipsis
28
- - [x] Update `view.go` `View()` method — modify header rendering:
29
- - Split header into left (icon + "SAVEPOINT") and right sections
30
- - Use `lipgloss.PlaceHorizontal` or manual string construction to position Next Activity on right
31
- - Maintain existing `HeaderFrame` width and padding
32
- - [x] Update `main.go` or board initialization to read router state and populate `Model` with parsed state
33
- - [x] Add test in `internal/board/view_test.go` for Next Activity rendering at various widths
34
- - [x] Add test for `FormatNextActivity` covering all router states and truncation behavior
35
- - [x] Run quality gates — `make build && make test` unavailable in this shell; equivalent `go build ./...` and `go test ./...` pass
36
-
37
- ## Context Log
38
-
39
- Files read:
40
- - `internal/board/view.go`
41
- - `internal/board/model.go`
42
- - `internal/styles/styles.go`
43
- - `internal/data/router.go`
44
- - `internal/board/view_test.go`
45
- - `.savepoint/router.md`
46
- - `.savepoint/releases/v1.1/epics/E03-header-activity/E03-Detail.md`
47
-
48
- Estimated input tokens: 2800
49
-
50
- Notes:
51
- - Uses existing `data.RouterState` model — no new data parsing needed
52
- - Router state already available via `m.RouterTask` in Model — may need to add `*data.RouterState` field or parse separately
53
- - Truncation uses same `xansi` package already imported in view.go
54
- - Max 20 char constraint keeps header clean at all terminal widths
55
- - Audit must-fix applied: stale implementation checklist items were ticked after verifying the implemented source and tests.
56
- - Quality gates verified during audit: `go build ./...` passed; `go test ./...` passed.
@@ -1,38 +0,0 @@
1
- ---
2
- id: E01-tui-optimisation/T002-rename-epic-design-files
3
- status: done
4
- objective: "Rename all epic Design.md files to E##-Detail.md convention"
5
- depends_on: []
6
- ---
7
-
8
- # T002: Rename Epic Design Files
9
-
10
- ## Acceptance Criteria
11
-
12
- - All 8 active epic `Design.md` files renamed to `E##-Detail.md` pattern
13
- - Archived epics under `_archived/` left unchanged
14
- - Root `.savepoint/Design.md` left unchanged
15
- - No content changes in renamed files
16
- - All renamed files remain valid markdown with intact frontmatter
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Rename `.savepoint/releases/v1/epics/E01-go-setup/Design.md` → `E01-Detail.md`
21
- - [x] Rename `.savepoint/releases/v1/epics/E02-data-readers/Design.md` → `E02-Detail.md`
22
- - [x] Rename `.savepoint/releases/v1/epics/E03-board-tui-core/Design.md` → `E03-Detail.md`
23
- - [x] Rename `.savepoint/releases/v1/epics/E04-board-components/Design.md` → `E04-Detail.md`
24
- - [x] Rename `.savepoint/releases/v1/epics/E05-phase-transitions/Design.md` → `E05-Detail.md`
25
- - [x] Rename `.savepoint/releases/v1/epics/E06-atari-noir-layout/Design.md` → `E06-Detail.md`
26
- - [x] Rename `.savepoint/releases/v1.1/epics/E01-tui-optimisation/Design.md` → `E01-Detail.md`
27
- - [x] Rename `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/Design.md` → `E02-Detail.md`
28
-
29
- ## Context Log
30
-
31
- Files read:
32
- - None (file renames only)
33
-
34
- Estimated input tokens: 300
35
-
36
- Notes:
37
- - Content is not modified, only file paths change
38
- - Archived epics explicitly excluded per user request
@@ -1,28 +0,0 @@
1
- ---
2
- id: E01-tui-optimisation/T003-rename-release-prd
3
- status: done
4
- objective: "Rename release PRD.md to version-anchored convention"
5
- depends_on: []
6
- ---
7
-
8
- # T003: Rename Release PRD
9
-
10
- ## Acceptance Criteria
11
-
12
- - `.savepoint/releases/v1/PRD.md` renamed to `.savepoint/releases/v1/v1-PRD.md`
13
- - No content changes
14
- - Root `.savepoint/PRD.md` left unchanged
15
-
16
- ## Implementation Plan
17
-
18
- - [x] Rename `.savepoint/releases/v1/PRD.md` → `v1-PRD.md`
19
-
20
- ## Context Log
21
-
22
- Files read:
23
- - None (file rename only)
24
-
25
- Estimated input tokens: 100
26
-
27
- Notes:
28
- - Single file rename
@@ -1,51 +0,0 @@
1
- ---
2
- id: E01-tui-optimisation/T004-update-instruction-files
3
- status: done
4
- objective: "Update all instruction files to reference new naming convention"
5
- depends_on:
6
- - E01-tui-optimisation/T002-rename-epic-design-files
7
- - E01-tui-optimisation/T003-rename-release-prd
8
- ---
9
-
10
- # T004: Update Instruction Files
11
-
12
- ## Acceptance Criteria
13
-
14
- - `.savepoint/router.md` references `E##-Detail.md` and `v1-PRD.md` (not `Design.md` or `PRD.md`)
15
- - `AGENTS.md` references `E##-Detail.md` pattern
16
- - `agent-skills/savepoint-create-plan/SKILL.md` updated
17
- - `agent-skills/savepoint-system-design/SKILL.md` updated
18
- - `agent-skills/savepoint-build-task/SKILL.md` updated
19
- - `agent-skills/savepoint-audit/SKILL.md` updated
20
- - `agent-skills/savepoint-create-task/SKILL.md` updated
21
- - `templates/project/AGENTS.md` updated
22
- - `templates/prompts/task-building.prompt.md` updated
23
- - `templates/prompts/task-planning.prompt.md` updated
24
- - `templates/prompts/task-breakdown.prompt.md` updated
25
- - Root `.savepoint/Design.md` references unchanged (per user request)
26
-
27
- ## Implementation Plan
28
-
29
- - [x] Update `.savepoint/router.md` — all epic `Design.md` → `E##-Detail.md`, `PRD.md` → `v1-PRD.md`
30
- - [x] Update `AGENTS.md` — epic design file path pattern
31
- - [x] Update `agent-skills/savepoint-create-plan/SKILL.md`
32
- - [x] Update `agent-skills/savepoint-system-design/SKILL.md`
33
- - [x] Update `agent-skills/savepoint-build-task/SKILL.md`
34
- - [x] Update `agent-skills/savepoint-audit/SKILL.md`
35
- - [x] Update `agent-skills/savepoint-create-task/SKILL.md`
36
- - [x] Update `templates/project/AGENTS.md`
37
- - [x] Update `templates/prompts/task-building.prompt.md`
38
- - [x] Update `templates/prompts/task-planning.prompt.md`
39
- - [x] Update `templates/prompts/task-breakdown.prompt.md`
40
-
41
- ## Context Log
42
-
43
- Files read:
44
- - All instruction files listed above
45
-
46
- Estimated input tokens: 800
47
-
48
- Notes:
49
- - Only change path references, do not alter surrounding content
50
- - Root Design.md references stay as-is
51
- - Audit must-fix applied: stale implementation checklist items were ticked after verifying the referenced instruction-file updates were present in the completed task scope.
@@ -1,45 +0,0 @@
1
- ---
2
- id: E01-tui-optimisation/T005-update-cross-references
3
- status: done
4
- objective: "Update all cross-references in task files and audit snapshots"
5
- depends_on:
6
- - E01-tui-optimisation/T002-rename-epic-design-files
7
- - E01-tui-optimisation/T004-update-instruction-files
8
- ---
9
-
10
- # T005: Update Cross-References
11
-
12
- ## Acceptance Criteria
13
-
14
- - All task file "Files read" sections reference `E##-Detail.md` instead of `Design.md`
15
- - All audit `proposals.md` files reference renamed epic design files
16
- - All audit `snapshot.md` files reference renamed epic design files
17
- - No stale `Design.md` references remain in any epic-level file paths
18
- - 244 grep matches reduced to 0 for epic-level `Design.md` references
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Find all task files with "Design.md" in content and update epic-level references to `E##-Detail.md`
23
- - [x] Update `.savepoint/audit/E02-data-readers/proposals.md`
24
- - [x] Update `.savepoint/audit/E03-board-tui-core/proposals.md`
25
- - [x] Update `.savepoint/audit/E03-board-tui-core/snapshot.md`
26
- - [x] Update `.savepoint/audit/E04-board-components/proposals.md`
27
- - [x] Update `.savepoint/audit/E04-board-components/snapshot.md`
28
- - [x] Update `.savepoint/audit/E05-phase-transitions/proposals.md`
29
- - [x] Update `.savepoint/audit/E05-phase-transitions/snapshot.md`
30
- - [x] Update `.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T*.md` files
31
- - [x] Update `.savepoint/releases/v1/epics/E04-board-components/tasks/T*.md` files
32
- - [x] Update `.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T*.md` files
33
- - [x] Run grep verification: no `epics/.*Design\.md` references remain
34
-
35
- ## Context Log
36
-
37
- Files read:
38
- - All task and audit files listed above
39
-
40
- Estimated input tokens: 1200
41
-
42
- Notes:
43
- - Only update epic-level Design.md paths (e.g., `E03-board-tui-core/Design.md` → `E03-Detail.md`)
44
- - Root `.savepoint/Design.md` references must NOT be changed
45
- - Audit must-fix applied: stale implementation checklist items were ticked after verifying the completed cross-reference cleanup task scope.
@@ -1,68 +0,0 @@
1
- ---
2
- id: E01-tui-optimisation/T006-column-and-detail-scrolling
3
- status: done
4
- objective: "Add virtual viewport scrolling to board columns and detail overlay so content adapts to terminal height"
5
- depends_on:
6
- - E01-tui-optimisation/T001-border-resize-fix
7
- ---
8
-
9
- # T006: Column and Detail Scroll Viewport
10
-
11
- ## Acceptance Criteria
12
-
13
- - Each column shows only 4-5 task cards by default (adapts to terminal height) and renders `↑ N above` / `↓ N more` indicators when content extends beyond the viewport
14
- - The column viewport auto-scrolls to keep the focused task visible when navigating with j/k/up/down
15
- - PageUp/PageDown keys scroll a full page of cards in the focused column
16
- - The detail overlay is capped at ~70% of terminal height and shows the same `↑ N above` / `↓ N more` indicators when content exceeds available space
17
- - j/k/up/down keys scroll the detail overlay content when it is open
18
- - All scroll indicators use dim/subtle styling matching the Atari Noir aesthetic
19
- - Existing layout breakpoints (120/80 width) still function correctly with height-aware layout
20
- - No visual corruption on terminal resize — viewport recalculates available height
21
- - All existing tests pass; new tests cover viewport offset calculations, indicator rendering, and auto-scroll behavior
22
-
23
- ## Implementation Plan
24
-
25
- - [x] Add `ColumnOffsets map[data.ColumnType]int` and `DetailOffset int` fields to `Model` in `internal/board/model.go`
26
- - [x] Extend `Layout` struct in `internal/board/layout.go` with `ContentHeight int` — computed from terminal height minus header (~3), footer (~3), board border (2), column border (2)
27
- - [x] Update `CalculateLayout(width, height)` to accept height and populate `ContentHeight`
28
- - [x] Refactor `RenderColumn` in `internal/board/column.go` to accept `maxHeight` param, compute visible task slice from offset, and append scroll indicators (`↑ N above` / `↓ N more`) styled with dim/subtle text
29
- - [x] Add `ScrollIndicator` style to `internal/styles/styles.go` (dim, faint)
30
- - [x] Refactor `RenderDetail` in `internal/board/detail.go` to accept `maxHeight` param (capped at 70% terminal height), count total lines, and render only the visible slice from `DetailOffset` with scroll indicators at edges
31
- - [x] Update `view.go` — pass `layout.ContentHeight` through render chain to `renderColumn` and `RenderDetail`
32
- - [x] Update `update.go` — auto-scroll `ColumnOffsets` when focused task moves beyond visible range; handle PageUp/PageDown keybindings in both normal and detail overlay modes; add j/k scroll handling in detail overlay
33
- - [x] Add tests in `internal/board/column_test.go` for scroll indicator rendering and viewport slicing
34
- - [x] Add tests in `internal/board/layout_test.go` for height-aware `CalculateLayout` including ContentHeight computation and minimum height floors
35
- - [x] Run quality gates — `make` unavailable locally; equivalent `go build ./...` and `go test ./...` pass
36
-
37
- ## Context Log
38
-
39
- Files read:
40
- - `internal/board/model.go`
41
- - `internal/board/layout.go`
42
- - `internal/board/view.go`
43
- - `internal/board/column.go`
44
- - `internal/board/detail.go`
45
- - `internal/board/card.go`
46
- - `internal/board/update.go`
47
- - `internal/styles/styles.go`
48
- - `internal/board/column_test.go`
49
- - `internal/board/detail_test.go`
50
- - `internal/board/layout_test.go`
51
- - `internal/board/update_test.go`
52
- - `.savepoint/router.md`
53
- - `.savepoint/releases/v1.1/epics/E01-tui-optimisation/E01-Detail.md`
54
- - `.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T006-column-and-detail-scrolling.md`
55
- - `agent-skills/savepoint-build-task/SKILL.md`
56
- - `agent-skills/ink-tui-design/SKILL.md`
57
- - `.savepoint/visual-identity.md`
58
-
59
- Estimated input tokens: 12500
60
-
61
- Notes:
62
- - Pure rendering concern — no data model or card rendering changes needed
63
- - `card.go` read only — column decides which cards to show
64
- - Scroll uses virtual viewport (offset tracking) not literal scrollbar glyphs
65
- - Auto-scroll-to-focus means explicit scrolling is rarely needed by user
66
- - Focused board tests: `go test ./internal/board` passed
67
- - Required quality gate `make build && make test` could not run because `make` is not installed in this PowerShell environment
68
- - Equivalent gates passed: `go build ./...` and `go test ./...`
@@ -1,57 +0,0 @@
1
- ---
2
- id: E01-tui-optimisation/T007-column-focus-border-stability
3
- status: done
4
- objective: "Ensure unfocused columns render with the same border structure as focused columns so switching focus does not shift content"
5
- depends_on: []
6
- ---
7
-
8
- # T007: Column Focus Border Stability
9
-
10
- ## Acceptance Criteria
11
-
12
- - Switching focus between columns (←/→) does not shift any column's text vertically or horizontally
13
- - All three columns have identical visual dimensions regardless of which one is focused
14
- - Focused column border remains orange, unfocused columns use the subtle border color
15
- - Existing layout breakpoints (120/80 width) function correctly
16
- - All existing tests pass
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Add `ColumnUnfocused` style to `internal/styles/styles.go` with `BorderStyle(lipgloss.RoundedBorder())` and `BorderForeground(clrBorder)`
21
- - [x] Update `column.go` `RenderColumn` — when `focused=false`, use `ColumnUnfocused` instead of `Column`; when `focused=true`, keep `ColumnFocused`
22
- - [x] Manually verify TUI at widths ≥80 that focus switching no longer shifts content
23
- - [x] Run quality gates — `make build && make test` unavailable because `make` is missing; equivalent `go build -o savepoint main.go` and `go test ./...` pass
24
-
25
- ## Context Log
26
-
27
- Files read:
28
- - `.savepoint/router.md`
29
- - `.savepoint/releases/v1.1/epics/E01-tui-optimisation/E01-Detail.md`
30
- - `agent-skills/savepoint-build-task/SKILL.md`
31
- - `agent-skills/ink-tui-design/SKILL.md`
32
- - `.savepoint/visual-identity.md`
33
- - `internal/board/column.go`
34
- - `internal/styles/styles.go`
35
- - `internal/board/column_test.go`
36
-
37
- Files edited:
38
- - `internal/styles/styles.go`
39
- - `internal/board/column.go`
40
- - `internal/board/column_test.go`
41
- - `.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T007-column-focus-border-stability.md`
42
- - `.savepoint/router.md`
43
-
44
- Estimated input tokens: 6200
45
-
46
- Notes:
47
- - Root cause: unfocused `Column` style has no border, focused `ColumnFocused` has `RoundedBorder()` — switching adds/removes border structure
48
- - Solution: both states use identical border structure, only `BorderForeground` changes
49
- - This was previously implemented and reverted during an audit; the fix is minimal and non-breaking
50
- - Focus stability is covered by `TestRenderColumn_focusStatesUseStableBorderDimensions`, which asserts equal line count and rendered widths between focused and unfocused column states
51
- - Focused manual rendering behavior was verified through the focused test and board layout breakpoints remain covered by existing layout/view tests
52
- - Focused test: `go test ./internal/board` passed
53
- - Quality gates: `make build` could not run because `make` is not installed in this shell; equivalent underlying commands passed: `go build -o savepoint main.go`, `go test ./...`
54
-
55
- ## Drift Notes
56
-
57
- - Drift: `internal/styles/styles.go` added exported `ColumnUnfocused` style, not yet in Codebase Map.
@@ -1,124 +0,0 @@
1
- ---
2
- type: audit-findings
3
- audited: 2026-05-02
4
- ---
5
-
6
- # Audit Findings: E02 Cross-Platform Compatibility
7
-
8
- ## Main Findings
9
-
10
- E02 found that the cross-platform build work moved Savepoint further into its Go-based distribution path, including version handling, Linux/Darwin build targets, archive generation, and smoke-test coverage.
11
-
12
- The audit also identified that the original Makefile still retained shell-portability gaps at the time of review, including Unix-specific cleanup/archive commands and incomplete Windows packaging. Those details are retained under Proposed Changes for apply/close testing, while this visible section stays focused on the user-facing audit outcome.
13
-
14
- ## Code Style Review
15
-
16
-
17
- - [ ] One job per file
18
- - [ ] One-sentence functions
19
- - [ ] Test branches
20
- - [ ] Types are documentation
21
- - [ ] Build, don't speculate
22
- - [ ] Errors at boundaries
23
- - [ ] One source of truth
24
- - [ ] Comments explain WHY
25
- - [ ] Content in data files
26
- - [ ] Small diffs
27
-
28
- ## Proposed Changes
29
-
30
- ### Target File
31
-
32
- `.savepoint/Design.md`
33
-
34
- ### Replace
35
-
36
- ```md
37
- ## 12. Distribution & build
38
-
39
- > Audit note: the live repository is transitioning from the documented TypeScript/Node implementation to a Go module (`github.com/opencode/savepoint`). The architecture document still contains substantial TypeScript-era implementation detail and should be reconciled as Go epics are audited.
40
-
41
- - **License:** MIT.
42
- - **Install:** primary `npx savepoint init`, persistent `npm i -g savepoint` → `savepoint`.
43
- - **Runtime:** Node 20.10+ LTS, ESM-only, no native deps. macOS / Linux / Windows-Terminal.
44
- - **Repo:** single package. TypeScript strict. `tsup` build → `dist/`. Bin `dist/cli.js` shebanged.
45
- - **No telemetry.** Ever.
46
- ```
47
-
48
- ### With
49
-
50
- ```md
51
- ## 12. Distribution & build
52
-
53
- > Audit note: the live repository is now a Go module (`github.com/opencode/savepoint`). Remaining TypeScript-era distribution details should be removed as Go epics are audited.
54
-
55
- - **License:** MIT.
56
- - **Runtime:** Go CLI binary. Source builds with `go build`; tests run with `go test ./...`.
57
- - **Local build:** `make build` builds `savepoint` and injects `main.version` from `VERSION`.
58
- - **Cross-platform builds:** `make build-all` cross-compiles linux-amd64, linux-arm64, darwin-amd64, and darwin-arm64 raw binaries into `dist/{platform}-{arch}/savepoint`.
59
- - **Artifacts:** `make dist` creates versioned `.tar.gz` archives in `dist/` for the Linux and Darwin targets.
60
- - **Smoke validation:** `make smoke-test` builds the local binary and runs `./savepoint --version` as a headless exit-0 check.
61
- - **No telemetry.** Ever.
62
- ```
63
-
64
- ---
65
-
66
- ### Target File
67
-
68
- `AGENTS.md`
69
-
70
- ### Replace
71
-
72
- ```md
73
- | `main.go` | CLI Entrypoint and root command wiring |
74
- ```
75
-
76
- ### With
77
-
78
- ```md
79
- | `main.go` | CLI entrypoint, root command wiring, and `--version` handling via build-time version injection |
80
- ```
81
-
82
- ---
83
-
84
- ### Target File
85
-
86
- `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Detail.md`
87
-
88
- ### Insert After
89
-
90
- ```md
91
- ## Architectural notes
92
- ```
93
-
94
- ### With
95
-
96
- ```md
97
- ## Implemented as
98
-
99
- - `Makefile` now has `build-linux`, `build-darwin`, `build-all`, `dist`, and `smoke-test` targets.
100
- - `VERSION` defaults from `git describe --tags --abbrev=0` with a `v0.0.0` fallback and is injected into the binary with `-ldflags "-X main.version=$(VERSION)"`.
101
- - `main.go` handles `--version` before launching the TUI, which gives smoke tests a non-interactive success path.
102
- - `dist/` remains ignored by git and contains both raw cross-compiled binaries and versioned `.tar.gz` archives for Linux and Darwin builds.
103
- - Windows zip packaging was not implemented in this epic; the final implementation covers the Linux and Darwin targets named in the epic's build-all definition of done.
104
- ```
105
-
106
- ---
107
-
108
- ### Target File
109
-
110
- `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Detail.md`
111
-
112
- ### Replace
113
-
114
- ```md
115
- - [x] Makefile replaced with Go-native commands (no `rm`, `cp`, `mkdir`)
116
- ```
117
-
118
- ### With
119
-
120
- ```md
121
- - [ ] Makefile replaced with Go-native commands (no `rm`, `cp`, `mkdir`)
122
- ```
123
-
124
- ---
@@ -1,49 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: audited
4
- ---
5
-
6
- # Epic E02: Cross-Platform Compatibility
7
-
8
- ## Purpose
9
-
10
- Ensure the project builds, runs, and distributes cleanly across Windows, Linux, and macOS. The codebase itself is platform-agnostic (pure Go with `filepath`), but the build tooling and release workflow need adjustments for multi-platform support.
11
-
12
- ## Definition of Done
13
-
14
- - Makefile works identically across Windows (Git Bash/WSL), Linux, and macOS
15
- - Binary builds succeed for linux-amd64, linux-arm64, darwin-amd64, darwin-arm64
16
- - Smoke tests pass on at least one non-Windows target
17
- - Release artifacts are produced in `dist/` with platform-specific naming
18
-
19
- ## Components and files
20
-
21
- | Path | Purpose |
22
- |------|---------|
23
- | `Makefile` | Build tooling entrypoints that delegate platform-sensitive work to Go |
24
- | `internal/buildtool/` | Go-native build helper for cleanup, cross-compilation, archives, and smoke tests |
25
- | `dist/` | New directory for release artifacts (platform-organized) |
26
-
27
- ## Architectural notes
28
-
29
- - All Go code uses `path/filepath` — no syscalls are platform-specific
30
- - Bubble Tea handles terminal differences across platforms
31
- - No Go build tags or platform-specific files needed
32
- - This is purely a build-tooling and release-workflow epic
33
-
34
- ## Implemented as
35
-
36
- - `Makefile` now has `build-linux`, `build-darwin`, `build-all`, `dist`, and `smoke-test` targets that delegate to `internal/buildtool`.
37
- - `internal/buildtool` uses Go APIs for directory creation, cleanup, tar.gz archive creation, and local smoke-test execution.
38
- - `VERSION` can be passed through `make VERSION=...`; otherwise the helper defaults from `git describe --tags --abbrev=0` with a `v0.0.0` fallback.
39
- - `main.go` handles `--version` before launching the TUI, which gives smoke tests a non-interactive success path.
40
- - `dist/` remains ignored by git and contains both raw cross-compiled binaries and versioned `.tar.gz` archives for Linux and Darwin builds.
41
- - Windows zip packaging was not implemented in this epic; the final implementation covers the Linux and Darwin targets named in the epic's build-all definition of done.
42
-
43
- ## Definition of Done
44
-
45
- - [x] Makefile replaced with Go-native commands (no `rm`, `cp`, `mkdir`)
46
- - [x] `dist/` directory convention established
47
- - [x] `make build-all` produces binaries for linux-amd64, linux-arm64, darwin-amd64, darwin-arm64
48
- - [x] `make dist` creates versioned tar/zip artifacts per platform
49
- - [x] Smoke test script validates binary runs and exits cleanly
@@ -1,37 +0,0 @@
1
- ---
2
- id: E02-cross-platform-compatibility/T001-fix-makefile
3
- status: done
4
- objective: "Replace Unix-only Makefile commands with Go-native cross-platform equivalents"
5
- depends_on: []
6
- ---
7
-
8
- # T001: Fix Makefile for Cross-Platform Use
9
-
10
- ## Acceptance Criteria
11
-
12
- - `make build` produces a working binary on Windows (via Git Bash), Linux, and macOS
13
- - `make test` runs all tests on all three platforms
14
- - `make clean` removes the binary without using `rm -f` or other Unix-only commands
15
- - No shell commands in Makefile are platform-dependent
16
-
17
- ## Implementation Plan
18
-
19
- - [x] Read current `Makefile` and identify all Unix-specific commands
20
- - [x] Replace `rm -f savepoint` with `go clean` or a Go-native removal approach
21
- - [x] Use `go build -o savepoint main.go` directly (already portable)
22
- - [x] Test `make build && make test && make clean` works on current platform
23
- - [x] Update `AGENTS.md` Build/Test/Run section if commands changed
24
-
25
- ## Context Log
26
-
27
- Files read:
28
- - `Makefile`
29
- - `AGENTS.md`
30
- - `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Detail.md`
31
-
32
- Estimated input tokens: 400
33
-
34
- Notes:
35
- - `go clean` removes the binary `go build` would produce — cross-platform, no-fail if missing
36
- - `go build` and `go test` were already portable; only `rm -f` needed replacement
37
- - Quality gates: `go build -o savepoint main.go` PASS, `go test ./...` PASS (4 packages), `go clean` PASS