cleargate 0.8.1 → 0.10.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 (98) hide show
  1. package/CHANGELOG.md +190 -0
  2. package/README.md +11 -0
  3. package/dist/MANIFEST.json +259 -28
  4. package/dist/{chunk-OM4FAEA7.js → chunk-Q3BTSXCK.js} +69 -3
  5. package/dist/chunk-Q3BTSXCK.js.map +1 -0
  6. package/dist/cli.cjs +2621 -548
  7. package/dist/cli.cjs.map +1 -1
  8. package/dist/cli.js +2548 -560
  9. package/dist/cli.js.map +1 -1
  10. package/dist/lib/ledger.cjs +120 -0
  11. package/dist/lib/ledger.cjs.map +1 -0
  12. package/dist/lib/ledger.d.cts +64 -0
  13. package/dist/lib/ledger.d.ts +64 -0
  14. package/dist/lib/ledger.js +96 -0
  15. package/dist/lib/ledger.js.map +1 -0
  16. package/dist/templates/cleargate-planning/.claude/agents/architect.md +10 -8
  17. package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-contradict.md +108 -0
  18. package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-ingest.md +49 -3
  19. package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-lint.md +6 -1
  20. package/dist/templates/cleargate-planning/.claude/agents/developer.md +29 -2
  21. package/dist/templates/cleargate-planning/.claude/agents/qa.md +50 -1
  22. package/dist/templates/cleargate-planning/.claude/agents/reporter.md +31 -9
  23. package/dist/templates/cleargate-planning/.claude/hooks/pre-tool-use-task.sh +148 -0
  24. package/dist/templates/cleargate-planning/.claude/hooks/session-start.sh +6 -0
  25. package/dist/templates/cleargate-planning/.claude/hooks/token-ledger.sh +314 -96
  26. package/dist/templates/cleargate-planning/.claude/settings.json +4 -0
  27. package/dist/templates/cleargate-planning/.claude/skills/sprint-execution/SKILL.md +473 -0
  28. package/dist/templates/cleargate-planning/.cleargate/config.example.yml +19 -0
  29. package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-enforcement.md +542 -0
  30. package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +102 -428
  31. package/dist/templates/cleargate-planning/.cleargate/knowledge/readiness-gates.md +31 -0
  32. package/dist/templates/cleargate-planning/.cleargate/knowledge/sprint-closeout-checklist.md +71 -0
  33. package/dist/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +24 -2
  34. package/dist/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +387 -27
  35. package/dist/templates/cleargate-planning/.cleargate/scripts/dedupe_frontmatter.mjs +219 -0
  36. package/dist/templates/cleargate-planning/.cleargate/scripts/lib/report-filename.mjs +54 -0
  37. package/dist/templates/cleargate-planning/.cleargate/scripts/prep_doc_refresh.mjs +378 -0
  38. package/dist/templates/cleargate-planning/.cleargate/scripts/prep_qa_context.mjs +888 -0
  39. package/dist/templates/cleargate-planning/.cleargate/scripts/sprint_trends.mjs +71 -0
  40. package/dist/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +355 -13
  41. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +20 -20
  42. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_prep_qa_context.sh +482 -0
  43. package/dist/templates/cleargate-planning/.cleargate/scripts/write_dispatch.sh +125 -0
  44. package/dist/templates/cleargate-planning/.cleargate/templates/Bug.md +33 -10
  45. package/dist/templates/cleargate-planning/.cleargate/templates/CR.md +41 -10
  46. package/dist/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +48 -14
  47. package/dist/templates/cleargate-planning/.cleargate/templates/epic.md +46 -12
  48. package/dist/templates/cleargate-planning/.cleargate/templates/hotfix.md +51 -1
  49. package/dist/templates/cleargate-planning/.cleargate/templates/initiative.md +98 -29
  50. package/dist/templates/cleargate-planning/.cleargate/templates/proposal.md +26 -13
  51. package/dist/templates/cleargate-planning/.cleargate/templates/sprint_report.md +23 -4
  52. package/dist/templates/cleargate-planning/.cleargate/templates/story.md +64 -12
  53. package/dist/templates/cleargate-planning/CLAUDE.md +28 -10
  54. package/dist/templates/cleargate-planning/MANIFEST.json +259 -28
  55. package/dist/{whoami-CX7CXJD5.js → whoami-W4U6DPVG.js} +17 -17
  56. package/dist/whoami-W4U6DPVG.js.map +1 -0
  57. package/package.json +13 -2
  58. package/templates/cleargate-planning/.claude/agents/architect.md +10 -8
  59. package/templates/cleargate-planning/.claude/agents/cleargate-wiki-contradict.md +108 -0
  60. package/templates/cleargate-planning/.claude/agents/cleargate-wiki-ingest.md +49 -3
  61. package/templates/cleargate-planning/.claude/agents/cleargate-wiki-lint.md +6 -1
  62. package/templates/cleargate-planning/.claude/agents/developer.md +29 -2
  63. package/templates/cleargate-planning/.claude/agents/qa.md +50 -1
  64. package/templates/cleargate-planning/.claude/agents/reporter.md +31 -9
  65. package/templates/cleargate-planning/.claude/hooks/pre-tool-use-task.sh +148 -0
  66. package/templates/cleargate-planning/.claude/hooks/session-start.sh +6 -0
  67. package/templates/cleargate-planning/.claude/hooks/token-ledger.sh +314 -96
  68. package/templates/cleargate-planning/.claude/settings.json +4 -0
  69. package/templates/cleargate-planning/.claude/skills/sprint-execution/SKILL.md +473 -0
  70. package/templates/cleargate-planning/.cleargate/config.example.yml +19 -0
  71. package/templates/cleargate-planning/.cleargate/knowledge/cleargate-enforcement.md +542 -0
  72. package/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +102 -428
  73. package/templates/cleargate-planning/.cleargate/knowledge/readiness-gates.md +31 -0
  74. package/templates/cleargate-planning/.cleargate/knowledge/sprint-closeout-checklist.md +71 -0
  75. package/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +24 -2
  76. package/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +387 -27
  77. package/templates/cleargate-planning/.cleargate/scripts/dedupe_frontmatter.mjs +219 -0
  78. package/templates/cleargate-planning/.cleargate/scripts/lib/report-filename.mjs +54 -0
  79. package/templates/cleargate-planning/.cleargate/scripts/prep_doc_refresh.mjs +378 -0
  80. package/templates/cleargate-planning/.cleargate/scripts/prep_qa_context.mjs +888 -0
  81. package/templates/cleargate-planning/.cleargate/scripts/sprint_trends.mjs +71 -0
  82. package/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +355 -13
  83. package/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +20 -20
  84. package/templates/cleargate-planning/.cleargate/scripts/test/test_prep_qa_context.sh +482 -0
  85. package/templates/cleargate-planning/.cleargate/scripts/write_dispatch.sh +125 -0
  86. package/templates/cleargate-planning/.cleargate/templates/Bug.md +33 -10
  87. package/templates/cleargate-planning/.cleargate/templates/CR.md +41 -10
  88. package/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +48 -14
  89. package/templates/cleargate-planning/.cleargate/templates/epic.md +46 -12
  90. package/templates/cleargate-planning/.cleargate/templates/hotfix.md +51 -1
  91. package/templates/cleargate-planning/.cleargate/templates/initiative.md +98 -29
  92. package/templates/cleargate-planning/.cleargate/templates/sprint_report.md +23 -4
  93. package/templates/cleargate-planning/.cleargate/templates/story.md +64 -12
  94. package/templates/cleargate-planning/CLAUDE.md +28 -10
  95. package/templates/cleargate-planning/MANIFEST.json +259 -28
  96. package/dist/chunk-OM4FAEA7.js.map +0 -1
  97. package/dist/whoami-CX7CXJD5.js.map +0 -1
  98. package/templates/cleargate-planning/.cleargate/templates/proposal.md +0 -61
package/CHANGELOG.md ADDED
@@ -0,0 +1,190 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented in this file.
4
+ Format: [Common Changelog](https://common-changelog.org/) — most-recent version first.
5
+
6
+ ## [0.10.0] — 2026-05-02
7
+
8
+ ### Added
9
+ - **Sprint-execution skill** (EPIC-026) — `.claude/skills/sprint-execution/SKILL.md` is now the canonical orchestration playbook (auto-loaded on sprint-active sessions); SessionStart hook + `cleargate sprint preflight|init` emit `→ Load skill: sprint-execution` directive (STORY-026-01).
10
+ - **Composite preflight gate** (CR-027) — `cleargate sprint preflight` now runs five checks (was four); new check #5 verifies per-item `cached_gate_result.pass=true` for every in-scope work item; new `discovery-checked` + `risk-table-populated` readiness criteria.
11
+ - **Code-truth triage stack** (CR-028) — protocol unnumbered "Code-Truth Principle" preamble; new `## Existing Surfaces` + `## Why not simpler?` sections in epic/story/CR templates; new `reuse-audit-recorded` + `simplest-form-justified` predicates.
12
+ - **PreToolUse:Task hook** (CR-026) — `.claude/hooks/pre-tool-use-task.sh` auto-writes dispatch markers by parsing tool_input.prompt for work-item IDs; banner-immune; uniquified filename avoids parallel-spawn collision.
13
+ - **Inner-loop test runner guidance** (CR-029 Phase E partial) — `.claude/agents/developer.md` instructs Dev agents to write new test files in `node:test` + `node:assert/strict` for ~80MB RAM vs ~400MB vitest fork.
14
+ - `.cleargate/scripts/dedupe_frontmatter.mjs` — corpus dedupe pass for any duplicate frontmatter keys (BUG-025 follow-on).
15
+
16
+ ### Changed
17
+ - **Token-ledger attribution** (CR-026) — `.claude/hooks/token-ledger.sh` now uses newest-file dispatch lookup (not session-id-keyed) + skips `^[0-9]+ items? blocked:` SessionStart-banner prefixes via `BANNER_SKIP_RE`; resolves three BUG-024 attribution defects.
18
+ - **CLAUDE.md (live + canonical)** (STORY-026-02) — pruned ~26 lines of orchestration prose now lives in the sprint-execution skill; preserved halt rules, Gate 1 / Gate 4 contracts, Sprint-mode v1/v2, Boundary-gates pointers; added always-on "Skill auto-load directive" rule.
19
+ - **`assert_story_files.mjs`** (CR-027) — exports `extractWorkItemIds` + `findWorkItemFile`; adds `--emit-json` flag for CLI shell-out.
20
+
21
+ ### Fixed
22
+ - **`backfill_hierarchy.mjs::spliceKeys()`** (BUG-025) — was inserting NEW line for existing-null keys, producing duplicate frontmatter lines on each PostToolUse stamp; fix is two-phase: Phase 1 in-place replace, Phase 2 insert-absent-only.
23
+ - 4 corpus files de-duplicated of orphaned `parent_cleargate_id:` lines (BUG-024, SPRINT-17, CR-023, EPIC-024).
24
+
25
+ ### Caveats (live wiring deferred)
26
+ - `.claude/settings.json` (live) is gitignored and not yet wired to the new `pre-tool-use-task.sh`; only the canonical mirror (`cleargate-planning/.claude/settings.json`) is updated. Effect: takes hold on next `cleargate init` or manual settings edit.
27
+ - Templates use numbered headings (`## 3.5 Existing Surfaces`) which don't match bare-substring predicates (`## Existing Surfaces`); SPRINT-20 anchors are backfilled with bare headings, but fresh template drafts will fail the new gates until follow-up CR ships.
28
+
29
+ ---
30
+
31
+ ## [0.9.0] — 2026-04-30
32
+
33
+ ### Added
34
+ - `src/lib/ledger.ts` — `sumDeltas()` helper for per-turn token delta math; exported via `package.json` `exports["./lib/ledger"]` (CR-018, closes BUG-022).
35
+ - Reporter agent contract updated to sum `delta.*` fields instead of flat `input/output/cache_*` fields; `pre_v2_caveat` emitted for mixed/legacy ledgers.
36
+ - `cleargate wiki contradict` CLI command + `lib/wiki/contradict.ts` helper (STORY-020-03).
37
+ - `cleargate push` hierarchy keys in wiki-ingest Phase 4 + backfill script (STORY-015-06).
38
+
39
+ ### Changed
40
+ - Token-ledger hook now maintains `.cleargate/sprint-runs/<sprint>/.session-totals.json` keyed by `session_id`; each SubagentStop computes `delta = current_session_total − prior_session_total`, replacing the former flat fields that caused N×cost inflation across multi-fire sessions.
41
+ - `src/lib/wiki/ingest.ts` — wiki-ingest Phase 4 prepare/commit split: advisory log + ledger role attribution (STORY-020-02).
42
+
43
+ ### Fixed
44
+ - `fix(SPRINT-15)` CR-018 QA bounce — bundle `src/lib/ledger.ts` in tsup output + correct `package.json` export path.
45
+
46
+ ---
47
+
48
+ ## [0.8.2] — 2026-04-27
49
+
50
+ ### Fixed
51
+ - Strip `cleargate`-internal cross-reference comments from scaffolded templates on `cleargate init` (BUG-020) — prevents canonical-repo comments from leaking into user repos.
52
+
53
+ ---
54
+
55
+ ## [0.8.1] — 2026-04-27
56
+
57
+ ### Fixed
58
+ - `.mcp.json` now uses `npx -y cleargate@<pin>` so the MCP server spawn works without a global install (BUG-019 follow-up).
59
+
60
+ ---
61
+
62
+ ## [0.8.0] — 2026-04-27
63
+
64
+ ### Added
65
+ - `cleargate mcp serve` — stdio↔HTTP MCP proxy with auto-refresh auth; required for Claude Desktop integration (BUG-019).
66
+
67
+ ---
68
+
69
+ ## [0.7.0] — 2026-04-27
70
+
71
+ ### Added
72
+ - `cleargate init` now writes `.mcp.json` for Claude Desktop MCP configuration (BUG-017).
73
+
74
+ ### Fixed
75
+ - `cleargate init` preserves `+x` executable bit on hook files; previously lost on content-identical overwrites (BUG-018).
76
+
77
+ ---
78
+
79
+ ## [0.6.2] — 2026-04-27
80
+
81
+ ### Fixed
82
+ - Exclude `CLAUDE.md` from `copyPayload` during `cleargate init` — prevents the canonical meta-repo preamble from being written into user repos (BUG-016).
83
+
84
+ ---
85
+
86
+ ## [0.6.1] — 2026-04-27
87
+
88
+ ### Fixed
89
+ - `cleargate init` resolver-probe failure is now warn-only, not a blocking error — fixes CI regression introduced in 0.6.0 (BUG-015).
90
+ - Resolver-probe and hook fallback use the correct package name `cleargate` instead of `@cleargate/cli` (BUG-013).
91
+
92
+ ---
93
+
94
+ ## [0.6.0] — 2026-04-27
95
+
96
+ ### Added
97
+ - SPRINT-14 M3–M5 deliverables: `cleargate hotfix new` command + hotfix lane scaffold (STORY-022-06).
98
+ - State.json schema v1→v2 migration + lane CLI flags (`--fast` / `--standard`) for story dispatch (STORY-022-02).
99
+ - Developer agent lane-aware execution + demotion delegation (STORY-022-05).
100
+ - `pre_gate_runner.sh` lane-aware demotion logic + LD event emission (STORY-022-04).
101
+ - Architect Lane Classification rubric; fast-lane protocol §24 (STORY-022-01).
102
+ - Reporter sprint-report v2.1 + `close_sprint.mjs` validation (activation-gated) (STORY-022-07).
103
+
104
+ ### Changed
105
+ - Doctor exit-code semantics: 0 = clean, 1 = blocked, 2 = config-error (STORY-014-01; closes CR-009 carry-over).
106
+ - `cleargate gate` planning-first enforcement: Phase A stdout routing + Phase B PreToolUse warn-only (CR-008).
107
+ - Hook resolver pin + loud preflight + pin-aware manifest; hook fallback uses versioned `npx` call (CR-009).
108
+
109
+ ### Fixed
110
+ - Token-ledger detector scopes to dispatch marker, not transcript content (BUG-010).
111
+ - Token-ledger `PROP↔PROPOSAL` regex normalization + alternation fix (BUG-009).
112
+ - Gate criteria over-match on `proposal-approved` / `no-tbds` / `blast-radius-populated` fields (BUG-008).
113
+ - `cleargate init` participant prompt now visible inline (BUG-007).
114
+
115
+ ---
116
+
117
+ ## [0.5.0] — 2026-04-26
118
+
119
+ ### Fixed
120
+ - Init scaffold hooks now resolve `cleargate` via PATH correctly; removes the broken `@cleargate/cli` fallback reference (BUG-006).
121
+
122
+ ---
123
+
124
+ ## [0.4.0] — 2026-04-25
125
+
126
+ ### Added
127
+ - `cleargate join` two-step flow + admin-login refactored onto identity-flow helpers (CR-006, EPIC-019).
128
+ - Admin-login CLI snapshot regression test (CR-004).
129
+
130
+ ---
131
+
132
+ ## [0.3.0] — 2026-04-25
133
+
134
+ ### Added
135
+ - MIT `LICENSE` file shipped with the npm tarball (STORY-018-01).
136
+ - `cleargate gate` config-driven gate subcommands with Commander v12 routing (STORY-018-03).
137
+ - `cleargate init` scaffold-lint + CI workflow (STORY-018-04).
138
+ - Foreign-repo integration test (`test/integration/foreign-repo.test.ts`) (STORY-018-05).
139
+ - `cleargate wiki` hierarchical index rendering + golden-file test (STORY-015-01, STORY-015-02).
140
+ - `cleargate wiki audit-status` command for lifecycle status drift reconciliation (STORY-015-02).
141
+ - Wiki index token-budget lint (STORY-015-03).
142
+ - `abandoned` work-item status + sprint-close stamp on `cleargate sprint close` (STORY-015-04).
143
+ - `cleargate sprint archive` wrapper command (STORY-014-08).
144
+ - `cleargate sprint story start` and `story complete` atomic commands (STORY-014-07).
145
+ - `cleargate sprint` CLI flag plumbing (STORY-014-06).
146
+ - `execution_mode` flag + CLI wrappers (STORY-013-08).
147
+ - Immediate flashcard hard-gate enforcement (STORY-013-06).
148
+
149
+ ### Changed
150
+ - `cleargate` package published as public npm package under the unscoped name `cleargate` (replacing `@cleargate/cli`).
151
+
152
+ ### Fixed
153
+ - Bootstrap-root FK teardown + PreToolUse pending-task sentinel hook.
154
+ - Swallow `exitFn` sentinel in async handler to prevent false exit-code propagation (STORY-015-04 fix).
155
+
156
+ ---
157
+
158
+ ## [0.2.1] — 2026-04-19
159
+
160
+ ### Fixed
161
+ - Frontmatter YAML round-trip corruption (BUG-001) — keys with special characters were being mangled on stamp.
162
+ - Flashcard and story scaffold template updates (CR-001).
163
+
164
+ ---
165
+
166
+ ## [0.2.0] — 2026-04-19
167
+
168
+ ### Added
169
+ - `cleargate doctor` base command + `--check-scaffold` mode (STORY-009-04).
170
+ - `cleargate doctor --session-start` + `--pricing` flags (STORY-008-06).
171
+ - `cleargate upgrade` three-way merge driver for scaffold updates (STORY-009-05).
172
+ - `cleargate init` snapshot + restore (STORY-009-03); scaffold manifest + uninstall protocol §13 (STORY-009-08).
173
+ - `cleargate uninstall` with preservation marker (STORY-009-07).
174
+ - `cleargate stamp` CLI command + `stamp-frontmatter` helper (STORY-001-05, STORY-001-04).
175
+ - `cleargate stamp-tokens` command (STORY-008-05).
176
+ - `cleargate gate check|explain` CLI (STORY-008-03).
177
+ - `cleargate wiki build`, `ingest`, `query`, `lint` commands (EPIC-002, STORY-002-05 through STORY-002-09).
178
+ - PostToolUse + SessionStart hooks scaffold (STORY-008-06).
179
+ - Hook-health log scan in doctor (STORY-008-06 QA kickback).
180
+ - Predicate evaluator + frontmatter-cache libraries (STORY-008-02).
181
+ - Build-manifest script + changelog diff tooling (STORY-009-02).
182
+ - SHA-256 + manifest libraries (STORY-009-01).
183
+ - `claude-md-surgery` + `settings-json-surgery` libraries (STORY-009-06).
184
+ - Ledger hook generalization + sprint-routing fix + ledger-reader (STORY-008-04).
185
+ - `cleargate init` writes scaffold, PostToolUse hook, and CLAUDE.md block (STORY-002-05).
186
+ - Root README + CLI README/description sync (STORY-007-02, STORY-007-03).
187
+ - Wiki synthesis templates (STORY-002-09).
188
+ - Codebase-version helper (STORY-001-03).
189
+ - Readiness-gates.md with 6 gate definitions (STORY-008-01).
190
+ - Template stubs + protocol §12 + wiki-lint gate checks (STORY-008-07).
package/README.md CHANGED
@@ -33,6 +33,17 @@ cleargate join <invite-url> # join an existing ClearGate workspace via M
33
33
 
34
34
  After `init`, edits to `.cleargate/delivery/**` auto-trigger `wiki ingest` via the PostToolUse hook. The wiki stays fresh; no manual maintenance.
35
35
 
36
+ ### Dogfood
37
+
38
+ ClearGate framework maintainers who work directly in the meta-repo can install the scaffold from the local `cleargate-planning/` directory instead of the published npm package:
39
+
40
+ ```bash
41
+ # In a fresh target directory:
42
+ cleargate init --from-source /path/to/cleargate-repo/cleargate-planning
43
+ ```
44
+
45
+ This routes through the same `copyPayload` code path that downstream users hit, closing the dogfood gap where the meta-repo previously edited `cleargate-planning/` in place and never exercised the `cleargate init` flow. All other `init` behaviour (MANIFEST.json generation, overwrite policies, prompt flow, exit codes) is identical. The `--from-source` path must contain `.claude/`, `.cleargate/`, and `CLAUDE.md` at its root; the command exits 2 with a clear error if any are missing.
46
+
36
47
  ## Requirements
37
48
 
38
49
  Node ≥ 24 LTS. `git` available on PATH (for content-hash drift detection).
@@ -1,24 +1,31 @@
1
1
  {
2
- "cleargate_version": "0.8.1",
3
- "generated_at": "2026-04-27T09:03:42.064Z",
2
+ "cleargate_version": "0.10.0",
3
+ "generated_at": "2026-05-02T19:21:41.996Z",
4
4
  "files": [
5
5
  {
6
6
  "path": ".claude/agents/architect.md",
7
- "sha256": "297020d3344d9122c0ff95e00b436cb83640acbc78377684c04f6af8fb6fbcc4",
7
+ "sha256": "5aa58a549f74ecc73be1630428ef1903faae5c3779b7b5371307c5cb63621026",
8
+ "tier": "agent",
9
+ "overwrite_policy": "always",
10
+ "preserve_on_uninstall": false
11
+ },
12
+ {
13
+ "path": ".claude/agents/cleargate-wiki-contradict.md",
14
+ "sha256": "1b7ca28889dfa1ab704e05b90179547bee1ae683b68722c99a1daec990e8572b",
8
15
  "tier": "agent",
9
16
  "overwrite_policy": "always",
10
17
  "preserve_on_uninstall": false
11
18
  },
12
19
  {
13
20
  "path": ".claude/agents/cleargate-wiki-ingest.md",
14
- "sha256": "6dcd13bb9c8daeac083e2e2f34eebc56dbd3a9f3e6e0025bc3db558937fcff36",
21
+ "sha256": "4b14aed168d30807a1325de8c065bb57e2bc66271a0cffc71a21481c227b453b",
15
22
  "tier": "agent",
16
23
  "overwrite_policy": "always",
17
24
  "preserve_on_uninstall": false
18
25
  },
19
26
  {
20
27
  "path": ".claude/agents/cleargate-wiki-lint.md",
21
- "sha256": "97d930aa906e350ce7975bc0cf17cd6870aea2b636ef482b33ffc638cdba931a",
28
+ "sha256": "42067fd728e64ac1ff1ace5822b8f8c3ddf1ba70fd0fbddf0e8cb19d5d699e77",
22
29
  "tier": "agent",
23
30
  "overwrite_policy": "always",
24
31
  "preserve_on_uninstall": false
@@ -32,21 +39,21 @@
32
39
  },
33
40
  {
34
41
  "path": ".claude/agents/developer.md",
35
- "sha256": "602b8ef4ca0f8bc11472a612744535d1a6794533ceaf97587d5d421c4fc49b77",
42
+ "sha256": "55790014320187e500f6b904756bbc8bda4806274805e883d62492bf75a34f12",
36
43
  "tier": "agent",
37
44
  "overwrite_policy": "always",
38
45
  "preserve_on_uninstall": false
39
46
  },
40
47
  {
41
48
  "path": ".claude/agents/qa.md",
42
- "sha256": "e753d294d6060ace626878220db02a0595126bc7baa52526e5d1576b163f04d0",
49
+ "sha256": "b6ac9d814e1bbd1fb9a062ce7775e34da1d1e5e6fc35140b977f30b2632654fa",
43
50
  "tier": "agent",
44
51
  "overwrite_policy": "always",
45
52
  "preserve_on_uninstall": false
46
53
  },
47
54
  {
48
55
  "path": ".claude/agents/reporter.md",
49
- "sha256": "c2f6e9db07c737ada4c2f76497d08e0f881bc8f0fceb073b9479753d33c4ecf4",
56
+ "sha256": "d8e11e0a5eeb7bf298df2e79ce0f6b8b4d87e3a2d6666f458ae143ef8e593ea1",
50
57
  "tier": "agent",
51
58
  "overwrite_policy": "always",
52
59
  "preserve_on_uninstall": false
@@ -86,9 +93,16 @@
86
93
  "overwrite_policy": "always",
87
94
  "preserve_on_uninstall": false
88
95
  },
96
+ {
97
+ "path": ".claude/hooks/pre-tool-use-task.sh",
98
+ "sha256": "79fdd30e3f301cb89757aa2279a5fb8cc3a91493b62d5c801517853500368e7f",
99
+ "tier": "hook",
100
+ "overwrite_policy": "always",
101
+ "preserve_on_uninstall": false
102
+ },
89
103
  {
90
104
  "path": ".claude/hooks/session-start.sh",
91
- "sha256": "77c206eeaa5d460f9e751244f25ff09089578ad4d044487cbcff8b3e1d78582f",
105
+ "sha256": "b266a5567cc84c02d041e570569962c003daaa69b6aee244173e740dedbf4ee2",
92
106
  "tier": "hook",
93
107
  "overwrite_policy": "pin-aware",
94
108
  "preserve_on_uninstall": false
@@ -102,14 +116,14 @@
102
116
  },
103
117
  {
104
118
  "path": ".claude/hooks/token-ledger.sh",
105
- "sha256": "45113b3c3f3a78e350e112665c1aadf74a246bb4ebfe514ea7230d6bd3fa01c1",
119
+ "sha256": "b766f18e005dea89d63c2dae9c436e3e52ef0e4828ea895ce94abfecc68f0ce2",
106
120
  "tier": "hook",
107
121
  "overwrite_policy": "always",
108
122
  "preserve_on_uninstall": false
109
123
  },
110
124
  {
111
125
  "path": ".claude/settings.json",
112
- "sha256": "539345bf59249e645a2b5faeb9cc4f44deb657ac77e9833ef74f7e4a1f4c6e3b",
126
+ "sha256": "8c3c8fe2bd2a2c23e3faa56fad94352c66a11646d12a4ca79ff95d578e589ec0",
113
127
  "tier": "cli-config",
114
128
  "overwrite_policy": "merge-3way",
115
129
  "preserve_on_uninstall": false
@@ -121,6 +135,13 @@
121
135
  "overwrite_policy": "always",
122
136
  "preserve_on_uninstall": false
123
137
  },
138
+ {
139
+ "path": ".claude/skills/sprint-execution/SKILL.md",
140
+ "sha256": "f403bb55f4cdce4b82ce3fdd59b03dd55d8f3f64bdc0e1d1c2abf9b2121efa3d",
141
+ "tier": "skill",
142
+ "overwrite_policy": "always",
143
+ "preserve_on_uninstall": false
144
+ },
124
145
  {
125
146
  "path": ".cleargate/FLASHCARD.md",
126
147
  "sha256": null,
@@ -128,65 +149,275 @@
128
149
  "overwrite_policy": "skip",
129
150
  "preserve_on_uninstall": true
130
151
  },
152
+ {
153
+ "path": ".cleargate/knowledge/cleargate-enforcement.md",
154
+ "sha256": "11ff8004145d627ce3885976304797465e07ea80f2e37001304afa9087852e7f",
155
+ "tier": "protocol",
156
+ "overwrite_policy": "merge-3way",
157
+ "preserve_on_uninstall": false
158
+ },
131
159
  {
132
160
  "path": ".cleargate/knowledge/cleargate-protocol.md",
133
- "sha256": "a3d02a7e6660403370568f3e412990a6e44394e65040ce21adc5f8e4269946ca",
161
+ "sha256": "50e999717b9c9e1c11638f3f2433f413d177ed8ddf3cffdbb20b50c8807b1fc5",
134
162
  "tier": "protocol",
135
163
  "overwrite_policy": "merge-3way",
136
164
  "preserve_on_uninstall": false
137
165
  },
138
166
  {
139
167
  "path": ".cleargate/knowledge/readiness-gates.md",
140
- "sha256": "d7a79a50e3cb5fd42735b017d3d88dff0fa443444951e717013e423770bad87b",
168
+ "sha256": "6125b57bfdcdd5d4fabe886770d9b062d76df9a232f4997dbedf3322aefdf1b5",
141
169
  "tier": "protocol",
142
170
  "overwrite_policy": "merge-3way",
143
171
  "preserve_on_uninstall": false
144
172
  },
173
+ {
174
+ "path": ".cleargate/knowledge/sprint-closeout-checklist.md",
175
+ "sha256": "d44f57445188bdefb18b39c6c121a1f52d32d9ca6122df91e54855e87fc2233e",
176
+ "tier": "protocol",
177
+ "overwrite_policy": "merge-3way",
178
+ "preserve_on_uninstall": false
179
+ },
180
+ {
181
+ "path": ".cleargate/scripts/assert_story_files.mjs",
182
+ "sha256": "74db9e12008492e40c77cc9bffac4c689621ac5eededf9b342a87e45f918f003",
183
+ "tier": "script",
184
+ "overwrite_policy": "always",
185
+ "preserve_on_uninstall": false
186
+ },
187
+ {
188
+ "path": ".cleargate/scripts/close_sprint.mjs",
189
+ "sha256": "d02be1cb8e0290782197a8b775c52b8f3064aaf661f5466c218dadb62179690a",
190
+ "tier": "script",
191
+ "overwrite_policy": "always",
192
+ "preserve_on_uninstall": false
193
+ },
194
+ {
195
+ "path": ".cleargate/scripts/constants.mjs",
196
+ "sha256": "6f3fd11046bfd3d7f6b90b9ca70e02612a5db05ca21f2f2db3dce4473e720ce4",
197
+ "tier": "script",
198
+ "overwrite_policy": "always",
199
+ "preserve_on_uninstall": false
200
+ },
201
+ {
202
+ "path": ".cleargate/scripts/dedupe_frontmatter.mjs",
203
+ "sha256": "6bf2816399cad2ab6f8f770de5eb920c3547b6fad9295c81f08aa6a4f894ef21",
204
+ "tier": "script",
205
+ "overwrite_policy": "always",
206
+ "preserve_on_uninstall": false
207
+ },
208
+ {
209
+ "path": ".cleargate/scripts/file_surface_diff.sh",
210
+ "sha256": "a1c250ba35face9124183273fb04d45fdd4f8e43f405be4a765aeb58582753e9",
211
+ "tier": "script",
212
+ "overwrite_policy": "always",
213
+ "preserve_on_uninstall": false
214
+ },
215
+ {
216
+ "path": ".cleargate/scripts/gate-checks.json",
217
+ "sha256": "188ef9995ce14e609ecf042563bab44d461df5315a4fd698e3eebfaf84db3b6a",
218
+ "tier": "script",
219
+ "overwrite_policy": "always",
220
+ "preserve_on_uninstall": false
221
+ },
222
+ {
223
+ "path": ".cleargate/scripts/init_gate_config.sh",
224
+ "sha256": "47f4a9c6609d22d66acc9ccbceb1a144ad590d5ed17159ae5fb9811002a087e8",
225
+ "tier": "script",
226
+ "overwrite_policy": "always",
227
+ "preserve_on_uninstall": false
228
+ },
229
+ {
230
+ "path": ".cleargate/scripts/init_sprint.mjs",
231
+ "sha256": "1d0f41df4325ea32981256aec15ed43eef09aba2a16ab4ba6d310cd61685556e",
232
+ "tier": "script",
233
+ "overwrite_policy": "always",
234
+ "preserve_on_uninstall": false
235
+ },
236
+ {
237
+ "path": ".cleargate/scripts/lib/report-filename.mjs",
238
+ "sha256": "c26e2c0557f5e33d84058fc34db5c3258e5050093eabeb09fb22d067e458a8e2",
239
+ "tier": "script",
240
+ "overwrite_policy": "always",
241
+ "preserve_on_uninstall": false
242
+ },
243
+ {
244
+ "path": ".cleargate/scripts/pre_gate_common.sh",
245
+ "sha256": "fd9af416b6db636901354fca64e60adcce9d4ce71dac96f2d718562a4bdb27e0",
246
+ "tier": "script",
247
+ "overwrite_policy": "always",
248
+ "preserve_on_uninstall": false
249
+ },
250
+ {
251
+ "path": ".cleargate/scripts/pre_gate_runner.sh",
252
+ "sha256": "7f221089a353391f6e917c03a6813a26b6650a8b4e7e1c6a2bd845fa4ae081ca",
253
+ "tier": "script",
254
+ "overwrite_policy": "always",
255
+ "preserve_on_uninstall": false
256
+ },
257
+ {
258
+ "path": ".cleargate/scripts/prefill_report.mjs",
259
+ "sha256": "bee417d96150410f78262a7fb4f485bf2f2e4191b8818085bdf60a664ebf7d62",
260
+ "tier": "script",
261
+ "overwrite_policy": "always",
262
+ "preserve_on_uninstall": false
263
+ },
264
+ {
265
+ "path": ".cleargate/scripts/prep_doc_refresh.mjs",
266
+ "sha256": "822f887fc6c2754d2314f72b8ae62e1f20707b350b04c9867f9fd65068b21d79",
267
+ "tier": "script",
268
+ "overwrite_policy": "always",
269
+ "preserve_on_uninstall": false
270
+ },
271
+ {
272
+ "path": ".cleargate/scripts/prep_qa_context.mjs",
273
+ "sha256": "68d69678f72fd6aa64bcf359fbd74f9c5b6b4fe598374f13c1261148b9907cab",
274
+ "tier": "script",
275
+ "overwrite_policy": "always",
276
+ "preserve_on_uninstall": false
277
+ },
278
+ {
279
+ "path": ".cleargate/scripts/run_script.sh",
280
+ "sha256": "63ff100bb56361b06825d20dc601975e6df32bb688fe112b0d705dc45129ca20",
281
+ "tier": "script",
282
+ "overwrite_policy": "always",
283
+ "preserve_on_uninstall": false
284
+ },
285
+ {
286
+ "path": ".cleargate/scripts/sprint_trends.mjs",
287
+ "sha256": "58732d158dcffca71fdc935200bbf9f8f14058cec7e05590345c335151dfa156",
288
+ "tier": "script",
289
+ "overwrite_policy": "always",
290
+ "preserve_on_uninstall": false
291
+ },
292
+ {
293
+ "path": ".cleargate/scripts/state.schema.json",
294
+ "sha256": "d4e1c076764e5dc0573805502b3164d3b7d4977871cb67f5eca8a5035aeee37d",
295
+ "tier": "script",
296
+ "overwrite_policy": "always",
297
+ "preserve_on_uninstall": false
298
+ },
299
+ {
300
+ "path": ".cleargate/scripts/suggest_improvements.mjs",
301
+ "sha256": "7d5853bf477447ae9090485648c3ba9426419504c6d36626c32454bf578c74a6",
302
+ "tier": "script",
303
+ "overwrite_policy": "always",
304
+ "preserve_on_uninstall": false
305
+ },
306
+ {
307
+ "path": ".cleargate/scripts/surface-whitelist.txt",
308
+ "sha256": "c1c14349265d741570dc4b0e61501c2a9e898a25cefad93911ef1298cf4d74c7",
309
+ "tier": "script",
310
+ "overwrite_policy": "always",
311
+ "preserve_on_uninstall": false
312
+ },
313
+ {
314
+ "path": ".cleargate/scripts/test_ratchet.mjs",
315
+ "sha256": "429f6034ad6946f906c9068e9604d5348898687af0cf56badcae673b04369c5b",
316
+ "tier": "script",
317
+ "overwrite_policy": "always",
318
+ "preserve_on_uninstall": false
319
+ },
320
+ {
321
+ "path": ".cleargate/scripts/test/test_assert_story_files.sh",
322
+ "sha256": "6aace15a0de4d07b4b9e7454d2b38e266b7a80e265281135a050bd9f6be83aab",
323
+ "tier": "script",
324
+ "overwrite_policy": "always",
325
+ "preserve_on_uninstall": false
326
+ },
327
+ {
328
+ "path": ".cleargate/scripts/test/test_file_surface.sh",
329
+ "sha256": "ada0e9583717a38bd912c0af16bb0e11c0b719a96df6dd511c879f0cf367788d",
330
+ "tier": "script",
331
+ "overwrite_policy": "always",
332
+ "preserve_on_uninstall": false
333
+ },
334
+ {
335
+ "path": ".cleargate/scripts/test/test_flashcard_gate.sh",
336
+ "sha256": "0e05a7fbaa86aeb9401e7df09696b9c547896512c41aa738a7c812d69d135916",
337
+ "tier": "script",
338
+ "overwrite_policy": "always",
339
+ "preserve_on_uninstall": false
340
+ },
341
+ {
342
+ "path": ".cleargate/scripts/test/test_prep_qa_context.sh",
343
+ "sha256": "fd198bbc5d1faeaebd18ac72e5bcc2d84f931f035175bd51048ee04dcbd7ae0d",
344
+ "tier": "script",
345
+ "overwrite_policy": "always",
346
+ "preserve_on_uninstall": false
347
+ },
348
+ {
349
+ "path": ".cleargate/scripts/test/test_test_ratchet.sh",
350
+ "sha256": "bfa13cb347824a525b636538d330a3ee3765f7908707f94149f2ffe69439729b",
351
+ "tier": "script",
352
+ "overwrite_policy": "always",
353
+ "preserve_on_uninstall": false
354
+ },
355
+ {
356
+ "path": ".cleargate/scripts/update_state.mjs",
357
+ "sha256": "19eb2a3f7b0cc027a2805a49ba14029bcb70dbc8e98299375a375a6fe4adf2c5",
358
+ "tier": "script",
359
+ "overwrite_policy": "always",
360
+ "preserve_on_uninstall": false
361
+ },
362
+ {
363
+ "path": ".cleargate/scripts/validate_bounce_readiness.mjs",
364
+ "sha256": "e4c6bead578a75a4f62fddbc1bccd40e92cc64f6136b3f893bb7cf50bacbd6ff",
365
+ "tier": "script",
366
+ "overwrite_policy": "always",
367
+ "preserve_on_uninstall": false
368
+ },
369
+ {
370
+ "path": ".cleargate/scripts/validate_state.mjs",
371
+ "sha256": "a1ad7e5f0525d3302759f9a04514e7205141c124abeb42fcda1f9d6042eca926",
372
+ "tier": "script",
373
+ "overwrite_policy": "always",
374
+ "preserve_on_uninstall": false
375
+ },
376
+ {
377
+ "path": ".cleargate/scripts/write_dispatch.sh",
378
+ "sha256": "4af4035555f4c6852ffd8f4635734931cfa2baef706f27f001bf0b2c64f7a0be",
379
+ "tier": "script",
380
+ "overwrite_policy": "always",
381
+ "preserve_on_uninstall": false
382
+ },
145
383
  {
146
384
  "path": ".cleargate/templates/Bug.md",
147
- "sha256": "3ba6e72bd2bc01cf8d0ea06390f8ea511bef3a421a33c48de033051f844dfa0e",
385
+ "sha256": "d58c3d5d19387e7749c62570931a829fd1fc31bda83b6edba2b0854dafd6936d",
148
386
  "tier": "template",
149
387
  "overwrite_policy": "merge-3way",
150
388
  "preserve_on_uninstall": false
151
389
  },
152
390
  {
153
391
  "path": ".cleargate/templates/CR.md",
154
- "sha256": "58ea4badb03991d119f8aa8870992a8239c8df6ad198e0d9ca04a805756e4bac",
392
+ "sha256": "434ac96bfd9aa8732a89d18ceb546101737b2b6fdc1b3858b5ea0153837bc6ee",
155
393
  "tier": "template",
156
394
  "overwrite_policy": "merge-3way",
157
395
  "preserve_on_uninstall": false
158
396
  },
159
397
  {
160
398
  "path": ".cleargate/templates/epic.md",
161
- "sha256": "6c85e4c9602af657e6778af9009a67936c27e47331479d0c246cdf1242177c82",
399
+ "sha256": "bbb250b5ca905ed6f48b55b0c982296899d04a492f9427195960cee3e3632594",
162
400
  "tier": "template",
163
401
  "overwrite_policy": "merge-3way",
164
402
  "preserve_on_uninstall": false
165
403
  },
166
404
  {
167
405
  "path": ".cleargate/templates/hotfix.md",
168
- "sha256": "2a7c745b0d46f4a092c507d6b427c15d64540e332f9544bc572451a313f4e5cc",
406
+ "sha256": "2d4fe14f12dbdae75cd8298bc547f39da89ecc9aaf917d32b3298a9b4936aaa2",
169
407
  "tier": "template",
170
408
  "overwrite_policy": "merge-3way",
171
409
  "preserve_on_uninstall": false
172
410
  },
173
411
  {
174
412
  "path": ".cleargate/templates/initiative.md",
175
- "sha256": "9bf4a5a5ff7af0938ff48d5eaa182f227195d101ba9de4d56123b4fc211b8cac",
176
- "tier": "template",
177
- "overwrite_policy": "merge-3way",
178
- "preserve_on_uninstall": false
179
- },
180
- {
181
- "path": ".cleargate/templates/proposal.md",
182
- "sha256": "e8055dac81ecf94d01fe610e8cdaf4fa73a2f8d9953e4db90b91a20a8c81460d",
413
+ "sha256": "08730306824f184a7d972346640493f100a5d1b44f0efe0ed855e1acedfd65d6",
183
414
  "tier": "template",
184
415
  "overwrite_policy": "merge-3way",
185
416
  "preserve_on_uninstall": false
186
417
  },
187
418
  {
188
419
  "path": ".cleargate/templates/Sprint Plan Template.md",
189
- "sha256": "583f71c76c0b3c8cb219183f5881250219cec2719c909abf4d3069beed8cad51",
420
+ "sha256": "8c359d0d7d06706cbae4c7c28777229ca3f8c4e1cc819795b4d39b349acbe9c1",
190
421
  "tier": "template",
191
422
  "overwrite_policy": "merge-3way",
192
423
  "preserve_on_uninstall": false
@@ -200,14 +431,14 @@
200
431
  },
201
432
  {
202
433
  "path": ".cleargate/templates/sprint_report.md",
203
- "sha256": "e73126842e219d856d32c4cb72e0a98066ea9ad4993e3f3919f9c8296d73afdf",
434
+ "sha256": "84e32e956eb1e8a9c97be1c346b695df316a9e47e17402f3d6581e3ffdbc4d2d",
204
435
  "tier": "template",
205
436
  "overwrite_policy": "merge-3way",
206
437
  "preserve_on_uninstall": false
207
438
  },
208
439
  {
209
440
  "path": ".cleargate/templates/story.md",
210
- "sha256": "f46364178f09d2514405723e53d5e388ab41bce5e2b318dc1aed8743500f042f",
441
+ "sha256": "a1413c4af5d854163741e92575fb913b93bdac1c1b7cfc59be8c3e0c8780eac0",
211
442
  "tier": "template",
212
443
  "overwrite_policy": "merge-3way",
213
444
  "preserve_on_uninstall": false