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.
- package/CHANGELOG.md +190 -0
- package/README.md +11 -0
- package/dist/MANIFEST.json +259 -28
- package/dist/{chunk-OM4FAEA7.js → chunk-Q3BTSXCK.js} +69 -3
- package/dist/chunk-Q3BTSXCK.js.map +1 -0
- package/dist/cli.cjs +2621 -548
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +2548 -560
- package/dist/cli.js.map +1 -1
- package/dist/lib/ledger.cjs +120 -0
- package/dist/lib/ledger.cjs.map +1 -0
- package/dist/lib/ledger.d.cts +64 -0
- package/dist/lib/ledger.d.ts +64 -0
- package/dist/lib/ledger.js +96 -0
- package/dist/lib/ledger.js.map +1 -0
- package/dist/templates/cleargate-planning/.claude/agents/architect.md +10 -8
- package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-contradict.md +108 -0
- package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-ingest.md +49 -3
- package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-lint.md +6 -1
- package/dist/templates/cleargate-planning/.claude/agents/developer.md +29 -2
- package/dist/templates/cleargate-planning/.claude/agents/qa.md +50 -1
- package/dist/templates/cleargate-planning/.claude/agents/reporter.md +31 -9
- package/dist/templates/cleargate-planning/.claude/hooks/pre-tool-use-task.sh +148 -0
- package/dist/templates/cleargate-planning/.claude/hooks/session-start.sh +6 -0
- package/dist/templates/cleargate-planning/.claude/hooks/token-ledger.sh +314 -96
- package/dist/templates/cleargate-planning/.claude/settings.json +4 -0
- package/dist/templates/cleargate-planning/.claude/skills/sprint-execution/SKILL.md +473 -0
- package/dist/templates/cleargate-planning/.cleargate/config.example.yml +19 -0
- package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-enforcement.md +542 -0
- package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +102 -428
- package/dist/templates/cleargate-planning/.cleargate/knowledge/readiness-gates.md +31 -0
- package/dist/templates/cleargate-planning/.cleargate/knowledge/sprint-closeout-checklist.md +71 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +24 -2
- package/dist/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +387 -27
- package/dist/templates/cleargate-planning/.cleargate/scripts/dedupe_frontmatter.mjs +219 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/lib/report-filename.mjs +54 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/prep_doc_refresh.mjs +378 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/prep_qa_context.mjs +888 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/sprint_trends.mjs +71 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +355 -13
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +20 -20
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_prep_qa_context.sh +482 -0
- package/dist/templates/cleargate-planning/.cleargate/scripts/write_dispatch.sh +125 -0
- package/dist/templates/cleargate-planning/.cleargate/templates/Bug.md +33 -10
- package/dist/templates/cleargate-planning/.cleargate/templates/CR.md +41 -10
- package/dist/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +48 -14
- package/dist/templates/cleargate-planning/.cleargate/templates/epic.md +46 -12
- package/dist/templates/cleargate-planning/.cleargate/templates/hotfix.md +51 -1
- package/dist/templates/cleargate-planning/.cleargate/templates/initiative.md +98 -29
- package/dist/templates/cleargate-planning/.cleargate/templates/proposal.md +26 -13
- package/dist/templates/cleargate-planning/.cleargate/templates/sprint_report.md +23 -4
- package/dist/templates/cleargate-planning/.cleargate/templates/story.md +64 -12
- package/dist/templates/cleargate-planning/CLAUDE.md +28 -10
- package/dist/templates/cleargate-planning/MANIFEST.json +259 -28
- package/dist/{whoami-CX7CXJD5.js → whoami-W4U6DPVG.js} +17 -17
- package/dist/whoami-W4U6DPVG.js.map +1 -0
- package/package.json +13 -2
- package/templates/cleargate-planning/.claude/agents/architect.md +10 -8
- package/templates/cleargate-planning/.claude/agents/cleargate-wiki-contradict.md +108 -0
- package/templates/cleargate-planning/.claude/agents/cleargate-wiki-ingest.md +49 -3
- package/templates/cleargate-planning/.claude/agents/cleargate-wiki-lint.md +6 -1
- package/templates/cleargate-planning/.claude/agents/developer.md +29 -2
- package/templates/cleargate-planning/.claude/agents/qa.md +50 -1
- package/templates/cleargate-planning/.claude/agents/reporter.md +31 -9
- package/templates/cleargate-planning/.claude/hooks/pre-tool-use-task.sh +148 -0
- package/templates/cleargate-planning/.claude/hooks/session-start.sh +6 -0
- package/templates/cleargate-planning/.claude/hooks/token-ledger.sh +314 -96
- package/templates/cleargate-planning/.claude/settings.json +4 -0
- package/templates/cleargate-planning/.claude/skills/sprint-execution/SKILL.md +473 -0
- package/templates/cleargate-planning/.cleargate/config.example.yml +19 -0
- package/templates/cleargate-planning/.cleargate/knowledge/cleargate-enforcement.md +542 -0
- package/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +102 -428
- package/templates/cleargate-planning/.cleargate/knowledge/readiness-gates.md +31 -0
- package/templates/cleargate-planning/.cleargate/knowledge/sprint-closeout-checklist.md +71 -0
- package/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +24 -2
- package/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +387 -27
- package/templates/cleargate-planning/.cleargate/scripts/dedupe_frontmatter.mjs +219 -0
- package/templates/cleargate-planning/.cleargate/scripts/lib/report-filename.mjs +54 -0
- package/templates/cleargate-planning/.cleargate/scripts/prep_doc_refresh.mjs +378 -0
- package/templates/cleargate-planning/.cleargate/scripts/prep_qa_context.mjs +888 -0
- package/templates/cleargate-planning/.cleargate/scripts/sprint_trends.mjs +71 -0
- package/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +355 -13
- package/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +20 -20
- package/templates/cleargate-planning/.cleargate/scripts/test/test_prep_qa_context.sh +482 -0
- package/templates/cleargate-planning/.cleargate/scripts/write_dispatch.sh +125 -0
- package/templates/cleargate-planning/.cleargate/templates/Bug.md +33 -10
- package/templates/cleargate-planning/.cleargate/templates/CR.md +41 -10
- package/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +48 -14
- package/templates/cleargate-planning/.cleargate/templates/epic.md +46 -12
- package/templates/cleargate-planning/.cleargate/templates/hotfix.md +51 -1
- package/templates/cleargate-planning/.cleargate/templates/initiative.md +98 -29
- package/templates/cleargate-planning/.cleargate/templates/sprint_report.md +23 -4
- package/templates/cleargate-planning/.cleargate/templates/story.md +64 -12
- package/templates/cleargate-planning/CLAUDE.md +28 -10
- package/templates/cleargate-planning/MANIFEST.json +259 -28
- package/dist/chunk-OM4FAEA7.js.map +0 -1
- package/dist/whoami-CX7CXJD5.js.map +0 -1
- package/templates/cleargate-planning/.cleargate/templates/proposal.md +0 -61
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<instructions>
|
|
2
2
|
FOLLOW THIS EXACT STRUCTURE. Output sections in order 1-4.
|
|
3
|
-
YAML Frontmatter: Story ID, Parent Epic, Status, Ambiguity, Context Source
|
|
3
|
+
YAML Frontmatter: Story ID, Parent Epic, Status, Ambiguity, Context Source, Actor, Complexity Label.
|
|
4
4
|
§1 The Spec: User Story + Detailed Requirements + Out of Scope.
|
|
5
5
|
§2 The Truth: Gherkin acceptance criteria + manual verification steps.
|
|
6
6
|
§3 Implementation Guide: Files to modify, technical logic, API contract. Sourced from approved proposal.md.
|
|
@@ -16,6 +16,10 @@ L3: Complex — Cross-cutting, spike may be needed, ~1-2 days
|
|
|
16
16
|
L4: Uncertain — Requires probing/spiking, >2 days
|
|
17
17
|
|
|
18
18
|
Granularity Rubric (run this check BEFORE emitting a story during epic-decomposition):
|
|
19
|
+
A candidate story is **too small** — file a CR or submit the PR directly — if ANY signal trips:
|
|
20
|
+
• Could this be a config change, a parameter addition, or a one-line edit? If yes, this is not a Story.
|
|
21
|
+
• The change touches one already-existing function/class and the diff fits in <30 LOC.
|
|
22
|
+
• The work amounts to renaming, formatting, or moving without behavior change.
|
|
19
23
|
A candidate story is too big — emit two stories instead, with consecutive IDs (e.g. STORY-007-03 and STORY-007-04, never 03a/03b) — if ANY signal trips:
|
|
20
24
|
• §1.2 Detailed Requirements joins unrelated user goals with "and also" / "additionally".
|
|
21
25
|
• §2.1 Gherkin would need >5 scenarios covering unrelated behaviors.
|
|
@@ -29,15 +33,31 @@ When the rubric is ambiguous, surface the decision to the human as a one-liner (
|
|
|
29
33
|
§0.1 v2 Decomposition Signals:
|
|
30
34
|
`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
35
|
`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
|
-
`lane`: "standard" | "fast" — Architect-set during Sprint Design Review per the seven-check rubric in
|
|
36
|
+
`lane`: "standard" | "fast" — Architect-set during Sprint Design Review per the seven-check rubric in cleargate-enforcement.md §9. Default "standard". Absent in pre-EPIC-022 stories means standard per the migration default in update_state.mjs.
|
|
33
37
|
All three fields are v2-only signals. Under v1 sprints they are informational; defaults apply for stories authored before SPRINT-09.
|
|
34
38
|
|
|
39
|
+
POST-WRITE BRIEF
|
|
40
|
+
After Writing this document, render a Brief in chat with the following sections,
|
|
41
|
+
mechanically extracted from the document's own structure:
|
|
42
|
+
|
|
43
|
+
- Summary ← §1.1 User Story
|
|
44
|
+
- Open Questions ← §1.4 Open Questions
|
|
45
|
+
- Edge Cases ← §2.1 Gherkin error scenarios
|
|
46
|
+
- Risks ← §1.5 Risks
|
|
47
|
+
- Ambiguity ← bottom-of-doc ambiguity gate block
|
|
48
|
+
|
|
49
|
+
Halt for human review. When ambiguity reaches 🟢, proceed to call cleargate_push_item.
|
|
50
|
+
Do NOT ask separately for push confirmation — Brief approval covers it.
|
|
51
|
+
|
|
35
52
|
Do NOT output these instructions.
|
|
36
53
|
</instructions>
|
|
37
54
|
|
|
38
55
|
---
|
|
39
56
|
story_id: "STORY-{EpicID}-{StoryID}-{StoryName}"
|
|
40
57
|
parent_epic_ref: "EPIC-{ID}"
|
|
58
|
+
parent_cleargate_id: null # canonical cleargate-id of parent work item; null for top-level
|
|
59
|
+
sprint_cleargate_id: null # canonical cleargate-id of owning sprint; null for off-sprint items
|
|
60
|
+
carry_over: false # set true to skip lifecycle reconciliation at sprint close
|
|
41
61
|
status: "Draft"
|
|
42
62
|
ambiguity: "🔴 High"
|
|
43
63
|
context_source: "PROPOSAL-{ID}.md"
|
|
@@ -62,15 +82,15 @@ cached_gate_result:
|
|
|
62
82
|
pass: null
|
|
63
83
|
failing_criteria: []
|
|
64
84
|
last_gate_check: null
|
|
65
|
-
# Sync attribution
|
|
66
|
-
pushed_by: null #
|
|
67
|
-
pushed_at: null #
|
|
68
|
-
last_pulled_by: null #
|
|
69
|
-
last_pulled_at: null #
|
|
70
|
-
last_remote_update: null #
|
|
71
|
-
source: "local-authored" #
|
|
72
|
-
last_synced_status: null #
|
|
73
|
-
last_synced_body_sha: null #
|
|
85
|
+
# Sync attribution. Optional; stamped by `cleargate push` / `cleargate pull`.
|
|
86
|
+
pushed_by: null # set by push: which user pushed
|
|
87
|
+
pushed_at: null # set by push: ISO-8601 timestamp
|
|
88
|
+
last_pulled_by: null # set by pull: which user pulled
|
|
89
|
+
last_pulled_at: null # set by pull: ISO-8601 timestamp
|
|
90
|
+
last_remote_update: null # set by pull: server's last-modified timestamp
|
|
91
|
+
source: "local-authored" # flips to "remote-authored" on intake
|
|
92
|
+
last_synced_status: null # required for conflict-detector; status at last sync
|
|
93
|
+
last_synced_body_sha: null # sha256 of body at last sync
|
|
74
94
|
---
|
|
75
95
|
|
|
76
96
|
# STORY-{EpicID}-{StoryID}: {Story Name}
|
|
@@ -88,6 +108,35 @@ As a {Persona}, I want to {Action}, so that {Benefit}.
|
|
|
88
108
|
### 1.3 Out of Scope
|
|
89
109
|
{What this story explicitly does NOT do.}
|
|
90
110
|
|
|
111
|
+
### 1.4 Open Questions
|
|
112
|
+
|
|
113
|
+
> Resolve every entry before flipping ambiguity to 🟢. Each entry pairs a question with a recommended answer.
|
|
114
|
+
|
|
115
|
+
- **Question:** {edge case, contradiction, or missing detail surfaced during drafting}
|
|
116
|
+
- **Recommended:** {agent's proposed answer}
|
|
117
|
+
- **Human decision:** {populated during Brief review}
|
|
118
|
+
|
|
119
|
+
### 1.5 Risks
|
|
120
|
+
|
|
121
|
+
> Risks specific to this Story (cross-story risks belong in the milestone plan).
|
|
122
|
+
|
|
123
|
+
- **Risk:** {what could go wrong}
|
|
124
|
+
- **Mitigation:** {agent's proposed mitigation}
|
|
125
|
+
|
|
126
|
+
### 1.6 Existing Surfaces
|
|
127
|
+
|
|
128
|
+
> L1 reuse audit. List source-tree implementations the request could extend. Cite file:line.
|
|
129
|
+
|
|
130
|
+
- **Surface:** `path/to/file.ext:NN` — {what it does}
|
|
131
|
+
- **Coverage of this requirement:** {≥80% / partial / none — and why}
|
|
132
|
+
|
|
133
|
+
### 1.7 Why not simpler?
|
|
134
|
+
|
|
135
|
+
> L2 / L3 right-size + justify-complexity. Answer both.
|
|
136
|
+
|
|
137
|
+
- **Smallest existing surface that could carry this:** {citation or "none — net-new abstraction required"}
|
|
138
|
+
- **Why isn't extension / parameterization / config sufficient?** {one paragraph}
|
|
139
|
+
|
|
91
140
|
## 2. The Truth (Executable Tests)
|
|
92
141
|
|
|
93
142
|
### 2.1 Acceptance Criteria (Gherkin)
|
|
@@ -114,7 +163,7 @@ Feature: {Story Name}
|
|
|
114
163
|
|
|
115
164
|
### 3.1 Context & Files
|
|
116
165
|
|
|
117
|
-
> **v2 gate input:** under v2 execution mode, this table is a pre-commit gate input (
|
|
166
|
+
> **v2 gate input:** under v2 execution mode, this table is a pre-commit gate input (cleargate-enforcement.md §6). 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.
|
|
118
167
|
|
|
119
168
|
| Item | Value |
|
|
120
169
|
|---|---|
|
|
@@ -154,3 +203,6 @@ Requirements to pass to Green (Ready for Execution):
|
|
|
154
203
|
- [ ] Gherkin scenarios completely cover all detailed requirements in §1.2.
|
|
155
204
|
- [ ] Implementation Guide (§3) maps to specific, verified file paths from the approved proposal.
|
|
156
205
|
- [ ] No "TBDs" exist anywhere in the specification or technical logic.
|
|
206
|
+
- [ ] §1.6 Existing Surfaces cites at least one source-tree path or explicitly states "none — net-new."
|
|
207
|
+
- [ ] §1.7 Why not simpler? has both sub-bullets answered (no "TBD" / no "{}").
|
|
208
|
+
|
|
@@ -7,32 +7,45 @@ This file is the content `cleargate init` injects into a downstream user's `CLAU
|
|
|
7
7
|
<!-- CLEARGATE:START -->
|
|
8
8
|
## 🔄 ClearGate Planning Framework
|
|
9
9
|
|
|
10
|
-
This repository uses **ClearGate** — a standalone planning framework for AI coding agents. ClearGate scaffolds *how work is planned* (
|
|
10
|
+
This repository uses **ClearGate** — a standalone planning framework for AI coding agents. ClearGate scaffolds *how work is planned* (initiatives → epics → stories → sprints) and defines a four-agent loop for execution. ClearGate does not run builds, tests, or deployments; execution tooling remains the target repo's own.
|
|
11
11
|
|
|
12
12
|
**Session-start orientation (read in this order):**
|
|
13
13
|
1. `.cleargate/wiki/index.md` — compiled awareness layer (~3k tokens). Lists active sprint, in-flight items, recent shipments, open gates, planned work, and topic synthesis pages. **Read this first** to know what exists before grepping raw files. If absent, run `cleargate wiki build`.
|
|
14
14
|
2. `.cleargate/knowledge/cleargate-protocol.md` — delivery protocol (non-negotiable rules).
|
|
15
15
|
3. `.cleargate/FLASHCARD.md` — lessons tagged by topic (`#schema`, `#auth`, etc.). Grep for your area before starting.
|
|
16
|
+
4. `.cleargate/knowledge/cleargate-enforcement.md` — hook-enforced rules (worktree mechanics, file-surface contract, lifecycle reconciler, lane rubric, doctor exit codes, etc.). Read only when a CLI hook surfaces an error or when triaging a v2-mode question.
|
|
16
17
|
|
|
17
18
|
**Triage first, draft second.** Every user request gets classified (Epic / Story / CR / Bug / Pull / Push) *before* any drafting. If the type is ambiguous, ask ONE targeted question — do not guess.
|
|
18
19
|
|
|
19
|
-
**
|
|
20
|
+
**Sprint execution.** When a sprint is active, the orchestration playbook lives at `.claude/skills/sprint-execution/SKILL.md` — load it before dispatching any execution agent (Architect / Developer / QA / Reporter). The skill is the canonical four-agent-loop spec; the always-on CLAUDE.md keeps only the halt-rules and the load-skill contract.
|
|
20
21
|
|
|
21
|
-
**
|
|
22
|
+
**Skill auto-load directive.** When the SessionStart banner emits `Load skill: <name>`, invoke the Skill tool to load it before continuing. Claude Code's description-match auto-load is advisory; this rule is the contract.
|
|
23
|
+
|
|
24
|
+
**Codebase is source of truth.** Wiki, memory, and `context_source` are derived caches. On conflict between cache and code, the code wins; the cache rebuilds. Before stating that a capability exists or doesn't exist, grep the code.
|
|
25
|
+
|
|
26
|
+
**Duplicate check before drafting.** Before drafting an Initiative or work item, grep `.cleargate/delivery/archive/` + `.cleargate/FLASHCARD.md` for similar past work. If you find overlap, surface it as a one-liner (*"This is very close to STORY-003-05 shipped in SPRINT-01 — are you extending it or redoing it?"*) instead of drafting a duplicate. If the request names an integration, feature, or capability, also grep the source tree for existing implementations and cite findings in `## Existing Surfaces`.
|
|
27
|
+
|
|
28
|
+
**Halt at gates.** You halt at Gate 1 (Initiative approval) and Gate 2 (Ambiguity resolution) and wait for explicit human sign-off. You never call `cleargate_push_item` without `approved: true` (hard reject) and explicit human confirmation. Readiness gates (`cached_gate_result.pass`) are advisory by default — the push proceeds and the item body receives an `[advisory: gate_failed — <criteria>]` prefix; opt into hard-reject via `STRICT_PUSH_GATES=true` on the MCP server.
|
|
29
|
+
|
|
30
|
+
**Sprint mode.** Read `execution_mode:` in the active sprint's frontmatter before spawning Developer/QA. `v1` = advisory; `v2` = enforce the rules in `cleargate-enforcement.md`. Default `v1`.
|
|
31
|
+
|
|
32
|
+
**Brief is the universal pre-push handshake.** Every work-item template's `<instructions>` block tells you to render a Brief in chat after Writing the document — Summary / Open Questions / Edge Cases / Risks / Ambiguity. Halt for human review. When ambiguity reaches 🟢, push via `cleargate_push_item` automatically — the same approval covers Gate 1 and the push.
|
|
33
|
+
|
|
34
|
+
**Boundary gates (CR-017).** `cleargate sprint init` runs the decomposition gate; `close_sprint.mjs` runs the lifecycle reconciler. Both block in v2.
|
|
35
|
+
|
|
36
|
+
**Sprint close is Gate-4-class (CR-019).** Run `close_sprint.mjs` with no flags first; surface the prompt verbatim; halt. Never pass `--assume-ack` autonomously. Pre-close enforces Steps 2.7 (no leftover worktrees) + 2.8 (sprint branch merged to main) under v2; failure halts close. Post-close prints a 6-item handoff list (Step 8) summarizing commits, merge state, wiki ingest, flashcards, artifacts, and next-sprint preflight.
|
|
22
37
|
|
|
23
38
|
**Drafting work items:**
|
|
24
|
-
- Use the templates in `.cleargate/templates/` (`
|
|
39
|
+
- Use the templates in `.cleargate/templates/` (`epic.md`, `story.md`, `CR.md`, `Bug.md`, `Sprint Plan Template.md`, `initiative.md`).
|
|
25
40
|
- Save drafts to `.cleargate/delivery/pending-sync/{TYPE}-{ID}-{Name}.md`.
|
|
26
41
|
- After `cleargate_push_item` returns a Remote ID, update the frontmatter AND move the file to `.cleargate/delivery/archive/` — these two happen atomically, never one without the other.
|
|
27
42
|
- **Story granularity.** When decomposing an epic into stories, run the Granularity Rubric at the top of `story.md`. If a candidate story trips any signal (unrelated goals joined, >5 Gherkin scenarios, subsystems span, L4 complexity), emit two stories with consecutive IDs instead. Splits and merges are free at decomposition time — no remote IDs exist yet.
|
|
28
43
|
|
|
29
|
-
**
|
|
30
|
-
|
|
31
|
-
- `
|
|
32
|
-
- `qa.md` — independent verification gate; re-runs checks; never commits, never edits.
|
|
33
|
-
- `reporter.md` — one sprint retrospective at sprint end; synthesizes token ledger + git log + flashcards into `REPORT.md`.
|
|
44
|
+
**Initiative Intake.** Stakeholder input arrives via two paths: (1) MCP pull — call `cleargate_pull_initiative` with the remote ID; the tool writes `pending-sync/INITIATIVE-NNN_*.md` automatically; read the result and present a Brief. (2) Manual paste — human pastes the text; triage it, write `pending-sync/INITIATIVE-NNN_*.md` using `templates/initiative.md`, present a Brief. In both cases, after Gate 1 the file moves to `archive/` stamped with `triaged_at:` and `spawned_items:`.
|
|
45
|
+
|
|
46
|
+
**State-aware surface.** At session start, `cleargate doctor --session-start` (invoked by the SessionStart hook) emits one banner line before any other output: `ClearGate state: pre-member — local planning enabled, sync requires join.` OR `ClearGate state: member (project: <project_id>) — full surface enabled.` In **pre-member** state (no valid join token on disk), only local-planning commands are reachable: `init`, `join`, `whoami`, `wiki *`, `gate *`, `stamp`, `doctor`, `scaffold-lint`, `sprint *`, `story *`, `state *`, `upgrade`, `uninstall`. Commands `push`, `pull`, `sync`, `sync-log`, `conflicts`, and `admin *` (except `admin login`) require membership and exit 2 with a redirect: `Run: cleargate join <invite-url>`. If the SessionStart banner says `pre-member`, do not suggest push/pull/sync to the user — instead ask for an invite URL and direct them to `cleargate join`.
|
|
34
47
|
|
|
35
|
-
**Conversational style.** Keep replies terse. Details live in the work-item file and `REPORT.md`, not in chat. State results and next steps; skip narration of your own thought process.
|
|
48
|
+
**Conversational style.** Keep replies terse. Details live in the work-item file and `REPORT.md`, not in chat. State results and next steps; skip narration of your own thought process. After Writing or Editing any file under `.cleargate/delivery/**`, briefly note the ingest result if the PostToolUse hook surfaced one — one short sentence (`✅ ingested as <bucket>/<id>.md` / `⚠️ gate failed: <criterion>` / `🔴 ingest error — see .cleargate/hook-log/gate-check.log`). Do not narrate when nothing fired (skip-excluded paths). This is conversational confirmation, not retry logic.
|
|
36
49
|
|
|
37
50
|
**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
51
|
|
|
@@ -41,4 +54,9 @@ This repository uses **ClearGate** — a standalone planning framework for AI co
|
|
|
41
54
|
**Project overrides.** Content OUTSIDE this `<!-- CLEARGATE:START -->...<!-- CLEARGATE:END -->` block takes precedence where it conflicts with ClearGate defaults.
|
|
42
55
|
|
|
43
56
|
**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.
|
|
57
|
+
|
|
58
|
+
**Guardrails for the conversational agent:**
|
|
59
|
+
- Sprint close requires explicit human ack. Run close_sprint.mjs without flags first; surface the "re-run with --assume-ack" prompt verbatim and halt. Never pass --assume-ack yourself — that flag is reserved for automated tests.
|
|
60
|
+
|
|
61
|
+
**Doc & metadata refresh on close.** During Gate 4 ack, read `.cleargate/sprint-runs/<id>/.doc-refresh-checklist.md` (generated by `prep_doc_refresh.mjs`) and apply or punt each `- [ ]` item per the canonical list at `.cleargate/knowledge/sprint-closeout-checklist.md`. Items already marked `- [x]` indicate "no changes detected, skip."
|
|
44
62
|
<!-- CLEARGATE:END -->
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cleargate_version": "0.
|
|
3
|
-
"generated_at": "2026-
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
441
|
+
"sha256": "a1413c4af5d854163741e92575fb913b93bdac1c1b7cfc59be8c3e0c8780eac0",
|
|
211
442
|
"tier": "template",
|
|
212
443
|
"overwrite_policy": "merge-3way",
|
|
213
444
|
"preserve_on_uninstall": false
|