cleargate 0.2.1 → 0.4.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.
- package/LICENSE +21 -0
- package/dist/MANIFEST.json +58 -16
- package/dist/admin-api/index.cjs +88 -1
- package/dist/admin-api/index.cjs.map +1 -1
- package/dist/admin-api/index.d.cts +105 -1
- package/dist/admin-api/index.d.ts +105 -1
- package/dist/admin-api/index.js +77 -1
- package/dist/admin-api/index.js.map +1 -1
- package/dist/bootstrap-root-FGWDICDT.js +130 -0
- package/dist/bootstrap-root-FGWDICDT.js.map +1 -0
- package/dist/chunk-OM4FAEA7.js +184 -0
- package/dist/chunk-OM4FAEA7.js.map +1 -0
- package/dist/cli.cjs +8530 -3957
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +5282 -1220
- package/dist/cli.js.map +1 -1
- package/dist/templates/cleargate-planning/.claude/agents/architect.md +72 -0
- package/dist/templates/cleargate-planning/.claude/agents/developer.md +45 -3
- package/dist/templates/cleargate-planning/.claude/agents/qa.md +7 -3
- package/dist/templates/cleargate-planning/.claude/agents/reporter.md +71 -89
- package/dist/templates/cleargate-planning/.claude/hooks/pending-task-sentinel.sh +204 -0
- package/dist/templates/cleargate-planning/.claude/hooks/pre-commit-surface-gate.sh +10 -0
- package/dist/templates/cleargate-planning/.claude/hooks/pre-commit-test-ratchet.sh +58 -0
- package/dist/templates/cleargate-planning/.claude/hooks/pre-commit.sh +19 -0
- package/dist/templates/cleargate-planning/.claude/hooks/session-start.sh +51 -0
- package/dist/templates/cleargate-planning/.claude/hooks/token-ledger.sh +1 -1
- package/dist/templates/cleargate-planning/.claude/settings.json +11 -0
- package/dist/templates/cleargate-planning/.cleargate/config.example.yml +37 -0
- package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +407 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +146 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +250 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/constants.mjs +57 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/file_surface_diff.sh +320 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/gate-checks.json +15 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/init_gate_config.sh +38 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/init_sprint.mjs +187 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/pre_gate_common.sh +132 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/pre_gate_runner.sh +307 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/prefill_report.mjs +280 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/run_script.sh +123 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/state.schema.json +110 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +247 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/surface-whitelist.txt +27 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_assert_story_files.sh +261 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_file_surface.sh +210 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +190 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_test_ratchet.sh +327 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/test_ratchet.mjs +261 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/update_state.mjs +154 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/validate_bounce_readiness.mjs +111 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/validate_state.mjs +164 -0
- package/dist/templates/cleargate-planning/.cleargate/templates/Bug.md +9 -0
- package/dist/templates/cleargate-planning/.cleargate/templates/CR.md +9 -0
- package/dist/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +29 -3
- package/dist/templates/cleargate-planning/.cleargate/templates/epic.md +9 -0
- package/dist/templates/cleargate-planning/.cleargate/templates/proposal.md +9 -0
- package/dist/templates/cleargate-planning/.cleargate/templates/sprint_context.md +42 -0
- package/dist/templates/cleargate-planning/.cleargate/templates/sprint_report.md +175 -0
- package/dist/templates/cleargate-planning/.cleargate/templates/story.md +19 -0
- package/dist/templates/cleargate-planning/CLAUDE.md +2 -0
- package/dist/templates/cleargate-planning/MANIFEST.json +58 -16
- package/dist/whoami-CX7CXJD5.js +76 -0
- package/dist/whoami-CX7CXJD5.js.map +1 -0
- package/package.json +6 -2
- package/templates/cleargate-planning/.claude/agents/architect.md +72 -0
- package/templates/cleargate-planning/.claude/agents/developer.md +45 -3
- package/templates/cleargate-planning/.claude/agents/qa.md +7 -3
- package/templates/cleargate-planning/.claude/agents/reporter.md +71 -89
- package/templates/cleargate-planning/.claude/hooks/pending-task-sentinel.sh +204 -0
- package/templates/cleargate-planning/.claude/hooks/pre-commit-surface-gate.sh +10 -0
- package/templates/cleargate-planning/.claude/hooks/pre-commit-test-ratchet.sh +58 -0
- package/templates/cleargate-planning/.claude/hooks/pre-commit.sh +19 -0
- package/templates/cleargate-planning/.claude/hooks/session-start.sh +51 -0
- package/templates/cleargate-planning/.claude/hooks/token-ledger.sh +1 -1
- package/templates/cleargate-planning/.claude/settings.json +11 -0
- package/templates/cleargate-planning/.cleargate/config.example.yml +37 -0
- package/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +407 -0
- package/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +146 -0
- package/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +250 -0
- package/templates/cleargate-planning/.cleargate/scripts/constants.mjs +57 -0
- package/templates/cleargate-planning/.cleargate/scripts/file_surface_diff.sh +320 -0
- package/templates/cleargate-planning/.cleargate/scripts/gate-checks.json +15 -0
- package/templates/cleargate-planning/.cleargate/scripts/init_gate_config.sh +38 -0
- package/templates/cleargate-planning/.cleargate/scripts/init_sprint.mjs +187 -0
- package/templates/cleargate-planning/.cleargate/scripts/pre_gate_common.sh +132 -0
- package/templates/cleargate-planning/.cleargate/scripts/pre_gate_runner.sh +307 -0
- package/templates/cleargate-planning/.cleargate/scripts/prefill_report.mjs +280 -0
- package/templates/cleargate-planning/.cleargate/scripts/run_script.sh +123 -0
- package/templates/cleargate-planning/.cleargate/scripts/state.schema.json +110 -0
- package/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +247 -0
- package/templates/cleargate-planning/.cleargate/scripts/surface-whitelist.txt +27 -0
- package/templates/cleargate-planning/.cleargate/scripts/test/test_assert_story_files.sh +261 -0
- package/templates/cleargate-planning/.cleargate/scripts/test/test_file_surface.sh +210 -0
- package/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +190 -0
- package/templates/cleargate-planning/.cleargate/scripts/test/test_test_ratchet.sh +327 -0
- package/templates/cleargate-planning/.cleargate/scripts/test_ratchet.mjs +261 -0
- package/templates/cleargate-planning/.cleargate/scripts/update_state.mjs +154 -0
- package/templates/cleargate-planning/.cleargate/scripts/validate_bounce_readiness.mjs +111 -0
- package/templates/cleargate-planning/.cleargate/scripts/validate_state.mjs +164 -0
- package/templates/cleargate-planning/.cleargate/templates/Bug.md +9 -0
- package/templates/cleargate-planning/.cleargate/templates/CR.md +9 -0
- package/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +29 -3
- package/templates/cleargate-planning/.cleargate/templates/epic.md +9 -0
- package/templates/cleargate-planning/.cleargate/templates/proposal.md +9 -0
- package/templates/cleargate-planning/.cleargate/templates/sprint_context.md +42 -0
- package/templates/cleargate-planning/.cleargate/templates/sprint_report.md +175 -0
- package/templates/cleargate-planning/.cleargate/templates/story.md +19 -0
- package/templates/cleargate-planning/CLAUDE.md +2 -0
- 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.
|
|
3
|
-
"generated_at": "2026-04-
|
|
2
|
+
"cleargate_version": "0.4.0",
|
|
3
|
+
"generated_at": "2026-04-25T11:27:01.277Z",
|
|
4
4
|
"files": [
|
|
5
5
|
{
|
|
6
6
|
"path": ".claude/agents/architect.md",
|
|
7
|
-
"sha256": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
196
|
+
"sha256": "266b7e2b0526c4fe37620baf9344521e98ee5e7363661d390ef90068798f9bfe",
|
|
155
197
|
"tier": "template",
|
|
156
198
|
"overwrite_policy": "merge-3way",
|
|
157
199
|
"preserve_on_uninstall": false
|