savepoint 1.0.3 → 1.0.6

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