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.
- package/package.json +10 -3
- package/{savepoint → savepoint.exe} +0 -0
- package/.claude/settings.local.json +0 -38
- package/.golangci.yml +0 -11
- package/.prettierignore +0 -4
- package/.savepoint/Design.md +0 -206
- package/.savepoint/PRD.md +0 -58
- package/.savepoint/config.yml +0 -27
- package/.savepoint/releases/v1/epics/E01-go-setup/E01-Detail.md +0 -39
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T001-init-module.md +0 -42
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T002-entrypoint.md +0 -23
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T003-directory-structure.md +0 -24
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T004-makefile.md +0 -23
- package/.savepoint/releases/v1/epics/E02-data-readers/E02-Detail.md +0 -61
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T001-task-struct.md +0 -29
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T002-frontmatter-parser.md +0 -30
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T003-router-reader.md +0 -29
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T004-config-reader.md +0 -29
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T005-discovery.md +0 -30
- package/.savepoint/releases/v1/epics/E03-board-tui-core/E03-Detail.md +0 -38
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T001-model.md +0 -29
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T002-update-loop.md +0 -30
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T003-view.md +0 -34
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T004-styles.md +0 -29
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T005-layout.md +0 -42
- package/.savepoint/releases/v1/epics/E04-board-components/E04-Detail.md +0 -44
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T001-column.md +0 -34
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T002-card.md +0 -33
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T003-epic-panel.md +0 -49
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T004-detail-overlay.md +0 -40
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T005-release-dropdown.md +0 -33
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T006-help-overlay.md +0 -34
- package/.savepoint/releases/v1/epics/E05-phase-transitions/E05-Detail.md +0 -38
- package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T001-phase-stepping.md +0 -29
- package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T002-gates.md +0 -31
- package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T003-write-task.md +0 -31
- package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T004-write-router.md +0 -31
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/E06-Detail.md +0 -62
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T001-color-system.md +0 -39
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T002-header-and-dividers.md +0 -52
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T003-footer-status-bar.md +0 -52
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T004-component-refinement.md +0 -53
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T005-restore-nav-hints.md +0 -39
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T007-detail-card-fixes.md +0 -36
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T008-checkbox-states.md +0 -40
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T009-router-priority-marker.md +0 -48
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T010-auto-refresh-watcher.md +0 -66
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/Design.md +0 -39
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T001-archive-epics.md +0 -20
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T002-rewrite-prd.md +0 -22
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T003-create-epic-stubs.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T004-update-router.md +0 -22
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/Design.md +0 -118
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/handoff.md +0 -9
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T001-package-baseline.md +0 -45
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T002-typescript-build.md +0 -48
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T003-vitest-smoke.md +0 -43
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T004-lint-format-gates.md +0 -45
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T005-scaffold-verification.md +0 -40
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/Design.md +0 -142
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T001-domain-ids-status.md +0 -27
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T002-markdown-frontmatter-boundary.md +0 -28
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T003-task-documents.md +0 -29
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T004-release-epic-router-config-readers.md +0 -30
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T005-dependency-validation.md +0 -29
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T006-epic-task-set-reader.md +0 -29
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T007-quality-gates.md +0 -31
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/Design.md +0 -40
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T001-phase-types.md +0 -27
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T002-phase-frontmatter.md +0 -25
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T003-simplify-config.md +0 -26
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T004-simplify-router-domain.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/Design.md +0 -122
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T001-argument-parser-contract.md +0 -28
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T002-help-text-generation.md +0 -28
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T003-terminal-environment-detection.md +0 -27
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T004-command-stub-modules.md +0 -29
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T005-cli-runner-dispatch.md +0 -34
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T006-entrypoint-quality-gates.md +0 -32
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/Design.md +0 -43
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T001-strip-args.md +0 -26
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T002-strip-help.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T003-strip-run.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T004-delete-commands.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T005-update-cli-tests.md +0 -22
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/Design.md +0 -48
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T001-board-data-phases.md +0 -26
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T002-phase-rendering.md +0 -28
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T003-detail-pane-phases.md +0 -27
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T004-phase-transitions.md +0 -42
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T005-phase-gates.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T006-phase-write-back.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T007-remove-audit-flow.md +0 -27
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T008-board-tests.md +0 -25
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/Design.md +0 -85
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T001-project-template-assets.md +0 -17
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T002-release-and-prompt-assets.md +0 -20
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T003-template-registry-renderer.md +0 -22
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T004-template-integrity-tests.md +0 -17
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T005-template-closeout-quality-gates.md +0 -16
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/Design.md +0 -88
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T001-init-cli-contract.md +0 -22
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T002-target-validation.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T003-scaffold-writer.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T004-magic-prompt-and-clipboard.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T005-dev-deps-install-option.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T006-init-command-integration.md +0 -28
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/Design.md +0 -53
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T001-delete-dead-src.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T002-delete-dead-tests.md +0 -26
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T003-delete-assets.md +0 -25
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T004-clean-savepoint.md +0 -28
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T005-rewrite-agents-md.md +0 -28
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T006-clean-package-json.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T007-verify.md +0 -25
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/Design.md +0 -104
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T001-board-command-data.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T002-board-view-state.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T003-transition-gates-and-writes.md +0 -25
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T004-terminal-theme.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T005-ink-board-ui.md +0 -26
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T006-board-integration-audit-entry.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/Design.md +0 -88
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T001-audit-cli-contract.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T002-quality-gate-runner.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T003-snapshot-and-prompt.md +0 -23
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T004-audit-orchestration-router.md +0 -27
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T005-proposal-validation-apply.md +0 -25
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T006-audit-review-state.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T007-audit-review-ui.md +0 -26
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T008-audit-pipeline-integration.md +0 -24
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/Design.md +0 -103
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T001-acceptance-criteria-model.md +0 -30
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T002-release-task-set-reader.md +0 -33
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T003-board-data-and-plain-output.md +0 -34
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T004-board-selection-state.md +0 -33
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T005-ink-board-layout-cleanup.md +0 -37
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T006-task-detail-popup.md +0 -36
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T007-templates-acceptance-criteria.md +0 -34
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T008-board-workflow-integration.md +0 -41
- package/.savepoint/releases/v1/epics/_archived/E09-doctor-command/Design.md +0 -70
- package/.savepoint/releases/v1/epics/_archived/E10-docs-and-packaging/Design.md +0 -68
- package/.savepoint/releases/v1/epics/_archived/E11-release-validation/Design.md +0 -68
- package/.savepoint/releases/v1/v1-PRD.md +0 -66
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/E01-Detail.md +0 -40
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T001-next-activity-header.md +0 -56
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T002-rename-epic-design-files.md +0 -38
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T003-rename-release-prd.md +0 -28
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T004-update-instruction-files.md +0 -51
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T005-update-cross-references.md +0 -45
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T006-column-and-detail-scrolling.md +0 -68
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T007-column-focus-border-stability.md +0 -57
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Audit.md +0 -124
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/E02-Detail.md +0 -49
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T001-fix-makefile.md +0 -37
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T002-linux-build-target.md +0 -38
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T003-macos-build-target.md +0 -36
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T004-smoke-tests-and-artifacts.md +0 -59
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Audit.md +0 -195
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md +0 -45
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T001-border-resize-fix.md +0 -40
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T002-next-activity-below-header.md +0 -64
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T003-checkbox-rendering-fix.md +0 -56
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T005-unify-status-glyphs.md +0 -65
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T006-forced-256-color-profile.md +0 -36
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Audit.md +0 -167
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Detail.md +0 -51
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T001-sidebar-focusable-navigation.md +0 -65
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T002-epic-detail-overlay.md +0 -73
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T003-epic-status-glyphs.md +0 -73
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Audit.md +0 -237
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md +0 -54
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md +0 -45
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md +0 -40
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T003-update-design-md.md +0 -47
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T004-implement-m-hotkey.md +0 -98
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md +0 -33
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T006-tests-and-quality-gates.md +0 -62
- package/.savepoint/releases/v1.1/epics/E06-audit-command/E06-Audit.md +0 -56
- package/.savepoint/releases/v1.1/epics/E06-audit-command/E06-Detail.md +0 -63
- package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T005-proposals.md +0 -44
- package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T007-apply-close.md +0 -35
- package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T009-integration.md +0 -40
- package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T010-audit-file-migration.md +0 -45
- package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T011-model-tab-state.md +0 -26
- package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T012-epic-audit-render.md +0 -33
- package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T013-handle-tab-keys.md +0 -34
- package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T014-tab-indicator.md +0 -33
- package/.savepoint/releases/v1.1/epics/E07-init-command/E07-Audit.md +0 -336
- package/.savepoint/releases/v1.1/epics/E07-init-command/E07-Detail.md +0 -61
- package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T001-cli-entrypoint.md +0 -37
- package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T002-target-validation.md +0 -28
- package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T003-scaffold-writer.md +0 -46
- package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T004-atomic-writes.md +0 -27
- package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T005-magic-prompt.md +0 -25
- package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T006-clipboard.md +0 -26
- package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T007-integration-test.md +0 -26
- package/.savepoint/releases/v1.1/epics/E08-board-command/E08-Audit.md +0 -333
- package/.savepoint/releases/v1.1/epics/E08-board-command/E08-Detail.md +0 -68
- package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T001-cli-entrypoint.md +0 -26
- package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T002-non-tty-fallback.md +0 -27
- package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T003-tui-app-shell.md +0 -28
- package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T004-board-model.md +0 -29
- package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T005-detail-pane.md +0 -27
- package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T006-status-transitions.md +0 -29
- package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T007-theme-fallbacks.md +0 -29
- package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T008-integration-test.md +0 -27
- package/.savepoint/releases/v1.1/epics/E09-doctor-command/E09-Audit.md +0 -207
- package/.savepoint/releases/v1.1/epics/E09-doctor-command/E09-Detail.md +0 -65
- package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T001-cli-entrypoint.md +0 -24
- package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T002-config-router-validation.md +0 -28
- package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T003-structure-checks.md +0 -29
- package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T004-dependency-checks.md +0 -27
- package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T005-audit-orphan-checks.md +0 -28
- package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T006-quality-gates-report.md +0 -31
- package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/E11-Detail.md +0 -36
- package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T001-debug-logging.md +0 -25
- package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T002-increase-debounce.md +0 -21
- package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T003-error-handling.md +0 -22
- package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T004-test-verify.md +0 -29
- package/.savepoint/releases/v1.1/epics/E12-validation-fix/E12-Audit.md +0 -444
- package/.savepoint/releases/v1.1/epics/E12-validation-fix/E12-Detail.md +0 -45
- package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T001-default-phase.md +0 -35
- package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T002-default-status.md +0 -19
- package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T003-better-errors.md +0 -29
- package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T004-validate-on-write.md +0 -25
- package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T005-tests.md +0 -37
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/E13-Audit.md +0 -118
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/E13-Detail.md +0 -73
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T001-safe-cleanup.md +0 -66
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T002-bug-fixes.md +0 -35
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T003-centralize-duplication.md +0 -60
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T004-infrastructure.md +0 -33
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T005-decompose-update.md +0 -37
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T006-async-io.md +0 -40
- package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T007-test-coverage.md +0 -37
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/E14-Audit.md +0 -267
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/E14-Detail.md +0 -54
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T001-group-model.md +0 -39
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T002-data-interfaces.md +0 -42
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T003-discover-orphans.md +0 -33
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T004-epic-panel-headings.md +0 -35
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T005-shell-tokenization.md +0 -27
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T006-unify-enums.md +0 -29
- package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T007-testutil-package.md +0 -28
- package/.savepoint/releases/v1.1/epics/E15-hardening/E15-Detail.md +0 -43
- package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T001-benchmarks.md +0 -31
- package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T002-fuzz-targets.md +0 -28
- package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T003-debug-flag.md +0 -30
- package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T004-dist-checksums.md +0 -27
- package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T005-windows-targets.md +0 -28
- package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T006-abbreviation-splitting.md +0 -26
- package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T007-root-test-allowlist.md +0 -28
- package/.savepoint/releases/v1.1/epics/_archived/T001-cli-entrypoint.md +0 -25
- package/.savepoint/releases/v1.1/epics/_archived/T002-quality-gates.md +0 -27
- package/.savepoint/releases/v1.1/epics/_archived/T003-snapshot.md +0 -27
- package/.savepoint/releases/v1.1/epics/_archived/T004-ai-reconcile.md +0 -29
- package/.savepoint/releases/v1.1/epics/_archived/T006-tui-review.md +0 -31
- package/.savepoint/releases/v1.1/epics/_archived/T008-skip-handling.md +0 -34
- package/.savepoint/releases/v1.1/v1.1-PRD.md +0 -139
- package/.savepoint/router.md +0 -57
- package/.savepoint/visual-identity.md +0 -125
- package/AGENTS.md +0 -99
- package/CLAUDE.md +0 -1
- package/GEMINI.md +0 -1
- package/Makefile +0 -29
- package/agent-skills/ink-tui-design/SKILL.md +0 -309
- package/agent-skills/ink-tui-design/references/component-patterns.md +0 -371
- package/agent-skills/ink-tui-design/references/hooks-guide.md +0 -436
- package/agent-skills/ink-tui-design/references/ink-gotchas.md +0 -330
- package/agent-skills/ink-tui-design/references/testing-patterns.md +0 -384
- package/agent-skills/savepoint-audit/SKILL.md +0 -87
- package/agent-skills/savepoint-build-task/SKILL.md +0 -44
- package/agent-skills/savepoint-create-plan/SKILL.md +0 -33
- package/agent-skills/savepoint-create-task/SKILL.md +0 -44
- package/agent-skills/savepoint-draft-prd/SKILL.md +0 -37
- package/agent-skills/savepoint-system-design/SKILL.md +0 -38
- package/agent-skills/superpowers/brainstorming/SKILL.md +0 -165
- package/agent-skills/superpowers/brainstorming/visual-companion.md +0 -304
- package/agent-skills/superpowers/dispatching-parallel-agents/SKILL.md +0 -193
- package/agent-skills/superpowers/executing-plans/SKILL.md +0 -77
- package/agent-skills/superpowers/finishing-a-development-branch/SKILL.md +0 -213
- package/agent-skills/superpowers/receiving-code-review/SKILL.md +0 -226
- package/agent-skills/superpowers/requesting-code-review/SKILL.md +0 -115
- package/agent-skills/superpowers/requesting-code-review/code-reviewer.md +0 -160
- package/agent-skills/superpowers/subagent-driven-development/SKILL.md +0 -292
- package/agent-skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +0 -27
- package/agent-skills/superpowers/subagent-driven-development/implementer-prompt.md +0 -113
- package/agent-skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +0 -61
- package/agent-skills/superpowers/systematic-debugging/SKILL.md +0 -305
- package/agent-skills/superpowers/systematic-debugging/condition-based-waiting.md +0 -122
- package/agent-skills/superpowers/systematic-debugging/defense-in-depth.md +0 -130
- package/agent-skills/superpowers/systematic-debugging/root-cause-tracing.md +0 -183
- package/agent-skills/superpowers/test-driven-development/SKILL.md +0 -389
- package/agent-skills/superpowers/test-driven-development/testing-anti-patterns.md +0 -317
- package/agent-skills/superpowers/verification-before-completion/SKILL.md +0 -147
- package/agent-skills/superpowers/writing-plans/SKILL.md +0 -159
- package/agent-skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +0 -49
- package/agent_skills_test.go +0 -91
- package/assets/banner.png +0 -0
- package/assets/logo.png +0 -0
- package/assets/strawman.png +0 -0
- package/cmd/board.go +0 -59
- package/cmd/board_test.go +0 -137
- package/cmd/doctor.go +0 -53
- package/cmd/doctor_test.go +0 -146
- package/cmd/init.go +0 -63
- package/cmd/init_test.go +0 -104
- package/go.mod +0 -36
- package/go.sum +0 -75
- package/internal/board/board.go +0 -177
- package/internal/board/board_test.go +0 -168
- package/internal/board/card.go +0 -129
- package/internal/board/card_test.go +0 -254
- package/internal/board/column.go +0 -127
- package/internal/board/column_test.go +0 -139
- package/internal/board/detail.go +0 -185
- package/internal/board/detail_test.go +0 -340
- package/internal/board/epic_panel.go +0 -262
- package/internal/board/epic_panel_test.go +0 -869
- package/internal/board/help.go +0 -41
- package/internal/board/help_test.go +0 -86
- package/internal/board/integration_test.go +0 -266
- package/internal/board/interfaces.go +0 -65
- package/internal/board/interfaces_test.go +0 -114
- package/internal/board/io.go +0 -93
- package/internal/board/layout.go +0 -68
- package/internal/board/layout_test.go +0 -106
- package/internal/board/model.go +0 -235
- package/internal/board/model_test.go +0 -67
- package/internal/board/plain.go +0 -88
- package/internal/board/plain_test.go +0 -117
- package/internal/board/release.go +0 -34
- package/internal/board/release_test.go +0 -177
- package/internal/board/render_policy_test.go +0 -77
- package/internal/board/status.go +0 -23
- package/internal/board/theme.go +0 -24
- package/internal/board/theme_test.go +0 -31
- package/internal/board/transitions.go +0 -113
- package/internal/board/transitions_test.go +0 -164
- package/internal/board/tui.go +0 -32
- package/internal/board/update.go +0 -556
- package/internal/board/update_test.go +0 -575
- package/internal/board/util.go +0 -76
- package/internal/board/view.go +0 -317
- package/internal/board/view_test.go +0 -315
- package/internal/board/watch.go +0 -130
- package/internal/buildtool/main.go +0 -211
- package/internal/buildtool/main_test.go +0 -46
- package/internal/data/config.go +0 -101
- package/internal/data/config_test.go +0 -122
- package/internal/data/discover.go +0 -178
- package/internal/data/discover_test.go +0 -130
- package/internal/data/errors.go +0 -13
- package/internal/data/lifecycle.go +0 -44
- package/internal/data/lifecycle_test.go +0 -41
- package/internal/data/parser.go +0 -242
- package/internal/data/parser_test.go +0 -281
- package/internal/data/router.go +0 -52
- package/internal/data/router_test.go +0 -35
- package/internal/data/task.go +0 -57
- package/internal/data/task_test.go +0 -51
- package/internal/data/write.go +0 -218
- package/internal/data/write_test.go +0 -623
- package/internal/doctor/checks.go +0 -567
- package/internal/doctor/checks_test.go +0 -716
- package/internal/doctor/gates.go +0 -193
- package/internal/doctor/gates_test.go +0 -166
- package/internal/doctor/interfaces.go +0 -64
- package/internal/doctor/interfaces_test.go +0 -104
- package/internal/doctor/repairs.go +0 -80
- package/internal/doctor/repairs_test.go +0 -81
- package/internal/doctor/report.go +0 -157
- package/internal/doctor/report_test.go +0 -89
- package/internal/init/clipboard.go +0 -146
- package/internal/init/clipboard_test.go +0 -74
- package/internal/init/install.go +0 -16
- package/internal/init/integration_test.go +0 -197
- package/internal/init/prompt.go +0 -14
- package/internal/init/prompt_test.go +0 -77
- package/internal/init/scaffold.go +0 -59
- package/internal/init/scaffold_test.go +0 -179
- package/internal/init/template_freshness_test.go +0 -56
- package/internal/init/validate.go +0 -85
- package/internal/init/validate_test.go +0 -141
- package/internal/init/write.go +0 -73
- package/internal/init/write_test.go +0 -91
- package/internal/styles/palette.go +0 -49
- package/internal/styles/styles.go +0 -139
- package/internal/styles/styles_test.go +0 -133
- package/internal/testutil/fixture.go +0 -113
- package/internal/testutil/fs.go +0 -26
- package/main.go +0 -117
- package/project-audit/audit_report_glm_5.1.md +0 -411
- package/project-audit/audit_report_opus_4.6 +0 -406
- package/project-audit/consolidated-audit-report.md +0 -456
- package/scripts/vitest-preload.cjs +0 -95
- package/templates/project/.savepoint/Design.md +0 -47
- package/templates/project/.savepoint/PRD.md +0 -34
- package/templates/project/.savepoint/config.yml +0 -27
- package/templates/project/.savepoint/router.md +0 -153
- package/templates/project/.savepoint/visual-identity.md +0 -122
- package/templates/project/AGENTS.md +0 -88
- package/templates/project/agent-skills/savepoint-audit/SKILL.md +0 -87
- package/templates/project/agent-skills/savepoint-build-task/SKILL.md +0 -44
- package/templates/project/agent-skills/savepoint-create-plan/SKILL.md +0 -33
- package/templates/project/agent-skills/savepoint-create-task/SKILL.md +0 -44
- package/templates/project/agent-skills/savepoint-draft-prd/SKILL.md +0 -37
- package/templates/project/agent-skills/savepoint-system-design/SKILL.md +0 -38
- package/templates/prompts/audit-reconciliation.prompt.md +0 -72
- package/templates/prompts/design.prompt.md +0 -45
- package/templates/prompts/epic-design.prompt.md +0 -43
- package/templates/prompts/magic-prompt.prompt.md +0 -7
- package/templates/prompts/prd.prompt.md +0 -42
- package/templates/prompts/task-breakdown.prompt.md +0 -54
- package/templates/prompts/task-building.prompt.md +0 -38
- package/templates/prompts/task-planning.prompt.md +0 -53
- package/templates/release/v1/PRD.md +0 -37
|
@@ -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`.
|
package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T001-border-resize-fix.md
DELETED
|
@@ -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.
|
package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T003-checkbox-rendering-fix.md
DELETED
|
@@ -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.
|
package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T005-unify-status-glyphs.md
DELETED
|
@@ -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
|