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,45 +0,0 @@
1
- ---
2
- id: E06-audit-command/T010-audit-file-migration
3
- status: done
4
- objective: Move existing audit files from .savepoint/audit/v1.1/ to epic folders as E##-Audit.md
5
- depends_on: []
6
- ---
7
-
8
- # T010: Audit File Migration
9
- ## Migration of existing audit files from .savepoint/audit/ to epic folder
10
-
11
- ## Acceptance Criteria
12
-
13
- - [x] Script reads all `.savepoint/audit/v1.1/{E##}/proposals.md` and `snapshot.md` files
14
- - [x] For each epic, concatenates content into single E##-Audit.md file
15
- - [x] Writes to `.savepoint/releases/v1.1/epics/{E##}/E##-Audit.md`
16
- - [x] Deletes old audit folders after migration
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Created migration:
21
- - Read proposals.md from each epic (if exists)
22
- - Read snapshot.md from each epic (if exists)
23
- - Wrote E##-Audit.md format with frontmatter + Main Findings + Quality Review + Code Style Review
24
- - Wrote to corresponding epic folder
25
- - Deleted `.savepoint/audit/` folder
26
- - [x] 4 audit files created:
27
- - E02-Audit.md (Cross-Platform Compatibility)
28
- - E03-Audit.md (UI Visual Refinement)
29
- - E04-Audit.md (Epic Navigation)
30
- - E05-Audit.md (Tasking Permissions)
31
- - [x] Quality gates: `go build` passed
32
-
33
- ## Context Log
34
-
35
- Files created:
36
- - `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Audit.md`
37
- - `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Audit.md`
38
- - `.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Audit.md`
39
- - `.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Audit.md`
40
-
41
- Notes:
42
- - E01 not migrated - no audit files existed
43
- - E06+ not migrated - no audit files existed yet
44
- - Old `.savepoint/audit/` folder deleted after migration
45
- - Next task: T011 (Model Tab State)
@@ -1,26 +0,0 @@
1
- ---
2
- id: E06-audit-command/T011-model-tab-state
3
- status: done
4
- objective: Add tab state to board Model for Detail/Audit switching
5
- depends_on: []
6
- ---
7
-
8
- # T011: Model Tab State
9
-
10
- ## Acceptance Criteria
11
-
12
- - [x] `EpicDetailTab int` added to Model (0=Detail, 1=Audit)
13
- - [x] `EpicAuditContent string` added to Model (cached audit file content)
14
- - [x] Defaults to 0 (Detail tab)
15
- - [x] `make build` passes
16
- - [x] `make test` passes
17
-
18
- ## Implementation Plan
19
-
20
- - [ ] Add to `Model` struct in `internal/board/model.go`:
21
- ```go
22
- EpicDetailTab int // 0=Detail, 1=Audit
23
- EpicAuditContent string // cached E##-Audit.md content
24
- ```
25
- - [ ] Run `make build`
26
- - [ ] Run `make test`
@@ -1,33 +0,0 @@
1
- ---
2
- id: E06-audit-command/T012-epic-audit-render
3
- status: done
4
- objective: Add RenderEpicAuditTab function to render audit findings + code style checklist
5
- depends_on:
6
- - E06-audit-command/T011-model-tab-state
7
- ---
8
-
9
- # T012: Render Epic Audit Tab
10
-
11
- ## Acceptance Criteria
12
-
13
- - [ ] `RenderEpicAuditTab(epicSlug, content string, overlayW, maxHeight, offset int) string` function created
14
- - [ ] Renders "EPIC AUDIT" header
15
- - [ ] Parses E##-Audit.md Markdown content (Main Findings + Code Style Review sections)
16
- - [ ] Renders code style checkboxes with appropriate styling
17
- - [ ] Uses existing scroll helpers (visibleDetailLines)
18
- - [ ] Tests pass
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Add `RenderEpicAuditTab()` function to `internal/board/epic_panel.go`:
23
- - Similar structure to `RenderEpicDetail()`
24
- - Parse markdown content: strip frontmatter, extract sections
25
- - Render header with audit title style
26
- - Render body: findings content + checklist
27
- - Reuse `visibleDetailLines`, `WrapText` from detail.go
28
- - [x] Add unit tests for parsing and rendering
29
- - [x] Ensure scroll behavior matches detail overlay
30
-
31
- ## Fixed
32
-
33
- - Section filtering: `epicAuditBody` now only renders "Quality Review" and "Code Style Review" sections, excluding all other sections per acceptance criteria
@@ -1,34 +0,0 @@
1
- ---
2
- id: E06-audit-command/T013-handle-tab-keys
3
- status: done
4
- objective: Handle 1/2 keys to switch tabs in Epic Detail overlay
5
- depends_on:
6
- - E06-audit-command/T011-model-tab-state
7
- - E06-audit-command/T012-epic-audit-render
8
- ---
9
-
10
- # T013: Handle Tab Keys
11
-
12
- ## Acceptance Criteria
13
-
14
- - [x] Pressing `1` switches to Detail tab (EpicDetailTab = 0)
15
- - [x] Pressing `2` switches to Audit tab (EpicDetailTab = 1)
16
- - [x] When switching to Audit tab, loads E##-Audit.md content
17
- - [x] Audit content cached in EpicAuditContent
18
- - [x] Scrolling works on both tabs
19
- - [x] Tests pass
20
-
21
- ## Implementation Plan
22
-
23
- - [ ] In `internal/board/update.go`:
24
- - When `m.Overlay == OverlayEpicDetail`:
25
- - If key is `1` → set `m.EpicDetailTab = 0`
26
- - If key is `2` →:
27
- - set `m.EpicDetailTab = 1`
28
- - if `m.EpicAuditContent == ""`:
29
- - derive audit file path
30
- - read file with `os.ReadFile`
31
- - if error → set `m.EpicAuditContent = "(no audit available)"`
32
- - else → cache content
33
- - [ ] Add test for tab switching
34
- - [ ] Add test for audit file loading on first access
@@ -1,33 +0,0 @@
1
- ---
2
- id: E06-audit-command/T014-tab-indicator
3
- status: done
4
- objective: Update Epic Detail overlay header to show tab indicator and switch between tabs in view.go
5
- depends_on:
6
- - E06-audit-command/T011-model-tab-state
7
- - E06-audit-command/T012-epic-audit-render
8
- - E06-audit-command/T013-handle-tab-keys
9
- ---
10
-
11
- # T014: Tab Indicator
12
-
13
- ## Acceptance Criteria
14
-
15
- - [ ] Tab indicator shown in overlay header: "EPIC DETAIL [1] │ AUDIT [2]"
16
- - [ ] Active tab highlighted/bold
17
- - [ ] Switches between RenderEpicDetail and RenderEpicAuditTab based on EpicDetailTab state
18
- - [ ] Tests pass and verify indicator rendering
19
-
20
- ## Implementation Plan
21
-
22
- - [ ] In `internal/board/view.go`:
23
- - When `m.Overlay == OverlayEpicDetail`:
24
- - Check `m.EpicDetailTab` state
25
- - If 0 → call existing `RenderEpicDetail()`
26
- - If 1 → call `RenderEpicAuditTab()`
27
- - Pass `EpicDetailTab` to renderer for header rendering
28
- - [ ] Update `RenderEpicDetail()` in `epic_panel.go`:
29
- - Accept `tab int` parameter
30
- - Render tab indicator line before content
31
- - Highlight active tab number (bold or different color)
32
- - [ ] Update `RenderEpicAuditTab()` similarly
33
- - [ ] Add test for tab indicator rendering with both tab states
@@ -1,336 +0,0 @@
1
- ---
2
- type: audit-findings
3
- audited: 2026-05-03
4
- ---
5
-
6
- # Audit Findings: E07 Init Command
7
-
8
- ## Main Findings
9
-
10
- E07 is implemented and the Go baseline passes: `go test ./internal/init ./cmd`, `go build ./...`, and `go test ./...` all succeeded. The command parser, target validation, scaffold copy, prompt rendering, clipboard best-effort path, and integration coverage are present.
11
-
12
- Audit apply resolved the generated-template drift. New Savepoint projects now receive `stage` task-status instructions, `make build && make test` quality-gate guidance, and the current epic-local `E##-Audit.md` audit workflow instead of the archived `.savepoint/audit/.../proposals.md` pipeline.
13
-
14
- Audit apply also tightened scaffold safety. Init validation now treats an existing root `agent-skills/` directory as a conflict unless `--force` is set, and `AtomicWrite` uses a portable replace helper that falls back to backup/restore when a platform cannot rename over an existing target.
15
-
16
- The clipboard task record was reconciled: `T006-clipboard.md` now reflects the implemented `ClipboardResult` API, best-effort status handling, current-platform tests, and completed Go quality gates.
17
-
18
- ## Code Style Review
19
-
20
- - [x] One job per file
21
- - [x] One-sentence functions
22
- - [x] Test branches
23
- - [x] Types are documentation
24
- - [x] Build, don't speculate
25
- - [x] Errors at boundaries
26
- - [x] One source of truth
27
- - [x] Comments explain WHY
28
- - [x] Content in data files
29
- - [x] Small diffs
30
-
31
- The audit-close patch brought generated workflow content back in line with the live root instructions, added tests that guard template freshness, and kept the scaffold conflict/overwrite fixes scoped to `internal/init`.
32
-
33
- ## Proposed Changes
34
-
35
- ### Target File
36
- templates/project/AGENTS.md
37
-
38
- ### Replace
39
- ```
40
- - `phase` (build/test/audit): only when `status: in_progress`
41
- ```
42
-
43
- ### With
44
- ```
45
- - `stage` (build/test/audit): **required** when `status: in_progress` — omitting it is a parse error
46
- ```
47
-
48
- ### Target File
49
- templates/project/AGENTS.md
50
-
51
- ### Replace
52
- ```
53
- 2. When starting implementation, set task frontmatter to `status: in_progress`
54
- ```
55
-
56
- ### With
57
- ```
58
- 2. When starting implementation, set task frontmatter to `status: in_progress` + `stage: build` (both required together)
59
- ```
60
-
61
- ### Target File
62
- templates/project/AGENTS.md
63
-
64
- ### Replace
65
- ```
66
- npm run build && npm run test
67
- ```
68
-
69
- ### With
70
- ```
71
- make build && make test
72
- ```
73
-
74
- ### Target File
75
- templates/project/.savepoint/router.md
76
-
77
- ### Replace
78
- ```
79
- ## Manual audit override
80
-
81
- If the user explicitly asks you to audit an epic, perform the audit for that epic even if the router has not reached `state: audit-pending` yet.
82
-
83
- Persist the audit artifacts before replying:
84
-
85
- - Ensure `.savepoint/audit/{E##-epic}/snapshot.md` exists. Create a manual snapshot once if needed.
86
- - Write the proposal bundle to `.savepoint/audit/{release}/{E##-epic}/proposals.md`.
87
- - Do not stop at chat-only findings. The filesystem artifact is part of the task output.
88
- ```
89
-
90
- ### With
91
- ```
92
- ## Manual audit override
93
-
94
- If the user explicitly asks you to audit an epic, perform the audit for that epic even if the router has not reached `state: audit-pending` yet.
95
-
96
- Persist the audit artifact before replying:
97
-
98
- - Write exactly one `.savepoint/releases/{release}/epics/{E##-epic}/E##-Audit.md`.
99
- - Include `## Main Findings`, `## Code Style Review`, and `## Proposed Changes`.
100
- - Keep file-specific `### Target File` / `### Replace` / `### With` blocks under `## Proposed Changes`.
101
- - Do not apply proposals or mark the epic audited until the user says `apply audit`.
102
- ```
103
-
104
- ### Target File
105
- templates/project/.savepoint/router.md
106
-
107
- ### Replace
108
- ```
109
- **Next action (fresh session only):** Confirm `.savepoint/audit/{E##-epic}/snapshot.md` exists. If it is missing while the audit CLI is still unavailable, create one manual snapshot from the known epic scope once; do not search broadly for replacement inputs. Then read the snapshot, read the epic's `Design.md`, and read only the files listed as changed. Write one patch-shaped proposal bundle to `.savepoint/audit/{E##-epic}/proposals.md`:
110
- ```
111
-
112
- ### With
113
- ```
114
- **Next action (fresh session only):** Read the epic's `E##-Detail.md`, task files, drift notes, `.savepoint/Design.md`, `AGENTS.md`, and scoped changed files. Write one epic-local audit file to `.savepoint/releases/{release}/epics/{E##-epic}/E##-Audit.md`:
115
- ```
116
-
117
- ### Target File
118
- templates/project/.savepoint/router.md
119
-
120
- ### Replace
121
- ```
122
- - `Design.md` section — merge only the epic delta into project architecture.
123
- - `AGENTS.md` section — refresh Codebase Map entries from changed-module metadata; preserve existing rows.
124
- - `epic-Design.md` section — add "Implemented as:" notes and deltas from the original plan.
125
- - `Quality Review` section — semantic-review findings against the 10 Code Style rules.
126
- ```
127
-
128
- ### With
129
- ```
130
- - `## Main Findings` — user-facing AC verification, important drift, and notable risks.
131
- - `## Code Style Review` — checklist against the 10 AGENTS.md code style rules.
132
- - `## Proposed Changes` — admin/apply metadata using `### Target File`, `### Replace`, and `### With`.
133
- ```
134
-
135
- ### Target File
136
- templates/project/.savepoint/router.md
137
-
138
- ### Replace
139
- ```
140
- After proposals are approved, apply approved proposals to live files, mark the epic `Design.md` as `status: audited`, update project `Design.md` `last_audited`, refresh `AGENTS.md` Codebase Map, and advance this router to the next epic state.
141
- ```
142
-
143
- ### With
144
- ```
145
- After proposals are approved, apply approved proposals to live files, mark the epic `E##-Detail.md` as `status: audited`, update project `Design.md` `last_audited`, refresh `AGENTS.md` Codebase Map if needed, and advance this router to the next epic state.
146
- ```
147
-
148
- ### Target File
149
- internal/init/validate.go
150
-
151
- ### Replace
152
- ```
153
- var conflictingFiles = []string{
154
- "AGENTS.md",
155
- }
156
- ```
157
-
158
- ### With
159
- ```
160
- var conflictingFiles = []string{
161
- "AGENTS.md",
162
- "agent-skills",
163
- }
164
- ```
165
-
166
- ### Target File
167
- internal/init/scaffold_test.go
168
-
169
- ### Replace
170
- ```
171
- func TestScaffold_preservesExistingWithoutForce(t *testing.T) {
172
- ```
173
-
174
- ### With
175
- ```
176
- func TestScaffold_overwritesExistingAfterValidation(t *testing.T) {
177
- ```
178
-
179
- ### Target File
180
- internal/init/validate_test.go
181
-
182
- ### Replace
183
- ```
184
- func TestValidateTarget_conflictingFileWithForce(t *testing.T) {
185
- dir := t.TempDir()
186
- if err := os.WriteFile(filepath.Join(dir, "AGENTS.md"), []byte("existing"), 0644); err != nil {
187
- t.Fatal(err)
188
- }
189
-
190
- err := ValidateTarget(dir, true)
191
- if err != nil {
192
- t.Fatalf("ValidateTarget() with --force error = %v, want nil", err)
193
- }
194
- }
195
- ```
196
-
197
- ### With
198
- ```
199
- func TestValidateTarget_conflictingFileWithForce(t *testing.T) {
200
- dir := t.TempDir()
201
- if err := os.WriteFile(filepath.Join(dir, "AGENTS.md"), []byte("existing"), 0644); err != nil {
202
- t.Fatal(err)
203
- }
204
-
205
- err := ValidateTarget(dir, true)
206
- if err != nil {
207
- t.Fatalf("ValidateTarget() with --force error = %v, want nil", err)
208
- }
209
- }
210
-
211
- func TestValidateTarget_conflictingAgentSkillsDirectory(t *testing.T) {
212
- dir := t.TempDir()
213
- if err := os.Mkdir(filepath.Join(dir, "agent-skills"), 0755); err != nil {
214
- t.Fatal(err)
215
- }
216
-
217
- err := ValidateTarget(dir, false)
218
- if err == nil {
219
- t.Fatal("ValidateTarget() expected error for conflicting agent-skills directory")
220
- }
221
- if !errors.Is(err, ErrConflict) {
222
- t.Fatalf("ValidateTarget() error type = %v, want ErrConflict", err)
223
- }
224
- }
225
- ```
226
-
227
- ### Target File
228
- internal/init/write.go
229
-
230
- ### Replace
231
- ```
232
- if err := os.Rename(tmpName, target); err != nil {
233
- return fmt.Errorf("rename temp to target: %w", err)
234
- }
235
- ```
236
-
237
- ### With
238
- ```
239
- if err := replaceFile(tmpName, target); err != nil {
240
- return fmt.Errorf("replace target with temp file: %w", err)
241
- }
242
- ```
243
-
244
- ### Target File
245
- internal/init/write.go
246
-
247
- ### Replace
248
- ```
249
- return nil
250
- }
251
- ```
252
-
253
- ### With
254
- ```
255
- return nil
256
- }
257
-
258
- func replaceFile(tmpName, target string) error {
259
- if err := os.Rename(tmpName, target); err == nil {
260
- return nil
261
- }
262
-
263
- if _, statErr := os.Stat(target); statErr != nil {
264
- return os.Rename(tmpName, target)
265
- }
266
-
267
- backup := target + ".savepoint-bak"
268
- _ = os.Remove(backup)
269
- if err := os.Rename(target, backup); err != nil {
270
- return err
271
- }
272
- if err := os.Rename(tmpName, target); err != nil {
273
- _ = os.Rename(backup, target)
274
- return err
275
- }
276
- return os.Remove(backup)
277
- }
278
- ```
279
-
280
- ### Target File
281
- .savepoint/Design.md
282
-
283
- ### Replace
284
- ```
285
- - **Init command** (`savepoint init`) validates, scaffolds, prints prompt, clipboard, optional install (epic E05).
286
- ```
287
-
288
- ### With
289
- ```
290
- - **Init command** (`savepoint init`) validates target directories, scaffolds rendered copies of `templates/project/`, prints the rendered magic prompt, attempts best-effort clipboard copy, and optionally runs `npm install` after scaffolding (v1.1 E07).
291
- ```
292
-
293
- ### Target File
294
- .savepoint/releases/v1.1/epics/E07-init-command/E07-Detail.md
295
-
296
- ### Replace
297
- ```
298
- ## Boundaries
299
- ```
300
-
301
- ### With
302
- ```
303
- ## Implemented As
304
-
305
- - `cmd/init.go` owns init argument parsing and delegates execution through `InitRunner`.
306
- - `main.go` embeds `templates/project/` and `templates/prompts/`, then wires validation, scaffold, prompt rendering, clipboard copy, and optional install in sequence.
307
- - `internal/init/` owns validation, scaffold interpolation, atomic writes, prompt rendering, clipboard copy, dependency install, and integration tests.
308
- - Audit found that generated workflow templates need reconciliation with the current epic-local audit workflow before closing.
309
-
310
- ## Boundaries
311
- ```
312
-
313
- ### Target File
314
- .savepoint/releases/v1.1/epics/E07-init-command/tasks/T006-clipboard.md
315
-
316
- ### Replace
317
- ```
318
- - [ ] Add `internal/init/clipboard.go`
319
- - [ ] Implement `CopyToClipboard(text) error`
320
- - [ ] Detect platform: Windows (clip.exe), macOS (pbcopy), Linux (xclip/xsel)
321
- - [ ] Fall back gracefully if clipboard tools unavailable
322
- - [ ] Log skip or failure without failing init
323
- - [ ] Test clipboard on each platform
324
- - [ ] Run `make build && make test`
325
- ```
326
-
327
- ### With
328
- ```
329
- - [x] Add `internal/init/clipboard.go`
330
- - [x] Implement `CopyToClipboard(text) ClipboardResult`
331
- - [x] Detect platform: Windows (clip.exe), macOS (pbcopy), Linux (xclip/xsel)
332
- - [x] Fall back gracefully if clipboard tools unavailable
333
- - [x] Log skip or failure without failing init
334
- - [x] Test clipboard status handling on the current platform
335
- - [x] Run quality gates (`go test ./internal/init ./cmd`, `go build ./...`, `go test ./...`)
336
- ```
@@ -1,61 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: audited
4
- ---
5
-
6
- # E07: Init Command
7
-
8
- ## Purpose
9
-
10
- Implement `savepoint init`, the first-run command that creates a Savepoint workflow in an empty or compatible project directory and prints the magic prompt the user gives to an AI agent.
11
-
12
- ## Interface
13
-
14
- ```bash
15
- savepoint init [dir] # scaffold .savepoint/ in target directory
16
- savepoint init [dir] --force # overwrite existing
17
- savepoint init [dir] --install # run npm install after scaffold
18
- ```
19
-
20
- ## What this epic adds
21
-
22
- - Target directory validation (missing, empty, compatible, already-initialized, conflicting, boundary-error)
23
- - Scaffold writing from `templates/project/`
24
- - Project name interpolation
25
- - Safe handling (refuse conflicts by default, temp-file-plus-rename)
26
- - Magic prompt output to stdout (from `templates/prompts/magic-prompt.prompt.md`)
27
- - Best-effort clipboard copy (doesn't fail if unavailable)
28
- - Optional `--install` flag for dev dependencies
29
- - Integration tests using temporary directories
30
-
31
- ## Components
32
-
33
- | Module | Purpose |
34
- |--------|---------|
35
- | `cmd/init.go` | CLI registration, arg parsing |
36
- | `internal/init/validate.go` | Target directory checks |
37
- | `internal/init/scaffold.go` | Template copy, project name interpolation |
38
- | `internal/init/write.go` | Atomic writes with temp-file-plus-rename |
39
- | `internal/init/prompt.go` | Magic prompt rendering from template |
40
- | `internal/init/clipboard.go` | Platform clipboard detection and copy |
41
-
42
- ## Implemented As
43
-
44
- - `cmd/init.go` owns init argument parsing and delegates execution through `InitRunner`.
45
- - `main.go` embeds `templates/project/` and `templates/prompts/`, then wires validation, scaffold, prompt rendering, clipboard copy, and optional install in sequence.
46
- - `internal/init/` owns validation, scaffold interpolation, atomic writes, prompt rendering, clipboard copy, dependency install, and integration tests.
47
- - Audit reconciled generated workflow templates with the current epic-local audit workflow before closing.
48
-
49
- ## Boundaries
50
-
51
- **In scope:**
52
- - Create `.savepoint/` and root `AGENTS.md`
53
- - Print the initial agent prompt
54
- - Avoid overwriting user files unless explicitly allowed by flags
55
- - Support Windows, macOS, and Linux filesystem behavior
56
-
57
- **Out of scope:**
58
- - Creating epics/tasks interactively
59
- - Running the board after init
60
- - Implementing audit or doctor
61
- - Managing package installation beyond the optional one-shot path
@@ -1,37 +0,0 @@
1
- ---
2
- id: E07-init-command/T001-cli-entrypoint
3
- status: done
4
- objective: "Create CLI entrypoint for savepoint init command"
5
- depends_on: []
6
- ---
7
-
8
- # T001: CLI Entrypoint
9
-
10
- ## Acceptance Criteria
11
-
12
- - `savepoint init --help` shows usage: `init [dir] [--force] [--install]`
13
- - `savepoint init` uses current directory
14
- - `savepoint init <dir>` uses specified directory
15
- - `--force` flag allows overwriting existing .savepoint
16
- - `--install` flag triggers dev dependency install after scaffold
17
- - Unknown flags show error and exit non-zero
18
-
19
- ## Implementation Plan
20
-
21
- - [x] Add `cmd/init.go` with CLI arg parsing
22
- - [x] Wire init command into main.go dispatch
23
- - [x] Implement arg validation (dir, --force, --install)
24
- - [x] Default to current directory if no dir specified
25
- - [x] Test `savepoint init --help` output
26
- - [x] Run quality gates (`make` unavailable; used direct Go build/test)
27
-
28
- ## Context Log
29
-
30
- - Files read: `.savepoint/router.md`, `E07-Detail.md`, this task file, E07 task files T002-T007, `main.go`, `go.mod`, `Makefile`, `internal/board/board.go`, archived E05 init task.
31
- - Files edited: `cmd/init.go`, `cmd/init_test.go`, `main.go`, this task file, `.savepoint/router.md`.
32
- - Estimated input tokens: ~18k.
33
- - Quality gates: `go test ./cmd` passed; `make build` could not run because `make` is not installed; `go build ./...` passed with a Go module cache warning; `go test ./...` passed; `go run . init --help` printed `Usage: init [dir] [--force] [--install]`; `go run . init --bogus` exited non-zero with an unknown flag error.
34
-
35
- ## Drift Notes
36
-
37
- - Added new `cmd/` package for CLI command parsing and dispatch. This module is listed in the E07 epic design but is not yet listed in the AGENTS.md Codebase Map.
@@ -1,28 +0,0 @@
1
- ---
2
- id: E07-init-command/T002-target-validation
3
- status: done
4
- objective: "Implement target directory validation"
5
- depends_on: ["E07-init-command/T001-cli-entrypoint"]
6
- ---
7
-
8
- # T002: Target Validation
9
-
10
- ## Acceptance Criteria
11
-
12
- - Target missing → error with helpful message
13
- - Target empty → proceed with init
14
- - Target has compatible files (package.json, .git, etc.) → proceed
15
- - Target already has .savepoint → error unless --force
16
- - Target has conflicting files → error unless --force
17
- - Boundary errors (permission denied) → clear error message
18
-
19
- ## Implementation Plan
20
-
21
- - [x] Add `internal/init/validate.go`
22
- - [x] Implement `ValidateTarget(path, force) error`
23
- - [x] Check directory exists, is writable
24
- - [x] Check for existing .savepoint (conflict)
25
- - [x] Check for compatible project files
26
- - [x] Handle permission errors with clear messages
27
- - [x] Test all validation scenarios
28
- - [x] Run `make build && make test`
@@ -1,46 +0,0 @@
1
- ---
2
- id: E07-init-command/T003-scaffold-writer
3
- status: done
4
- objective: "Implement scaffold writing from templates"
5
- depends_on: ["E07-init-command/T002-target-validation"]
6
- ---
7
-
8
- # T003: Scaffold Writer
9
-
10
- ## Acceptance Criteria
11
-
12
- - Reads templates from `templates/project/` directory
13
- - Interpolates project name into template files (AGENTS.md, config.yml)
14
- - Creates parent directories as needed
15
- - Excludes conflicting files unless --force
16
- - Copies all .savepoint/ contents
17
- - Creates root AGENTS.md from template
18
-
19
- ## Implementation Plan
20
-
21
- - [x] Add `internal/init/scaffold.go`
22
- - [x] Implement `Scaffold(targetDir, projectName, force) error`
23
- - [x] Load templates from embedded or filesystem path
24
- - [x] Implement template variable interpolation (project name)
25
- - [x] Create .savepoint/ directory structure
26
- - [x] Copy all template files to target
27
- - [x] Create root AGENTS.md from template
28
- - [x] Test scaffold output in temp directory
29
- - [x] Run `make build && make test`
30
-
31
- ## Context Log
32
-
33
- - Files read: router.md, E07-Detail.md, T002-target-validation.md, T001-cli-entrypoint.md, cmd/init.go, cmd/init_test.go, main.go, internal/init/validate.go, internal/init/validate_test.go, Makefile, templates/project/**/*
34
- - Files created: internal/init/scaffold.go, internal/init/scaffold_test.go
35
- - Files modified: main.go, T003-scaffold-writer.md
36
- - Estimated input tokens: ~14k
37
- - Key decisions:
38
- - Used Go `embed.FS` with `fs.Sub` to embed `templates/project/` recursively.
39
- - Explicit `//go:embed templates/project/.savepoint` needed because Go's embed excludes dotfile-prefixed directories from recursive directory embedding.
40
- - Scaffold accepts `fs.FS` for testability; tested with `testing/fstest.MapFS`.
41
- - Init runner in `main.go` validates first (reuses T002), then scaffolds.
42
- - Template variables: `{{PROJECT_NAME}}` and `{{RELEASE_NUMBER}}` replaced via `strings.ReplaceAll`.
43
-
44
- ## Drift Notes
45
-
46
- - `cmd/` and `internal/init/` modules were not in AGENTS.md Codebase Map. Updated AGENTS.md to include both.