savepoint 1.0.1 → 1.0.2
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 +4 -1
- package/.savepoint/Design.md +22 -17
- package/.savepoint/audit/v1/E01/proposals.md +168 -0
- package/.savepoint/audit/v1/E01/snapshot.md +78 -0
- package/.savepoint/audit/{E01-go-setup → v1/E01-go-setup}/proposals.md +7 -7
- package/.savepoint/audit/{E01-go-setup → v1/E01-go-setup}/snapshot.md +2 -2
- package/.savepoint/audit/{E01-scaffolding → v1/E01-scaffolding}/proposals/AGENTS.md +5 -5
- package/.savepoint/audit/{E02-data-readers → v1/E02-data-readers}/proposals.md +20 -20
- package/.savepoint/audit/{E02-data-readers → v1/E02-data-readers}/snapshot.md +1 -1
- package/.savepoint/audit/{E03-board-tui-core → v1/E03-board-tui-core}/proposals.md +11 -11
- package/.savepoint/audit/{E03-board-tui-core → v1/E03-board-tui-core}/snapshot.md +1 -1
- package/.savepoint/audit/{E04-board-components → v1/E04-board-components}/proposals.md +14 -14
- package/.savepoint/audit/{E04-board-components → v1/E04-board-components}/snapshot.md +1 -1
- package/.savepoint/audit/{E05-init-command → v1/E05-init-command}/snapshot.md +1 -1
- package/.savepoint/audit/{E05-phase-transitions → v1/E05-phase-transitions}/proposals.md +4 -4
- package/.savepoint/audit/{E05-phase-transitions → v1/E05-phase-transitions}/snapshot.md +1 -1
- package/.savepoint/audit/{E06-atari-noir-layout → v1/E06-atari-noir-layout}/proposals.md +2 -2
- package/.savepoint/audit/{E07-audit-pipeline → v1/E07-audit-pipeline}/snapshot.md +6 -6
- package/.savepoint/audit/v1.1/E02-cross-platform-compatibility/proposals.md +114 -0
- package/.savepoint/audit/v1.1/E02-cross-platform-compatibility/snapshot.md +41 -0
- package/.savepoint/audit/v1.1/E04-epic-navigation/proposals.md +156 -0
- package/.savepoint/audit/v1.1/E04-epic-navigation/snapshot.md +48 -0
- package/.savepoint/releases/v1/epics/E01-go-setup/tasks/T001-init-module.md +1 -1
- package/.savepoint/releases/v1/epics/E03-board-tui-core/tasks/T005-layout.md +1 -1
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T002-card.md +1 -1
- package/.savepoint/releases/v1/epics/E04-board-components/tasks/T006-help-overlay.md +1 -1
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/{Design.md → E06-Detail.md} +5 -3
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T002-header-and-dividers.md +1 -1
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T003-footer-status-bar.md +1 -1
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T004-component-refinement.md +1 -1
- package/.savepoint/releases/v1/epics/E06-atari-noir-layout/tasks/T010-auto-refresh-watcher.md +2 -0
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/{Design.md → E01-Detail.md} +9 -1
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/{T007-next-activity-header.md → T001-next-activity-header.md} +13 -12
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T002-rename-epic-design-files.md +9 -9
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T003-rename-release-prd.md +2 -2
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T004-update-instruction-files.md +13 -12
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T005-update-cross-references.md +14 -13
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T006-column-and-detail-scrolling.md +25 -15
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T007-column-focus-border-stability.md +57 -0
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/{Design.md → E02-Detail.md} +12 -3
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T001-fix-makefile.md +11 -8
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T002-linux-build-target.md +12 -7
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T003-macos-build-target.md +9 -5
- package/.savepoint/releases/v1.1/epics/E02-cross-platform-compatibility/tasks/T004-smoke-tests-and-artifacts.md +30 -9
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md +32 -0
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T001-border-resize-fix.md +40 -0
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T002-next-activity-below-header.md +64 -0
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T003-checkbox-rendering-fix.md +56 -0
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T005-unify-status-glyphs.md +65 -0
- package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T006-forced-256-color-profile.md +36 -0
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Detail.md +51 -0
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T001-sidebar-focusable-navigation.md +65 -0
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T002-epic-detail-overlay.md +73 -0
- package/.savepoint/releases/v1.1/epics/E04-epic-navigation/tasks/T003-epic-status-glyphs.md +73 -0
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md +45 -0
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md +34 -0
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md +30 -0
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T003-update-design-md.md +33 -0
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T004-implement-m-hotkey.md +88 -0
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md +30 -0
- package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T006-tests-and-quality-gates.md +46 -0
- package/.savepoint/releases/v1.1/v1.1-PRD.md +79 -0
- package/.savepoint/router.md +33 -105
- package/AGENTS.md +56 -113
- package/Makefile +19 -3
- package/README.md +6 -5
- package/agent-skills/savepoint-audit/SKILL.md +6 -6
- package/agent-skills/savepoint-build-task/SKILL.md +2 -2
- package/agent-skills/savepoint-create-plan/SKILL.md +3 -3
- package/agent-skills/savepoint-create-task/SKILL.md +2 -2
- package/agent-skills/savepoint-draft-prd/SKILL.md +1 -1
- package/agent-skills/savepoint-system-design/SKILL.md +1 -1
- package/internal/board/board.go +43 -27
- package/internal/board/board_test.go +71 -0
- package/internal/board/card.go +34 -3
- package/internal/board/card_test.go +105 -12
- package/internal/board/column.go +40 -5
- package/internal/board/column_test.go +60 -13
- package/internal/board/detail.go +107 -25
- package/internal/board/detail_test.go +117 -26
- package/internal/board/epic_panel.go +105 -8
- package/internal/board/epic_panel_test.go +343 -5
- package/internal/board/layout.go +12 -2
- package/internal/board/layout_test.go +17 -0
- package/internal/board/model.go +141 -24
- package/internal/board/render_policy_test.go +77 -0
- package/internal/board/status.go +23 -0
- package/internal/board/update.go +276 -8
- package/internal/board/update_test.go +166 -0
- package/internal/board/view.go +131 -17
- package/internal/board/view_test.go +159 -1
- package/internal/board/watch.go +24 -6
- package/internal/buildtool/main.go +219 -0
- package/internal/data/parser.go +8 -0
- package/internal/data/parser_test.go +35 -0
- package/internal/data/task.go +10 -0
- package/internal/styles/palette.go +3 -3
- package/internal/styles/styles.go +39 -12
- package/main.go +9 -0
- package/package.json +1 -1
- package/savepoint +0 -0
- package/savepoint.exe +0 -0
- package/templates/project/.savepoint/router.md +6 -5
- package/templates/project/AGENTS.md +47 -101
- package/templates/prompts/audit-reconciliation.prompt.md +6 -6
- package/templates/prompts/epic-design.prompt.md +3 -3
- package/templates/prompts/task-breakdown.prompt.md +1 -1
- package/templates/prompts/task-building.prompt.md +1 -1
- package/templates/prompts/task-planning.prompt.md +1 -1
- package/.savepoint/releases/v1.1/epics/E01-tui-optimisation/tasks/T001-border-resize-fix.md +0 -36
- package/main.exe +0 -0
- /package/.savepoint/audit/{E01-scaffolding → v1/E01-scaffolding}/proposals/Design.md +0 -0
- /package/.savepoint/audit/{E01-scaffolding → v1/E01-scaffolding}/proposals/epic-Design.md +0 -0
- /package/.savepoint/audit/{E01-scaffolding → v1/E01-scaffolding}/proposals/quality-review.md +0 -0
- /package/.savepoint/audit/{E01-scaffolding → v1/E01-scaffolding}/snapshot.md +0 -0
- /package/.savepoint/audit/{E02-data-model → v1/E02-data-model}/snapshot.md +0 -0
- /package/.savepoint/audit/{E03-cli-foundation → v1/E03-cli-foundation}/snapshot.md +0 -0
- /package/.savepoint/audit/{E04-templates-and-prompts → v1/E04-templates-and-prompts}/snapshot.md +0 -0
- /package/.savepoint/audit/{E06-atari-noir-layout → v1/E06-atari-noir-layout}/snapshot.md +0 -0
- /package/.savepoint/audit/{E06-tui-board → v1/E06-tui-board}/snapshot.md +0 -0
- /package/.savepoint/audit/{E08-board-workflow-cleanup → v1/E08-board-workflow-cleanup}/snapshot.md +0 -0
- /package/.savepoint/releases/v1/epics/E01-go-setup/{Design.md → E01-Detail.md} +0 -0
- /package/.savepoint/releases/v1/epics/E02-data-readers/{Design.md → E02-Detail.md} +0 -0
- /package/.savepoint/releases/v1/epics/E03-board-tui-core/{Design.md → E03-Detail.md} +0 -0
- /package/.savepoint/releases/v1/epics/E04-board-components/{Design.md → E04-Detail.md} +0 -0
- /package/.savepoint/releases/v1/epics/E05-phase-transitions/{Design.md → E05-Detail.md} +0 -0
- /package/.savepoint/releases/v1/{PRD.md → v1-PRD.md} +0 -0
|
@@ -1,130 +1,76 @@
|
|
|
1
1
|
# Agents Guide
|
|
2
2
|
|
|
3
|
-
Welcome, AI agent. This project (`{{PROJECT_NAME}}`) uses Savepoint to manage its build.
|
|
4
|
-
|
|
5
3
|
## Workflow
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
When you read `.savepoint/router.md`, you MUST activate the corresponding agent skill for the current state before taking any action. Use the `activate_skill` tool (or equivalent) for the appropriate phase:
|
|
11
|
-
- `state: draft-prd` -> Activate the `draft-prd` skill.
|
|
12
|
-
- `state: design` -> Activate the `system-design` skill.
|
|
13
|
-
- `state: planning` -> Activate the `create-plan` skill.
|
|
14
|
-
- `state: task-breakdown` -> Activate the `create-task` skill.
|
|
15
|
-
- `state: in-progress` -> Activate the `build-task` skill.
|
|
16
|
-
- `state: audit-pending` -> Activate the `audit` skill.
|
|
17
|
-
|
|
18
|
-
When you are about to write code, you must first read, in order:
|
|
19
|
-
|
|
20
|
-
1. `.savepoint/router.md` — current state and next action
|
|
21
|
-
2. The active epic Design: `.savepoint/releases/v{{RELEASE_NUMBER}}/epics/{E##-epic}/Design.md`
|
|
22
|
-
3. The active task file: `.savepoint/releases/v{{RELEASE_NUMBER}}/epics/{E##-epic}/tasks/{T###}-*.md`
|
|
23
|
-
4. Directly touched source/test files
|
|
24
|
-
|
|
25
|
-
Read `.savepoint/PRD.md` only for project vision changes, major scope questions, or when the router explicitly asks for it.
|
|
26
|
-
Read `.savepoint/Design.md` only when the task changes architecture or audit state. Read `.savepoint/releases/v{{RELEASE_NUMBER}}/PRD.md` only when planning epics, changing release scope, or resolving epic order.
|
|
27
|
-
|
|
28
|
-
**Conditional read (token discipline):** if your active task touches **Ink/TUI implementation**, also read `agent-skills/ink-tui-design/SKILL.md` after Design.md as the execution guide. If it touches **TUI rendering, theme, or visual design**, also read `.savepoint/visual-identity.md` as the visual guardrails. Otherwise skip the extra files — they are tokens you do not need.
|
|
29
|
-
|
|
30
|
-
**Do not load files outside the current task scope** unless the task requires it. Token discipline is the wedge of this product; we honor it on ourselves.
|
|
31
|
-
|
|
32
|
-
Planning and implementation are separate handoffs:
|
|
33
|
-
|
|
34
|
-
- Epic task breakdown and detailed task planning happen together in one pass by one planning agent.
|
|
35
|
-
- Each task file must be independently buildable, objective-led, include explicit `depends_on` IDs, contain `## Acceptance Criteria` (observable outcomes) before `## Implementation Plan` (build checklist), and include a `## Context Log` for files read, estimated input tokens, and notes.
|
|
36
|
-
- Implementation happens one task at a time and may be handed to any agent. Clear context between tasks by default; rehydrate only from the router, active epic Design, active task file, and directly touched source/test files.
|
|
37
|
-
- During implementation, run focused tests for the touched behavior first; reserve the full quality-gate suite for task closeout.
|
|
38
|
-
|
|
39
|
-
- After all tasks in an epic are `done`, hand the epic back for audit.
|
|
40
|
-
- Any explicit audit request overrides the normal handoff timing for that epic. Persist the audit to `.savepoint/audit/{E##-epic}/snapshot.md` and `.savepoint/audit/{E##-epic}/proposals.md` before replying; do not stop at chat-only findings.
|
|
41
|
-
|
|
42
|
-
## Task Status Canon
|
|
5
|
+
1. Read `.savepoint/router.md` — state + next action
|
|
6
|
+
2. Activate skill per table below
|
|
7
|
+
3. Read: router → epic → task → source files
|
|
43
8
|
|
|
44
|
-
|
|
9
|
+
## Skill Activation
|
|
45
10
|
|
|
46
|
-
|
|
11
|
+
| State | Skill |
|
|
12
|
+
|-------|-------|
|
|
13
|
+
| pre-implementation | savepoint-draft-prd |
|
|
14
|
+
| epic-design | savepoint-system-design |
|
|
15
|
+
| epic-task-breakdown | savepoint-create-task |
|
|
16
|
+
| task-building | savepoint-build-task |
|
|
17
|
+
| audit-pending | savepoint-audit |
|
|
47
18
|
|
|
48
|
-
|
|
19
|
+
Use `skill` tool.
|
|
49
20
|
|
|
50
|
-
|
|
21
|
+
Read `.savepoint/PRD.md` only for vision changes, `.savepoint/Design.md` only for architecture/audit.
|
|
51
22
|
|
|
52
|
-
|
|
23
|
+
## Task Status
|
|
53
24
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
4. Run the full quality-gate suite (`npm run build && npm run typecheck && npm run lint && npm run format:check && npm test`). Record the result in the Context Log.
|
|
58
|
-
5. If any gate fails, fix it or document the blocker in the task file before setting `status: done`.
|
|
59
|
-
6. Set the task frontmatter to `status: done`.
|
|
60
|
-
7. Update `router.md` with the next action (next unblocked task, or `audit-pending` if all tasks done).
|
|
61
|
-
8. **Stop. Prompt the user:**
|
|
62
|
-
> "Task {id} is done. Quality gates: {pass/fail list}. Router updated to {next_action}. Review the changes, then tell me to continue."
|
|
25
|
+
- `status`: only `planned`, `in_progress`, or `done`
|
|
26
|
+
- `phase` (build/test/audit): only when `status: in_progress`
|
|
27
|
+
- Never: todo, doing, blocked, review, audit
|
|
63
28
|
|
|
64
|
-
|
|
29
|
+
## Implementation
|
|
65
30
|
|
|
66
|
-
|
|
31
|
+
1. Read task's `## Acceptance Criteria` + `## Implementation Plan`
|
|
32
|
+
2. Execute in order, tick checkboxes
|
|
33
|
+
3. Verify every AC has passing test/outcome
|
|
34
|
+
4. Run quality gates (build + test)
|
|
35
|
+
5. Update task: tick boxes, fill `## Context Log`, set `status: done`
|
|
36
|
+
6. Update router.md: next task or `audit-pending`
|
|
37
|
+
7. **Stop. Prompt user before continuing.**
|
|
67
38
|
|
|
68
|
-
|
|
39
|
+
## Drift Check
|
|
69
40
|
|
|
70
|
-
-
|
|
71
|
-
-
|
|
41
|
+
- New files/modules not in Codebase Map?
|
|
42
|
+
- Architecture changed from Design.md?
|
|
72
43
|
|
|
73
|
-
If yes
|
|
74
|
-
- `Drift: {file} added, not yet in Codebase Map.`
|
|
75
|
-
- `Drift: {section} in Design.md may need update.`
|
|
44
|
+
If yes → append `## Drift Notes` to task file.
|
|
76
45
|
|
|
77
|
-
|
|
46
|
+
## Audit Handoff
|
|
78
47
|
|
|
79
|
-
|
|
48
|
+
The agent that builds an epic **must not audit it**. Start a fresh session.
|
|
80
49
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
When all tasks in an epic are `done`:
|
|
84
|
-
1. Update `router.md` to `state: audit-pending` for that epic.
|
|
85
|
-
2. Stop. Tell the user: "Epic {id} is complete. Start a new agent session for the audit."
|
|
86
|
-
3. The user starts a fresh session. The new agent reads `router.md`, sees `audit-pending`, and follows the audit-reconciliation instructions.
|
|
87
|
-
|
|
88
|
-
**If you are in the same session that built the epic, you must not audit it.**
|
|
50
|
+
## Code Style
|
|
89
51
|
|
|
90
|
-
|
|
52
|
+
1. One job per file
|
|
53
|
+
2. One-sentence functions
|
|
54
|
+
3. Test branches
|
|
55
|
+
4. Types are documentation
|
|
56
|
+
5. Build, don't speculate
|
|
57
|
+
6. Errors at boundaries
|
|
58
|
+
7. One source of truth
|
|
59
|
+
8. Comments explain WHY
|
|
60
|
+
9. Content in data files
|
|
61
|
+
10. Small diffs
|
|
91
62
|
|
|
92
|
-
|
|
63
|
+
## Build
|
|
93
64
|
|
|
94
65
|
```bash
|
|
95
|
-
npm run build
|
|
96
|
-
npm run typecheck # type check
|
|
97
|
-
npm run lint # lint
|
|
98
|
-
npm run format:check # format check
|
|
99
|
-
npm test # test suite
|
|
66
|
+
npm run build && npm run test
|
|
100
67
|
```
|
|
101
68
|
|
|
102
|
-
## Code Style
|
|
103
|
-
|
|
104
|
-
1. **One job per file.** If a file does two things, split it.
|
|
105
|
-
2. **One-sentence rule.** If you can't describe a function in one sentence, refactor.
|
|
106
|
-
3. **Test what branches.** Logic with if/else/switch gets a test. Pure rendering: skip.
|
|
107
|
-
4. **Types are documentation.** No `any`. Let the compiler help.
|
|
108
|
-
5. **Build, don't speculate.** No code for hypothetical futures.
|
|
109
|
-
6. **Errors at boundaries.** Handle failure where data enters or leaves the system.
|
|
110
|
-
7. **One source of truth.** State lives in one place. No syncing copies.
|
|
111
|
-
8. **Comments explain WHY,** not what. If removing the comment wouldn't confuse a future reader, delete it.
|
|
112
|
-
9. **Content in data files.** Markdown/JSON/YAML, not strings in code.
|
|
113
|
-
10. **Small diffs.** Each task touches as few files as possible.
|
|
114
|
-
|
|
115
69
|
## Codebase Map
|
|
116
70
|
|
|
117
|
-
<!-- AUTO-GENERATED BY savepoint audit. Do not edit manually. -->
|
|
118
|
-
|
|
119
71
|
| Module | Epic | Purpose |
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
<!-- END AUTO-GENERATED -->
|
|
123
|
-
|
|
124
|
-
## CLI rules for agents
|
|
125
|
-
|
|
126
|
-
**Never run `savepoint` commands.** The CLI is for the human. Edit files directly.
|
|
72
|
+
|--------|------|---------|
|
|
127
73
|
|
|
128
|
-
##
|
|
74
|
+
## CLI Rules
|
|
129
75
|
|
|
130
|
-
|
|
76
|
+
**Never run `savepoint` commands.** The CLI is for the human. Edit files directly.
|
|
@@ -8,21 +8,21 @@ You are reconciling an epic after its last task is done. The epic is `status: au
|
|
|
8
8
|
|
|
9
9
|
## Input
|
|
10
10
|
|
|
11
|
-
- `.savepoint/audit/{E##-slug}/snapshot.md` — what changed during the epic. If this file is missing while the audit CLI is still unavailable, create one manual snapshot from the known epic scope once; do not search broadly for replacement inputs.
|
|
12
|
-
- `.savepoint/releases/
|
|
11
|
+
- `.savepoint/audit/{release}/{E##-slug}/snapshot.md` — what changed during the epic. If this file is missing while the audit CLI is still unavailable, create one manual snapshot from the known epic scope once; do not search broadly for replacement inputs.
|
|
12
|
+
- `.savepoint/releases/{release}/epics/{E##-slug}/E##-Detail.md` — the epic design (may have deltas from the original plan).
|
|
13
13
|
- `.savepoint/Design.md` — project architecture.
|
|
14
14
|
- `AGENTS.md` — agent guide and codebase map.
|
|
15
15
|
- Only the source and test files listed in the snapshot.
|
|
16
16
|
|
|
17
17
|
## Output
|
|
18
18
|
|
|
19
|
-
One file: `.savepoint/audit/{E##-slug}/proposals.md`
|
|
19
|
+
One file: `.savepoint/audit/{release}/{E##-slug}/proposals.md`
|
|
20
20
|
|
|
21
21
|
The proposals bundle must contain these sections in order:
|
|
22
22
|
|
|
23
23
|
1. **Design.md section** — merge only the epic's architectural delta into the project-level `.savepoint/Design.md`.
|
|
24
24
|
2. **AGENTS.md section** — refresh the Codebase Map table with new or changed modules; preserve existing rows.
|
|
25
|
-
3. **epic-
|
|
25
|
+
3. **epic-E##-Detail.md section** — add "Implemented as:" notes and deviations from the original plan.
|
|
26
26
|
4. **Quality Review section** — semantic-review findings against the project's code style rules.
|
|
27
27
|
|
|
28
28
|
## Proposal Format
|
|
@@ -62,6 +62,6 @@ Use this shape for every proposed change:
|
|
|
62
62
|
3. **Do not apply changes yourself.** Write the proposals; the user reviews them in the TUI before commit.
|
|
63
63
|
4. **Track context.** Count only intentional audit context reads, and keep notes short.
|
|
64
64
|
5. **Stop after proposals.** Do not update the router, do not mark the epic audited, and do not commit.
|
|
65
|
-
6. **Be honest about deviations.** If the implementation diverged from the design, document why in the epic-
|
|
66
|
-
7. **Never stop at chat-only findings.** Persist `.savepoint/audit/{E##-slug}/proposals.md` before you report the audit result back to the user.
|
|
65
|
+
6. **Be honest about deviations.** If the implementation diverged from the design, document why in the epic-E##-Detail.md section.
|
|
66
|
+
7. **Never stop at chat-only findings.** Persist `.savepoint/audit/{release}/{E##-slug}/proposals.md` before you report the audit result back to the user.
|
|
67
67
|
8. **Carry-forwards must be actionable.** If an item is "Must Fix Before Next Epic," explain what the next epic's agent should verify. Vague carry-forwards are rejected.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# Prompt: Epic Design Creation
|
|
2
2
|
|
|
3
|
-
<!-- AGENT: You have a release PRD and a project Design. Write one epic
|
|
3
|
+
<!-- AGENT: You have a release PRD and a project Design. Write one epic E##-Detail.md. Stop when that single epic design is complete. -->
|
|
4
4
|
|
|
5
5
|
You are designing one epic for a Savepoint-managed release.
|
|
6
6
|
|
|
7
7
|
## Input
|
|
8
8
|
|
|
9
|
-
- `.savepoint/releases/
|
|
9
|
+
- `.savepoint/releases/{release}/{release}-PRD.md` — release scope and epic list.
|
|
10
10
|
- `.savepoint/Design.md` — project architecture and constraints.
|
|
11
11
|
- The epic name and one-sentence purpose from the release PRD table.
|
|
12
12
|
|
|
13
13
|
## Output
|
|
14
14
|
|
|
15
|
-
A single markdown file at `.savepoint/releases/
|
|
15
|
+
A single markdown file at `.savepoint/releases/{release}/epics/{E##-slug}/E##-Detail.md`:
|
|
16
16
|
|
|
17
17
|
```
|
|
18
18
|
---
|
|
@@ -6,7 +6,7 @@ You are breaking an approved epic into a set of tasks that agents can build one
|
|
|
6
6
|
|
|
7
7
|
## Input
|
|
8
8
|
|
|
9
|
-
- `.savepoint/releases/v{N}/epics/{E##-slug}/
|
|
9
|
+
- `.savepoint/releases/v{N}/epics/{E##-slug}/E##-Detail.md` — the epic to break down.
|
|
10
10
|
- `.savepoint/Design.md` — project architecture (for boundary checks).
|
|
11
11
|
|
|
12
12
|
## Output
|
|
@@ -7,7 +7,7 @@ You are implementing one Savepoint task that is `in_progress` with all `depends_
|
|
|
7
7
|
## Input
|
|
8
8
|
|
|
9
9
|
- `.savepoint/router.md` — confirms you are on the correct task.
|
|
10
|
-
- `.savepoint/releases/v{N}/epics/{E##-slug}/
|
|
10
|
+
- `.savepoint/releases/v{N}/epics/{E##-slug}/E##-Detail.md` — epic context.
|
|
11
11
|
- The active task file: `.savepoint/releases/v{N}/epics/{E##-slug}/tasks/TNNN-slug.md` — your checklist.
|
|
12
12
|
- Any directly touched source or test files.
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ You are repairing or late-adding one task to an epic that is already in progress
|
|
|
7
7
|
## Input
|
|
8
8
|
|
|
9
9
|
- The task file stub (may have an empty or incomplete `## Implementation Plan`).
|
|
10
|
-
- `.savepoint/releases/v{N}/epics/{E##-slug}/
|
|
10
|
+
- `.savepoint/releases/v{N}/epics/{E##-slug}/E##-Detail.md` — epic context.
|
|
11
11
|
- `.savepoint/router.md` — current state.
|
|
12
12
|
|
|
13
13
|
## Output
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: E01-tui-optimisation/T001-border-resize-fix
|
|
3
|
-
status: in_progress
|
|
4
|
-
phase: build
|
|
5
|
-
objective: "Fix right-border clipping and ensure clean rendering on terminal resize"
|
|
6
|
-
depends_on: []
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# T001: Fix Right-Border Clipping and Resize Robustness
|
|
10
|
-
|
|
11
|
-
## Acceptance Criteria
|
|
12
|
-
|
|
13
|
-
- The board frame right border (`│` or rounded corner) is always visible at any terminal width ≥ 40 chars
|
|
14
|
-
- Reducing terminal width below a breakpoint (120→119, 80→79) does not leave stray pixels or broken border artifacts
|
|
15
|
-
- Reducing to very narrow widths (< 50) degrades gracefully (no visual corruption)
|
|
16
|
-
- Expanding terminal width back renders cleanly with no leftover characters from previous dimensions
|
|
17
|
-
- All existing layout breakpoints (120/80) still function correctly
|
|
18
|
-
|
|
19
|
-
## Implementation Plan
|
|
20
|
-
|
|
21
|
-
- [ ] Edit `internal/board/layout.go` — audit width arithmetic to ensure total content width exactly fills `width - boardFrameOverhead` at every breakpoint; use `totalWidth := cw*colCount + colOverhead*colCount` and pad any remainder so it matches `inner` exactly.
|
|
22
|
-
- [ ] Edit `internal/board/view.go` — add minimum terminal width clamping (e.g., floor to 40) in `View()` to prevent degenerate states.
|
|
23
|
-
- [ ] Edit `internal/board/layout.go` — add a `minBoardWidth` const and guard `CalculateLayout` inputs below it.
|
|
24
|
-
- [ ] Run `make build && make test` to verify no regressions.
|
|
25
|
-
|
|
26
|
-
## Context Log
|
|
27
|
-
|
|
28
|
-
Files read:
|
|
29
|
-
- `internal/board/layout.go`
|
|
30
|
-
- `internal/board/view.go`
|
|
31
|
-
- `internal/board/update.go`
|
|
32
|
-
|
|
33
|
-
Estimated input tokens: 600
|
|
34
|
-
|
|
35
|
-
Notes:
|
|
36
|
-
- Moved from `E06-atari-noir-layout/T006-border-resize-fix` (release v1) to `E01-tui-optimisation` (release v1.1).
|
package/main.exe
DELETED
|
Binary file
|
|
File without changes
|
|
File without changes
|
/package/.savepoint/audit/{E01-scaffolding → v1/E01-scaffolding}/proposals/quality-review.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/.savepoint/audit/{E04-templates-and-prompts → v1/E04-templates-and-prompts}/snapshot.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/.savepoint/audit/{E08-board-workflow-cleanup → v1/E08-board-workflow-cleanup}/snapshot.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|