cleargate 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/LICENSE +21 -0
  2. package/dist/MANIFEST.json +58 -16
  3. package/dist/admin-api/index.cjs +88 -1
  4. package/dist/admin-api/index.cjs.map +1 -1
  5. package/dist/admin-api/index.d.cts +105 -1
  6. package/dist/admin-api/index.d.ts +105 -1
  7. package/dist/admin-api/index.js +77 -1
  8. package/dist/admin-api/index.js.map +1 -1
  9. package/dist/bootstrap-root-FGWDICDT.js +130 -0
  10. package/dist/bootstrap-root-FGWDICDT.js.map +1 -0
  11. package/dist/chunk-OM4FAEA7.js +184 -0
  12. package/dist/chunk-OM4FAEA7.js.map +1 -0
  13. package/dist/cli.cjs +7980 -3956
  14. package/dist/cli.cjs.map +1 -1
  15. package/dist/cli.js +3980 -466
  16. package/dist/cli.js.map +1 -1
  17. package/dist/templates/cleargate-planning/.claude/agents/architect.md +72 -0
  18. package/dist/templates/cleargate-planning/.claude/agents/developer.md +45 -3
  19. package/dist/templates/cleargate-planning/.claude/agents/qa.md +7 -3
  20. package/dist/templates/cleargate-planning/.claude/agents/reporter.md +71 -89
  21. package/dist/templates/cleargate-planning/.claude/hooks/pending-task-sentinel.sh +204 -0
  22. package/dist/templates/cleargate-planning/.claude/hooks/pre-commit-surface-gate.sh +10 -0
  23. package/dist/templates/cleargate-planning/.claude/hooks/pre-commit-test-ratchet.sh +58 -0
  24. package/dist/templates/cleargate-planning/.claude/hooks/pre-commit.sh +19 -0
  25. package/dist/templates/cleargate-planning/.claude/hooks/session-start.sh +51 -0
  26. package/dist/templates/cleargate-planning/.claude/hooks/token-ledger.sh +1 -1
  27. package/dist/templates/cleargate-planning/.claude/settings.json +11 -0
  28. package/dist/templates/cleargate-planning/.cleargate/config.example.yml +37 -0
  29. package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +407 -0
  30. package/dist/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +146 -0
  31. package/dist/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +250 -0
  32. package/dist/templates/cleargate-planning/.cleargate/scripts/constants.mjs +57 -0
  33. package/dist/templates/cleargate-planning/.cleargate/scripts/file_surface_diff.sh +320 -0
  34. package/dist/templates/cleargate-planning/.cleargate/scripts/gate-checks.json +15 -0
  35. package/dist/templates/cleargate-planning/.cleargate/scripts/init_gate_config.sh +38 -0
  36. package/dist/templates/cleargate-planning/.cleargate/scripts/init_sprint.mjs +187 -0
  37. package/dist/templates/cleargate-planning/.cleargate/scripts/pre_gate_common.sh +132 -0
  38. package/dist/templates/cleargate-planning/.cleargate/scripts/pre_gate_runner.sh +307 -0
  39. package/dist/templates/cleargate-planning/.cleargate/scripts/prefill_report.mjs +280 -0
  40. package/dist/templates/cleargate-planning/.cleargate/scripts/run_script.sh +123 -0
  41. package/dist/templates/cleargate-planning/.cleargate/scripts/state.schema.json +110 -0
  42. package/dist/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +247 -0
  43. package/dist/templates/cleargate-planning/.cleargate/scripts/surface-whitelist.txt +27 -0
  44. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_assert_story_files.sh +261 -0
  45. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_file_surface.sh +210 -0
  46. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +190 -0
  47. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_test_ratchet.sh +327 -0
  48. package/dist/templates/cleargate-planning/.cleargate/scripts/test_ratchet.mjs +261 -0
  49. package/dist/templates/cleargate-planning/.cleargate/scripts/update_state.mjs +154 -0
  50. package/dist/templates/cleargate-planning/.cleargate/scripts/validate_bounce_readiness.mjs +111 -0
  51. package/dist/templates/cleargate-planning/.cleargate/scripts/validate_state.mjs +164 -0
  52. package/dist/templates/cleargate-planning/.cleargate/templates/Bug.md +9 -0
  53. package/dist/templates/cleargate-planning/.cleargate/templates/CR.md +9 -0
  54. package/dist/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +29 -3
  55. package/dist/templates/cleargate-planning/.cleargate/templates/epic.md +9 -0
  56. package/dist/templates/cleargate-planning/.cleargate/templates/proposal.md +9 -0
  57. package/dist/templates/cleargate-planning/.cleargate/templates/sprint_context.md +42 -0
  58. package/dist/templates/cleargate-planning/.cleargate/templates/sprint_report.md +175 -0
  59. package/dist/templates/cleargate-planning/.cleargate/templates/story.md +19 -0
  60. package/dist/templates/cleargate-planning/CLAUDE.md +2 -0
  61. package/dist/templates/cleargate-planning/MANIFEST.json +58 -16
  62. package/dist/whoami-CX7CXJD5.js +76 -0
  63. package/dist/whoami-CX7CXJD5.js.map +1 -0
  64. package/package.json +6 -2
  65. package/templates/cleargate-planning/.claude/agents/architect.md +72 -0
  66. package/templates/cleargate-planning/.claude/agents/developer.md +45 -3
  67. package/templates/cleargate-planning/.claude/agents/qa.md +7 -3
  68. package/templates/cleargate-planning/.claude/agents/reporter.md +71 -89
  69. package/templates/cleargate-planning/.claude/hooks/pending-task-sentinel.sh +204 -0
  70. package/templates/cleargate-planning/.claude/hooks/pre-commit-surface-gate.sh +10 -0
  71. package/templates/cleargate-planning/.claude/hooks/pre-commit-test-ratchet.sh +58 -0
  72. package/templates/cleargate-planning/.claude/hooks/pre-commit.sh +19 -0
  73. package/templates/cleargate-planning/.claude/hooks/session-start.sh +51 -0
  74. package/templates/cleargate-planning/.claude/hooks/token-ledger.sh +1 -1
  75. package/templates/cleargate-planning/.claude/settings.json +11 -0
  76. package/templates/cleargate-planning/.cleargate/config.example.yml +37 -0
  77. package/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +407 -0
  78. package/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +146 -0
  79. package/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +250 -0
  80. package/templates/cleargate-planning/.cleargate/scripts/constants.mjs +57 -0
  81. package/templates/cleargate-planning/.cleargate/scripts/file_surface_diff.sh +320 -0
  82. package/templates/cleargate-planning/.cleargate/scripts/gate-checks.json +15 -0
  83. package/templates/cleargate-planning/.cleargate/scripts/init_gate_config.sh +38 -0
  84. package/templates/cleargate-planning/.cleargate/scripts/init_sprint.mjs +187 -0
  85. package/templates/cleargate-planning/.cleargate/scripts/pre_gate_common.sh +132 -0
  86. package/templates/cleargate-planning/.cleargate/scripts/pre_gate_runner.sh +307 -0
  87. package/templates/cleargate-planning/.cleargate/scripts/prefill_report.mjs +280 -0
  88. package/templates/cleargate-planning/.cleargate/scripts/run_script.sh +123 -0
  89. package/templates/cleargate-planning/.cleargate/scripts/state.schema.json +110 -0
  90. package/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +247 -0
  91. package/templates/cleargate-planning/.cleargate/scripts/surface-whitelist.txt +27 -0
  92. package/templates/cleargate-planning/.cleargate/scripts/test/test_assert_story_files.sh +261 -0
  93. package/templates/cleargate-planning/.cleargate/scripts/test/test_file_surface.sh +210 -0
  94. package/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +190 -0
  95. package/templates/cleargate-planning/.cleargate/scripts/test/test_test_ratchet.sh +327 -0
  96. package/templates/cleargate-planning/.cleargate/scripts/test_ratchet.mjs +261 -0
  97. package/templates/cleargate-planning/.cleargate/scripts/update_state.mjs +154 -0
  98. package/templates/cleargate-planning/.cleargate/scripts/validate_bounce_readiness.mjs +111 -0
  99. package/templates/cleargate-planning/.cleargate/scripts/validate_state.mjs +164 -0
  100. package/templates/cleargate-planning/.cleargate/templates/Bug.md +9 -0
  101. package/templates/cleargate-planning/.cleargate/templates/CR.md +9 -0
  102. package/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +29 -3
  103. package/templates/cleargate-planning/.cleargate/templates/epic.md +9 -0
  104. package/templates/cleargate-planning/.cleargate/templates/proposal.md +9 -0
  105. package/templates/cleargate-planning/.cleargate/templates/sprint_context.md +42 -0
  106. package/templates/cleargate-planning/.cleargate/templates/sprint_report.md +175 -0
  107. package/templates/cleargate-planning/.cleargate/templates/story.md +19 -0
  108. package/templates/cleargate-planning/CLAUDE.md +2 -0
  109. package/templates/cleargate-planning/MANIFEST.json +58 -16
@@ -0,0 +1,175 @@
1
+ ---
2
+ sprint_id: "SPRINT-NN"
3
+ status: "Draft"
4
+ generated_at: "<ISO-8601>"
5
+ generated_by: "Reporter agent"
6
+ template_version: 1
7
+ ---
8
+
9
+ <!-- Sprint Report v2 Template — template_version: 1 -->
10
+ <!-- Event-type vocabulary (STORY-013-05 / protocol §§16–17):
11
+ User-Review: UR:review-feedback | UR:bug
12
+ Change-Request: CR:bug | CR:spec-clarification | CR:scope-change | CR:approach-change
13
+ Circuit-breaker: test-pattern | spec-gap | environment
14
+ These tokens appear verbatim in §2 CR Change Log and §3 Execution Metrics tallies. -->
15
+
16
+ # SPRINT-<NN> Report: <Sprint Title>
17
+
18
+ **Status:** Shipped | Partial | Blocked
19
+ **Window:** YYYY-MM-DD to YYYY-MM-DD (N calendar days)
20
+ **Stories:** N planned / M shipped / K carried over
21
+
22
+ ---
23
+
24
+ ## §1 What Was Delivered
25
+
26
+ ### User-Facing Capabilities
27
+ <!-- One bullet per user-visible outcome, grouped by business goal. Do NOT list stories here. -->
28
+ - <capability>
29
+
30
+ ### Internal / Framework Improvements
31
+ <!-- Infrastructure, tooling, or agent-contract changes not visible to end users. -->
32
+ - <improvement>
33
+
34
+ ### Carried Over
35
+ <!-- Stories that did not reach Done/Escalated/Parking Lot. If none, state "None." -->
36
+ - None
37
+
38
+ ---
39
+
40
+ ## §2 Story Results + CR Change Log
41
+
42
+ <!-- One block per story. For bounces, list each round-trip as a CR event with the exact token.
43
+ CR event types: CR:bug | CR:spec-clarification | CR:scope-change | CR:approach-change
44
+ UR event types: UR:review-feedback | UR:bug
45
+ Each CR:bug and UR:bug counts toward Bug-Fix Tax (§3). CR:scope-change increments arch_bounces. -->
46
+
47
+ ### STORY-NNN-NN: <Title>
48
+ - **Status:** Done | Escalated | Parking Lot | Carried Over
49
+ - **Complexity:** L<n>
50
+ - **Commit:** `<sha>`
51
+ - **Bounce count:** qa=N arch=N total=N
52
+ - **CR Change Log:**
53
+ | # | Event type | Description | Counter delta |
54
+ |---|---|---|---|
55
+ | 1 | CR:bug | <description> | qa_bounces +1 |
56
+ - **UR Events:**
57
+ | # | Event type | Feedback | Tax impact |
58
+ |---|---|---|---|
59
+ | 1 | UR:review-feedback | <feedback> | none (enhancement) |
60
+
61
+ ---
62
+
63
+ ## §3 Execution Metrics
64
+
65
+ <!-- Tallies use the locked event-type vocabulary:
66
+ Bug-Fix Tax = (CR:bug count + UR:bug count) / total story count × 100
67
+ Enhancement Tax = UR:review-feedback count / total story count × 100
68
+ First-pass success rate = stories with qa_bounces=0 AND arch_bounces=0 / total stories × 100
69
+ Token divergence: compare ledger-primary vs task-notification-tertiary; flag if delta >20% -->
70
+
71
+ | Metric | Value |
72
+ |---|---|
73
+ | Stories planned | N |
74
+ | Stories shipped (Done) | N |
75
+ | Stories escalated | N |
76
+ | Stories carried over | N |
77
+ | Total QA bounces | N |
78
+ | Total Arch bounces | N |
79
+ | CR:bug events | N |
80
+ | CR:spec-clarification events | N |
81
+ | CR:scope-change events | N |
82
+ | CR:approach-change events | N |
83
+ | UR:bug events | N |
84
+ | UR:review-feedback events | N |
85
+ | Circuit-breaker fires: test-pattern | N |
86
+ | Circuit-breaker fires: spec-gap | N |
87
+ | Circuit-breaker fires: environment | N |
88
+ | **Bug-Fix Tax** | N% |
89
+ | **Enhancement Tax** | N% |
90
+ | **First-pass success rate** | N% |
91
+ | Token source: ledger-primary | N tokens |
92
+ | Token source: story-doc-secondary | N tokens |
93
+ | Token source: task-notification-tertiary | N tokens |
94
+ | Token divergence (ledger vs task-notif) | N% |
95
+ | Token divergence flag (>20%) | YES / NO |
96
+
97
+ ---
98
+
99
+ ## §4 Lessons
100
+
101
+ <!-- Flashcards added during this sprint window, grouped by tag.
102
+ Preserve the stale-detection pass from reporter.md §5b — stale-candidate symbols
103
+ from each card are surfaced here for human approval. Do NOT modify FLASHCARD.md. -->
104
+
105
+ ### New Flashcards (Sprint Window)
106
+
107
+ | Date | Tags | Lesson |
108
+ |---|---|---|
109
+ | YYYY-MM-DD | #tag | <lesson> |
110
+
111
+ ### Flashcard Audit (Stale Candidates)
112
+ <!-- For each active card with no [S]/[R] marker, symbols extracted and grepped.
113
+ Candidates below have ALL extracted symbols absent from the current repo. -->
114
+
115
+ | Card (date · lead-tag · lesson head) | Missing symbols | Proposed marker |
116
+ |---|---|---|
117
+
118
+ If zero candidates: No stale flashcards detected.
119
+
120
+ ### Supersede Candidates
121
+ <!-- Newer cards whose lesson directly contradicts an older card's advice. -->
122
+
123
+ | Newer card | Older card | Proposed marker for older |
124
+ |---|---|---|
125
+
126
+ ---
127
+
128
+ ## §5 Framework Self-Assessment
129
+
130
+ <!-- Rate each dimension: Green (working well) / Yellow (friction) / Red (blocking).
131
+ "Tooling" subsection MUST include token-divergence finding if §3 divergence flag = YES. -->
132
+
133
+ ### Templates
134
+ | Item | Rating | Notes |
135
+ |---|---|---|
136
+ | Story template completeness | Green/Yellow/Red | |
137
+ | Sprint Plan Template usability | Green/Yellow/Red | |
138
+ | Sprint Report template (this one) | Green/Yellow/Red | |
139
+
140
+ ### Handoffs
141
+ | Item | Rating | Notes |
142
+ |---|---|---|
143
+ | Architect → Developer brief quality | Green/Yellow/Red | |
144
+ | Developer → QA artifact completeness | Green/Yellow/Red | |
145
+ | QA → Orchestrator kickback clarity | Green/Yellow/Red | |
146
+
147
+ ### Skills
148
+ | Item | Rating | Notes |
149
+ |---|---|---|
150
+ | Flashcard gate adherence | Green/Yellow/Red | |
151
+ | Adjacent-implementation reuse rate | Green/Yellow/Red | |
152
+
153
+ ### Process
154
+ | Item | Rating | Notes |
155
+ |---|---|---|
156
+ | Bounce cap respected | Green/Yellow/Red | |
157
+ | Three-surface landing compliance | Green/Yellow/Red | |
158
+ | Circuit-breaker fires (if any) | Green/Yellow/Red | |
159
+
160
+ ### Tooling
161
+ | Item | Rating | Notes |
162
+ |---|---|---|
163
+ | run_script.sh diagnostic coverage | Green/Yellow/Red | |
164
+ | Token ledger completeness | Green/Yellow/Red | |
165
+ | Token divergence finding | Green/Yellow/Red | If §3 divergence >20%: Red — ledger=N task-notif=N delta=N% |
166
+
167
+ ---
168
+
169
+ ## §6 Change Log
170
+
171
+ <!-- Append one line per material revision to this report after initial generation. -->
172
+
173
+ | Date | Author | Change |
174
+ |---|---|---|
175
+ | YYYY-MM-DD | Reporter agent | Initial generation |
@@ -21,10 +21,16 @@ A candidate story is too big — emit two stories instead, with consecutive IDs
21
21
  • §2.1 Gherkin would need >5 scenarios covering unrelated behaviors.
22
22
  • §3.1 Files-to-touch span unrelated subsystems (e.g. API + UI + migration in one story).
23
23
  • Complexity would land at L4 (>2 days). L4 is a planning smell — split, or carve out a spike as its own story.
24
+ • `complexity_label: L3` AND `expected_bounce_exposure: high`. L3+high consistently hits developer-agent wall-time limits (observed in SPRINT-09 on STORY-013-02/03/04, all Sonnet 4.6 stream-timeouts). Split into two L2 stories OR escalate the single L3 to Opus at dispatch — the decomposition default is to split.
24
25
  Also split the inverse: two candidate stories that each touch the same 1-2 files with overlapping scenarios should merge into one L1/L2.
25
26
  At epic-decomposition time there are no remote IDs yet — splits and merges are free. Prefer two focused L1/L2 stories over one L3. Prefer L3 over L4.
26
27
  When the rubric is ambiguous, surface the decision to the human as a one-liner ("candidate covers A+B — split into X and Y?") rather than guessing.
27
28
 
29
+ §0.1 v2 Decomposition Signals:
30
+ `parallel_eligible`: "y" if this story can run concurrently with other stories in the same milestone; "n" if it has a strict predecessor dependency. Default "y". Set by Architect during Sprint Design Review.
31
+ `expected_bounce_exposure`: "low" | "med" | "high" — predicted re-work risk derived from §2.1 scenario count + §3 file-count + ambiguity level. Default "low". Set by Architect. Used by orchestrator to sequence high-exposure stories before low-exposure ones in a v2 sprint to surface risk early.
32
+ Both fields are v2-only signals. Under v1 sprints they are informational; defaults apply for stories authored before SPRINT-09.
33
+
28
34
  Do NOT output these instructions.
29
35
  </instructions>
30
36
 
@@ -36,6 +42,8 @@ ambiguity: "🔴 High"
36
42
  context_source: "PROPOSAL-{ID}.md"
37
43
  actor: "{Persona Name}"
38
44
  complexity_label: "L2"
45
+ parallel_eligible: "y"
46
+ expected_bounce_exposure: "low"
39
47
  created_at: "2026-04-17T00:00:00Z"
40
48
  updated_at: "2026-04-17T00:00:00Z"
41
49
  created_at_version: "strategy-phase-pre-init"
@@ -52,6 +60,15 @@ cached_gate_result:
52
60
  pass: null
53
61
  failing_criteria: []
54
62
  last_gate_check: null
63
+ # Sync attribution (EPIC-010). Optional; stamped by `cleargate push` / `cleargate pull`.
64
+ pushed_by: null # STORY-010-07 writer / STORY-010-04 reader
65
+ pushed_at: null # STORY-010-07 writer / STORY-010-04 reader
66
+ last_pulled_by: null # STORY-010-04 writer / STORY-010-03 reader
67
+ last_pulled_at: null # STORY-010-04 writer / STORY-010-03 reader
68
+ last_remote_update: null # STORY-010-02 writer (from MCP) / STORY-010-03 reader
69
+ source: "local-authored" # STORY-010-05 flips to "remote-authored" on intake
70
+ last_synced_status: null # STORY-010-04 writer; required for conflict-detector rule 6
71
+ last_synced_body_sha: null # STORY-010-04 writer; sha256 of body at last sync
55
72
  ---
56
73
 
57
74
  # STORY-{EpicID}-{StoryID}: {Story Name}
@@ -95,6 +112,8 @@ Feature: {Story Name}
95
112
 
96
113
  ### 3.1 Context & Files
97
114
 
115
+ > **v2 gate input:** under v2 execution mode, this table is a pre-commit gate input (protocol §20). Every file staged in this story's commit must appear in the Value column, or be covered by `.cleargate/scripts/surface-whitelist.txt`. Non-path rows (e.g. "Mirrors", "New Files Needed: Yes/No") are ignored by the parser.
116
+
98
117
  | Item | Value |
99
118
  |---|---|
100
119
  | Primary File | `{filepath/to/main/component.ts}` |
@@ -36,6 +36,8 @@ This repository uses **ClearGate** — a standalone planning framework for AI co
36
36
 
37
37
  **Support infrastructure.** Flashcard protocol: `.claude/skills/flashcard/SKILL.md`. Token-ledger hook: `.claude/hooks/token-ledger.sh`, wired via `.claude/settings.json` (SubagentStop) — auto-logs agent cost per sprint for the Reporter.
38
38
 
39
+ **Cross-project orchestration.** When running an orchestrator from one project's repo against another project's sprint tree, export `ORCHESTRATOR_PROJECT_DIR=/absolute/path/to/target/repo` in the shell before launching the session. Overrides `CLAUDE_PROJECT_DIR`; sentinel + ledger writes route into the target's `.cleargate/sprint-runs/` tree. If the target has no `.cleargate/sprint-runs/.active` sentinel, writes land in the target's `_off-sprint` bucket — not the orchestrator's own repo.
40
+
39
41
  **Project overrides.** Content OUTSIDE this `<!-- CLEARGATE:START -->...<!-- CLEARGATE:END -->` block takes precedence where it conflicts with ClearGate defaults.
40
42
 
41
43
  **Scope reminder.** ClearGate is a *planning* framework. It scaffolds how work gets planned and how the four-agent loop runs. It does not replace your project's build system, CI, test runner, or deployment tooling.
@@ -1,10 +1,10 @@
1
1
  {
2
- "cleargate_version": "0.2.1",
3
- "generated_at": "2026-04-19T18:33:06.178Z",
2
+ "cleargate_version": "0.3.0",
3
+ "generated_at": "2026-04-24T22:02:35.096Z",
4
4
  "files": [
5
5
  {
6
6
  "path": ".claude/agents/architect.md",
7
- "sha256": "0e0e545198cfff827ea453195414d884aec5cb5413e07dc1396820aaa2014f97",
7
+ "sha256": "c9424894549b270b73c1c95145b7bb8d406cadd2057c47f8e90bf74ce1f3cda7",
8
8
  "tier": "agent",
9
9
  "overwrite_policy": "always",
10
10
  "preserve_on_uninstall": false
@@ -32,28 +32,56 @@
32
32
  },
33
33
  {
34
34
  "path": ".claude/agents/developer.md",
35
- "sha256": "bd9bcd8ce222effa248ff489939a7e37aa8e151675311fc7b374533c09ef43ee",
35
+ "sha256": "ea54db76bcd017526f2b48e05b167cb87251273aa5fd3da6bec3013c207c72fb",
36
36
  "tier": "agent",
37
37
  "overwrite_policy": "always",
38
38
  "preserve_on_uninstall": false
39
39
  },
40
40
  {
41
41
  "path": ".claude/agents/qa.md",
42
- "sha256": "9345a4f294cbc327ecc169a51446e2321b53b14917e7880f7e7b374a28ac3751",
42
+ "sha256": "e753d294d6060ace626878220db02a0595126bc7baa52526e5d1576b163f04d0",
43
43
  "tier": "agent",
44
44
  "overwrite_policy": "always",
45
45
  "preserve_on_uninstall": false
46
46
  },
47
47
  {
48
48
  "path": ".claude/agents/reporter.md",
49
- "sha256": "a9b7e248fd1baaef7fb0c23d4ba92bc94bcd46e9261a6dabbd183477fab96359",
49
+ "sha256": "5819d6f932ebd25a48e6f91a2e6227726f6d4d15968622728ec22a4ed7caa622",
50
50
  "tier": "agent",
51
51
  "overwrite_policy": "always",
52
52
  "preserve_on_uninstall": false
53
53
  },
54
+ {
55
+ "path": ".claude/hooks/pending-task-sentinel.sh",
56
+ "sha256": "8204286b19287c490cc09014b0c87e2b2686e6bd120393b7165895d215d6b49a",
57
+ "tier": "hook",
58
+ "overwrite_policy": "always",
59
+ "preserve_on_uninstall": false
60
+ },
61
+ {
62
+ "path": ".claude/hooks/pre-commit-surface-gate.sh",
63
+ "sha256": "a58f3b3c3dbb615a14bf6e2355f5122e80a5cb1e8ef9442648324f3124723ee3",
64
+ "tier": "hook",
65
+ "overwrite_policy": "always",
66
+ "preserve_on_uninstall": false
67
+ },
68
+ {
69
+ "path": ".claude/hooks/pre-commit-test-ratchet.sh",
70
+ "sha256": "67232d9d94817e512b2d66e020605b59e9795eb4a04005edf7ea75bf9a324848",
71
+ "tier": "hook",
72
+ "overwrite_policy": "always",
73
+ "preserve_on_uninstall": false
74
+ },
75
+ {
76
+ "path": ".claude/hooks/pre-commit.sh",
77
+ "sha256": "90260116726bfc88191fda353d038445d5838e7cd811db67029b5555f2dbc555",
78
+ "tier": "hook",
79
+ "overwrite_policy": "always",
80
+ "preserve_on_uninstall": false
81
+ },
54
82
  {
55
83
  "path": ".claude/hooks/session-start.sh",
56
- "sha256": "b851f34c8e40eb10d6dc71c8dbd29282f74afbaad7e823306a3e2a52a15fe21f",
84
+ "sha256": "a611286330f36e5d0bbdc5642e9409ffbfc569cc3d0b370918e973b545c50741",
57
85
  "tier": "hook",
58
86
  "overwrite_policy": "always",
59
87
  "preserve_on_uninstall": false
@@ -67,14 +95,14 @@
67
95
  },
68
96
  {
69
97
  "path": ".claude/hooks/token-ledger.sh",
70
- "sha256": "918ae12960f2c657c7ad1b0b7bc95438a4339d220f75e4abf5259ecabe8a2ca3",
98
+ "sha256": "be2b2eaa02cc30387601285160d6fe1c90ea76b37ec6cae2b7c9537f66f22783",
71
99
  "tier": "hook",
72
100
  "overwrite_policy": "always",
73
101
  "preserve_on_uninstall": false
74
102
  },
75
103
  {
76
104
  "path": ".claude/settings.json",
77
- "sha256": "1f95f5468db19ffebe75aec1c35489a26aae64eae256d246a6a88cf34581f4bb",
105
+ "sha256": "a6d63ac3d01592b7d2ed1af45067606d535349dc27a51740f744c2fd2592a0cb",
78
106
  "tier": "cli-config",
79
107
  "overwrite_policy": "merge-3way",
80
108
  "preserve_on_uninstall": false
@@ -95,7 +123,7 @@
95
123
  },
96
124
  {
97
125
  "path": ".cleargate/knowledge/cleargate-protocol.md",
98
- "sha256": "fc67af361fbd11137404d3db1034ceb5f876cd8de0e4f90e208ef19ab89072a6",
126
+ "sha256": "4316444ad452e83a2c9387ad6ad96ef4e4511b1face4b30976a912c0f28866f6",
99
127
  "tier": "protocol",
100
128
  "overwrite_policy": "merge-3way",
101
129
  "preserve_on_uninstall": false
@@ -109,21 +137,21 @@
109
137
  },
110
138
  {
111
139
  "path": ".cleargate/templates/Bug.md",
112
- "sha256": "9f32165a709b30bc8794ef96c6a7220ef6484b47c30fb955e1c1c8e892698bcc",
140
+ "sha256": "3ba6e72bd2bc01cf8d0ea06390f8ea511bef3a421a33c48de033051f844dfa0e",
113
141
  "tier": "template",
114
142
  "overwrite_policy": "merge-3way",
115
143
  "preserve_on_uninstall": false
116
144
  },
117
145
  {
118
146
  "path": ".cleargate/templates/CR.md",
119
- "sha256": "55ea7a8a25c6b3d37103065dd91eb11378a78a36375d274406d376f4c35af3ef",
147
+ "sha256": "58ea4badb03991d119f8aa8870992a8239c8df6ad198e0d9ca04a805756e4bac",
120
148
  "tier": "template",
121
149
  "overwrite_policy": "merge-3way",
122
150
  "preserve_on_uninstall": false
123
151
  },
124
152
  {
125
153
  "path": ".cleargate/templates/epic.md",
126
- "sha256": "1847f1e7cedd631d4ef2aaf7ef67745e88b2ff76389b04bad6fa1f1edf973442",
154
+ "sha256": "6c85e4c9602af657e6778af9009a67936c27e47331479d0c246cdf1242177c82",
127
155
  "tier": "template",
128
156
  "overwrite_policy": "merge-3way",
129
157
  "preserve_on_uninstall": false
@@ -137,21 +165,35 @@
137
165
  },
138
166
  {
139
167
  "path": ".cleargate/templates/proposal.md",
140
- "sha256": "1a0822edf6f29a1f8d34e2fab1180b33a365edd92d84b3fc191f239a751ba373",
168
+ "sha256": "e8055dac81ecf94d01fe610e8cdaf4fa73a2f8d9953e4db90b91a20a8c81460d",
141
169
  "tier": "template",
142
170
  "overwrite_policy": "merge-3way",
143
171
  "preserve_on_uninstall": false
144
172
  },
145
173
  {
146
174
  "path": ".cleargate/templates/Sprint Plan Template.md",
147
- "sha256": "6e60b697a136edb89bc19cc40caa1bec51687366b8e1b35a6554d0072736591b",
175
+ "sha256": "9f87539691b910193c55fb9a637975de738dda181baa7e68fc48297993389613",
176
+ "tier": "template",
177
+ "overwrite_policy": "merge-3way",
178
+ "preserve_on_uninstall": false
179
+ },
180
+ {
181
+ "path": ".cleargate/templates/sprint_context.md",
182
+ "sha256": "56c8c401b56d4c654dc41a19bd524f1b8860a8006cc3cd90e784d101c3d7721a",
183
+ "tier": "template",
184
+ "overwrite_policy": "merge-3way",
185
+ "preserve_on_uninstall": false
186
+ },
187
+ {
188
+ "path": ".cleargate/templates/sprint_report.md",
189
+ "sha256": "5f3dfdbc7a1dde26758871b358be00d543e9669ab34ca3c7ead765ee6e182bcb",
148
190
  "tier": "template",
149
191
  "overwrite_policy": "merge-3way",
150
192
  "preserve_on_uninstall": false
151
193
  },
152
194
  {
153
195
  "path": ".cleargate/templates/story.md",
154
- "sha256": "6c32fcabc9332cb928ac3b8fbfe618751b0a4cb05cd0f16463c3c4e22f8a67f1",
196
+ "sha256": "266b7e2b0526c4fe37620baf9344521e98ee5e7363661d390ef90068798f9bfe",
155
197
  "tier": "template",
156
198
  "overwrite_policy": "merge-3way",
157
199
  "preserve_on_uninstall": false