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,38 +0,0 @@
1
- ---
2
- id: E02-cross-platform-compatibility/T002-linux-build-target
3
- status: done
4
- objective: "Add Linux build targets for amd64 and arm64 architectures"
5
- depends_on:
6
- - E02-cross-platform-compatibility/T001-fix-makefile
7
- ---
8
-
9
- # T002: Add Linux Build Target
10
-
11
- ## Acceptance Criteria
12
-
13
- - `make build-linux` produces linux-amd64 and linux-arm64 binaries in `dist/`
14
- - Binaries have correct ELF format (can be verified via `file` command on Linux)
15
- - `dist/` directory is created automatically if it doesn't exist
16
- - Binaries are named `dist/linux-amd64/savepoint` and `dist/linux-arm64/savepoint`
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Add `build-linux` Makefile target with `GOOS=linux GOARCH=amd64` and `GOOS=linux GOARCH=arm64`
21
- - [x] Ensure `dist/` directory creation is part of the build target
22
- - [x] Use `go build` with output flags to place binaries in `dist/` subdirectories
23
- - [x] Verify binaries build correctly with `make build-linux`
24
-
25
- ## Context Log
26
-
27
- Files read:
28
- - `Makefile`
29
- - `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Detail.md`
30
- - `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T001-fix-makefile.md`
31
-
32
- Estimated input tokens: 500
33
-
34
- Notes:
35
- - Go cross-compilation built-in — no external tooling required
36
- - `mkdir -p` used for dist subdirs; portable across Linux, macOS, Git Bash on Windows
37
- - Binaries verified: dist/linux-amd64/savepoint ELF 64-bit x86-64, dist/linux-arm64/savepoint ELF 64-bit ARM aarch64
38
- - Quality gates: `go build` PASS, `go test ./...` PASS (4 packages)
@@ -1,36 +0,0 @@
1
- ---
2
- id: E02-cross-platform-compatibility/T003-macos-build-target
3
- status: done
4
- objective: "Add macOS build targets for amd64 and arm64 architectures"
5
- depends_on:
6
- - E02-cross-platform-compatibility/T001-fix-makefile
7
- ---
8
-
9
- # T003: Add macOS Build Target
10
-
11
- ## Acceptance Criteria
12
-
13
- - `make build-darwin` produces darwin-amd64 and darwin-arm64 binaries in `dist/`
14
- - Binaries have correct Mach-O format
15
- - `dist/` directory is created automatically if it doesn't exist
16
- - Binaries are named `dist/darwin-amd64/savepoint` and `dist/darwin-arm64/savepoint`
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Add `build-darwin` Makefile target with `GOOS=darwin GOARCH=amd64` and `GOOS=darwin GOARCH=arm64`
21
- - [x] Ensure output goes to `dist/darwin-amd64/` and `dist/darwin-arm64/`
22
- - [x] Verify binaries build correctly with `make build-darwin`
23
-
24
- ## Context Log
25
-
26
- Files read:
27
- - `Makefile`
28
- - `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Detail.md`
29
- - `.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T003-macos-build-target.md`
30
-
31
- Estimated input tokens: 400
32
-
33
- Notes:
34
- - Mirrors T002 pattern for darwin
35
- - Binaries verified: dist/darwin-amd64/savepoint Mach-O 64-bit x86_64, dist/darwin-arm64/savepoint Mach-O 64-bit arm64
36
- - Quality gates: `go build` PASS, `go test ./...` PASS (4 packages)
@@ -1,59 +0,0 @@
1
- ---
2
- id: E02-cross-platform-compatibility/T004-smoke-tests-and-artifacts
3
- status: done
4
- objective: "Add smoke test script and create versioned release artifacts for all platforms"
5
- depends_on:
6
- - E02-cross-platform-compatibility/T002-linux-build-target
7
- - E02-cross-platform-compatibility/T003-macos-build-target
8
- ---
9
-
10
- # T004: Smoke Tests and Release Artifacts
11
-
12
- ## Acceptance Criteria
13
-
14
- - `make dist` builds all platforms and creates versioned tar/zip archives in `dist/`
15
- - Archive naming follows pattern: `savepoint-{version}-{platform}-{arch}.tar.gz` (or `.zip` for Windows)
16
- - Smoke test validates each binary starts and exits with code 0
17
- - Smoke test does not require interactive TUI (headless validation)
18
- - `dist/` contains both raw binaries and packaged archives
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Add `dist` Makefile target that invokes all `build-*` targets
23
- - [x] Create platform-appropriate archives (tar.gz for Unix, zip for Windows)
24
- - [x] Add `smoke-test` target that runs each binary with `--help` or similar non-interactive flag
25
- - [x] Add `.gitignore` entry for `dist/`
26
- - [x] Document `make dist` in AGENTS.md
27
-
28
- ## Context Log
29
-
30
- Files read:
31
- - `Makefile`
32
- - `AGENTS.md`
33
- - `main.go`
34
- - `.gitignore`
35
- - `internal/board/board.go`
36
-
37
- Estimated input tokens: ~1200
38
-
39
- Notes:
40
- - Added `--version` flag to `main.go` (checks `os.Args[1]`, prints `version` var, exits 0). No TUI interaction.
41
- - `version` var injected at build time via `-ldflags "-X main.version=$(VERSION)"`.
42
- - `VERSION` defaults to `git describe --tags` output or `v0.0.0` if no tags exist.
43
- - `.gitignore` already had `dist/` entry — no change needed.
44
- - smoke-test runs local platform binary only; cross-compiled binaries cannot be exec'd without emulation.
45
- - Windows support (zip archives) deferred — E02 scope is linux/darwin only.
46
- - Audit closeout replaced shell-specific Makefile recipes with `internal/buildtool`, which uses Go APIs for cleanup, directory creation, cross-compilation orchestration, tar.gz archive creation, and smoke-test execution.
47
-
48
- Quality gates:
49
- - `make build && make test`: NOT RUN (`make` is not installed in this PowerShell environment)
50
- - `go run ./internal/buildtool build`: PASS
51
- - `go run ./internal/buildtool build-linux`: PASS
52
- - `go run ./internal/buildtool build-darwin`: PASS
53
- - `go run ./internal/buildtool dist`: PASS
54
- - `go run ./internal/buildtool smoke-test`: PASS (`v0.0.0`, exit 0)
55
- - `go test ./...`: PASS
56
-
57
- ## Drift Notes
58
-
59
- - Resolved in E02 audit closeout: `main.go` Codebase Map entry now mentions `--version`, and `internal/buildtool/` was added to the Codebase Map.
@@ -1,195 +0,0 @@
1
- ---
2
- type: audit-findings
3
- audited: 2026-05-02
4
- ---
5
-
6
- # Audit Findings: E03 UI Visual Refinement
7
-
8
- ## Main Findings
9
-
10
- E03 verified the visual refinement work around the board header, Next Activity line, task detail checklist rendering, shared status glyphs, and deterministic ANSI256 color profile behavior.
11
-
12
- The audit found no blocking product-code issue in the reviewed E03 scope. The main drift was documentation/process cleanup: update architecture notes to match the implemented rendering behavior, record where the color profile was actually applied, and check off the completed T006 implementation plan.
13
-
14
- ## Code Style Review
15
-
16
-
17
- - [ ] One job per file
18
- - [ ] One-sentence functions
19
- - [ ] Test branches
20
- - [ ] Types are documentation
21
- - [ ] Build, don't speculate
22
- - [ ] Errors at boundaries
23
- - [ ] One source of truth
24
- - [ ] Comments explain WHY
25
- - [ ] Content in data files
26
- - [ ] Small diffs
27
-
28
- ## Proposed Changes
29
-
30
- ### Target File
31
-
32
- `.savepoint/Design.md`
33
-
34
- ### Replace
35
-
36
- ```yaml
37
- last_audited: v1.1/E02-cross-platform-compatibility (2026-05-02)
38
- ```
39
-
40
- ### With
41
-
42
- ```yaml
43
- last_audited: v1.1/E03-ui-visual-refinement (2026-05-02)
44
- ```
45
-
46
- ---
47
-
48
- ### Target File
49
-
50
- `.savepoint/Design.md`
51
-
52
- ### Replace
53
-
54
- ```markdown
55
- - **Board command** (`savepoint board`) reads project state, renders the Atari-Noir TUI board, supports release/epic filtering, detail overlays, task status transitions with mtime-guarded writes, release/epic-scoped router priority markers, fsnotify-based task auto-refresh (epic E06), header Next Activity display, height-aware column/detail viewport scrolling, stable focused/unfocused column border geometry (v1.1 E01), and a focusable wide-screen epic sidebar with purple epic focus, epic detail overlays, and status glyphs loaded from epic detail frontmatter (v1.1 E04).
56
- ```
57
-
58
- ### With
59
-
60
- ```markdown
61
- - **Board command** (`savepoint board`) reads project state, renders the Atari-Noir TUI board, supports release/epic filtering, detail overlays, task status transitions with mtime-guarded writes, release/epic-scoped router priority markers, fsnotify-based task auto-refresh (epic E06), header Next Activity display, height-aware column/detail viewport scrolling, stable focused/unfocused column border geometry (v1.1 E01), dedicated phase-colored Next Activity line below the header, sentence-boundary checklist rendering in task details, shared status glyph mapping for task cards and the epic sidebar, a forced ANSI256 Lipgloss color profile for board startup (v1.1 E03), and a focusable wide-screen epic sidebar with purple epic focus, epic detail overlays, and status glyphs loaded from epic detail frontmatter (v1.1 E04).
62
- ```
63
-
64
- ---
65
-
66
- ### Target File
67
-
68
- `.savepoint/Design.md`
69
-
70
- ### Replace
71
-
72
- ```markdown
73
- **Layout:** single screen with a 3-column task board (`planned`, `in_progress`, `done`), optional epic sidebar on wide terminals, centered overlays for release/epic/help/task/epic-detail views, static Atari-Noir header/footer, full-width dividers, uniform black TUI backgrounds, and navigation hints. The header can show a compact right-aligned Next Activity value from router state. Columns and detail overlays use height-aware viewport slicing with subtle above/more scroll indicators. Focused and unfocused columns preserve the same rounded-border geometry so focus changes do not shift content. On terminals at least 120 columns wide, the epic sidebar is focusable from the Planned column; it uses the purple epic accent for focused panel borders, focused epic labels, and epic detail overlays while task-column focus remains orange. Non-TTY output remains a plain table fallback.
74
- ```
75
-
76
- ### With
77
-
78
- ```markdown
79
- **Layout:** single screen with a 3-column task board (`planned`, `in_progress`, `done`), optional epic sidebar on wide terminals, centered overlays for release/epic/help/task/epic-detail views, static Atari-Noir header/footer, full-width dividers, uniform black TUI backgrounds, and navigation hints. Active router `next_action` renders as a dedicated full-width line below the header with phase-colored `PLAN`, `BUILD`, or `AUDIT` prefix styling and truncates to terminal width. Columns and detail overlays use height-aware viewport slicing with subtle above/more scroll indicators. Focused and unfocused columns preserve the same rounded-border geometry so focus changes do not shift content. Task detail implementation-plan checkboxes render once per semantic sentence, not once per hard-wrapped markdown line. On terminals at least 120 columns wide, the epic sidebar is focusable from the Planned column; it uses the purple epic accent for focused panel borders, focused epic labels, and epic detail overlays while task-column focus remains orange. Task card and epic sidebar status glyphs share `internal/board/status.go`; task cards use explicit `Task.Status` when available and retain the legacy column/stage glyph fallback when it is not. Non-TTY output remains a plain table fallback.
80
- ```
81
-
82
- ---
83
-
84
- ### Target File
85
-
86
- `AGENTS.md`
87
-
88
- ### Replace
89
-
90
- ```markdown
91
- | `internal/board/` | TUI board, overlays, epic sidebar, status glyphs |
92
- ```
93
-
94
- ## With
95
-
96
- ```markdown
97
- | `internal/board/` | TUI board, overlays, epic sidebar, Next Activity line, detail checklist rendering, status glyphs, forced color profile |
98
- ```
99
-
100
- ---
101
-
102
- ### Target File
103
-
104
- `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md`
105
-
106
- ### Replace
107
-
108
- ```yaml
109
- status: planned
110
- ```
111
-
112
- ### With
113
-
114
- ```yaml
115
- status: audited
116
- ```
117
-
118
- ---
119
-
120
- ### Target File
121
-
122
- `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md`
123
-
124
- ### Replace
125
-
126
- ```markdown
127
- | `internal/board/card.go` | Task card glyph determination (updated for shared helper) |
128
- | `internal/board/view_test.go` | Header, formatting, and checkbox tests |
129
- ```
130
-
131
- ### With
132
-
133
- ```markdown
134
- | `internal/board/card.go` | Task card glyph determination (updated for shared helper) |
135
- | `internal/board/board.go` | Board startup; sets the Lipgloss color profile to ANSI256 before model initialization |
136
- | `internal/board/view_test.go` | Header, formatting, and checkbox tests |
137
- ```
138
-
139
- ---
140
-
141
- ### Target File
142
-
143
- `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md`
144
-
145
- ### Insert After
146
-
147
- ```markdown
148
- | `internal/board/card.go` | Task card glyph determination (updated for shared helper) |
149
- | `internal/board/board.go` | Board startup; sets the Lipgloss color profile to ANSI256 before model initialization |
150
- | `internal/board/view_test.go` | Header, formatting, and checkbox tests |
151
- ```
152
-
153
- ### With
154
-
155
- ```markdown
156
- ## Implemented as
157
-
158
- - `internal/board/view.go` renders `next_action` as a separate line below the header through `renderNextActivityLine`, using existing footer phase styles for `PLAN`, `BUILD`, and `AUDIT`.
159
- - `internal/board/layout.go` accounts for the optional Next Activity line when calculating board chrome and content height.
160
- - `internal/data/parser.go` joins hard-wrapped checklist continuation lines before rendering so markdown wrap points do not create duplicate checklist items.
161
- - `internal/board/detail.go` splits checklist item text on semantic sentence boundaries and emits one `[ ]` or `[x]` marker per sentence.
162
- - `internal/data/task.go` adds `Task.Status` plus status constants, including `audited`, for shared board glyph rendering.
163
- - `internal/board/status.go` centralizes the planned, in-progress, done, and audited status glyph mapping used by task cards and the epic sidebar.
164
- - `internal/board/card.go` uses explicit `Task.Status` when present, while preserving the legacy column/stage glyph fallback for older task data.
165
- - `internal/board/epic_panel.go` delegates epic status glyph rendering to the shared status helper.
166
- - `internal/board/board.go` sets Lipgloss to the ANSI256 color profile at board startup. This satisfies the deterministic 256-color rendering intent, although the implementation lives at the board boundary instead of `main.go`.
167
- ```
168
-
169
- ---
170
-
171
- ### Target File
172
-
173
- `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T006-forced-256-color-profile.md`
174
-
175
- ### Replace
176
-
177
- ```markdown
178
- ## Implementation Plan
179
-
180
- - [ ] Read `main.go` — understand startup flow and identify where to inject profile forcing
181
- - [ ] Edit `main.go` — add `lipgloss.SetColorProfile(lipgloss.Force256Color)` call before `board.Run()`
182
- - [ ] Run `make build && make test` to verify no regressions
183
- ```
184
-
185
- ### With
186
-
187
- ```markdown
188
- ## Implementation Plan
189
-
190
- - [x] Read board startup flow and identify where to inject profile forcing
191
- - [x] Edit `internal/board/board.go` — add `lipgloss.SetColorProfile(termenv.ANSI256)` before model initialization
192
- - [x] Run equivalent build and test gates in this Windows shell
193
- ```
194
-
195
- ---
@@ -1,45 +0,0 @@
1
- ---
2
- type: epic-design
3
- status: audited
4
- ---
5
-
6
- # Epic E03: UI Visual Refinement
7
-
8
- ## Purpose
9
-
10
- Polish the Atari-Noir TUI rendering across Next Activity indicator repositioning below the header with phase-aligned styling, checkbox rendering at sentence boundaries (not line breaks), unify icon/glyph determination across task cards and the epic sidebar, and force a consistent 256-color terminal profile for reliable cross-terminal rendering.
11
-
12
- ## Definition of Done
13
-
14
- - Next Activity renders as a dedicated line below the header with phase-aligned coloring
15
- - Checkboxes render at sentence starts, not at line break positions
16
- - ~~Total content width equals available space at every breakpoint with no underflow~~ (absorbed into T001, which is marked done; existing layout tests pass)
17
- - Task card and epic sidebar glyphs are determined by a shared helper, unified on the same status→glyph mapping
18
- - Terminal color profile is forced to 256-color, ensuring consistent background rendering on all terminals including PowerShell
19
-
20
- ## Components and files
21
-
22
- | Path | Purpose |
23
- |------|---------|
24
- | `internal/board/layout.go` | Width arithmetic, layout breakpoints, min width guard (stable — existing implementation verified) |
25
- | `internal/board/view.go` | Header rendering, Next Activity line, checkbox rendering point |
26
- | `internal/board/update.go` | Resize handling, terminal dimension clamping |
27
- | `internal/styles/styles.go` | Phase-aligned styles for Next Activity |
28
- | `internal/data/router.go` | RouterState model |
29
- | `internal/data/task.go` | Task markdown parsing for checkbox placement |
30
- | `internal/board/status.go` | Shared status glyph mapping helper (new) |
31
- | `internal/board/card.go` | Task card glyph determination (updated for shared helper) |
32
- | `internal/board/board.go` | Board startup; sets the Lipgloss color profile to ANSI256 before model initialization |
33
- | `internal/board/view_test.go` | Header, formatting, and checkbox tests |
34
-
35
- ## Implemented As
36
-
37
- - `internal/board/view.go` renders `next_action` as a separate line below the header through `renderNextActivityLine`, using existing footer phase styles for `PLAN`, `BUILD`, and `AUDIT`.
38
- - `internal/board/layout.go` accounts for the optional Next Activity line when calculating board chrome and content height.
39
- - `internal/data/parser.go` joins hard-wrapped checklist continuation lines before rendering so markdown wrap points do not create duplicate checklist items.
40
- - `internal/board/detail.go` splits checklist item text on semantic sentence boundaries and emits one `[ ]` or `[x]` marker per sentence.
41
- - `internal/data/task.go` adds `Task.Status` plus status constants, including `audited`, for shared board glyph rendering.
42
- - `internal/board/status.go` centralizes the planned, in-progress, done, and audited status glyph mapping used by task cards and the epic sidebar.
43
- - `internal/board/card.go` uses explicit `Task.Status` when present, while preserving the legacy column/stage glyph fallback for older task data.
44
- - `internal/board/epic_panel.go` delegates epic status glyph rendering to the shared status helper.
45
- - `internal/board/board.go` sets Lipgloss to the ANSI256 color profile at board startup. This satisfies the deterministic 256-color rendering intent, although the implementation lives at the board boundary instead of `main.go`.
@@ -1,40 +0,0 @@
1
- ---
2
- id: E03-ui-visual-refinement/T001-border-resize-fix
3
- status: done
4
- objective: "Fix right-border clipping and ensure clean rendering on terminal resize"
5
- depends_on: []
6
- ---
7
-
8
- # T001: Fix Right-Border Clipping and Resize Robustness
9
-
10
- ## Acceptance Criteria
11
-
12
- - The board frame right border (`│` or rounded corner) is always visible at any terminal width ≥ 40 chars
13
- - Reducing terminal width below a breakpoint (120→119, 80→79) does not leave stray pixels or broken border artifacts
14
- - Reducing to very narrow widths (< 50) degrades gracefully (no visual corruption)
15
- - Expanding terminal width back renders cleanly with no leftover characters from previous dimensions
16
- - All existing layout breakpoints (120/80) still function correctly
17
- - At every layout breakpoint (120+, 80–119, 40–79), total rendered column width + borders + padding equals the available terminal width with zero underflow
18
- - Column widths are calculated as `floor(innerWidth / colCount)` and the remainder is distributed as 1 extra column to the first `remainder` columns
19
- - The board frame overhead (left border + inter-column separators + right border) is exactly accounted for in every breakpoint
20
- - Reducing terminal width by 1 character removes exactly 1 column of content (no more, no less)
21
- - All existing layout tests pass
22
-
23
- ## Implementation Plan
24
-
25
- - [x] Verified — no artifacts observed. Existing layout.go + tests satisfy acceptance criteria.
26
-
27
- ## Context Log
28
-
29
- Files read:
30
- - `internal/board/layout.go`
31
- - `internal/board/view.go`
32
- - `internal/board/update.go`
33
- - `internal/board/layout_test.go`
34
-
35
- Estimated input tokens: 800
36
-
37
- Notes:
38
- - Consolidated from former T001 + T004 (duplicate width arithmetic scopes).
39
- - Former T004 at `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T004-width-arithmetic-audit.md` has been deleted.
40
- - Moved from `E06-atari-noir-layout/T006-border-resize-fix` (release v1) to `E03-ui-visual-refinement` (release v1.1).
@@ -1,64 +0,0 @@
1
- ---
2
- id: E03-ui-visual-refinement/T002-next-activity-below-header
3
- status: done
4
- objective: "Reposition Next Activity below header as a dedicated line with phase-aligned styling"
5
- depends_on:
6
- - E03-ui-visual-refinement/T001-border-resize-fix
7
- ---
8
-
9
- # T002: Reposition Next Activity Below Header with Phase-Aligned Styling
10
-
11
- ## Acceptance Criteria
12
-
13
- - Next Activity renders as a dedicated full-width line immediately below the header bar
14
- - The line is hidden (not rendered) when no activity is active or router state is idle
15
- - The line uses `phase:` prefix mapped to existing footer phase styles:
16
- - `task-building` → FooterPhaseBuild (orange + bold)
17
- - `audit-pending` → FooterPhaseAudit (green + bold)
18
- - `pre-implementation` / `epic-design` / `epic-task-breakdown` → FooterPhasePlan (purple + bold)
19
- - Format: `"PLAN: Build T010 (E06) v1"` — phase prefix in styled tag, activity text follows
20
- - Activity text is the `next_action` value from router state (already populated)
21
- - At narrow widths (< 60 chars), the line truncates gracefully: `"PLAN: Build T0…"`
22
- - Existing header layout is preserved — nothing shifts or wraps incorrectly
23
-
24
- ## Implementation Plan
25
-
26
- - [x] Read `internal/board/view.go` — locate current header rendering and any existing Next Activity right-aligned logic
27
- - [x] Read `internal/styles/styles.go` — verify FooterPhaseBuild/FooterPhaseAudit/FooterPhasePlan are available for reuse, or add them if missing
28
- - [x] Read `internal/data/router.go` — confirm RouterState model exposes `state` and `next_action` fields
29
- - [x] Edit `internal/board/view.go` — add `renderNextActivityLine(state)` that returns a styled string using phase-mapped style
30
- - [x] Edit `internal/board/view.go` — insert the rendered line immediately after header output in the `View()` function
31
- - [x] Edit `internal/board/layout.go` — adjust vertical layout height calculation to account for the new line
32
- - [x] Add tests in `internal/board/view_test.go` — verify phase mapping, truncation, and hidden state
33
- - [x] Run `make build && make test` to verify no regressions
34
-
35
- ## Context Log
36
-
37
- Files read:
38
- - `.savepoint/router.md`
39
- - `agent-skills/savepoint-build-task/SKILL.md`
40
- - `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Design.md`
41
- - `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T002-next-activity-below-header.md`
42
- - `.savepoint/visual-identity.md`
43
- - `agent-skills/ink-tui-design/SKILL.md`
44
- - `internal/board/view.go`
45
- - `internal/board/layout.go`
46
- - `internal/styles/styles.go`
47
- - `internal/data/router.go`
48
- - `internal/board/view_test.go`
49
- - `internal/board/layout_test.go`
50
-
51
- Files edited:
52
- - `internal/board/view.go`
53
- - `internal/board/layout.go`
54
- - `internal/board/view_test.go`
55
- - `internal/board/layout_test.go`
56
- - `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T002-next-activity-below-header.md`
57
- - `.savepoint/router.md`
58
-
59
- Estimated input tokens: 9800
60
-
61
- Notes:
62
- - Key design decision from user: placement below header as dedicated line (not right-aligned in header); reuse existing FooterPhase* styles
63
- - Acceptance criteria verified by `go test ./internal/board` covering dedicated line ordering, hidden nil/idle/empty states, phase tag mapping, `next_action` text, narrow truncation, and header preservation.
64
- - Quality gates: `make build` could not run because `make` is not installed in this Windows shell. Equivalent `go run ./internal/buildtool build` passed. Equivalent `go test ./...` passed.
@@ -1,56 +0,0 @@
1
- ---
2
- id: E03-ui-visual-refinement/T003-checkbox-rendering-fix
3
- status: done
4
- objective: "Fix checkbox rendering to place checkboxes at sentence start, not at line break positions"
5
- depends_on:
6
- - E03-ui-visual-refinement/T001-border-resize-fix
7
- ---
8
-
9
- # T003: Fix Checkbox Rendering — Place at Sentence Start
10
-
11
- ## Acceptance Criteria
12
-
13
- - Checkboxes (`[ ]` / `[x]`) render at the beginning of each task description sentence, not at arbitrary line-break positions
14
- - If a task description is hard-wrapped in markdown at column 80, the checkbox appears only once per sentence
15
- - Multi-sentence tasks show one checkbox per sentence, visually aligned at column 0 of each sentence
16
- - Already-checked tasks show `[x]` at sentence start consistently
17
- - No duplicate checkboxes for the same sentence
18
- - Single-sentence tasks (most common case) render exactly one checkbox at the start, unchanged from current behavior
19
-
20
- ## Implementation Plan
21
-
22
- - [x] Read `internal/data/task.go` — locate the markdown parsing / TUI rendering path for task descriptions
23
- - [x] Read `internal/board/view.go` — locate where task items are rendered in the board columns
24
- - [x] Identify the parsing layer — this is likely where markdown task body text is split into the displayed description string before being passed to rendering
25
- - [x] Edit the identified file(s) — change the sentence-splitting logic to split on sentence boundaries (`. `, `!\n`, `?\n`) rather than on hard line breaks
26
- - [x] In the rendering layer, emit one checkbox per sentence start, aligned to column 0 of each sentence block
27
- - [x] Add tests in the relevant test file for sentence-boundary detection, single-sentence, multi-sentence, and hard-wrapped cases
28
- - [x] Run `make build && make test` to verify no regressions
29
-
30
- ## Context Log
31
-
32
- Files read:
33
- - `internal/data/task.go`
34
- - `internal/data/parser.go`
35
- - `internal/data/parser_test.go`
36
- - `internal/board/view.go`
37
- - `internal/board/detail.go`
38
- - `internal/board/detail_test.go`
39
- - `agent-skills/savepoint-build-task/SKILL.md`
40
- - `agent-skills/ink-tui-design/SKILL.md`
41
- - `.savepoint/visual-identity.md`
42
-
43
- Files edited:
44
- - `internal/data/parser.go`
45
- - `internal/data/parser_test.go`
46
- - `internal/board/detail.go`
47
- - `internal/board/detail_test.go`
48
-
49
- Estimated input tokens: 8,500
50
-
51
- Notes:
52
- - Parser now joins hard-wrapped continuation lines into the current checklist item.
53
- - Detail rendering now splits checklist item text into semantic sentences and emits `[ ]` / `[x]` only at sentence starts; wrapped continuation lines are indented under the sentence text.
54
- - Focused tests: `go test ./internal/data ./internal/board` passed.
55
- - Required literal quality gate: `make build` could not run because `make` is not installed in this PowerShell environment.
56
- - Equivalent gates: `go run ./internal/buildtool build` passed; `go test ./...` passed.
@@ -1,65 +0,0 @@
1
- ---
2
- id: E03-ui-visual-refinement/T005-unify-status-glyphs
3
- status: done
4
- objective: "Unify icon/glyph determination across task cards and epic sidebar via a shared statusGlyph helper with backward compatibility"
5
- depends_on: []
6
- ---
7
-
8
- # T005: Unify Task Status Glyph Determination
9
-
10
- ## Acceptance Criteria
11
-
12
- - A new `status` field is added to the `data.Task` struct (one of: `planned`, `in_progress`, `done`, `audited`)
13
- - A shared `statusGlyph(status string) (styled string)` helper exists in `internal/board/status.go` that maps status strings to the same glyph+style used by the epic sidebar
14
- - `RenderCard` in `card.go` uses the unified helper when `Task.Status` is set, otherwise falls back to the existing Column+Stage logic with identical behavior
15
- - The epic sidebar's `epicSidebarGlyph` function is refactored to call the shared `statusGlyph` helper instead of its own switch
16
- - All existing tests pass without modification
17
- - New tests cover the explicit `Status` path for each status value
18
- - No changes to existing task files are required
19
- - `make build && make test` pass
20
-
21
- ## Implementation Plan
22
-
23
- - [x] Read `internal/data/task.go` — study Task struct and existing columns/stage types
24
- - [x] Read `internal/board/card.go` — study current RenderCard glyph determination path
25
- - [x] Read `internal/board/epic_panel.go` — study epicSidebarGlyph for extraction opportunity
26
- - [x] Edit `internal/data/task.go` — add `Status string` field to Task struct and Status constants
27
- - [x] Create `internal/board/status.go` — shared `statusGlyph(status string) string` function with the unified glyph mapping
28
- - [x] Edit `internal/board/epic_panel.go` — refactor `epicSidebarGlyph` to call the shared `statusGlyph`
29
- - [x] Edit `internal/board/card.go` — update `RenderCard` to use `statusGlyph` when Status is set, else existing backward-compat path
30
- - [x] Edit `internal/board/card_test.go` — add tests for explicit Status path (planned/in_progress/done/audited)
31
- - [x] Run `make build && make test` to verify no regressions
32
-
33
- ## Context Log
34
-
35
- Files read:
36
- - `.savepoint/router.md`
37
- - `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md`
38
- - `.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T005-unify-status-glyphs.md`
39
- - `agent-skills/savepoint-build-task/SKILL.md`
40
- - `agent-skills/ink-tui-design/SKILL.md`
41
- - `.savepoint/visual-identity.md`
42
- - `internal/data/task.go`
43
- - `internal/data/parser.go`
44
- - `internal/data/write.go`
45
- - `internal/data/task_test.go`
46
- - `internal/board/card.go`
47
- - `internal/board/epic_panel.go`
48
- - `internal/styles/styles.go`
49
- - `internal/board/card_test.go`
50
- - `internal/board/epic_panel_test.go`
51
- - `.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T003-epic-status-glyphs.md`
52
-
53
- Estimated input tokens: 11000
54
-
55
- Notes:
56
- - Option A approach: backward compatible when `Status` is unset
57
- - The unified glyph mapping matches epic sidebar: planned→○, in_progress→▶, done→◉, audited→✓
58
- - Old `Column`+`Stage` path reproduces exact current behavior (▣/◇/◆ with column-level overrides)
59
- - `go test ./internal/board ./internal/data` initially hit a sandbox AppData build-cache permission error; rerun outside the sandbox passed.
60
- - Literal `make build && make test` could not run because `make` is not installed in this Windows shell.
61
- - Equivalent quality gates passed: `go run ./internal/buildtool build`; `go test ./...`.
62
-
63
- ## Drift Notes
64
-
65
- - Drift: `internal/board/status.go` added, not yet in Codebase Map.
@@ -1,36 +0,0 @@
1
- ---
2
- id: E03-ui-visual-refinement/T006-forced-256-color-profile
3
- status: done
4
- objective: "Force 256-color terminal profile at init to ensure consistent background rendering across all terminals"
5
- depends_on: []
6
- ---
7
-
8
- # T006: Forced 256-Color Profile for Terminal Consistency
9
-
10
- ## Acceptance Criteria
11
-
12
- - On startup, `lipgloss` is configured to use `Force256Color` profile instead of relying on terminal detection
13
- - The board's background renders as uniform black (`"#000000"` / ANSI256 `"232"`) on every color-capable terminal including PowerShell, CMD, Windows Terminal, VS Code terminal, and all Unix terminals
14
- - No color artifacts or background mismatches are visible when running on PowerShell
15
- - Existing style definitions using TrueColor hex values still resolve correctly via Lipgloss's 256-color fallback
16
- - `make build && make test` pass with no regressions
17
-
18
- ## Implementation Plan
19
-
20
- - [x] Read board startup flow and identify where to inject profile forcing
21
- - [x] Edit `internal/board/board.go` — add `lipgloss.SetColorProfile(termenv.ANSI256)` before model initialization
22
- - [x] Run equivalent build and test gates in this Windows shell
23
-
24
- ## Context Log
25
-
26
- Files read:
27
- - `main.go`
28
- - `internal/styles/palette.go`
29
- - `internal/styles/styles.go`
30
-
31
- Estimated input tokens: 400
32
-
33
- Notes:
34
- - `lipgloss.Force256Color` is supported on all Go platforms and all color-capable terminals
35
- - This is a single-line change — no new dependencies or imports beyond the existing `github.com/charmbracelet/lipgloss` package
36
- - TrueColor hex values (`"#000000"`) are mapped to nearest 256-color values (`"232"`) via palette.go's `color()` helper; these are already configured