savepoint 1.0.4 → 1.0.7
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 +11 -4
- package/savepoint.exe +0 -0
- package/.claude/settings.local.json +0 -38
- package/.github/workflows/ci.yml +0 -20
- package/.golangci.yml +0 -11
- package/.prettierignore +0 -4
- package/.savepoint/Design.md +0 -207
- 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-Audit.md +0 -272
- package/.savepoint/releases/v1.1/epics/E15-hardening/E15-Detail.md +0 -60
- 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 -34
- 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 -33
- package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T008-ci-and-release-automation.md +0 -46
- 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 -31
- 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 -181
- package/internal/board/board_test.go +0 -168
- package/internal/board/card.go +0 -129
- package/internal/board/card_test.go +0 -287
- package/internal/board/column.go +0 -156
- package/internal/board/column_test.go +0 -210
- package/internal/board/debug.go +0 -26
- package/internal/board/debug_test.go +0 -108
- package/internal/board/detail.go +0 -218
- package/internal/board/detail_test.go +0 -388
- package/internal/board/epic_panel.go +0 -264
- 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 -575
- package/internal/board/update_test.go +0 -602
- package/internal/board/util.go +0 -76
- package/internal/board/view.go +0 -317
- package/internal/board/view_test.go +0 -377
- package/internal/board/watch.go +0 -136
- package/internal/buildtool/main.go +0 -249
- package/internal/buildtool/main_test.go +0 -224
- 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/fuzz_test.go +0 -75
- package/internal/data/lifecycle.go +0 -44
- package/internal/data/lifecycle_test.go +0 -41
- package/internal/data/parser.go +0 -243
- 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/testdata/fuzz/FuzzSplitFrontmatterBody/68eb66b0fe91e7e3 +0 -2
- package/internal/data/write.go +0 -221
- 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 -136
- package/project-audit/audit_report_glm_5.1.md +0 -411
- package/project-audit/audit_report_opus_4.6.md +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,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: epic-design
|
|
3
|
-
status: audited
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Epic E05: Tasking Permissions & Router Updates
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
|
|
10
|
-
Restrict agent task status mutation to `in_progress` only (no `done`, no retreat). Add an explicit TUI priority hotkey (`p`) to update the router to the focused non-done task, decoupling router task priority from navigation. The user retains full control over `done` transitions and retreats via the board.
|
|
11
|
-
|
|
12
|
-
## Definition of Done
|
|
13
|
-
|
|
14
|
-
- AGENTS.md updated: agents set `status: in_progress` when starting implementation; only user can set `done` or retreat
|
|
15
|
-
- Router.md updated: document that agent sets router task when starting work via explicit `p` action
|
|
16
|
-
- Design.md Section 4 updated: status model distinguishes agent vs user capabilities
|
|
17
|
-
- TUI `p` priority hotkey implemented: sets router's `task` field to the currently focused non-done task and keeps router state as `task-building`
|
|
18
|
-
- Help overlay shows `p` key binding
|
|
19
|
-
- `make build && make test` passes
|
|
20
|
-
|
|
21
|
-
## Components and files
|
|
22
|
-
|
|
23
|
-
| Path | Purpose |
|
|
24
|
-
|------|---------|
|
|
25
|
-
| `AGENTS.md` | Remove "set status: done" from Task Completion Protocol; add `in_progress` guidance |
|
|
26
|
-
| `.savepoint/router.md` | Add agent router-update guidance in task-building state |
|
|
27
|
-
| `.savepoint/Design.md` | Revise Section 4 status model: agent `in_progress` only, user `done`/retreat only |
|
|
28
|
-
| `.savepoint/releases/v1.1/v1.1-PRD.md` | Add E05 to epic breakdown |
|
|
29
|
-
| `.savepoint/router.md` | Update current state for E05/T001 |
|
|
30
|
-
| `internal/board/update.go` | Add `p` key handler for explicit router priority update |
|
|
31
|
-
| `internal/board/model.go` | Add `writeRouterTask()` method to update router release, epic, task, state, and next action |
|
|
32
|
-
| `internal/board/help.go` | Add `p` key to keyboard shortcuts |
|
|
33
|
-
| `internal/data/router.go` | No changes needed (WriteRouterState already supports all fields) |
|
|
34
|
-
| `internal/data/write.go` | No changes needed |
|
|
35
|
-
|
|
36
|
-
## Architectural notes
|
|
37
|
-
|
|
38
|
-
- The `p` hotkey reads the currently focused task, not the epic panel cursor.
|
|
39
|
-
- Router priority writes always set `state: task-building`, `task: <full-task-id>`, `release`, `epic`, and `next_action` from the focused task.
|
|
40
|
-
- The `p` key does nothing when no task is focused, when an overlay is open, or when focused on a `done` task.
|
|
41
|
-
- The `p` key is independent of navigation — user can browse freely without router task drift.
|
|
42
|
-
- Audit state is not inferred by the priority key; audit handoff remains an explicit workflow/router closeout action.
|
|
43
|
-
- No code enforcement prevents agents from writing `done`. This is a documentation-only trust boundary. AGENTS.md is the contract.
|
|
44
|
-
|
|
45
|
-
## Implemented as
|
|
46
|
-
|
|
47
|
-
- `AGENTS.md`, `templates/project/AGENTS.md`, and phase skill guides now describe the three-status canon and agent/user task-status ownership boundary.
|
|
48
|
-
- `.savepoint/router.md` was simplified around the current state machine and task-building handoff.
|
|
49
|
-
- `.savepoint/Design.md` Section 4 records that agents may only set `in_progress`; user-only operations are `done` and retreat.
|
|
50
|
-
- `internal/board/model.go` adds `writeRouterTask(task data.Task)`, which reads the current router, writes release/epic/task/state/next_action via `data.WriteRouterState`, and updates in-memory router fields.
|
|
51
|
-
- `internal/board/update.go` handles `p` before normal navigation when no overlay is open, no-ops for done tasks, and writes user-visible status messages.
|
|
52
|
-
- `internal/board/help.go` and `internal/board/view.go` advertise `p: Priority` and render priority/status feedback in the footer.
|
|
53
|
-
- `internal/board/update_test.go`, `help_test.go`, `view_test.go`, `card_test.go`, and transition tests cover priority routing, done-task no-op, overlay no-op, help text, footer status feedback, and transition messages.
|
|
54
|
-
- Implementation deviation: the original design specified `m` and last-task `audit-pending` derivation. The final behavior uses `p` and keeps priority writes in `task-building` so audit handoff remains explicit.
|
package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E05-tasking-permissions/T001-update-agents-md
|
|
3
|
-
status: done
|
|
4
|
-
objective: "Update AGENTS.md to remove agent 'set status: done' permission and add 'set status: in_progress' guidance with router update instruction"
|
|
5
|
-
depends_on: []
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# T001: Update AGENTS.md
|
|
9
|
-
|
|
10
|
-
## Acceptance Criteria
|
|
11
|
-
|
|
12
|
-
- Task Completion Protocol no longer says "Set the task frontmatter to `status: done`"
|
|
13
|
-
- Protocol says "When starting implementation, set `status: in_progress`"
|
|
14
|
-
- Protocol says "After setting `in_progress`, press `m` in the TUI to update the router"
|
|
15
|
-
- The words "Set the task frontmatter to `status: done`" are removed or replaced
|
|
16
|
-
- Audit Handoff Rule still says the agent updates router.md to `state: audit-pending` when all tasks are done (this is router state, not task state)
|
|
17
|
-
|
|
18
|
-
## Implementation Plan
|
|
19
|
-
|
|
20
|
-
- [x] In AGENTS.md `## Task Completion Protocol`: replace "Set the task frontmatter to `status: done`" with appropriate guidance
|
|
21
|
-
- [x] In AGENTS.md `## Task Completion Protocol` step 7: keep router update for `audit-pending` (that's router state, not task status)
|
|
22
|
-
- [x] In AGENTS.md add note under `## Task Status Canon` about agent vs user capabilities
|
|
23
|
-
- [x] Run `make build && make test` to verify
|
|
24
|
-
|
|
25
|
-
## Context Log
|
|
26
|
-
|
|
27
|
-
Files read:
|
|
28
|
-
- AGENTS.md
|
|
29
|
-
- .savepoint/router.md
|
|
30
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md
|
|
31
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md
|
|
32
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md
|
|
33
|
-
- agent-skills/savepoint-build-task/SKILL.md
|
|
34
|
-
- Makefile
|
|
35
|
-
|
|
36
|
-
Files edited:
|
|
37
|
-
- AGENTS.md
|
|
38
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md
|
|
39
|
-
- .savepoint/router.md
|
|
40
|
-
|
|
41
|
-
Estimated input tokens: 6500
|
|
42
|
-
|
|
43
|
-
Notes:
|
|
44
|
-
- `make build && make test` could not run literally because `make` is unavailable in this environment.
|
|
45
|
-
- Equivalent gates passed: `go run ./internal/buildtool -version "" build` and `go test ./...`.
|
package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E05-tasking-permissions/T002-update-router-md
|
|
3
|
-
status: done
|
|
4
|
-
objective: "Add agent router-update guidance to router.md task-building state and update current state for E05"
|
|
5
|
-
depends_on: ["E05-tasking-permissions/T001-update-agents-md"]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# T002: Update Router.md
|
|
9
|
-
|
|
10
|
-
## Acceptance Criteria
|
|
11
|
-
|
|
12
|
-
- Router.md `task-building` state section includes guidance: "When starting work, set task `status: in_progress` and press `m` in TUI to update router task"
|
|
13
|
-
- Current state in router.md updated to point to E05/T001
|
|
14
|
-
- Router.md continues to describe `audit-pending` transition correctly (user confirms, router updates)
|
|
15
|
-
|
|
16
|
-
## Implementation Plan
|
|
17
|
-
|
|
18
|
-
- [x] Edit `.savepoint/router.md` `task-building` state block to add agent router-update instruction
|
|
19
|
-
- [x] Update router.md `## Current state` yaml block to point to E05 tasking-permissions epic
|
|
20
|
-
- [x] Run `make build && make test` to verify
|
|
21
|
-
|
|
22
|
-
## Context Log
|
|
23
|
-
|
|
24
|
-
Files read:
|
|
25
|
-
- .savepoint/router.md
|
|
26
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md
|
|
27
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md
|
|
28
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md
|
|
29
|
-
- agent-skills/savepoint-build-task/SKILL.md
|
|
30
|
-
|
|
31
|
-
Files edited:
|
|
32
|
-
- .savepoint/router.md
|
|
33
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md
|
|
34
|
-
|
|
35
|
-
Estimated input tokens: 5200
|
|
36
|
-
|
|
37
|
-
Notes:
|
|
38
|
-
- `make build && make test` could not run literally because `make` is unavailable in this environment.
|
|
39
|
-
- Equivalent gates passed: `go run ./internal/buildtool -version "" build` and `go test ./...`.
|
|
40
|
-
- Router current state already pointed to E05/T002. I left it on the active task instead of moving it backward to completed dependency T001.
|
package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T003-update-design-md.md
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E05-tasking-permissions/T003-update-design-md
|
|
3
|
-
status: done
|
|
4
|
-
objective: "Revise Design.md Section 4 to document agent vs user task status capabilities"
|
|
5
|
-
depends_on: ["E05-tasking-permissions/T001-update-agents-md"]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# T003: Update Design.md
|
|
9
|
-
|
|
10
|
-
## Acceptance Criteria
|
|
11
|
-
|
|
12
|
-
- Design.md Section 4 (`## 4. Status model & gates`) documents:
|
|
13
|
-
- Agent can only set `status: in_progress`
|
|
14
|
-
- Only user can set `status: done` or retreat
|
|
15
|
-
- Router update is explicit via TUI `m` key, not automatic on navigation
|
|
16
|
-
- `last_audited` field updated (or not — this is documenting current design, not auditing)
|
|
17
|
-
- No other sections modified
|
|
18
|
-
|
|
19
|
-
## Implementation Plan
|
|
20
|
-
|
|
21
|
-
- [x] Edit `.savepoint/Design.md` Section 4 to add new permission row or note
|
|
22
|
-
- [x] Update `last_audited` in frontmatter
|
|
23
|
-
- [x] Run `make build && make test` to verify
|
|
24
|
-
|
|
25
|
-
## Context Log
|
|
26
|
-
|
|
27
|
-
Files read:
|
|
28
|
-
- .savepoint/Design.md
|
|
29
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md
|
|
30
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md
|
|
31
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md
|
|
32
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T003-update-design-md.md
|
|
33
|
-
- .savepoint/router.md
|
|
34
|
-
- agent-skills/savepoint-build-task/SKILL.md
|
|
35
|
-
- Makefile
|
|
36
|
-
|
|
37
|
-
Files edited:
|
|
38
|
-
- .savepoint/Design.md
|
|
39
|
-
- .savepoint/router.md
|
|
40
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T003-update-design-md.md
|
|
41
|
-
|
|
42
|
-
Estimated input tokens: 8500
|
|
43
|
-
|
|
44
|
-
Notes:
|
|
45
|
-
- `make build && make test` could not run literally because `make` is unavailable in this environment.
|
|
46
|
-
- Equivalent gates passed: `go run ./internal/buildtool -version "" build` and `go test ./...`.
|
|
47
|
-
- Task remains `status: in_progress`; only the user may set `status: done`.
|
package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T004-implement-m-hotkey.md
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E05-tasking-permissions/T004-implement-m-hotkey
|
|
3
|
-
status: done
|
|
4
|
-
objective: "Implement TUI `m` hotkey that explicitly sets the router's task from the currently focused task"
|
|
5
|
-
depends_on: ["E05-tasking-permissions/T002-update-router-md", "E05-tasking-permissions/T003-update-design-md"]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# T004: Implement TUI `m` hotkey
|
|
9
|
-
|
|
10
|
-
## Acceptance Criteria
|
|
11
|
-
|
|
12
|
-
- Pressing `m` in the TUI board (when no overlay is open) reads the currently focused task and updates `router.md` with:
|
|
13
|
-
- `release`: from focused task
|
|
14
|
-
- `epic`: from focused task
|
|
15
|
-
- `task`: full task ID
|
|
16
|
-
- `state`: `task-building` (or `audit-pending` if last uncompleted task in epic)
|
|
17
|
-
- Pressing `m` when no task is focused does nothing
|
|
18
|
-
- Pressing `m` when focused on a `done` task does nothing (or shows status message)
|
|
19
|
-
- Router `task` field in `writeRouterReleaseEpic` is now set explicitly (currently it writes release+epic only)
|
|
20
|
-
- The `m` key does NOT work when any overlay is open (consistent with other board keys)
|
|
21
|
-
- The `m` key displays a status message confirming the router update: "Router set to {release} {epic}/{task}" or "Audit pending for {epic}" if last task
|
|
22
|
-
|
|
23
|
-
## Implementation Plan
|
|
24
|
-
|
|
25
|
-
- [x] Add `writeRouterTask(task data.Task)` method to `model.go`: reads current router, sets release/epic/task/state fields, writes via `data.WriteRouterState`
|
|
26
|
-
- [x] Add `m` key handler in `update.go` main switch (before epic panel routing, like `q`/`e`/`r`/`?`)
|
|
27
|
-
- [x] Handler: calls `focusedTask()` to get current task, calls `m.writeRouterTask()`, sets `m.StatusMessage` on success/error
|
|
28
|
-
- [x] Detect "last uncompleted task in epic" logic: scan `m.AllTasks` for the same epic, check if any are not done
|
|
29
|
-
- [x] Update `writeRouterReleaseEpic()` is unchanged (still only writes release+epic, used by navigation)
|
|
30
|
-
- [x] Run `make build && make test` to verify
|
|
31
|
-
|
|
32
|
-
## Strategic Visual Rework Plan
|
|
33
|
-
|
|
34
|
-
This task is reopened because the `m` hotkey work exposed router-priority and board rendering paths where terminal color fallback behavior still makes the TUI look patchy between black and gray. Do not continue with incremental one-widget fixes. Apply one bottom-up rendering policy.
|
|
35
|
-
|
|
36
|
-
- [x] Force Lipgloss to a deterministic 256-color profile before board rendering starts.
|
|
37
|
-
- [x] Change black 256-color fallbacks for Background, Surface, and Surface 2 to the same actual ANSI256 black value.
|
|
38
|
-
- [x] Centralize the background policy in `internal/styles/styles.go`: TUI surfaces emit no explicit background escapes; terminal default background remains the single source of truth.
|
|
39
|
-
- [x] Remove or avoid explicit background fills from nested panels/cards where they create padded gray bars.
|
|
40
|
-
- [x] Normalize focus borders across task columns, task cards, overlays, and epic sidebar. Prefer single-line box borders if rounded borders continue rendering as dash bars in Warp.
|
|
41
|
-
- [x] Add regression tests that fail if rendered board/card/router-priority output emits explicit background escapes.
|
|
42
|
-
- [x] Verify representative board states in both Windows Terminal and Warp after code tests pass.
|
|
43
|
-
|
|
44
|
-
## Context Log
|
|
45
|
-
|
|
46
|
-
Files read:
|
|
47
|
-
- .savepoint/router.md
|
|
48
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md
|
|
49
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T004-implement-m-hotkey.md
|
|
50
|
-
- internal/board/model.go
|
|
51
|
-
- internal/board/update.go
|
|
52
|
-
- internal/board/update_test.go
|
|
53
|
-
- internal/board/board.go
|
|
54
|
-
- internal/board/view.go
|
|
55
|
-
- internal/board/column_test.go
|
|
56
|
-
- internal/board/view_test.go
|
|
57
|
-
- internal/board/render_policy_test.go
|
|
58
|
-
- internal/styles/palette.go
|
|
59
|
-
- internal/styles/styles.go
|
|
60
|
-
- internal/data/router.go
|
|
61
|
-
- internal/data/write.go
|
|
62
|
-
|
|
63
|
-
Estimated input tokens: 12000
|
|
64
|
-
|
|
65
|
-
Notes:
|
|
66
|
-
- Focused task comes from `m.Tasks[m.FocusedColumn][m.FocusedTask]`
|
|
67
|
-
- Router state derivation: if all other tasks in the same epic+release are `done`, set `state: audit-pending` and clear `task`; otherwise `state: task-building` with the task ID
|
|
68
|
-
- Focused test: `go test ./internal/board` passed
|
|
69
|
-
- Quality gate: `make build` could not run because `make` is unavailable in this shell
|
|
70
|
-
- Quality gate equivalent: `go run ./internal/buildtool build` passed
|
|
71
|
-
- Quality gate equivalent: `go test ./...` passed
|
|
72
|
-
- Strategic color rework: `lipgloss.SetColorProfile(termenv.ANSI256)` is set before board rendering.
|
|
73
|
-
- Strategic color rework: Background, Surface, and Surface 2 ANSI256 fallbacks now all use `16`.
|
|
74
|
-
- Strategic color rework: nested task/card/panel text no longer paints gray background fills; root-level full-width lines also avoid explicit background escapes.
|
|
75
|
-
- Strategic border rework: rounded borders replaced with single-line borders to avoid Warp dash-bar artifacts.
|
|
76
|
-
- Regression scan: no `RoundedBorder`, rounded border glyphs, or ANSI256 gray background fallback codes (`232`/`233`) remain under `internal/`.
|
|
77
|
-
- Remaining manual check: visually compare representative board states in Windows Terminal and Warp.
|
|
78
|
-
- Follow-up color consistency pass: removed explicit background painting from `Divider`, `HeaderFrame`, `BoardFrame`, and `RootLine`; this avoids mixing terminal-default cells with `48;5;16` cells after nested style resets.
|
|
79
|
-
- Regression tightened: `internal/board/render_policy_test.go` now fails on any `48;` background escape or basic black `40m` escape across board, card, detail, release/epic dropdown, and help render paths.
|
|
80
|
-
- Focused test: `go test ./internal/board` passed after the no-background policy change.
|
|
81
|
-
- Quality gate: `make build` still cannot run because `make` is unavailable in this shell.
|
|
82
|
-
- Quality gate equivalent: `go run ./internal/buildtool build` passed after the no-background policy change.
|
|
83
|
-
- Quality gate equivalent: `go test ./...` passed after the no-background policy change.
|
|
84
|
-
- Manual verification: user confirmed closeout after the PowerShell/Warp color consistency pass.
|
|
85
|
-
- Closeout focused test: `go test ./internal/board` passed.
|
|
86
|
-
- Closeout quality gate: `make build` failed because `make` is unavailable in this shell.
|
|
87
|
-
- Closeout quality gate equivalent: `go run ./internal/buildtool build` passed.
|
|
88
|
-
- Closeout quality gate equivalent: `go test ./...` passed.
|
|
89
|
-
- 2026-05-02 r1.1 E05 T04 pass: task frontmatter set to `status: in_progress`, `phase: test`; router updated to active T004 task.
|
|
90
|
-
- Dependency correction: replaced stale nonexistent `T005-add-help-entry` dependency with `T003-update-design-md`.
|
|
91
|
-
- Focused test: `go test ./internal/board` passed.
|
|
92
|
-
- Quality gate: `make build` failed because `make` is unavailable in this shell.
|
|
93
|
-
- Quality gate equivalent: `go run ./internal/buildtool build` passed.
|
|
94
|
-
- Quality gate equivalent: `go test ./...` passed.
|
|
95
|
-
- Follow-up fix: `m` handler was updating `StatusMessage`, but the footer never rendered that message; `internal/board/view.go` now shows status feedback between the phase line and key hints.
|
|
96
|
-
- Added regression coverage in `internal/board/view_test.go` for footer status rendering.
|
|
97
|
-
- Focused test: `go test ./internal/board` passed after status rendering fix.
|
|
98
|
-
- Quality gate equivalent: `go test ./...` passed after status rendering fix.
|
package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E05-tasking-permissions/T005-update-help-overlay
|
|
3
|
-
status: done
|
|
4
|
-
objective: "Add `p` priority key binding to the TUI help overlay"
|
|
5
|
-
depends_on: ["E05-tasking-permissions/T004-implement-m-hotkey"]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# T005: Update Help Overlay
|
|
9
|
-
|
|
10
|
-
## Acceptance Criteria
|
|
11
|
-
|
|
12
|
-
- Help overlay (`?` key) shows `p` key binding for router priority
|
|
13
|
-
- Key binding appears with consistent styling in the shortcuts list
|
|
14
|
-
- No unrelated help entries modified
|
|
15
|
-
|
|
16
|
-
## Implementation Plan
|
|
17
|
-
|
|
18
|
-
- [x] Add the `p` priority shortcut to `RenderHelp` in `help.go`
|
|
19
|
-
- [x] Verify with `go build -o savepoint.exe main.go` and `go test ./...`
|
|
20
|
-
|
|
21
|
-
## Context Log
|
|
22
|
-
|
|
23
|
-
Files read:
|
|
24
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md
|
|
25
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md
|
|
26
|
-
- internal/board/help.go
|
|
27
|
-
|
|
28
|
-
Estimated input tokens: 2000
|
|
29
|
-
|
|
30
|
-
Notes:
|
|
31
|
-
- Implementation uses `p` rather than the originally planned `m` key.
|
|
32
|
-
- `go build -o savepoint.exe main.go` passed during E05 audit.
|
|
33
|
-
- `go test ./...` passed during E05 audit.
|
package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T006-tests-and-quality-gates.md
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E05-tasking-permissions/T006-tests-and-quality-gates
|
|
3
|
-
status: done
|
|
4
|
-
objective: "Write unit tests for the `p` priority router update logic and verify quality gates pass"
|
|
5
|
-
depends_on: ["E05-tasking-permissions/T004-implement-m-hotkey", "E05-tasking-permissions/T005-update-help-overlay"]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# T006: Tests & Quality Gates
|
|
9
|
-
|
|
10
|
-
## Acceptance Criteria
|
|
11
|
-
|
|
12
|
-
- Unit tests for `writeRouterTask()` covering:
|
|
13
|
-
- Focused task → router updated with release/epic/task/state
|
|
14
|
-
- Last uncompleted task → router still stays in `task-building` for the focused task
|
|
15
|
-
- Focused `done` task → no-op
|
|
16
|
-
- Unit test for `p` priority key handler in update_test.go:
|
|
17
|
-
- Pressing `p` updates the model's StatusMessage
|
|
18
|
-
- Unit test for help overlay:
|
|
19
|
-
- `RenderHelp` output contains `p` priority shortcut
|
|
20
|
-
- `go build -o savepoint main.go` passes
|
|
21
|
-
- `go test ./...` passes
|
|
22
|
-
|
|
23
|
-
## Implementation Plan
|
|
24
|
-
|
|
25
|
-
- [x] Add/update router priority tests for focused task state derivation
|
|
26
|
-
- [x] Add `p` key tests to update_test.go
|
|
27
|
-
- [x] Add help overlay test coverage for the `p` shortcut
|
|
28
|
-
- [x] Run build quality gate equivalent
|
|
29
|
-
- [x] Run `go test ./...`
|
|
30
|
-
- [x] Fix priority key audit-pending regression
|
|
31
|
-
|
|
32
|
-
## Context Log
|
|
33
|
-
|
|
34
|
-
Files read:
|
|
35
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md
|
|
36
|
-
- .savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T006-tests-and-quality-gates.md
|
|
37
|
-
- internal/board/model.go
|
|
38
|
-
- internal/board/update.go
|
|
39
|
-
- internal/board/help.go
|
|
40
|
-
- internal/board/update_test.go
|
|
41
|
-
- internal/board/model_test.go
|
|
42
|
-
- internal/board/help_test.go
|
|
43
|
-
- internal/board/view.go
|
|
44
|
-
- internal/board/view_test.go
|
|
45
|
-
- internal/board/card.go
|
|
46
|
-
- internal/board/card_test.go
|
|
47
|
-
- internal/board/transitions.go
|
|
48
|
-
- internal/board/transitions_test.go
|
|
49
|
-
- .savepoint/router.md
|
|
50
|
-
|
|
51
|
-
Estimated input tokens: 11000
|
|
52
|
-
|
|
53
|
-
Notes:
|
|
54
|
-
- Priority key was renamed from `m` to `p`; footer now shows `p: Priority`, and help overlay includes the `p` shortcut.
|
|
55
|
-
- Fixed priority action regression: pressing `p` on the last incomplete task no longer writes `audit-pending`; it always writes `task-building` for the focused non-done task.
|
|
56
|
-
- Router restored from accidental `audit-pending` to `E05-tasking-permissions/T006-tests-and-quality-gates`.
|
|
57
|
-
- Added/update regression coverage in `internal/board/update_test.go`.
|
|
58
|
-
- Focused test: `go test ./internal/board` passed.
|
|
59
|
-
- Quality gate equivalent: `go test ./...` passed.
|
|
60
|
-
- Quality gate equivalent: `go run ./internal/buildtool build` passed.
|
|
61
|
-
- Explicit build gate: `go build -o savepoint main.go` passed.
|
|
62
|
-
- Repo wrapper gates: `make build` and `make test` could not run because `make` is not installed in this Windows shell.
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: audit-findings
|
|
3
|
-
audited: 2026-05-03
|
|
4
|
-
---
|
|
5
|
-
# Audit Findings: E06 Agent Audit + Audit Tab
|
|
6
|
-
|
|
7
|
-
## Main Findings
|
|
8
|
-
|
|
9
|
-
E06 now reflects the intended design decision: Savepoint audit is agent-led and skill-driven, not a `savepoint audit` CLI pipeline. The live design, scaffold template, audit reconciliation prompt, AGENTS guidance, and `savepoint-audit` skill all describe one epic-local `E##-Audit.md` file as the audit artifact.
|
|
10
|
-
|
|
11
|
-
The audit file structure is now enforced as two user-facing sections plus one admin section. The TUI Audit tab renders `## Main Findings` and `## Code Style Review` only. File-specific replacement blocks live under `## Proposed Changes`, so the Epic Detail panel does not display stale implementation metadata.
|
|
12
|
-
|
|
13
|
-
The board implementation now matches that structure: `RenderEpicAuditTab` includes `Main Findings`, excludes superseded `Quality Review`, excludes `Proposed Changes`, and still renders the code style checklist. Tests cover those branches.
|
|
14
|
-
|
|
15
|
-
The previous code style findings were addressed: the duplicate `###` switch branch in `epicAuditBody` was removed, test coverage was added for visible/hidden audit sections, and the out-of-scope audit CLI stub plus `internal/audit` gate-runner package were removed.
|
|
16
|
-
|
|
17
|
-
Verification: `go build ./...` and `go test ./...` pass. The documented `make build && make test` gate could not run in this shell because `make` is not installed.
|
|
18
|
-
|
|
19
|
-
## Code Style Review
|
|
20
|
-
|
|
21
|
-
- [x] One job per file
|
|
22
|
-
- [x] One-sentence functions
|
|
23
|
-
- [x] Test branches
|
|
24
|
-
- [x] Types are documentation
|
|
25
|
-
- [x] Build, don't speculate
|
|
26
|
-
- [x] Errors at boundaries
|
|
27
|
-
- [x] One source of truth
|
|
28
|
-
- [x] Comments explain WHY
|
|
29
|
-
- [x] Content in data files
|
|
30
|
-
- [x] Small diffs
|
|
31
|
-
|
|
32
|
-
## Proposed Changes
|
|
33
|
-
|
|
34
|
-
### Target File
|
|
35
|
-
.savepoint/releases/v1.1/epics/E06-audit-command/E06-Detail.md
|
|
36
|
-
|
|
37
|
-
### Replace
|
|
38
|
-
```
|
|
39
|
-
## Boundaries
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### With
|
|
43
|
-
```
|
|
44
|
-
## Implemented as
|
|
45
|
-
|
|
46
|
-
- `internal/board/model.go` adds `EpicDetailTab` and `EpicAuditContent`.
|
|
47
|
-
- `internal/board/update.go` resets tab state when opening an epic detail overlay and loads `{epic}/E##-Audit.md` the first time the user presses `2`.
|
|
48
|
-
- `internal/board/view.go` switches between `RenderEpicDetail` and `RenderEpicAuditTab`.
|
|
49
|
-
- `internal/board/epic_panel.go` renders the tab indicator and the audit body, including only `Main Findings` and `Code Style Review`.
|
|
50
|
-
- `agent-skills/savepoint-audit/SKILL.md` writes one epic-local `E##-Audit.md`, keeps replacement blocks under `Proposed Changes`, and documents apply/close.
|
|
51
|
-
- Existing audit files were migrated from `.savepoint/audit/` to epic-local audit files for v1.1 E02-E05.
|
|
52
|
-
- `internal/data/write.go` includes helper functions for applying exact proposal text and updating audit metadata.
|
|
53
|
-
- The `savepoint audit` CLI stub and `internal/audit` gate-runner package were removed because Savepoint audit is agent-led and skill-driven.
|
|
54
|
-
|
|
55
|
-
## Boundaries
|
|
56
|
-
```
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: epic-design
|
|
3
|
-
status: audited
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# E06: Agent Audit + Audit Tab
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
|
|
10
|
-
Implement agent-driven audit workflow and TUI audit tab for viewing audit findings. Agent reviews built code against acceptance criteria and AGENTS.md Code Style rules, writes findings to epic folder, and user approves/agent applies.
|
|
11
|
-
|
|
12
|
-
## What this epic adds
|
|
13
|
-
|
|
14
|
-
- **Audit Tab** in Epic Detail overlay (Detail / Audit tabs, press 1/2 to switch)
|
|
15
|
-
- **Audit file storage** in epic folder: `{epic}/E##-Audit.md`
|
|
16
|
-
- **Updated audit skill** writes findings to new location with Code Style checklist
|
|
17
|
-
- **Updated router workflow** (`audit-pending`) calls agent for audit
|
|
18
|
-
- **Migration** of existing audit files from `.savepoint/audit/` to epic folder
|
|
19
|
-
- **Agent closes epic** after applying audit proposals
|
|
20
|
-
|
|
21
|
-
## What's NOT built (from previous approach)
|
|
22
|
-
|
|
23
|
-
- ~~CLI command `savepoint audit`~~ - Agent does audit
|
|
24
|
-
- ~~Quality gate runner CLI~~ - Agent runs gates at task end
|
|
25
|
-
- ~~Snapshot CLI generation~~ - Agent reads files directly
|
|
26
|
-
- ~~TUI proposal review~~ - Review in Epic Detail Audit tab
|
|
27
|
-
- ~~Skip handling CLI~~ - Manual skip allowed
|
|
28
|
-
|
|
29
|
-
## Components
|
|
30
|
-
|
|
31
|
-
| Module | Purpose |
|
|
32
|
-
|--------|---------|
|
|
33
|
-
| `internal/board/model.go` | Add `EpicDetailTab`, `EpicAuditContent` state |
|
|
34
|
-
| `internal/board/update.go` | Handle `1`/`2` tab keys, load audit file |
|
|
35
|
-
| `internal/board/view.go` | Render tab indicator and active tab |
|
|
36
|
-
| `internal/board/epic_panel.go` | Add `RenderEpicAuditTab()` function |
|
|
37
|
-
| `agent-skills/savepoint-audit/SKILL.md` | Updated file paths + checklist |
|
|
38
|
-
| `.savepoint/router.md` | Updated audit-pending workflow |
|
|
39
|
-
|
|
40
|
-
## Implemented as
|
|
41
|
-
|
|
42
|
-
- `internal/board/model.go` adds `EpicDetailTab` and `EpicAuditContent`.
|
|
43
|
-
- `internal/board/update.go` resets tab state when opening an epic detail overlay and loads `{epic}/E##-Audit.md` the first time the user presses `2`.
|
|
44
|
-
- `internal/board/view.go` switches between `RenderEpicDetail` and `RenderEpicAuditTab`.
|
|
45
|
-
- `internal/board/epic_panel.go` renders the tab indicator and the audit body, including only `Main Findings` and `Code Style Review`.
|
|
46
|
-
- `agent-skills/savepoint-audit/SKILL.md` writes one epic-local `E##-Audit.md`, keeps replacement blocks under `Proposed Changes`, and documents apply/close.
|
|
47
|
-
- Existing audit files were migrated from `.savepoint/audit/` to epic-local audit files for v1.1 E02-E05.
|
|
48
|
-
- `internal/data/write.go` includes helper functions for applying exact proposal text and updating audit metadata.
|
|
49
|
-
- The `savepoint audit` CLI stub and `internal/audit` gate-runner package were removed because Savepoint audit is agent-led and skill-driven.
|
|
50
|
-
|
|
51
|
-
## Boundaries
|
|
52
|
-
|
|
53
|
-
**In scope:**
|
|
54
|
-
- TUI Audit tab in Epic Detail overlay
|
|
55
|
-
- Audit findings display in overlay
|
|
56
|
-
- Code Style Review checklist
|
|
57
|
-
- Migration of existing audit files
|
|
58
|
-
- Agent applies findings and closes epic
|
|
59
|
-
|
|
60
|
-
**Out of scope:**
|
|
61
|
-
- CLI audit command (not needed)
|
|
62
|
-
- Toggling checkboxes in UI (manual edit)
|
|
63
|
-
- Full proposal diff view (audit tab sufficient)
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E06-audit-command/T005-proposals
|
|
3
|
-
status: done
|
|
4
|
-
objective: Update proposals to write to E##-Audit.md format
|
|
5
|
-
depends_on:
|
|
6
|
-
- E06-audit-command/T010-audit-file-migration
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# T005: Proposals to E##-Audit.md
|
|
10
|
-
|
|
11
|
-
## Acceptance Criteria
|
|
12
|
-
|
|
13
|
-
- [ ] Proposals written to `{epic}/E##-Audit.md` instead of `.savepoint/audit/`
|
|
14
|
-
- [ ] Includes Main Findings section from proposals.md + snapshot.md
|
|
15
|
-
- [ ] Includes Code Style Review checklist section
|
|
16
|
-
- [ ] Format: frontmatter + Main Findings + Code Style Review
|
|
17
|
-
|
|
18
|
-
## Implementation Plan
|
|
19
|
-
|
|
20
|
-
- [x] Update proposal file format:
|
|
21
|
-
```
|
|
22
|
-
---
|
|
23
|
-
type: audit-findings
|
|
24
|
-
audited: YYYY-MM-DD
|
|
25
|
-
---
|
|
26
|
-
# Audit Findings: E## {Epic Name}
|
|
27
|
-
|
|
28
|
-
## Main Findings
|
|
29
|
-
[content from proposals.md + snapshot.md]
|
|
30
|
-
|
|
31
|
-
## Code Style Review
|
|
32
|
-
- [ ] One job per file
|
|
33
|
-
- [ ] One-sentence functions
|
|
34
|
-
- [ ] Test branches
|
|
35
|
-
- [ ] Types are documentation
|
|
36
|
-
- [ ] Build, don't speculate
|
|
37
|
-
- [ ] Errors at boundaries
|
|
38
|
-
- [ ] One source of truth
|
|
39
|
-
- [ ] Comments explain WHY
|
|
40
|
-
- [ ] Content in data files
|
|
41
|
-
- [ ] Small diffs
|
|
42
|
-
```
|
|
43
|
-
- [x] Update skill to write in this format
|
|
44
|
-
- [x] Verify new format works
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E06-audit-command/T007-apply-close
|
|
3
|
-
status: done
|
|
4
|
-
objective: "Agent applies audit proposals and closes epic with status: audited"
|
|
5
|
-
depends_on:
|
|
6
|
-
- E06-audit-command/T005-proposals
|
|
7
|
-
- E06-audit-command/T014-tab-indicator
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# T007: Apply + Close
|
|
11
|
-
|
|
12
|
-
## Acceptance Criteria
|
|
13
|
-
|
|
14
|
-
- [ ] Agent reads approved proposals from E##-Audit.md
|
|
15
|
-
- [ ] Agent applies each proposal using Replace/Insert/Delete operations
|
|
16
|
-
- [ ] Agent marks epic E##-Detail.md with `status: audited`
|
|
17
|
-
- [ ] Agent updates Design.md `last_audited` field
|
|
18
|
-
- [ ] Agent updates router to advance to next epic
|
|
19
|
-
- [ ] Shows summary: X applied, findings closed
|
|
20
|
-
|
|
21
|
-
## Implementation Plan
|
|
22
|
-
|
|
23
|
-
- [ ] In audit skill (SKILL.md), add step after proposals approved:
|
|
24
|
-
- Read E##-Audit.md proposals section
|
|
25
|
-
- Apply each proposal (Replace/Insert/Delete) to live files
|
|
26
|
-
- Update E##-Detail.md frontmatter: `status: audited`
|
|
27
|
-
- Update Design.md `last_audited: {release}/{epic}`
|
|
28
|
-
- Update router.md to set state to next epic (or `epic-design` for new epic)
|
|
29
|
-
- Show apply summary output
|
|
30
|
-
- [ ] Add apply helper functions to data module:
|
|
31
|
-
- `ApplyProposal(target, old, new) error`
|
|
32
|
-
- `UpdateEpicStatus(epic, status) error`
|
|
33
|
-
- `UpdateLastAudited(release, epic) error`
|
|
34
|
-
- [ ] Test apply workflow
|
|
35
|
-
- [ ] Run quality gates
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E06-audit-command/T009-integration
|
|
3
|
-
status: done
|
|
4
|
-
objective: End-to-end integration test of agent audit workflow
|
|
5
|
-
depends_on:
|
|
6
|
-
- E06-audit-command/T007-apply-close
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# T009: Integration
|
|
10
|
-
|
|
11
|
-
## Acceptance Criteria
|
|
12
|
-
|
|
13
|
-
- [x] Full agent audit workflow runs end-to-end
|
|
14
|
-
- [x] Agent audit → writes E##-Audit.md → user approves → agent applies → epic closed
|
|
15
|
-
- [x] Test passes on Windows, Linux, macOS
|
|
16
|
-
- [x] Audit tab correctly displays findings in TUI
|
|
17
|
-
- [x] All 10 Code Style rules checked in audit
|
|
18
|
-
|
|
19
|
-
## Implementation Plan
|
|
20
|
-
|
|
21
|
-
- [x] Create integration test for agent audit workflow:
|
|
22
|
-
- Agent runs audit for epic
|
|
23
|
-
- Writes findings to E##-Audit.md
|
|
24
|
-
- User reviews (or auto-approve for test)
|
|
25
|
-
- Agent applies proposals
|
|
26
|
-
- Epic marked audited
|
|
27
|
-
- Router advances
|
|
28
|
-
- [x] Verify TUI audit tab displays E##-Audit.md content
|
|
29
|
-
- [x] Verify Code Style checklist present
|
|
30
|
-
- [x] Run full test suite: `make build && make test`
|
|
31
|
-
- [x] Document integration test coverage
|
|
32
|
-
|
|
33
|
-
## Context Log
|
|
34
|
-
|
|
35
|
-
Tests added to `internal/board/epic_panel_test.go`:
|
|
36
|
-
- `TestRenderEpicAuditTab_allCodeStyleRules` — all 10 rules render
|
|
37
|
-
- `TestView_epicAuditTabRendered` — View() renders EPIC AUDIT header when tab=1
|
|
38
|
-
- `TestAuditWorkflow_fullEndToEnd` — creates temp E##-Audit.md, opens overlay, presses 2, verifies content loads and renders, presses 1, presses esc
|
|
39
|
-
|
|
40
|
-
All tests pass on Windows (`go build ./... && go test ./...`).
|