savepoint 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/.claude/settings.local.json +12 -1
  2. package/.golangci.yml +11 -0
  3. package/.savepoint/Design.md +37 -36
  4. package/.savepoint/{audit/v1.1/E02-cross-platform-compatibility/proposals.md → releases/v1.1/epics/E02-cross-platform-compatibility/E02-Audit.md} +48 -38
  5. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Audit.md +195 -0
  6. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/E03-Detail.md +14 -1
  7. package/.savepoint/releases/v1.1/epics/E03-ui-visual-refinement/tasks/T006-forced-256-color-profile.md +3 -3
  8. package/.savepoint/{audit/v1.1/E04-epic-navigation/proposals.md → releases/v1.1/epics/E04-epic-navigation/E04-Audit.md} +65 -54
  9. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Audit.md +237 -0
  10. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md +25 -16
  11. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T001-update-agents-md.md +17 -6
  12. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T002-update-router-md.md +15 -5
  13. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T003-update-design-md.md +19 -5
  14. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T004-implement-m-hotkey.md +11 -1
  15. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md +9 -6
  16. package/.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T006-tests-and-quality-gates.md +29 -13
  17. package/.savepoint/releases/v1.1/epics/E06-audit-command/E06-Audit.md +56 -0
  18. package/.savepoint/releases/v1.1/epics/E06-audit-command/E06-Detail.md +63 -0
  19. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T005-proposals.md +44 -0
  20. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T007-apply-close.md +35 -0
  21. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T009-integration.md +40 -0
  22. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T010-audit-file-migration.md +45 -0
  23. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T011-model-tab-state.md +26 -0
  24. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T012-epic-audit-render.md +33 -0
  25. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T013-handle-tab-keys.md +34 -0
  26. package/.savepoint/releases/v1.1/epics/E06-audit-command/tasks/T014-tab-indicator.md +33 -0
  27. package/.savepoint/releases/v1.1/epics/E07-init-command/E07-Audit.md +336 -0
  28. package/.savepoint/releases/v1.1/epics/E07-init-command/E07-Detail.md +61 -0
  29. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T001-cli-entrypoint.md +37 -0
  30. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T002-target-validation.md +28 -0
  31. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T003-scaffold-writer.md +46 -0
  32. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T004-atomic-writes.md +27 -0
  33. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T005-magic-prompt.md +25 -0
  34. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T006-clipboard.md +26 -0
  35. package/.savepoint/releases/v1.1/epics/E07-init-command/tasks/T007-integration-test.md +26 -0
  36. package/.savepoint/releases/v1.1/epics/E08-board-command/E08-Audit.md +333 -0
  37. package/.savepoint/releases/v1.1/epics/E08-board-command/E08-Detail.md +68 -0
  38. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T001-cli-entrypoint.md +26 -0
  39. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T002-non-tty-fallback.md +27 -0
  40. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T003-tui-app-shell.md +28 -0
  41. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T004-board-model.md +29 -0
  42. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T005-detail-pane.md +27 -0
  43. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T006-status-transitions.md +29 -0
  44. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T007-theme-fallbacks.md +29 -0
  45. package/.savepoint/releases/v1.1/epics/E08-board-command/tasks/T008-integration-test.md +27 -0
  46. package/.savepoint/releases/v1.1/epics/E09-doctor-command/E09-Audit.md +207 -0
  47. package/.savepoint/releases/v1.1/epics/E09-doctor-command/E09-Detail.md +65 -0
  48. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T001-cli-entrypoint.md +24 -0
  49. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T002-config-router-validation.md +28 -0
  50. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T003-structure-checks.md +29 -0
  51. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T004-dependency-checks.md +27 -0
  52. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T005-audit-orphan-checks.md +28 -0
  53. package/.savepoint/releases/v1.1/epics/E09-doctor-command/tasks/T006-quality-gates-report.md +31 -0
  54. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/E11-Detail.md +36 -0
  55. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T001-debug-logging.md +25 -0
  56. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T002-increase-debounce.md +21 -0
  57. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T003-error-handling.md +22 -0
  58. package/.savepoint/releases/v1.1/epics/E11-board-refresh-fix/tasks/T004-test-verify.md +29 -0
  59. package/.savepoint/releases/v1.1/epics/E12-validation-fix/E12-Audit.md +444 -0
  60. package/.savepoint/releases/v1.1/epics/E12-validation-fix/E12-Detail.md +45 -0
  61. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T001-default-phase.md +35 -0
  62. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T002-default-status.md +19 -0
  63. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T003-better-errors.md +29 -0
  64. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T004-validate-on-write.md +25 -0
  65. package/.savepoint/releases/v1.1/epics/E12-validation-fix/tasks/T005-tests.md +37 -0
  66. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/E13-Audit.md +118 -0
  67. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/E13-Detail.md +73 -0
  68. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T001-safe-cleanup.md +66 -0
  69. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T002-bug-fixes.md +35 -0
  70. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T003-centralize-duplication.md +60 -0
  71. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T004-infrastructure.md +33 -0
  72. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T005-decompose-update.md +37 -0
  73. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T006-async-io.md +40 -0
  74. package/.savepoint/releases/v1.1/epics/E13-audit-remediation/tasks/T007-test-coverage.md +37 -0
  75. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/E14-Audit.md +267 -0
  76. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/E14-Detail.md +54 -0
  77. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T001-group-model.md +39 -0
  78. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T002-data-interfaces.md +42 -0
  79. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T003-discover-orphans.md +33 -0
  80. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T004-epic-panel-headings.md +35 -0
  81. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T005-shell-tokenization.md +27 -0
  82. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T006-unify-enums.md +29 -0
  83. package/.savepoint/releases/v1.1/epics/E14-structural-improvements/tasks/T007-testutil-package.md +28 -0
  84. package/.savepoint/releases/v1.1/epics/E15-hardening/E15-Detail.md +43 -0
  85. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T001-benchmarks.md +31 -0
  86. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T002-fuzz-targets.md +28 -0
  87. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T003-debug-flag.md +30 -0
  88. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T004-dist-checksums.md +27 -0
  89. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T005-windows-targets.md +28 -0
  90. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T006-abbreviation-splitting.md +26 -0
  91. package/.savepoint/releases/v1.1/epics/E15-hardening/tasks/T007-root-test-allowlist.md +28 -0
  92. package/.savepoint/releases/v1.1/epics/_archived/T001-cli-entrypoint.md +25 -0
  93. package/.savepoint/releases/v1.1/epics/_archived/T002-quality-gates.md +27 -0
  94. package/.savepoint/releases/v1.1/epics/_archived/T003-snapshot.md +27 -0
  95. package/.savepoint/releases/v1.1/epics/_archived/T004-ai-reconcile.md +29 -0
  96. package/.savepoint/releases/v1.1/epics/_archived/T006-tui-review.md +31 -0
  97. package/.savepoint/releases/v1.1/epics/_archived/T008-skip-handling.md +34 -0
  98. package/.savepoint/releases/v1.1/v1.1-PRD.md +67 -7
  99. package/.savepoint/router.md +9 -16
  100. package/AGENTS.md +38 -23
  101. package/README.md +0 -1
  102. package/agent-skills/savepoint-audit/SKILL.md +86 -34
  103. package/agent-skills/savepoint-build-task/SKILL.md +7 -2
  104. package/agent-skills/savepoint-create-plan/SKILL.md +7 -2
  105. package/agent-skills/savepoint-create-task/SKILL.md +44 -31
  106. package/agent-skills/savepoint-draft-prd/SKILL.md +7 -2
  107. package/agent-skills/savepoint-system-design/SKILL.md +7 -2
  108. package/agent_skills_test.go +91 -0
  109. package/cmd/board.go +59 -0
  110. package/cmd/board_test.go +137 -0
  111. package/cmd/doctor.go +53 -0
  112. package/cmd/doctor_test.go +146 -0
  113. package/cmd/init.go +63 -0
  114. package/cmd/init_test.go +104 -0
  115. package/internal/board/board.go +40 -36
  116. package/internal/board/board_test.go +27 -82
  117. package/internal/board/card.go +43 -23
  118. package/internal/board/card_test.go +41 -5
  119. package/internal/board/column.go +44 -13
  120. package/internal/board/column_test.go +5 -2
  121. package/internal/board/detail.go +0 -47
  122. package/internal/board/epic_panel.go +118 -22
  123. package/internal/board/epic_panel_test.go +302 -17
  124. package/internal/board/help.go +1 -0
  125. package/internal/board/help_test.go +1 -0
  126. package/internal/board/integration_test.go +266 -0
  127. package/internal/board/interfaces.go +65 -0
  128. package/internal/board/interfaces_test.go +114 -0
  129. package/internal/board/io.go +93 -0
  130. package/internal/board/model.go +79 -118
  131. package/internal/board/plain.go +88 -0
  132. package/internal/board/plain_test.go +117 -0
  133. package/internal/board/release.go +1 -9
  134. package/internal/board/release_test.go +6 -6
  135. package/internal/board/status.go +4 -4
  136. package/internal/board/theme.go +24 -0
  137. package/internal/board/theme_test.go +31 -0
  138. package/internal/board/transitions.go +113 -88
  139. package/internal/board/transitions_test.go +164 -141
  140. package/internal/board/tui.go +32 -0
  141. package/internal/board/update.go +325 -215
  142. package/internal/board/update_test.go +299 -18
  143. package/internal/board/util.go +76 -0
  144. package/internal/board/view.go +31 -28
  145. package/internal/board/view_test.go +12 -2
  146. package/internal/board/watch.go +35 -5
  147. package/internal/buildtool/main.go +2 -10
  148. package/internal/buildtool/main_test.go +46 -0
  149. package/internal/data/config.go +17 -3
  150. package/internal/data/config_test.go +49 -0
  151. package/internal/data/discover.go +26 -0
  152. package/internal/data/discover_test.go +34 -10
  153. package/internal/data/errors.go +4 -0
  154. package/internal/data/lifecycle.go +13 -6
  155. package/internal/data/lifecycle_test.go +14 -11
  156. package/internal/data/parser.go +21 -6
  157. package/internal/data/parser_test.go +31 -7
  158. package/internal/data/task.go +0 -9
  159. package/internal/data/write.go +85 -11
  160. package/internal/data/write_test.go +167 -0
  161. package/internal/doctor/checks.go +567 -0
  162. package/internal/doctor/checks_test.go +716 -0
  163. package/internal/doctor/gates.go +193 -0
  164. package/internal/doctor/gates_test.go +166 -0
  165. package/internal/doctor/interfaces.go +64 -0
  166. package/internal/doctor/interfaces_test.go +104 -0
  167. package/internal/doctor/repairs.go +80 -0
  168. package/internal/doctor/repairs_test.go +81 -0
  169. package/internal/doctor/report.go +157 -0
  170. package/internal/doctor/report_test.go +89 -0
  171. package/internal/init/clipboard.go +146 -0
  172. package/internal/init/clipboard_test.go +74 -0
  173. package/internal/init/install.go +16 -0
  174. package/internal/init/integration_test.go +197 -0
  175. package/internal/init/prompt.go +14 -0
  176. package/internal/init/prompt_test.go +77 -0
  177. package/internal/init/scaffold.go +59 -0
  178. package/internal/init/scaffold_test.go +179 -0
  179. package/internal/init/template_freshness_test.go +56 -0
  180. package/internal/init/validate.go +85 -0
  181. package/internal/init/validate_test.go +141 -0
  182. package/internal/init/write.go +73 -0
  183. package/internal/init/write_test.go +91 -0
  184. package/internal/styles/styles_test.go +133 -0
  185. package/internal/testutil/fixture.go +113 -0
  186. package/internal/testutil/fs.go +26 -0
  187. package/main.go +101 -4
  188. package/package.json +2 -2
  189. package/project-audit/audit_report_glm_5.1.md +411 -0
  190. package/project-audit/audit_report_opus_4.6 +406 -0
  191. package/project-audit/consolidated-audit-report.md +456 -0
  192. package/savepoint +0 -0
  193. package/templates/project/.savepoint/Design.md +2 -2
  194. package/templates/project/.savepoint/router.md +10 -10
  195. package/templates/project/AGENTS.md +33 -21
  196. package/templates/project/agent-skills/savepoint-audit/SKILL.md +87 -0
  197. package/templates/project/agent-skills/savepoint-build-task/SKILL.md +44 -0
  198. package/templates/project/agent-skills/savepoint-create-plan/SKILL.md +33 -0
  199. package/templates/project/agent-skills/savepoint-create-task/SKILL.md +44 -0
  200. package/templates/project/agent-skills/savepoint-draft-prd/SKILL.md +37 -0
  201. package/templates/project/agent-skills/savepoint-system-design/SKILL.md +38 -0
  202. package/templates/prompts/audit-reconciliation.prompt.md +33 -28
  203. package/templates/prompts/design.prompt.md +3 -1
  204. package/.savepoint/audit/v1/E01/proposals.md +0 -168
  205. package/.savepoint/audit/v1/E01/snapshot.md +0 -78
  206. package/.savepoint/audit/v1/E01-go-setup/proposals.md +0 -166
  207. package/.savepoint/audit/v1/E01-go-setup/snapshot.md +0 -71
  208. package/.savepoint/audit/v1/E01-scaffolding/proposals/AGENTS.md +0 -66
  209. package/.savepoint/audit/v1/E01-scaffolding/proposals/Design.md +0 -210
  210. package/.savepoint/audit/v1/E01-scaffolding/proposals/epic-Design.md +0 -117
  211. package/.savepoint/audit/v1/E01-scaffolding/proposals/quality-review.md +0 -101
  212. package/.savepoint/audit/v1/E01-scaffolding/snapshot.md +0 -54
  213. package/.savepoint/audit/v1/E02-data-model/snapshot.md +0 -128
  214. package/.savepoint/audit/v1/E02-data-readers/proposals.md +0 -123
  215. package/.savepoint/audit/v1/E02-data-readers/snapshot.md +0 -54
  216. package/.savepoint/audit/v1/E03-board-tui-core/proposals.md +0 -146
  217. package/.savepoint/audit/v1/E03-board-tui-core/snapshot.md +0 -57
  218. package/.savepoint/audit/v1/E03-cli-foundation/snapshot.md +0 -106
  219. package/.savepoint/audit/v1/E04-board-components/proposals.md +0 -118
  220. package/.savepoint/audit/v1/E04-board-components/snapshot.md +0 -77
  221. package/.savepoint/audit/v1/E04-templates-and-prompts/snapshot.md +0 -115
  222. package/.savepoint/audit/v1/E05-init-command/snapshot.md +0 -125
  223. package/.savepoint/audit/v1/E05-phase-transitions/proposals.md +0 -83
  224. package/.savepoint/audit/v1/E05-phase-transitions/snapshot.md +0 -36
  225. package/.savepoint/audit/v1/E06-atari-noir-layout/proposals.md +0 -130
  226. package/.savepoint/audit/v1/E06-atari-noir-layout/snapshot.md +0 -84
  227. package/.savepoint/audit/v1/E06-tui-board/snapshot.md +0 -64
  228. package/.savepoint/audit/v1/E07-audit-pipeline/snapshot.md +0 -165
  229. package/.savepoint/audit/v1/E08-board-workflow-cleanup/snapshot.md +0 -65
  230. package/.savepoint/audit/v1.1/E02-cross-platform-compatibility/snapshot.md +0 -41
  231. package/.savepoint/audit/v1.1/E04-epic-navigation/snapshot.md +0 -48
  232. package/ink-cli-ui-design.zip +0 -0
  233. package/savepoint.exe +0 -0
@@ -1,74 +1,109 @@
1
- # Audit Proposals: v1.1 E04 Epic Navigation
2
-
3
- ## Target File
1
+ ---
2
+ type: audit-findings
3
+ audited: 2026-05-02
4
+ ---
5
+
6
+ # Audit Findings: E04 Epic Navigation
7
+
8
+ ## Main Findings
9
+
10
+ E04 verified the wide-screen epic navigation work: focusable epic sidebar, purple epic focus styling, epic detail overlay, and epic status glyph loading from epic detail frontmatter.
11
+
12
+ The audit found no must-fix product issue before close. Carry-forward notes were limited to documenting accepted overlay filtering behavior, the permissive epic detail file fallback, and a minor unused sidebar paging helper.
13
+
14
+ ## Code Style Review
15
+
16
+
17
+ - [ ] One job per file
18
+ - [ ] One-sentence functions
19
+ - [ ] Test branches
20
+ - [ ] Types are documentation
21
+ - [ ] Build, don't speculate
22
+ - [ ] Errors at boundaries
23
+ - [ ] One source of truth
24
+ - [ ] Comments explain WHY
25
+ - [ ] Content in data files
26
+ - [ ] Small diffs
27
+
28
+ ## Proposed Changes
29
+
30
+ ### Target File
4
31
 
5
32
  `.savepoint/Design.md`
6
33
 
7
- ## Replace
34
+ ### Replace
8
35
 
9
36
  ```yaml
10
37
  last_audited: E01-tui-optimisation (2026-05-02)
11
38
  ```
12
39
 
13
- ## With
40
+ ### With
14
41
 
15
42
  ```yaml
16
43
  last_audited: E04-epic-navigation (2026-05-02)
17
44
  ```
18
45
 
19
- ## Target File
46
+ ---
47
+
48
+ ### Target File
20
49
 
21
50
  `.savepoint/Design.md`
22
51
 
23
- ## Replace
52
+ ### Replace
24
53
 
25
54
  ```md
26
55
  - **Board command** (`savepoint board`) reads project state, renders the Atari-Noir TUI board, supports release/epic filtering, detail overlays, task status transitions with mtime-guarded writes, release/epic-scoped router priority markers, fsnotify-based task auto-refresh (epic E06), header Next Activity display, height-aware column/detail viewport scrolling, and stable focused/unfocused column border geometry (v1.1 E01).
27
56
  ```
28
57
 
29
- ## With
58
+ ### With
30
59
 
31
60
  ```md
32
61
  - **Board command** (`savepoint board`) reads project state, renders the Atari-Noir TUI board, supports release/epic filtering, detail overlays, task status transitions with mtime-guarded writes, release/epic-scoped router priority markers, fsnotify-based task auto-refresh (epic E06), header Next Activity display, height-aware column/detail viewport scrolling, stable focused/unfocused column border geometry (v1.1 E01), and a focusable wide-screen epic sidebar with purple epic focus, epic detail overlays, and status glyphs loaded from epic detail frontmatter (v1.1 E04).
33
62
  ```
34
63
 
35
- ## Target File
64
+ ---
65
+
66
+ ### Target File
36
67
 
37
68
  `.savepoint/Design.md`
38
69
 
39
- ## Replace
70
+ ### Replace
40
71
 
41
72
  ```md
42
73
  **Layout:** single screen with a 3-column task board (`planned`, `in_progress`, `done`), optional epic sidebar on wide terminals, centered overlays for release/epic/help/task detail, static Atari-Noir header/footer, full-width dividers, uniform black TUI backgrounds, and navigation hints. The header can show a compact right-aligned Next Activity value from router state. Columns and detail overlays use height-aware viewport slicing with subtle above/more scroll indicators. Focused and unfocused columns preserve the same rounded-border geometry so focus changes do not shift content. Non-TTY output remains a plain table fallback.
43
74
  ```
44
75
 
45
- ## With
76
+ ### With
46
77
 
47
78
  ```md
48
79
  **Layout:** single screen with a 3-column task board (`planned`, `in_progress`, `done`), optional epic sidebar on wide terminals, centered overlays for release/epic/help/task/epic-detail views, static Atari-Noir header/footer, full-width dividers, uniform black TUI backgrounds, and navigation hints. The header can show a compact right-aligned Next Activity value from router state. Columns and detail overlays use height-aware viewport slicing with subtle above/more scroll indicators. Focused and unfocused columns preserve the same rounded-border geometry so focus changes do not shift content. On terminals at least 120 columns wide, the epic sidebar is focusable from the Planned column; it uses the purple epic accent for focused panel borders, focused epic labels, and epic detail overlays while task-column focus remains orange. Non-TTY output remains a plain table fallback.
49
80
  ```
50
81
 
51
- ## Target File
82
+ ---
83
+
84
+ ### Target File
52
85
 
53
86
  `.savepoint/Design.md`
54
87
 
55
- ## Replace
88
+ ### Replace
56
89
 
57
90
  ```md
58
91
  **Board persistence and refresh:** task status transitions write canonical task frontmatter through `internal/data.WriteTaskStatus` with mtime conflict checks. The board treats `Model.Root` as the `.savepoint` directory, watches `.savepoint/releases/` recursively with fsnotify, adds watches for newly-created release/epic/task directories, and reloads task plus release/epic index data after debounced file changes. Router priority markers match release + epic + task, not only the short `T###` value; completed cards render with the orange build glyph even if they previously matched router priority.
59
92
  ```
60
93
 
61
- ## With
94
+ ### With
62
95
 
63
96
  ```md
64
97
  **Board persistence and refresh:** task status transitions write canonical task frontmatter through `internal/data.WriteTaskStatus` with mtime conflict checks. The board treats `Model.Root` as the `.savepoint` directory, watches `.savepoint/releases/` recursively with fsnotify, adds watches for newly-created release/epic/task directories, and reloads task plus release/epic index data plus epic status metadata after debounced file changes. Router priority markers match release + epic + task, not only the short `T###` value; completed cards render with the orange build glyph even if they previously matched router priority. Epic status glyphs are cached from each epic's `E##-Detail.md` frontmatter and shown in the wide epic sidebar only.
65
98
  ```
66
99
 
67
- ## Target File
100
+ ---
101
+
102
+ ### Target File
68
103
 
69
104
  `AGENTS.md`
70
105
 
71
- ## Replace
106
+ ### Replace
72
107
 
73
108
  ```md
74
109
  | `internal/board/` | TUI board models, layout, rendering, overlays, task transitions, router priority markers, and fsnotify refresh |
@@ -76,7 +111,7 @@ last_audited: E04-epic-navigation (2026-05-02)
76
111
  | `internal/styles/` | Atari-Noir palette constants, terminal color fallbacks, shared TUI styles, stable column border styles, scroll indicators, semantic glyph/tag styles, and footer/header styling |
77
112
  ```
78
113
 
79
- ## With
114
+ ### With
80
115
 
81
116
  ```md
82
117
  | `internal/board/` | TUI board models, layout, rendering, overlays, focusable epic sidebar navigation, epic detail overlays, epic status glyph loading, task transitions, router priority markers, and fsnotify refresh |
@@ -84,49 +119,39 @@ last_audited: E04-epic-navigation (2026-05-02)
84
119
  | `internal/styles/` | Atari-Noir palette constants, terminal color fallbacks, shared TUI styles, stable column border styles, scroll indicators, purple epic navigation/detail styles, semantic glyph/tag styles, and footer/header styling |
85
120
  ```
86
121
 
87
- ## Target File
122
+ ---
123
+
124
+ ### Target File
88
125
 
89
126
  `.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Detail.md`
90
127
 
91
- ## Replace
128
+ ### Replace
92
129
 
93
130
  ```yaml
94
131
  status: planned
95
132
  ```
96
133
 
97
- ## With
134
+ ### With
98
135
 
99
136
  ```yaml
100
137
  status: audited
101
138
  ```
102
139
 
103
- ## Target File
140
+ ---
141
+
142
+ ### Target File
104
143
 
105
144
  `.savepoint/releases/v1.1/epics/E04-epic-navigation/E04-Detail.md`
106
145
 
107
- ## Replace
146
+ ### Replace
108
147
 
109
148
  ```md
110
149
  ## Architectural notes
111
-
112
- - `EpicPanelFocus bool` is a lightweight flag replacing the need for a new column type
113
- - The epic detail overlay content is read from `E##-Detail.md` on the filesystem when Enter is pressed (not pre-loaded)
114
- - Detail file path is deterministic: `{root}/releases/{release}/epics/{epic-slug}/{shortID}-Detail.md`
115
- - If the detail file is missing, the overlay shows a "(no detail available)" message
116
- - Column selection, task selection, and existing overlay behavior are completely unchanged
117
150
  ```
118
151
 
119
- ## With
152
+ ### With
120
153
 
121
154
  ```md
122
- ## Architectural notes
123
-
124
- - `EpicPanelFocus bool` is a lightweight flag replacing the need for a new column type
125
- - The epic detail overlay content is read from `E##-Detail.md` on the filesystem when Enter is pressed (not pre-loaded)
126
- - Detail file path is deterministic: `{root}/releases/{release}/epics/{epic-slug}/{shortID}-Detail.md`
127
- - If the detail file is missing, the overlay shows a "(no detail available)" message
128
- - Column selection, task selection, and existing overlay behavior are completely unchanged
129
-
130
155
  ## Implemented as
131
156
 
132
157
  - `internal/board/model.go` adds `EpicPanelFocus`, `EpicPanelCursor`, `EpicDetailOffset`, `EpicDetailContent`, and `EpicStatus` model state.
@@ -135,22 +160,8 @@ status: audited
135
160
  - `internal/board/board.go` loads epic status frontmatter during board-data loading; `internal/board/watch.go` carries that status map through reloads.
136
161
  - Epic navigation deliberately uses `VibePurple` (`#B1A1DF`) for focused epic panel borders, focused epic labels, epic detail overlays, and epic/audit accents, while task-column focus remains Atari Orange.
137
162
  - Implementation deviation: T001 originally said Enter in epic-panel focus selected the focused epic. The final behavior from T002 is that up/down selects and filters immediately, while Enter opens the epic detail overlay.
138
- ```
139
-
140
- ## Quality Review
141
-
142
- ## Must Fix Before Close
143
-
144
- None.
145
163
 
146
- ## Carry Forward
147
-
148
- - Accepted design decision: `RenderEpicDetail` intentionally omits the components/files table from the overlay for readability. The epic detail overlay shows the narrative sections and keeps implementation file mapping in the source `E##-Detail.md`.
149
- - `readEpicDetailFile` falls back to `E##-Design.md` and then any `E##-*.md`, which is more permissive than the epic design's deterministic path. The fallback is harmless and user-friendly, but it should be documented if kept as product behavior.
150
- - `epicPanelPageSize()` was added for eventual PgUp/PgDown support but is not currently used. This is minor dead code carried from the task plan and can be removed or wired in during a future sidebar paging task.
151
-
152
- ## Already Fixed
164
+ ## Architectural notes
165
+ ```
153
166
 
154
- - Global `q`, `e`, `r`, and `?` keys are processed before epic-panel-specific key handling, so panel focus does not trap quit, release, epic dropdown, or help commands.
155
- - Focused epic sidebar rendering uses purple focused border/title/item styles, making the colour-scheme shift from task orange to epic purple visible in the TUI.
156
- - Focused board tests, `go build -o savepoint main.go`, and `go test ./...` pass.
167
+ ---
@@ -0,0 +1,237 @@
1
+ ---
2
+ type: audit-findings
3
+ audited: 2026-05-02
4
+ ---
5
+
6
+ # Audit Findings: E05 Tasking Permissions
7
+
8
+ ## Main Findings
9
+
10
+ E05 verified the tasking-permissions shift from the planned `m` hotkey to the final `p` priority hotkey, along with explicit router priority writes that stay in `task-building` and leave audit handoff as an explicit workflow step.
11
+
12
+ The audit found documentation drift rather than a core behavior failure: live implementation and tests used `p`, while several planning documents still referred to `m`. The file-specific reconciliation blocks are retained under Proposed Changes for apply/close testing.
13
+
14
+ ## Code Style Review
15
+
16
+
17
+ - [ ] One job per file
18
+ - [ ] One-sentence functions
19
+ - [ ] Test branches
20
+ - [ ] Types are documentation
21
+ - [ ] Build, don't speculate
22
+ - [ ] Errors at boundaries
23
+ - [ ] One source of truth
24
+ - [ ] Comments explain WHY
25
+ - [ ] Content in data files
26
+ - [ ] Small diffs
27
+
28
+ ## Proposed Changes
29
+
30
+ ### Target File
31
+
32
+ `.savepoint/Design.md`
33
+
34
+ ### Replace
35
+
36
+ ```md
37
+ - Router updates are explicit TUI actions: after setting a task to `in_progress`, the agent prompts the user to press `m` in the board to update `.savepoint/router.md` to the focused task. Navigation alone must not change router state.
38
+ ```
39
+
40
+ ### With
41
+
42
+ ```md
43
+ - Router updates are explicit TUI actions: after setting a task to `in_progress`, the agent prompts the user to press `p` in the board to mark the focused task as router priority. Navigation alone must not change router task priority.
44
+ ```
45
+
46
+ ---
47
+
48
+ ### Target File
49
+
50
+ `.savepoint/Design.md`
51
+
52
+ ### Replace
53
+
54
+ ```md
55
+ **Keybindings:** arrow/vim navigation, enter advances, backspace retreats, r/R refreshes, a/A exits toward audit review when proposals exist, q quits.
56
+ ```
57
+
58
+ ### With
59
+
60
+ ```md
61
+ **Keybindings:** arrow/vim navigation, enter opens focused task detail, space advances, backspace retreats, `p` marks the focused non-done task as router priority, `r`/`R` opens release selection or refreshes where supported, `?` opens help, and `q` quits or closes overlays.
62
+ ```
63
+
64
+ ---
65
+
66
+ ### Target File
67
+
68
+ `AGENTS.md`
69
+
70
+ ### Replace
71
+
72
+ ```md
73
+ 3. After setting `in_progress`, press `m` in the TUI to update the router
74
+ ```
75
+
76
+ ### With
77
+
78
+ ```md
79
+ 3. After setting `in_progress`, press `p` in the TUI to mark the focused task as router priority
80
+ ```
81
+
82
+ ---
83
+
84
+ ### Target File
85
+
86
+ `.savepoint/router.md`
87
+
88
+ ### Replace
89
+
90
+ ```md
91
+ **Next:** When starting work, set task `status: in_progress` and press `m` in TUI to update router task. Execute plan, tick checkboxes, run quality gates, update router to next task or `audit-pending`. Stop.
92
+ ```
93
+
94
+ ### With
95
+
96
+ ```md
97
+ **Next:** When starting work, set task `status: in_progress` and press `p` in TUI to mark the focused task as router priority. Execute plan, tick checkboxes, run quality gates, update router to next task or `audit-pending`. Stop.
98
+ ```
99
+
100
+ ---
101
+
102
+ ### Target File
103
+
104
+ `.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md`
105
+
106
+ ### Replace
107
+
108
+ ```yaml
109
+ status: planned
110
+ ```
111
+
112
+ ### With
113
+
114
+ ```yaml
115
+ status: audited
116
+ ```
117
+
118
+ ---
119
+
120
+ ### Target File
121
+
122
+ `.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md`
123
+
124
+ ### Replace
125
+
126
+ ```md
127
+ - TUI `m` hotkey implemented: sets router's `task` field to the currently focused task; detects if it's the last uncompleted task in the epic → sets `audit-pending` state
128
+ - Help overlay shows `m` key binding
129
+ ```
130
+
131
+ ### With
132
+
133
+ ```md
134
+ - TUI `p` priority hotkey implemented: sets router's `task` field to the currently focused non-done task and keeps router state as `task-building`
135
+ - Help overlay shows `p` key binding
136
+ ```
137
+
138
+ ---
139
+
140
+ ### Target File
141
+
142
+ `.savepoint/releases/v1.1/epics/E05-tasking-permissions/E05-Detail.md`
143
+
144
+ ### Replace
145
+
146
+ ```md
147
+ - The `m` hotkey reads the currently focused task, not the epic panel cursor
148
+ - Router state derivation from task:
149
+ - Task is the last uncompleted task in its epic → `state: audit-pending`, `task: <empty>`
150
+ - Otherwise → `state: task-building`, `task: <full-task-id>`
151
+ - `release` and `epic` are always set from the focused task
152
+ - The `m` key does nothing when no task is focused, or when focused on a `done` task
153
+ - The `m` key is independent of navigation — user can browse freely without router drift
154
+ - No code enforcement against agents writing `done`. This is a documentation-only trust boundary. AGENTS.md is the contract.
155
+ ```
156
+
157
+ ### With
158
+
159
+ ```md
160
+ - The `p` hotkey reads the currently focused task, not the epic panel cursor.
161
+ - Router priority writes always set `state: task-building`, `task: <full-task-id>`, `release`, `epic`, and `next_action` from the focused task.
162
+ - The `p` key does nothing when no task is focused, when an overlay is open, or when focused on a `done` task.
163
+ - The `p` key is independent of navigation — user can browse freely without router task drift.
164
+ - Audit state is not inferred by the priority key; audit handoff remains an explicit workflow/router closeout action.
165
+ - No code enforcement prevents agents from writing `done`. This is a documentation-only trust boundary. AGENTS.md is the contract.
166
+
167
+ ## Implemented as
168
+
169
+ - `AGENTS.md`, `templates/project/AGENTS.md`, and phase skill guides now describe the three-status canon and agent/user task-status ownership boundary.
170
+ - `.savepoint/router.md` was simplified around the current state machine and task-building handoff.
171
+ - `.savepoint/Design.md` Section 4 records that agents may only set `in_progress`; user-only operations are `done` and retreat.
172
+ - `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.
173
+ - `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.
174
+ - `internal/board/help.go` and `internal/board/view.go` advertise `p: Priority` and render priority/status feedback in the footer.
175
+ - `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.
176
+ - 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.
177
+ ```
178
+
179
+ ---
180
+
181
+ ### Target File
182
+
183
+ `.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md`
184
+
185
+ ### Replace
186
+
187
+ ```yaml
188
+ objective: "Add `m` key binding to the TUI help overlay"
189
+ ```
190
+
191
+ ### With
192
+
193
+ ```yaml
194
+ objective: "Add `p` priority key binding to the TUI help overlay"
195
+ ```
196
+
197
+ ---
198
+
199
+ ### Target File
200
+
201
+ `.savepoint/releases/v1.1/epics/E05-tasking-permissions/tasks/T005-update-help-overlay.md`
202
+
203
+ ### Replace
204
+
205
+ ```md
206
+ # T005: Update Help Overlay
207
+
208
+ ## Acceptance Criteria
209
+
210
+ - Help overlay (`?` key) shows `m` key binding: "m: update router"
211
+ - Key binding appears with consistent styling in the shortcuts list
212
+ - No other help entries modified
213
+
214
+ ## Implementation Plan
215
+
216
+ - [ ] Add `helpRow("m", "update router")` to `RenderHelp` in `help.go`
217
+ - [ ] Run `make build && make test` to verify
218
+ ```
219
+
220
+ ### With
221
+
222
+ ```md
223
+ # T005: Update Help Overlay
224
+
225
+ ## Acceptance Criteria
226
+
227
+ - Help overlay (`?` key) shows `p` key binding for router priority
228
+ - Key binding appears with consistent styling in the shortcuts list
229
+ - No unrelated help entries modified
230
+
231
+ ## Implementation Plan
232
+
233
+ - [x] Add the `p` priority shortcut to `RenderHelp` in `help.go`
234
+ - [x] Verify with `go build -o savepoint.exe main.go` and `go test ./...`
235
+ ```
236
+
237
+ ---
@@ -1,21 +1,21 @@
1
1
  ---
2
2
  type: epic-design
3
- status: planned
3
+ status: audited
4
4
  ---
5
5
 
6
6
  # Epic E05: Tasking Permissions & Router Updates
7
7
 
8
8
  ## Purpose
9
9
 
10
- Restrict agent task status mutation to `in_progress` only (no `done`, no retreat). Add an explicit TUI hotkey (`m`) to update the router to the current task, decoupling router updates from navigation. The user retains full control over `done` transitions and retreats via the board.
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
11
 
12
12
  ## Definition of Done
13
13
 
14
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 `m` action
15
+ - Router.md updated: document that agent sets router task when starting work via explicit `p` action
16
16
  - Design.md Section 4 updated: status model distinguishes agent vs user capabilities
17
- - TUI `m` hotkey implemented: sets router's `task` field to the currently focused task; detects if it's the last uncompleted task in the epic sets `audit-pending` state
18
- - Help overlay shows `m` key binding
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
19
  - `make build && make test` passes
20
20
 
21
21
  ## Components and files
@@ -27,19 +27,28 @@ Restrict agent task status mutation to `in_progress` only (no `done`, no retreat
27
27
  | `.savepoint/Design.md` | Revise Section 4 status model: agent `in_progress` only, user `done`/retreat only |
28
28
  | `.savepoint/releases/v1.1/v1.1-PRD.md` | Add E05 to epic breakdown |
29
29
  | `.savepoint/router.md` | Update current state for E05/T001 |
30
- | `internal/board/update.go` | Add `m` key handler for explicit router update |
31
- | `internal/board/model.go` | Add `writeRouterTask()` method to update router's `task` field and derive state |
32
- | `internal/board/help.go` | Add `m` key to keyboard shortcuts |
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
33
  | `internal/data/router.go` | No changes needed (WriteRouterState already supports all fields) |
34
34
  | `internal/data/write.go` | No changes needed |
35
35
 
36
36
  ## Architectural notes
37
37
 
38
- - The `m` hotkey reads the currently focused task, not the epic panel cursor
39
- - Router state derivation from task:
40
- - Task is the last uncompleted task in its epic `state: audit-pending`, `task: <empty>`
41
- - Otherwise `state: task-building`, `task: <full-task-id>`
42
- - `release` and `epic` are always set from the focused task
43
- - The `m` key does nothing when no task is focused, or when focused on a `done` task
44
- - The `m` key is independent of navigation — user can browse freely without router drift
45
- - No code enforcement against agents writing `done`. This is a documentation-only trust boundary. AGENTS.md is the contract.
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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: E05-tasking-permissions/T001-update-agents-md
3
- status: planned
3
+ status: done
4
4
  objective: "Update AGENTS.md to remove agent 'set status: done' permission and add 'set status: in_progress' guidance with router update instruction"
5
5
  depends_on: []
6
6
  ---
@@ -17,10 +17,10 @@ depends_on: []
17
17
 
18
18
  ## Implementation Plan
19
19
 
20
- - [ ] In AGENTS.md `## Task Completion Protocol`: replace "Set the task frontmatter to `status: done`" with appropriate guidance
21
- - [ ] In AGENTS.md `## Task Completion Protocol` step 7: keep router update for `audit-pending` (that's router state, not task status)
22
- - [ ] In AGENTS.md add note under `## Task Status Canon` about agent vs user capabilities
23
- - [ ] Run `make build && make test` to verify
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
24
 
25
25
  ## Context Log
26
26
 
@@ -28,7 +28,18 @@ Files read:
28
28
  - AGENTS.md
29
29
  - .savepoint/router.md
30
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
31
35
 
32
- Estimated input tokens: 3000
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
33
42
 
34
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 ./...`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: E05-tasking-permissions/T002-update-router-md
3
- status: planned
3
+ status: done
4
4
  objective: "Add agent router-update guidance to router.md task-building state and update current state for E05"
5
5
  depends_on: ["E05-tasking-permissions/T001-update-agents-md"]
6
6
  ---
@@ -15,16 +15,26 @@ depends_on: ["E05-tasking-permissions/T001-update-agents-md"]
15
15
 
16
16
  ## Implementation Plan
17
17
 
18
- - [ ] Edit `.savepoint/router.md` `task-building` state block to add agent router-update instruction
19
- - [ ] Update router.md `## Current state` yaml block to point to E05 tasking-permissions epic
20
- - [ ] Run `make build && make test` to verify
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
21
 
22
22
  ## Context Log
23
23
 
24
24
  Files read:
25
25
  - .savepoint/router.md
26
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
27
30
 
28
- Estimated input tokens: 2500
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
29
36
 
30
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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: E05-tasking-permissions/T003-update-design-md
3
- status: planned
3
+ status: done
4
4
  objective: "Revise Design.md Section 4 to document agent vs user task status capabilities"
5
5
  depends_on: ["E05-tasking-permissions/T001-update-agents-md"]
6
6
  ---
@@ -18,16 +18,30 @@ depends_on: ["E05-tasking-permissions/T001-update-agents-md"]
18
18
 
19
19
  ## Implementation Plan
20
20
 
21
- - [ ] Edit `.savepoint/Design.md` Section 4 to add new permission row or note
22
- - [ ] Update `last_audited` in frontmatter
23
- - [ ] Run `make build && make test` to verify
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
24
 
25
25
  ## Context Log
26
26
 
27
27
  Files read:
28
28
  - .savepoint/Design.md
29
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
30
41
 
31
- Estimated input tokens: 2500
42
+ Estimated input tokens: 8500
32
43
 
33
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`.