savepoint 1.0.0
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/.claude/settings.local.json +20 -0
- package/.prettierignore +4 -0
- package/.savepoint/Design.md +196 -0
- package/.savepoint/PRD.md +58 -0
- package/.savepoint/audit/E01-go-setup/proposals.md +166 -0
- package/.savepoint/audit/E01-go-setup/snapshot.md +71 -0
- package/.savepoint/audit/E01-scaffolding/proposals/AGENTS.md +66 -0
- package/.savepoint/audit/E01-scaffolding/proposals/Design.md +210 -0
- package/.savepoint/audit/E01-scaffolding/proposals/epic-Design.md +117 -0
- package/.savepoint/audit/E01-scaffolding/proposals/quality-review.md +101 -0
- package/.savepoint/audit/E01-scaffolding/snapshot.md +54 -0
- package/.savepoint/audit/E02-data-model/snapshot.md +128 -0
- package/.savepoint/audit/E02-data-readers/proposals.md +123 -0
- package/.savepoint/audit/E02-data-readers/snapshot.md +54 -0
- package/.savepoint/audit/E03-board-tui-core/proposals.md +146 -0
- package/.savepoint/audit/E03-board-tui-core/snapshot.md +57 -0
- package/.savepoint/audit/E03-cli-foundation/snapshot.md +106 -0
- package/.savepoint/audit/E04-board-components/proposals.md +118 -0
- package/.savepoint/audit/E04-board-components/snapshot.md +77 -0
- package/.savepoint/audit/E04-templates-and-prompts/snapshot.md +115 -0
- package/.savepoint/audit/E05-init-command/snapshot.md +125 -0
- package/.savepoint/audit/E05-phase-transitions/proposals.md +83 -0
- package/.savepoint/audit/E05-phase-transitions/snapshot.md +36 -0
- package/.savepoint/audit/E06-tui-board/snapshot.md +64 -0
- package/.savepoint/audit/E07-audit-pipeline/snapshot.md +165 -0
- package/.savepoint/audit/E08-board-workflow-cleanup/snapshot.md +65 -0
- package/.savepoint/config.yml +27 -0
- package/.savepoint/releases/v1/PRD.md +66 -0
- package/.savepoint/releases/v1/epics/E01-go-setup/Design.md +39 -0
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T001-init-module.md +42 -0
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T002-entrypoint.md +23 -0
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T003-directory-structure.md +24 -0
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T004-makefile.md +23 -0
- package/.savepoint/releases/v1/epics/E02-data-readers/Design.md +61 -0
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T001-task-struct.md +29 -0
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T002-frontmatter-parser.md +30 -0
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T003-router-reader.md +29 -0
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T004-config-reader.md +29 -0
- package/.savepoint/releases/v1/epics/E02-data-readers/tasks/T005-discovery.md +30 -0
- package/.savepoint/releases/v1/epics/E03-board-tui-core/Design.md +38 -0
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T001-model.md +29 -0
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T002-update-loop.md +30 -0
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T003-view.md +34 -0
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T004-styles.md +29 -0
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T005-layout.md +42 -0
- package/.savepoint/releases/v1/epics/E04-board-components/Design.md +44 -0
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T001-column.md +34 -0
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T002-card.md +33 -0
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T003-epic-panel.md +49 -0
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T004-detail-overlay.md +40 -0
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T005-release-dropdown.md +33 -0
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T006-help-overlay.md +34 -0
- package/.savepoint/releases/v1/epics/E05-phase-transitions/Design.md +38 -0
- package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T001-phase-stepping.md +29 -0
- package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T002-gates.md +31 -0
- package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T003-write-task.md +31 -0
- package/.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T004-write-router.md +31 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/Design.md +42 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T001-color-system.md +39 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T002-header-and-dividers.md +52 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T003-footer-status-bar.md +52 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T004-component-refinement.md +53 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T005-restore-nav-hints.md +39 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T007-detail-card-fixes.md +36 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T008-checkbox-states.md +38 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T009-router-priority-marker.md +41 -0
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T010-auto-refresh-watcher.md +61 -0
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/Design.md +39 -0
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T001-archive-epics.md +20 -0
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T002-rewrite-prd.md +22 -0
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T003-create-epic-stubs.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E01-archive-and-reset/tasks/T004-update-router.md +22 -0
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/Design.md +118 -0
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/handoff.md +9 -0
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T001-package-baseline.md +45 -0
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T002-typescript-build.md +48 -0
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T003-vitest-smoke.md +43 -0
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T004-lint-format-gates.md +45 -0
- package/.savepoint/releases/v1/epics/_archived/E01-scaffolding/tasks/T005-scaffold-verification.md +40 -0
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/Design.md +142 -0
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T001-domain-ids-status.md +27 -0
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T002-markdown-frontmatter-boundary.md +28 -0
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T003-task-documents.md +29 -0
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T004-release-epic-router-config-readers.md +30 -0
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T005-dependency-validation.md +29 -0
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T006-epic-task-set-reader.md +29 -0
- package/.savepoint/releases/v1/epics/_archived/E02-data-model/tasks/T007-quality-gates.md +31 -0
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/Design.md +40 -0
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T001-phase-types.md +27 -0
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T002-phase-frontmatter.md +25 -0
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T003-simplify-config.md +26 -0
- package/.savepoint/releases/v1/epics/_archived/E02-domain-phase-model/tasks/T004-simplify-router-domain.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/Design.md +122 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T001-argument-parser-contract.md +28 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T002-help-text-generation.md +28 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T003-terminal-environment-detection.md +27 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T004-command-stub-modules.md +29 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T005-cli-runner-dispatch.md +34 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-foundation/tasks/T006-entrypoint-quality-gates.md +32 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/Design.md +43 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T001-strip-args.md +26 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T002-strip-help.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T003-strip-run.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T004-delete-commands.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E03-cli-simplify/tasks/T005-update-cli-tests.md +22 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/Design.md +48 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T001-board-data-phases.md +26 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T002-phase-rendering.md +28 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T003-detail-pane-phases.md +27 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T004-phase-transitions.md +42 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T005-phase-gates.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T006-phase-write-back.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T007-remove-audit-flow.md +27 -0
- package/.savepoint/releases/v1/epics/_archived/E04-board-phase-integration/tasks/T008-board-tests.md +25 -0
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/Design.md +85 -0
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T001-project-template-assets.md +17 -0
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T002-release-and-prompt-assets.md +20 -0
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T003-template-registry-renderer.md +22 -0
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T004-template-integrity-tests.md +17 -0
- package/.savepoint/releases/v1/epics/_archived/E04-templates-and-prompts/tasks/T005-template-closeout-quality-gates.md +16 -0
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/Design.md +88 -0
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T001-init-cli-contract.md +22 -0
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T002-target-validation.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T003-scaffold-writer.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T004-magic-prompt-and-clipboard.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T005-dev-deps-install-option.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E05-init-command/tasks/T006-init-command-integration.md +28 -0
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/Design.md +53 -0
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T001-delete-dead-src.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T002-delete-dead-tests.md +26 -0
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T003-delete-assets.md +25 -0
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T004-clean-savepoint.md +28 -0
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T005-rewrite-agents-md.md +28 -0
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T006-clean-package-json.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E05-project-cleanup/tasks/T007-verify.md +25 -0
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/Design.md +104 -0
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T001-board-command-data.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T002-board-view-state.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T003-transition-gates-and-writes.md +25 -0
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T004-terminal-theme.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T005-ink-board-ui.md +26 -0
- package/.savepoint/releases/v1/epics/_archived/E06-tui-board/tasks/T006-board-integration-audit-entry.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/Design.md +88 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T001-audit-cli-contract.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T002-quality-gate-runner.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T003-snapshot-and-prompt.md +23 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T004-audit-orchestration-router.md +27 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T005-proposal-validation-apply.md +25 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T006-audit-review-state.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T007-audit-review-ui.md +26 -0
- package/.savepoint/releases/v1/epics/_archived/E07-audit-pipeline/tasks/T008-audit-pipeline-integration.md +24 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/Design.md +103 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T001-acceptance-criteria-model.md +30 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T002-release-task-set-reader.md +33 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T003-board-data-and-plain-output.md +34 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T004-board-selection-state.md +33 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T005-ink-board-layout-cleanup.md +37 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T006-task-detail-popup.md +36 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T007-templates-acceptance-criteria.md +34 -0
- package/.savepoint/releases/v1/epics/_archived/E08-board-workflow-cleanup/tasks/T008-board-workflow-integration.md +41 -0
- package/.savepoint/releases/v1/epics/_archived/E09-doctor-command/Design.md +70 -0
- package/.savepoint/releases/v1/epics/_archived/E10-docs-and-packaging/Design.md +68 -0
- package/.savepoint/releases/v1/epics/_archived/E11-release-validation/Design.md +68 -0
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/Design.md +26 -0
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T001-border-resize-fix.md +35 -0
- package/.savepoint/router.md +136 -0
- package/.savepoint/visual-identity.md +124 -0
- package/AGENTS.md +141 -0
- package/CLAUDE.md +1 -0
- package/GEMINI.md +1 -0
- package/LICENSE +21 -0
- package/Makefile +13 -0
- package/README.md +78 -0
- package/agent-skills/ink-tui-design/SKILL.md +309 -0
- package/agent-skills/ink-tui-design/references/component-patterns.md +371 -0
- package/agent-skills/ink-tui-design/references/hooks-guide.md +436 -0
- package/agent-skills/ink-tui-design/references/ink-gotchas.md +330 -0
- package/agent-skills/ink-tui-design/references/testing-patterns.md +384 -0
- package/agent-skills/savepoint-audit/SKILL.md +35 -0
- package/agent-skills/savepoint-build-task/SKILL.md +39 -0
- package/agent-skills/savepoint-create-plan/SKILL.md +28 -0
- package/agent-skills/savepoint-create-task/SKILL.md +31 -0
- package/agent-skills/savepoint-draft-prd/SKILL.md +32 -0
- package/agent-skills/savepoint-system-design/SKILL.md +33 -0
- package/agent-skills/superpowers/brainstorming/SKILL.md +165 -0
- package/agent-skills/superpowers/brainstorming/visual-companion.md +304 -0
- package/agent-skills/superpowers/dispatching-parallel-agents/SKILL.md +193 -0
- package/agent-skills/superpowers/executing-plans/SKILL.md +77 -0
- package/agent-skills/superpowers/finishing-a-development-branch/SKILL.md +213 -0
- package/agent-skills/superpowers/receiving-code-review/SKILL.md +226 -0
- package/agent-skills/superpowers/requesting-code-review/SKILL.md +115 -0
- package/agent-skills/superpowers/requesting-code-review/code-reviewer.md +160 -0
- package/agent-skills/superpowers/subagent-driven-development/SKILL.md +292 -0
- package/agent-skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +27 -0
- package/agent-skills/superpowers/subagent-driven-development/implementer-prompt.md +113 -0
- package/agent-skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/agent-skills/superpowers/systematic-debugging/SKILL.md +305 -0
- package/agent-skills/superpowers/systematic-debugging/condition-based-waiting.md +122 -0
- package/agent-skills/superpowers/systematic-debugging/defense-in-depth.md +130 -0
- package/agent-skills/superpowers/systematic-debugging/root-cause-tracing.md +183 -0
- package/agent-skills/superpowers/test-driven-development/SKILL.md +389 -0
- package/agent-skills/superpowers/test-driven-development/testing-anti-patterns.md +317 -0
- package/agent-skills/superpowers/verification-before-completion/SKILL.md +147 -0
- package/agent-skills/superpowers/writing-plans/SKILL.md +159 -0
- package/agent-skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/assets/banner.png +0 -0
- package/assets/logo.png +0 -0
- package/assets/strawman.png +0 -0
- package/go.mod +33 -0
- package/go.sum +73 -0
- package/ink-cli-ui-design.zip +0 -0
- package/internal/board/board.go +121 -0
- package/internal/board/board_test.go +99 -0
- package/internal/board/card.go +72 -0
- package/internal/board/card_test.go +111 -0
- package/internal/board/column.go +61 -0
- package/internal/board/column_test.go +81 -0
- package/internal/board/detail.go +140 -0
- package/internal/board/detail_test.go +233 -0
- package/internal/board/epic_panel.go +69 -0
- package/internal/board/epic_panel_test.go +246 -0
- package/internal/board/help.go +40 -0
- package/internal/board/help_test.go +85 -0
- package/internal/board/layout.go +58 -0
- package/internal/board/layout_test.go +89 -0
- package/internal/board/model.go +151 -0
- package/internal/board/model_test.go +67 -0
- package/internal/board/release.go +42 -0
- package/internal/board/release_test.go +177 -0
- package/internal/board/transitions.go +88 -0
- package/internal/board/transitions_test.go +141 -0
- package/internal/board/update.go +155 -0
- package/internal/board/update_test.go +128 -0
- package/internal/board/view.go +190 -0
- package/internal/board/view_test.go +147 -0
- package/internal/data/config.go +87 -0
- package/internal/data/config_test.go +73 -0
- package/internal/data/discover.go +152 -0
- package/internal/data/discover_test.go +106 -0
- package/internal/data/errors.go +9 -0
- package/internal/data/lifecycle.go +37 -0
- package/internal/data/lifecycle_test.go +38 -0
- package/internal/data/parser.go +189 -0
- package/internal/data/parser_test.go +216 -0
- package/internal/data/router.go +52 -0
- package/internal/data/router_test.go +35 -0
- package/internal/data/task.go +46 -0
- package/internal/data/task_test.go +51 -0
- package/internal/data/write.go +144 -0
- package/internal/data/write_test.go +456 -0
- package/internal/styles/palette.go +47 -0
- package/internal/styles/styles.go +122 -0
- package/main.exe +0 -0
- package/main.go +11 -0
- package/package.json +25 -0
- package/savepoint +0 -0
- package/savepoint.exe +0 -0
- package/scripts/vitest-preload.cjs +95 -0
- package/templates/project/.savepoint/Design.md +47 -0
- package/templates/project/.savepoint/PRD.md +34 -0
- package/templates/project/.savepoint/config.yml +27 -0
- package/templates/project/.savepoint/router.md +152 -0
- package/templates/project/.savepoint/visual-identity.md +122 -0
- package/templates/project/AGENTS.md +130 -0
- package/templates/prompts/audit-reconciliation.prompt.md +67 -0
- package/templates/prompts/design.prompt.md +43 -0
- package/templates/prompts/epic-design.prompt.md +43 -0
- package/templates/prompts/magic-prompt.prompt.md +7 -0
- package/templates/prompts/prd.prompt.md +42 -0
- package/templates/prompts/task-breakdown.prompt.md +54 -0
- package/templates/prompts/task-building.prompt.md +38 -0
- package/templates/prompts/task-planning.prompt.md +53 -0
- package/templates/release/v1/PRD.md +37 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Manual Audit Snapshot: E04-board-components
|
|
2
|
+
|
|
3
|
+
Created: 2026-05-01
|
|
4
|
+
|
|
5
|
+
Reason: `.savepoint/router.md` is in `audit-pending` for `E04-board-components`, but `.savepoint/audit/E04-board-components/snapshot.md` was missing. Per router instructions, this is a one-time manual snapshot from the known epic scope.
|
|
6
|
+
|
|
7
|
+
## Router State
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
state: audit-pending
|
|
11
|
+
release: v1
|
|
12
|
+
epic: E04-board-components
|
|
13
|
+
task: E04-board-components/T006-help-overlay
|
|
14
|
+
next_action: "Epic E04-board-components complete. Start a new agent session for audit."
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Epic Scope
|
|
18
|
+
|
|
19
|
+
Epic design: `.savepoint/releases/v1/epics/E04-board-components/Design.md`
|
|
20
|
+
|
|
21
|
+
Tasks:
|
|
22
|
+
|
|
23
|
+
- `.savepoint/releases/v1/epics/E04-board-components/tasks/T001-column.md`
|
|
24
|
+
- `.savepoint/releases/v1/epics/E04-board-components/tasks/T002-card.md`
|
|
25
|
+
- `.savepoint/releases/v1/epics/E04-board-components/tasks/T003-epic-panel.md`
|
|
26
|
+
- `.savepoint/releases/v1/epics/E04-board-components/tasks/T004-detail-overlay.md`
|
|
27
|
+
- `.savepoint/releases/v1/epics/E04-board-components/tasks/T005-release-dropdown.md`
|
|
28
|
+
- `.savepoint/releases/v1/epics/E04-board-components/tasks/T006-help-overlay.md`
|
|
29
|
+
|
|
30
|
+
## Files Listed By Epic Design
|
|
31
|
+
|
|
32
|
+
- `internal/board/column.go`
|
|
33
|
+
- `internal/board/card.go`
|
|
34
|
+
- `internal/board/epic_panel.go`
|
|
35
|
+
- `internal/board/detail.go`
|
|
36
|
+
- `internal/board/dropdown.go` (planned; no live file found)
|
|
37
|
+
- `internal/board/help.go`
|
|
38
|
+
- `internal/board/card_test.go`
|
|
39
|
+
- `internal/board/column_test.go`
|
|
40
|
+
|
|
41
|
+
## Additional Files Touched By Task Logs
|
|
42
|
+
|
|
43
|
+
- `internal/board/model.go`
|
|
44
|
+
- `internal/board/update.go`
|
|
45
|
+
- `internal/board/view.go`
|
|
46
|
+
- `internal/board/layout.go`
|
|
47
|
+
- `internal/board/detail_test.go`
|
|
48
|
+
- `internal/board/epic_panel_test.go`
|
|
49
|
+
- `internal/board/help_test.go`
|
|
50
|
+
- `internal/board/release.go`
|
|
51
|
+
- `internal/board/release_test.go`
|
|
52
|
+
- `internal/board/update_test.go`
|
|
53
|
+
- `internal/board/view_test.go`
|
|
54
|
+
- `internal/styles/styles.go`
|
|
55
|
+
- `internal/styles/palette.go`
|
|
56
|
+
|
|
57
|
+
## Verification Re-run During Audit
|
|
58
|
+
|
|
59
|
+
- `go test ./internal/board/...` passed.
|
|
60
|
+
- `go test ./...` passed.
|
|
61
|
+
|
|
62
|
+
## Scoped Review Notes
|
|
63
|
+
|
|
64
|
+
- `RenderCard` is implemented and tested, but `RenderColumn` still renders plain task labels through `taskLabel`, and `rg RenderCard internal/board` shows no production call site outside `card.go`.
|
|
65
|
+
- Epic and release selection currently mutate `SelectedEpic` / `SelectedRelease` only. There is no data reload or regrouping path in `internal/board/update.go`, so the task-list update acceptance criteria are not yet satisfied.
|
|
66
|
+
- Detail/help overlays are composited over dimmed base board. Epic/release dropdowns use `lipgloss.Place` over a blank canvas, so the board is not visible behind those overlays.
|
|
67
|
+
|
|
68
|
+
## Post-Audit Implementation
|
|
69
|
+
|
|
70
|
+
Updated after user request to implement all audit findings:
|
|
71
|
+
|
|
72
|
+
- `RenderColumn` now renders `RenderCard` for each task.
|
|
73
|
+
- `Model` now stores `AllTasks` and regroups visible tasks when epic/release selection changes.
|
|
74
|
+
- Base board `up`/`k` and `down`/`j` move focused task selection.
|
|
75
|
+
- Epic/release dropdowns now composite over the dimmed board.
|
|
76
|
+
- Detail overlay text now wraps long rows, description, and acceptance criteria.
|
|
77
|
+
- Verification after implementation: `go build ./...`, `go vet ./...`, and `go test ./...` passed.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: audit-snapshot
|
|
3
|
+
epic: E04-templates-and-prompts
|
|
4
|
+
created: 2026-04-27
|
|
5
|
+
manual: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Audit Snapshot: E04-templates-and-prompts
|
|
9
|
+
|
|
10
|
+
Manual snapshot generated because `savepoint audit` is not implemented yet.
|
|
11
|
+
|
|
12
|
+
## Source file tree
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
src/
|
|
16
|
+
templates/
|
|
17
|
+
index.ts - public export surface for template helpers
|
|
18
|
+
load.ts - async template file loader with path-aware not_found errors
|
|
19
|
+
manifest.ts - typed manifest of project, release, and prompt templates
|
|
20
|
+
paths.ts - template root discovery and template path resolution
|
|
21
|
+
render.ts - small placeholder interpolation helper
|
|
22
|
+
templates/
|
|
23
|
+
project/
|
|
24
|
+
AGENTS.md
|
|
25
|
+
.savepoint/
|
|
26
|
+
router.md
|
|
27
|
+
PRD.md
|
|
28
|
+
Design.md
|
|
29
|
+
config.yml
|
|
30
|
+
visual-identity.md
|
|
31
|
+
release/
|
|
32
|
+
v1/
|
|
33
|
+
PRD.md
|
|
34
|
+
prompts/
|
|
35
|
+
audit-reconciliation.prompt.md
|
|
36
|
+
design.prompt.md
|
|
37
|
+
epic-design.prompt.md
|
|
38
|
+
prd.prompt.md
|
|
39
|
+
task-breakdown.prompt.md
|
|
40
|
+
task-building.prompt.md
|
|
41
|
+
task-planning.prompt.md
|
|
42
|
+
test/
|
|
43
|
+
templates/
|
|
44
|
+
project-templates.test.ts
|
|
45
|
+
prompt-templates.test.ts
|
|
46
|
+
render-integrity.test.ts
|
|
47
|
+
router-template.test.ts
|
|
48
|
+
template-registry.test.ts
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Config / metadata changes
|
|
52
|
+
|
|
53
|
+
| Path | Purpose |
|
|
54
|
+
| --------------------------------------------------------- | ------------------------------------------- |
|
|
55
|
+
| `.savepoint/router.md` | Router state points to E04 audit-pending. |
|
|
56
|
+
| `E04-templates-and-prompts/tasks/T001-T005.md` | Five completed E04 task files. |
|
|
57
|
+
| `.savepoint/audit/E04-templates-and-prompts/snapshot.md` | Manual audit snapshot for this epic. |
|
|
58
|
+
| `.savepoint/audit/E04-templates-and-prompts/proposals.md` | Single audit proposal bundle for this epic. |
|
|
59
|
+
|
|
60
|
+
## New files introduced by E04
|
|
61
|
+
|
|
62
|
+
- `src/templates/index.ts`
|
|
63
|
+
- `src/templates/load.ts`
|
|
64
|
+
- `src/templates/manifest.ts`
|
|
65
|
+
- `src/templates/paths.ts`
|
|
66
|
+
- `src/templates/render.ts`
|
|
67
|
+
- `templates/project/AGENTS.md`
|
|
68
|
+
- `templates/project/.savepoint/router.md`
|
|
69
|
+
- `templates/project/.savepoint/PRD.md`
|
|
70
|
+
- `templates/project/.savepoint/Design.md`
|
|
71
|
+
- `templates/project/.savepoint/config.yml`
|
|
72
|
+
- `templates/project/.savepoint/visual-identity.md`
|
|
73
|
+
- `templates/release/v1/PRD.md`
|
|
74
|
+
- `templates/prompts/audit-reconciliation.prompt.md`
|
|
75
|
+
- `templates/prompts/design.prompt.md`
|
|
76
|
+
- `templates/prompts/epic-design.prompt.md`
|
|
77
|
+
- `templates/prompts/prd.prompt.md`
|
|
78
|
+
- `templates/prompts/task-breakdown.prompt.md`
|
|
79
|
+
- `templates/prompts/task-building.prompt.md`
|
|
80
|
+
- `templates/prompts/task-planning.prompt.md`
|
|
81
|
+
- `test/templates/project-templates.test.ts`
|
|
82
|
+
- `test/templates/prompt-templates.test.ts`
|
|
83
|
+
- `test/templates/render-integrity.test.ts`
|
|
84
|
+
- `test/templates/router-template.test.ts`
|
|
85
|
+
- `test/templates/template-registry.test.ts`
|
|
86
|
+
|
|
87
|
+
## Quality gates
|
|
88
|
+
|
|
89
|
+
- `npm run build` passed. Output: `dist/cli.js` 4.83 KB.
|
|
90
|
+
- `npm run typecheck` passed.
|
|
91
|
+
- `npm run lint` passed.
|
|
92
|
+
- `npm run format:check` passed.
|
|
93
|
+
- `npm test` passed: 26 test files, 299 tests.
|
|
94
|
+
|
|
95
|
+
## Coverage summary
|
|
96
|
+
|
|
97
|
+
| Branch / behavior | Test file |
|
|
98
|
+
| ---------------------------------------- | --------------------------------------------------- |
|
|
99
|
+
| Template path routing by template family | template-registry.test.ts |
|
|
100
|
+
| Missing template boundary error | template-registry.test.ts |
|
|
101
|
+
| Placeholder interpolation | template-registry.test.ts, render-integrity.test.ts |
|
|
102
|
+
| Required project template files/markers | project-templates.test.ts |
|
|
103
|
+
| Router states and read-order markers | router-template.test.ts |
|
|
104
|
+
| Prompt template set and required markers | prompt-templates.test.ts |
|
|
105
|
+
| Audit prompt single-bundle guidance | prompt-templates.test.ts |
|
|
106
|
+
|
|
107
|
+
## Deviations from epic Design
|
|
108
|
+
|
|
109
|
+
| Item | Status | Note |
|
|
110
|
+
| ------------------------- | ------ | ------------------------------------------------------------------------------------------------------ |
|
|
111
|
+
| Audit snapshot | manual | Generated by the agent because the audit CLI does not exist yet. |
|
|
112
|
+
| Template loader errors | done | Loader currently reports missing read failures as `not_found`. |
|
|
113
|
+
| Interpolation variables | done | Implemented for `projectName`, `releaseNumber`, and `releaseName`. |
|
|
114
|
+
| Audit proposal output | done | E04 prompt locks audit reconciliation to one `proposals.md` bundle. |
|
|
115
|
+
| Audit initiation friction | found | The router assumed the snapshot existed; this caused an unnecessary missing-file probe at audit start. |
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: audit-snapshot
|
|
3
|
+
epic: E05-init-command
|
|
4
|
+
created: 2026-04-27
|
|
5
|
+
manual: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Audit Snapshot: E05-init-command
|
|
9
|
+
|
|
10
|
+
Manual snapshot generated because `savepoint audit` is not implemented yet.
|
|
11
|
+
|
|
12
|
+
## Source file tree
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
src/
|
|
16
|
+
cli.ts - async process entrypoint delegates to runCli()
|
|
17
|
+
cli/
|
|
18
|
+
args.ts - init option parsing and validation
|
|
19
|
+
exit-codes.ts - shared CLI exit code constants, including boundary errors
|
|
20
|
+
help.ts - init help text
|
|
21
|
+
run.ts - async command dispatcher and init dependency injection
|
|
22
|
+
commands/
|
|
23
|
+
init.ts - init command orchestration
|
|
24
|
+
init/
|
|
25
|
+
clipboard.ts - best-effort clipboard command selection and execution
|
|
26
|
+
dev-deps.ts - package manager detection and optional install execution
|
|
27
|
+
magic-prompt.ts - post-init prompt generation from template assets
|
|
28
|
+
validate-target.ts - target directory safety checks
|
|
29
|
+
write-scaffold.ts - template-backed scaffold writer
|
|
30
|
+
templates/
|
|
31
|
+
manifest.ts - project and prompt template registry entries
|
|
32
|
+
templates/
|
|
33
|
+
project/
|
|
34
|
+
AGENTS.md
|
|
35
|
+
.savepoint/
|
|
36
|
+
router.md
|
|
37
|
+
metrics/
|
|
38
|
+
context-bench.md
|
|
39
|
+
prompts/
|
|
40
|
+
magic-prompt.prompt.md
|
|
41
|
+
test/
|
|
42
|
+
cli/
|
|
43
|
+
args.test.ts
|
|
44
|
+
commands.test.ts
|
|
45
|
+
run.test.ts
|
|
46
|
+
init/
|
|
47
|
+
clipboard.test.ts
|
|
48
|
+
dev-deps.test.ts
|
|
49
|
+
init-command.test.ts
|
|
50
|
+
magic-prompt.test.ts
|
|
51
|
+
validate-target.test.ts
|
|
52
|
+
write-scaffold.test.ts
|
|
53
|
+
templates/
|
|
54
|
+
project-templates.test.ts
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Config / metadata changes
|
|
58
|
+
|
|
59
|
+
| Path | Purpose |
|
|
60
|
+
| --------------------------------------------------------- | --------------------------------------- |
|
|
61
|
+
| `.savepoint/router.md` | Router state reached E05 audit handoff. |
|
|
62
|
+
| `E05-init-command/tasks/T001-T006.md` | Six completed E05 task files. |
|
|
63
|
+
| `.savepoint/audit/E05-init-command/snapshot.md` | Manual audit snapshot for this epic. |
|
|
64
|
+
| `.savepoint/audit/E05-init-command/proposals.md` | Single audit proposal bundle, pending. |
|
|
65
|
+
| `.savepoint/metrics/context-bench.md` | Context rows for E05 task building. |
|
|
66
|
+
| `AGENTS.md` | Codebase Map needs E05 module refresh. |
|
|
67
|
+
| `.savepoint/releases/v1/epics/E05-init-command/Design.md` | Epic Design needs implemented-as notes. |
|
|
68
|
+
|
|
69
|
+
## New files introduced by E05
|
|
70
|
+
|
|
71
|
+
- `src/init/clipboard.ts`
|
|
72
|
+
- `src/init/dev-deps.ts`
|
|
73
|
+
- `src/init/magic-prompt.ts`
|
|
74
|
+
- `src/init/validate-target.ts`
|
|
75
|
+
- `src/init/write-scaffold.ts`
|
|
76
|
+
- `templates/project/.savepoint/metrics/context-bench.md`
|
|
77
|
+
- `templates/prompts/magic-prompt.prompt.md`
|
|
78
|
+
- `test/init/clipboard.test.ts`
|
|
79
|
+
- `test/init/dev-deps.test.ts`
|
|
80
|
+
- `test/init/init-command.test.ts`
|
|
81
|
+
- `test/init/magic-prompt.test.ts`
|
|
82
|
+
- `test/init/validate-target.test.ts`
|
|
83
|
+
- `test/init/write-scaffold.test.ts`
|
|
84
|
+
|
|
85
|
+
## Changed files in scope
|
|
86
|
+
|
|
87
|
+
- `src/cli.ts`
|
|
88
|
+
- `src/cli/args.ts`
|
|
89
|
+
- `src/cli/exit-codes.ts`
|
|
90
|
+
- `src/cli/help.ts`
|
|
91
|
+
- `src/cli/run.ts`
|
|
92
|
+
- `src/commands/init.ts`
|
|
93
|
+
- `src/templates/manifest.ts`
|
|
94
|
+
- `templates/project/AGENTS.md`
|
|
95
|
+
- `templates/project/.savepoint/router.md`
|
|
96
|
+
- `test/cli/args.test.ts`
|
|
97
|
+
- `test/cli/commands.test.ts`
|
|
98
|
+
- `test/cli/run.test.ts`
|
|
99
|
+
- `test/templates/project-templates.test.ts`
|
|
100
|
+
|
|
101
|
+
## Quality gates
|
|
102
|
+
|
|
103
|
+
- Focused init tests passed during task closeout.
|
|
104
|
+
- Full quality gate suite passed during T006 closeout per task context.
|
|
105
|
+
|
|
106
|
+
## Coverage summary
|
|
107
|
+
|
|
108
|
+
| Branch / behavior | Test file |
|
|
109
|
+
| ----------------------------------------- | --------------------------------------- |
|
|
110
|
+
| Init CLI option parsing and invalid flags | args.test.ts |
|
|
111
|
+
| Init command dispatch and async runner | run.test.ts, init-command.test.ts |
|
|
112
|
+
| Target directory validation | validate-target.test.ts |
|
|
113
|
+
| Scaffold writing and overwrite behavior | write-scaffold.test.ts |
|
|
114
|
+
| Magic prompt generation | magic-prompt.test.ts |
|
|
115
|
+
| Clipboard success, skip, and failure | clipboard.test.ts, init-command.test.ts |
|
|
116
|
+
| Dev-dependency install path | dev-deps.test.ts, init-command.test.ts |
|
|
117
|
+
| Template registry and project assets | project-templates.test.ts |
|
|
118
|
+
|
|
119
|
+
## Deviations from epic Design
|
|
120
|
+
|
|
121
|
+
| Item | Status | Note |
|
|
122
|
+
| --------------------- | ------ | --------------------------------------------------------------------------------------------- |
|
|
123
|
+
| Audit snapshot | manual | Generated by the agent because the audit CLI does not exist yet. |
|
|
124
|
+
| Init command boundary | done | `runCli()` and init orchestration became async to support clipboard and install subprocesses. |
|
|
125
|
+
| Optional install | done | Implemented as explicit flag-driven behavior with package manager detection. |
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Audit Proposals: E05-phase-transitions
|
|
2
|
+
|
|
3
|
+
## Target File
|
|
4
|
+
|
|
5
|
+
`.savepoint/Design.md`
|
|
6
|
+
|
|
7
|
+
## Insert After
|
|
8
|
+
|
|
9
|
+
```md
|
|
10
|
+
- **Board command** (`savepoint board`) reads project, non-TTY fallback, Ink TUI, transition gates, mtime writes, audit signaling (epic E06).
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## With
|
|
14
|
+
|
|
15
|
+
```md
|
|
16
|
+
- **Phase transitions** are owned by the Go board/data boundary: `internal/board/transitions.go` defines planned/in_progress/done phase movement and gate checks; `internal/data/write.go` owns mtime-checked task and router frontmatter writes.
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Target File
|
|
20
|
+
|
|
21
|
+
`AGENTS.md`
|
|
22
|
+
|
|
23
|
+
## Insert After
|
|
24
|
+
|
|
25
|
+
```md
|
|
26
|
+
| `internal/data/errors.go` | [E02-data-readers](.savepoint/releases/v1/epics/E02-data-readers/Design.md) | Shared data-reader boundary error sentinels |
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## With
|
|
30
|
+
|
|
31
|
+
```md
|
|
32
|
+
| `internal/data/write.go` | [E05-phase-transitions](.savepoint/releases/v1/epics/E05-phase-transitions/Design.md) | Mtime-checked task status/phase and router current-state write helpers |
|
|
33
|
+
| `internal/board/transitions.go` | [E05-phase-transitions](.savepoint/releases/v1/epics/E05-phase-transitions/Design.md) | Board phase advance/retreat lifecycle and dependency gate checks |
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Target File
|
|
37
|
+
|
|
38
|
+
`.savepoint/releases/v1/epics/E05-phase-transitions/Design.md`
|
|
39
|
+
|
|
40
|
+
## Insert After
|
|
41
|
+
|
|
42
|
+
```md
|
|
43
|
+
## Definition of Done
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## With
|
|
47
|
+
|
|
48
|
+
```md
|
|
49
|
+
## Implemented As
|
|
50
|
+
|
|
51
|
+
- `internal/board/transitions.go` implements in-memory phase movement and `CanAdvance` gate checks.
|
|
52
|
+
- `internal/board/update.go` maps Space and Backspace to transition helpers and displays gate-block reasons in the status bar.
|
|
53
|
+
- `internal/data/write.go` adds mtime-checked write helpers for task frontmatter and router current state.
|
|
54
|
+
- `internal/board/model.go` carries `Root` and writes selected release/epic changes back to `router.md`.
|
|
55
|
+
|
|
56
|
+
## Audit Delta
|
|
57
|
+
|
|
58
|
+
- The task write helper exists, but board Space/Backspace does not yet call it, so task markdown write-back is not implemented on the live interaction path.
|
|
59
|
+
- Router write-back is implemented only for release/epic overlay selection, preserving the existing `next_action` value.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Quality Review
|
|
63
|
+
|
|
64
|
+
## Must Fix Before Close
|
|
65
|
+
|
|
66
|
+
- `internal/board/update.go:47` and `internal/board/update.go:64`: Space/Backspace mutate `m.AllTasks` and refresh the grouped view, but never call `data.WriteTaskStatus`. The epic Definition of Done says task `.md` files are updated and mtime conflicts are detected/reported. The current live board path is memory-only, so the central write-back acceptance criteria from T003 are not satisfied outside isolated helper tests.
|
|
67
|
+
- `internal/board/update.go:47`: the update path has no way to know a selected task file path or expected task mtime. `data.Task` carries task metadata but not source path/mtime, and the board model does not keep a side table for them. That means mtime conflict detection cannot be enforced for task status transitions as designed.
|
|
68
|
+
|
|
69
|
+
## Must Fix Before Next Epic
|
|
70
|
+
|
|
71
|
+
- Add reducer/integration tests for Space and Backspace that verify the board either writes through `WriteTaskStatus` successfully or reports `ErrMtimeConflict` without mutating local state. Current tests cover `Advance`, `Retreat`, and `WriteTaskStatus` independently, but not the user-facing transition workflow.
|
|
72
|
+
- Harden `WriteTaskStatus` body preservation. `internal/data/write.go:54` computes the body offset from the trimmed frontmatter returned by `extractFrontmatter`; frontmatter with extra blank lines or trailing whitespace can shift the splice point. Prefer deriving the body boundary from delimiter indexes in the original normalized content.
|
|
73
|
+
|
|
74
|
+
## Carry Forward
|
|
75
|
+
|
|
76
|
+
- Keep `WriteRouterState` as the data-layer boundary for router YAML updates, but document that callers must preserve `next_action` by reading existing router state first.
|
|
77
|
+
- Consider splitting `internal/data/write.go` if task writes and router writes grow separate validation rules; for now it is still small enough to remain a single file.
|
|
78
|
+
|
|
79
|
+
## Already Fixed
|
|
80
|
+
|
|
81
|
+
- Phase order helpers cover planned -> in_progress/build -> test -> audit -> done and the reverse path.
|
|
82
|
+
- Dependency gates block audit -> done when dependencies are missing or not done.
|
|
83
|
+
- Router release/epic selection writes through the data-layer mtime helper and reports errors via `StatusMessage`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Audit Snapshot: E05-phase-transitions
|
|
2
|
+
|
|
3
|
+
Manual snapshot created because `.savepoint/audit/E05-phase-transitions/snapshot.md` was missing when the router was already in `audit-pending`.
|
|
4
|
+
|
|
5
|
+
## Router State
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
state: audit-pending
|
|
9
|
+
release: v1
|
|
10
|
+
epic: E05-phase-transitions
|
|
11
|
+
task: ""
|
|
12
|
+
next_action: "Epic E05-phase-transitions is complete. Start a new agent session for the audit."
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Epic Scope
|
|
16
|
+
|
|
17
|
+
- `.savepoint/releases/v1/epics/E05-phase-transitions/Design.md`
|
|
18
|
+
- `.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T001-phase-stepping.md`
|
|
19
|
+
- `.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T002-gates.md`
|
|
20
|
+
- `.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T003-write-task.md`
|
|
21
|
+
- `.savepoint/releases/v1/epics/E05-phase-transitions/tasks/T004-write-router.md`
|
|
22
|
+
|
|
23
|
+
## Changed Files Reviewed
|
|
24
|
+
|
|
25
|
+
- `internal/board/transitions.go`
|
|
26
|
+
- `internal/board/transitions_test.go`
|
|
27
|
+
- `internal/board/update.go`
|
|
28
|
+
- `internal/board/model.go`
|
|
29
|
+
- `internal/data/write.go`
|
|
30
|
+
- `internal/data/write_test.go`
|
|
31
|
+
|
|
32
|
+
## Audit Notes
|
|
33
|
+
|
|
34
|
+
- The repository has a broad dirty worktree unrelated to this audit. This snapshot is intentionally scoped to the active epic design, task context logs, and files named by the E05 design/tasks.
|
|
35
|
+
- Task closeout logs report `go build ./...`, `go vet ./...`, and `go test ./...` passing during implementation.
|
|
36
|
+
- The audit did not rerun quality gates; this artifact is the semantic reconciliation snapshot.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: audit-snapshot
|
|
3
|
+
epic: E06-tui-board
|
|
4
|
+
source: manual
|
|
5
|
+
created: 2026-04-27
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# E06-tui-board Audit Snapshot
|
|
9
|
+
|
|
10
|
+
Manual snapshot created because the audit CLI is not available yet.
|
|
11
|
+
|
|
12
|
+
## Epic Scope
|
|
13
|
+
|
|
14
|
+
Implement `savepoint board`, an Ink-based terminal UI for viewing and moving tasks through the Savepoint workflow, with deterministic non-TTY output, terminal theme fallbacks, mtime-safe task status writes, and an initial audit-review entry signal.
|
|
15
|
+
|
|
16
|
+
## Completed Tasks
|
|
17
|
+
|
|
18
|
+
- E06-tui-board/T001-board-command-data
|
|
19
|
+
- E06-tui-board/T002-board-view-state
|
|
20
|
+
- E06-tui-board/T003-transition-gates-and-writes
|
|
21
|
+
- E06-tui-board/T004-terminal-theme
|
|
22
|
+
- E06-tui-board/T005-ink-board-ui
|
|
23
|
+
- E06-tui-board/T006-board-integration-audit-entry
|
|
24
|
+
|
|
25
|
+
## Changed Files To Audit
|
|
26
|
+
|
|
27
|
+
- `package.json`
|
|
28
|
+
- `package-lock.json`
|
|
29
|
+
- `tsconfig.json`
|
|
30
|
+
- `vitest.config.js`
|
|
31
|
+
- `src/cli/environment.ts`
|
|
32
|
+
- `src/cli/help.ts`
|
|
33
|
+
- `src/cli/run.ts`
|
|
34
|
+
- `src/commands/board.ts`
|
|
35
|
+
- `src/domain/router.ts`
|
|
36
|
+
- `src/fs/markdown.ts`
|
|
37
|
+
- `src/tui/board-data.ts`
|
|
38
|
+
- `src/tui/App.tsx`
|
|
39
|
+
- `src/tui/Board.tsx`
|
|
40
|
+
- `src/tui/DetailPane.tsx`
|
|
41
|
+
- `src/tui/io/gates.ts`
|
|
42
|
+
- `src/tui/io/write-status.ts`
|
|
43
|
+
- `src/tui/render/plain-table.ts`
|
|
44
|
+
- `src/tui/state/app-reducer.ts`
|
|
45
|
+
- `src/tui/state/reducer.ts`
|
|
46
|
+
- `src/tui/state/view-state.ts`
|
|
47
|
+
- `src/tui/theme/capability.ts`
|
|
48
|
+
- `src/tui/theme/index.ts`
|
|
49
|
+
- `src/tui/theme/palette.ts`
|
|
50
|
+
- `test/commands/board.test.ts`
|
|
51
|
+
- `test/commands/board-tty.test.ts`
|
|
52
|
+
- `test/tui/components/Board.test.tsx`
|
|
53
|
+
- `test/tui/components/DetailPane.test.tsx`
|
|
54
|
+
- `test/tui/io/gates.test.ts`
|
|
55
|
+
- `test/tui/io/write-status.test.ts`
|
|
56
|
+
- `test/tui/render/plain-table.test.ts`
|
|
57
|
+
- `test/tui/state/app-reducer.test.ts`
|
|
58
|
+
- `test/tui/state/reducer.test.ts`
|
|
59
|
+
- `test/tui/theme/capability.test.ts`
|
|
60
|
+
- `test/tui/theme/palette.test.ts`
|
|
61
|
+
|
|
62
|
+
## Known Non-E06 Working Tree Noise
|
|
63
|
+
|
|
64
|
+
The working tree also contains prior E05/init, template, README, AGENTS, and router changes. They are not audit inputs for this E06 proposal except where the router explicitly asks for proposal targets.
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Audit Snapshot: E07-audit-pipeline
|
|
2
|
+
|
|
3
|
+
Generated: 2026-04-28T10:46:09.021Z
|
|
4
|
+
|
|
5
|
+
## Router State
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
state: audit-pending
|
|
9
|
+
release: v1
|
|
10
|
+
epic: E07-audit-pipeline
|
|
11
|
+
task: (none)
|
|
12
|
+
next_action: Run savepoint audit for E07-audit-pipeline.
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Tasks
|
|
16
|
+
|
|
17
|
+
| ID | Status | Objective |
|
|
18
|
+
| -------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------- |
|
|
19
|
+
| E07-audit-pipeline/T001-audit-cli-contract | done | Define the audit command contract, explicit epic selection, and skip-with-reason logging path without running the full audit pipeline. |
|
|
20
|
+
| E07-audit-pipeline/T002-quality-gate-runner | done | Run configured audit quality gates with deterministic pass/fail results and no snapshot side effects. |
|
|
21
|
+
| E07-audit-pipeline/T003-snapshot-and-prompt | done | Generate a bounded audit snapshot and AI handoff prompt for an epic without embedding source contents. |
|
|
22
|
+
| E07-audit-pipeline/T004-audit-orchestration-router | done | Wire `savepoint audit` to run gates, write audit artifacts, and move the router into audit-pending only after blocking gates pass. |
|
|
23
|
+
| E07-audit-pipeline/T005-proposal-validation-apply | done | Validate audit proposal files and apply approved patch-shaped documentation updates with explicit divergence failures. |
|
|
24
|
+
| E07-audit-pipeline/T006-audit-review-state | done | Model audit proposal review decisions so approve, reject, edit, and apply flows are testable before the Ink UI. |
|
|
25
|
+
| E07-audit-pipeline/T007-audit-review-ui | done | Add the Ink audit review mode that lets users inspect proposals, approve or reject them, edit replacements, and apply approved changes. |
|
|
26
|
+
| E07-audit-pipeline/T008-audit-pipeline-integration | done | Verify the complete audit lifecycle from command execution through review application with end-to-end coverage and full quality gates. |
|
|
27
|
+
|
|
28
|
+
## Changed Files
|
|
29
|
+
|
|
30
|
+
| Status | Path |
|
|
31
|
+
| ------ | -------------------------------------------------------------------------------------- |
|
|
32
|
+
| M | .claude/settings.local.json |
|
|
33
|
+
| M | .savepoint/Design.md |
|
|
34
|
+
| M | .savepoint/metrics/context-bench.md |
|
|
35
|
+
| M | .savepoint/releases/v1/PRD.md |
|
|
36
|
+
| M | .savepoint/releases/v1/epics/E05-init-command/Design.md |
|
|
37
|
+
| M | .savepoint/releases/v1/epics/E05-init-command/tasks/T001-init-cli-contract.md |
|
|
38
|
+
| M | .savepoint/releases/v1/epics/E05-init-command/tasks/T002-target-validation.md |
|
|
39
|
+
| M | .savepoint/releases/v1/epics/E05-init-command/tasks/T003-scaffold-writer.md |
|
|
40
|
+
| M | .savepoint/releases/v1/epics/E05-init-command/tasks/T004-magic-prompt-and-clipboard.md |
|
|
41
|
+
| M | .savepoint/releases/v1/epics/E05-init-command/tasks/T005-dev-deps-install-option.md |
|
|
42
|
+
| M | .savepoint/releases/v1/epics/E05-init-command/tasks/T006-init-command-integration.md |
|
|
43
|
+
| M | .savepoint/releases/v1/epics/E06-tui-board/Design.md |
|
|
44
|
+
| D | .savepoint/releases/v1/epics/E08-doctor-command/Design.md |
|
|
45
|
+
| D | .savepoint/releases/v1/epics/E09-docs-and-packaging/Design.md |
|
|
46
|
+
| D | .savepoint/releases/v1/epics/E10-release-validation/Design.md |
|
|
47
|
+
| M | .savepoint/router.md |
|
|
48
|
+
| M | .savepoint/visual-identity.md |
|
|
49
|
+
| M | AGENTS.md |
|
|
50
|
+
| M | CLAUDE.md |
|
|
51
|
+
| M | GEMINI.md |
|
|
52
|
+
| M | README.md |
|
|
53
|
+
| M | eslint.config.js |
|
|
54
|
+
| M | package-lock.json |
|
|
55
|
+
| M | package.json |
|
|
56
|
+
| M | src/cli.ts |
|
|
57
|
+
| M | src/cli/args.ts |
|
|
58
|
+
| M | src/cli/environment.ts |
|
|
59
|
+
| M | src/cli/exit-codes.ts |
|
|
60
|
+
| M | src/cli/help.ts |
|
|
61
|
+
| M | src/cli/run.ts |
|
|
62
|
+
| M | src/commands/audit.ts |
|
|
63
|
+
| M | src/commands/board.ts |
|
|
64
|
+
| M | src/commands/init.ts |
|
|
65
|
+
| M | src/domain/router.ts |
|
|
66
|
+
| M | src/fs/markdown.ts |
|
|
67
|
+
| M | src/templates/manifest.ts |
|
|
68
|
+
| M | templates/project/.savepoint/router.md |
|
|
69
|
+
| M | templates/project/.savepoint/visual-identity.md |
|
|
70
|
+
| M | templates/project/AGENTS.md |
|
|
71
|
+
| M | templates/prompts/audit-reconciliation.prompt.md |
|
|
72
|
+
| M | templates/prompts/task-breakdown.prompt.md |
|
|
73
|
+
| M | templates/prompts/task-building.prompt.md |
|
|
74
|
+
| M | templates/prompts/task-planning.prompt.md |
|
|
75
|
+
| M | test/cli/args.test.ts |
|
|
76
|
+
| M | test/cli/commands.test.ts |
|
|
77
|
+
| M | test/cli/run.test.ts |
|
|
78
|
+
| M | test/domain/router.test.ts |
|
|
79
|
+
| M | test/templates/project-templates.test.ts |
|
|
80
|
+
| M | tsconfig.json |
|
|
81
|
+
| M | vitest.config.js |
|
|
82
|
+
| M | vitest.config.ts |
|
|
83
|
+
| ?? | .savepoint/audit/E05-init-command/ |
|
|
84
|
+
| ?? | .savepoint/audit/E06-tui-board/ |
|
|
85
|
+
| ?? | .savepoint/audit/E07-audit-pipeline/ |
|
|
86
|
+
| ?? | .savepoint/releases/v1/epics/E06-tui-board/tasks/ |
|
|
87
|
+
| ?? | .savepoint/releases/v1/epics/E07-audit-pipeline/tasks/ |
|
|
88
|
+
| ?? | .savepoint/releases/v1/epics/E08-board-workflow-cleanup/ |
|
|
89
|
+
| ?? | .savepoint/releases/v1/epics/E09-doctor-command/ |
|
|
90
|
+
| ?? | .savepoint/releases/v1/epics/E10-docs-and-packaging/ |
|
|
91
|
+
| ?? | .savepoint/releases/v1/epics/E11-release-validation/ |
|
|
92
|
+
| ?? | agent-skills/ |
|
|
93
|
+
| ?? | ink-cli-ui-design.zip |
|
|
94
|
+
| ?? | src/audit/ |
|
|
95
|
+
| ?? | src/init/ |
|
|
96
|
+
| ?? | src/tui/ |
|
|
97
|
+
| ?? | templates/project/.savepoint/metrics/ |
|
|
98
|
+
| ?? | templates/prompts/magic-prompt.prompt.md |
|
|
99
|
+
| ?? | test/audit/ |
|
|
100
|
+
| ?? | test/commands/ |
|
|
101
|
+
| ?? | test/init/ |
|
|
102
|
+
| ?? | test/tui/ |
|
|
103
|
+
|
|
104
|
+
## Tracked Source and Test Files
|
|
105
|
+
|
|
106
|
+
- src/cli.ts
|
|
107
|
+
- src/cli/args.ts
|
|
108
|
+
- src/cli/environment.ts
|
|
109
|
+
- src/cli/exit-codes.ts
|
|
110
|
+
- src/cli/help.ts
|
|
111
|
+
- src/cli/run.ts
|
|
112
|
+
- src/commands/audit.ts
|
|
113
|
+
- src/commands/board.ts
|
|
114
|
+
- src/commands/doctor.ts
|
|
115
|
+
- src/commands/init.ts
|
|
116
|
+
- src/commands/result.ts
|
|
117
|
+
- src/domain/config.ts
|
|
118
|
+
- src/domain/epic.ts
|
|
119
|
+
- src/domain/ids.ts
|
|
120
|
+
- src/domain/release.ts
|
|
121
|
+
- src/domain/router.ts
|
|
122
|
+
- src/domain/status.ts
|
|
123
|
+
- src/domain/task.ts
|
|
124
|
+
- src/fs/markdown.ts
|
|
125
|
+
- src/fs/project.ts
|
|
126
|
+
- src/readers/config.ts
|
|
127
|
+
- src/readers/epic.ts
|
|
128
|
+
- src/readers/release.ts
|
|
129
|
+
- src/readers/router.ts
|
|
130
|
+
- src/readers/tasks.ts
|
|
131
|
+
- src/templates/index.ts
|
|
132
|
+
- src/templates/load.ts
|
|
133
|
+
- src/templates/manifest.ts
|
|
134
|
+
- src/templates/paths.ts
|
|
135
|
+
- src/templates/render.ts
|
|
136
|
+
- src/validation/dependencies.ts
|
|
137
|
+
- src/version.js
|
|
138
|
+
- src/version.ts
|
|
139
|
+
- test/cli/args.test.ts
|
|
140
|
+
- test/cli/commands.test.ts
|
|
141
|
+
- test/cli/environment.test.ts
|
|
142
|
+
- test/cli/help.test.ts
|
|
143
|
+
- test/cli/run.test.ts
|
|
144
|
+
- test/domain/config.test.ts
|
|
145
|
+
- test/domain/epic.test.ts
|
|
146
|
+
- test/domain/ids.test.ts
|
|
147
|
+
- test/domain/release.test.ts
|
|
148
|
+
- test/domain/router.test.ts
|
|
149
|
+
- test/domain/status.test.ts
|
|
150
|
+
- test/domain/task.test.ts
|
|
151
|
+
- test/fs/markdown.test.ts
|
|
152
|
+
- test/fs/project.test.ts
|
|
153
|
+
- test/readers/config.test.ts
|
|
154
|
+
- test/readers/epic.test.ts
|
|
155
|
+
- test/readers/release.test.ts
|
|
156
|
+
- test/readers/router.test.ts
|
|
157
|
+
- test/readers/tasks.test.ts
|
|
158
|
+
- test/smoke.test.js
|
|
159
|
+
- test/smoke.test.ts
|
|
160
|
+
- test/templates/project-templates.test.ts
|
|
161
|
+
- test/templates/prompt-templates.test.ts
|
|
162
|
+
- test/templates/render-integrity.test.ts
|
|
163
|
+
- test/templates/router-template.test.ts
|
|
164
|
+
- test/templates/template-registry.test.ts
|
|
165
|
+
- test/validation/dependencies.test.ts
|