cleargate 0.14.0 → 0.15.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 (149) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/MANIFEST.json +71 -15
  3. package/dist/admin-api/index.cjs +0 -1
  4. package/dist/admin-api/index.js +1 -2
  5. package/dist/auth/factory.cjs +0 -1
  6. package/dist/auth/factory.js +2 -3
  7. package/dist/auth/require-token.cjs +0 -1
  8. package/dist/auth/require-token.js +1 -2
  9. package/dist/auth/token-store.cjs +0 -1
  10. package/dist/auth/token-store.js +1 -2
  11. package/dist/{bootstrap-root-QKSA5V75.js → bootstrap-root-2H5HVTCC.js} +1 -2
  12. package/dist/{chunk-PDE37WFQ.js → chunk-A7MSQUU7.js} +2 -3
  13. package/dist/{chunk-BTSZOEWC.js → chunk-P6KEDAK2.js} +0 -1
  14. package/dist/{chunk-E3X7IE5E.js → chunk-PY6FHGV5.js} +1 -2
  15. package/dist/{chunk-5DI2Z3C2.js → chunk-Y53ZZYYU.js} +1 -2
  16. package/dist/cli.cjs +1564 -1414
  17. package/dist/cli.js +1514 -1364
  18. package/dist/lib/ledger.cjs +0 -1
  19. package/dist/lib/ledger.js +1 -2
  20. package/dist/lib/lifecycle-reconcile.cjs +0 -1
  21. package/dist/lib/lifecycle-reconcile.js +2 -3
  22. package/dist/{whoami-EANGN46Z.js → whoami-JKQQPABQ.js} +3 -4
  23. package/package.json +4 -3
  24. package/templates/cleargate-planning/.claude/agents/architect.md +4 -2
  25. package/templates/cleargate-planning/.claude/agents/developer.md +4 -11
  26. package/templates/cleargate-planning/.claude/agents/qa.md +14 -6
  27. package/templates/cleargate-planning/.claude/hooks/pending-task-sentinel.sh +2 -2
  28. package/templates/cleargate-planning/.claude/skills/sprint-execution/SKILL.md +19 -1
  29. package/templates/cleargate-planning/.cleargate/config.example.yml +16 -0
  30. package/templates/cleargate-planning/.cleargate/scripts/close_sprint.deferred-verify.red.node.test.ts +245 -0
  31. package/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +227 -0
  32. package/templates/cleargate-planning/.cleargate/scripts/gate-checks.json +5 -4
  33. package/templates/cleargate-planning/.cleargate/scripts/init_sprint.mjs +75 -2
  34. package/templates/cleargate-planning/.cleargate/scripts/pre_gate_common.sh +48 -0
  35. package/templates/cleargate-planning/.cleargate/scripts/pre_gate_runner.sh +57 -1
  36. package/templates/cleargate-planning/.cleargate/scripts/provision_worktree_config.sh +155 -0
  37. package/templates/cleargate-planning/.cleargate/scripts/qa_red_lint.mjs +380 -0
  38. package/templates/cleargate-planning/.cleargate/scripts/run_script.sh +34 -1
  39. package/templates/cleargate-planning/.cleargate/scripts/test/cr077_eviction.red.sh +113 -0
  40. package/templates/cleargate-planning/.cleargate/scripts/test/cr078_init.test.sh +309 -0
  41. package/templates/cleargate-planning/.cleargate/scripts/test/cr079_provision.red.sh +262 -0
  42. package/templates/cleargate-planning/.cleargate/scripts/test/cr080_wrapper.test.sh +177 -0
  43. package/templates/cleargate-planning/.cleargate/scripts/test/cr081_qa_red_lint.red.sh +348 -0
  44. package/templates/cleargate-planning/.cleargate/sprint-runs/_off-sprint/.session-totals.json +1 -0
  45. package/templates/cleargate-planning/.cleargate/sprint-runs/_off-sprint/token-ledger.jsonl +27 -0
  46. package/templates/cleargate-planning/.cleargate/templates/sprint_context.md +17 -0
  47. package/templates/cleargate-planning/.cleargate/templates/story.md +1 -0
  48. package/templates/cleargate-planning/MANIFEST.json +71 -15
  49. package/dist/admin-api/index.cjs.map +0 -1
  50. package/dist/admin-api/index.js.map +0 -1
  51. package/dist/auth/factory.cjs.map +0 -1
  52. package/dist/auth/factory.js.map +0 -1
  53. package/dist/auth/require-token.cjs.map +0 -1
  54. package/dist/auth/require-token.js.map +0 -1
  55. package/dist/auth/token-store.cjs.map +0 -1
  56. package/dist/auth/token-store.js.map +0 -1
  57. package/dist/bootstrap-root-QKSA5V75.js.map +0 -1
  58. package/dist/chunk-5DI2Z3C2.js.map +0 -1
  59. package/dist/chunk-BTSZOEWC.js.map +0 -1
  60. package/dist/chunk-E3X7IE5E.js.map +0 -1
  61. package/dist/chunk-PDE37WFQ.js.map +0 -1
  62. package/dist/cli.cjs.map +0 -1
  63. package/dist/cli.js.map +0 -1
  64. package/dist/lib/ledger.cjs.map +0 -1
  65. package/dist/lib/ledger.js.map +0 -1
  66. package/dist/lib/lifecycle-reconcile.cjs.map +0 -1
  67. package/dist/lib/lifecycle-reconcile.js.map +0 -1
  68. package/dist/templates/cleargate-planning/.claude/agents/architect-reader.md +0 -61
  69. package/dist/templates/cleargate-planning/.claude/agents/architect-synth.md +0 -124
  70. package/dist/templates/cleargate-planning/.claude/agents/architect.md +0 -230
  71. package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-contradict.md +0 -108
  72. package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-ingest.md +0 -194
  73. package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-lint.md +0 -261
  74. package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-query.md +0 -143
  75. package/dist/templates/cleargate-planning/.claude/agents/developer.md +0 -185
  76. package/dist/templates/cleargate-planning/.claude/agents/devops.md +0 -257
  77. package/dist/templates/cleargate-planning/.claude/agents/qa.md +0 -171
  78. package/dist/templates/cleargate-planning/.claude/agents/reporter.md +0 -274
  79. package/dist/templates/cleargate-planning/.claude/hooks/pending-task-sentinel.sh +0 -209
  80. package/dist/templates/cleargate-planning/.claude/hooks/pre-commit-surface-gate.sh +0 -33
  81. package/dist/templates/cleargate-planning/.claude/hooks/pre-commit-test-ratchet.sh +0 -58
  82. package/dist/templates/cleargate-planning/.claude/hooks/pre-commit.sh +0 -19
  83. package/dist/templates/cleargate-planning/.claude/hooks/pre-edit-gate.sh +0 -162
  84. package/dist/templates/cleargate-planning/.claude/hooks/pre-tool-use-autonomy.sh +0 -58
  85. package/dist/templates/cleargate-planning/.claude/hooks/pre-tool-use-task.sh +0 -148
  86. package/dist/templates/cleargate-planning/.claude/hooks/session-start.sh +0 -75
  87. package/dist/templates/cleargate-planning/.claude/hooks/stamp-and-gate.sh +0 -43
  88. package/dist/templates/cleargate-planning/.claude/hooks/token-ledger.sh +0 -590
  89. package/dist/templates/cleargate-planning/.claude/settings.json +0 -68
  90. package/dist/templates/cleargate-planning/.claude/skills/flashcard/SKILL.md +0 -102
  91. package/dist/templates/cleargate-planning/.claude/skills/sprint-execution/SKILL.md +0 -742
  92. package/dist/templates/cleargate-planning/.cleargate/FLASHCARD.md +0 -7
  93. package/dist/templates/cleargate-planning/.cleargate/config.example.yml +0 -67
  94. package/dist/templates/cleargate-planning/.cleargate/config.yml +0 -18
  95. package/dist/templates/cleargate-planning/.cleargate/delivery/archive/.gitkeep +0 -0
  96. package/dist/templates/cleargate-planning/.cleargate/delivery/pending-sync/.gitkeep +0 -0
  97. package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-enforcement.md +0 -551
  98. package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +0 -878
  99. package/dist/templates/cleargate-planning/.cleargate/knowledge/mid-sprint-triage-rubric.md +0 -160
  100. package/dist/templates/cleargate-planning/.cleargate/knowledge/readiness-gates.md +0 -213
  101. package/dist/templates/cleargate-planning/.cleargate/knowledge/sprint-closeout-checklist.md +0 -71
  102. package/dist/templates/cleargate-planning/.cleargate/scripts/_migrate-schema-v3.mjs +0 -120
  103. package/dist/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +0 -265
  104. package/dist/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +0 -1012
  105. package/dist/templates/cleargate-planning/.cleargate/scripts/collision_surface.sh +0 -114
  106. package/dist/templates/cleargate-planning/.cleargate/scripts/constants.mjs +0 -62
  107. package/dist/templates/cleargate-planning/.cleargate/scripts/dedupe_frontmatter.mjs +0 -219
  108. package/dist/templates/cleargate-planning/.cleargate/scripts/file_surface_diff.sh +0 -320
  109. package/dist/templates/cleargate-planning/.cleargate/scripts/gate-checks.json +0 -15
  110. package/dist/templates/cleargate-planning/.cleargate/scripts/init_gate_config.sh +0 -38
  111. package/dist/templates/cleargate-planning/.cleargate/scripts/init_sprint.mjs +0 -240
  112. package/dist/templates/cleargate-planning/.cleargate/scripts/launch_wave.mjs +0 -341
  113. package/dist/templates/cleargate-planning/.cleargate/scripts/lib/report-filename.mjs +0 -54
  114. package/dist/templates/cleargate-planning/.cleargate/scripts/pre_gate_common.sh +0 -206
  115. package/dist/templates/cleargate-planning/.cleargate/scripts/pre_gate_runner.sh +0 -371
  116. package/dist/templates/cleargate-planning/.cleargate/scripts/prefill_report.mjs +0 -280
  117. package/dist/templates/cleargate-planning/.cleargate/scripts/prep_doc_refresh.mjs +0 -378
  118. package/dist/templates/cleargate-planning/.cleargate/scripts/prep_qa_context.mjs +0 -888
  119. package/dist/templates/cleargate-planning/.cleargate/scripts/run_script.sh +0 -209
  120. package/dist/templates/cleargate-planning/.cleargate/scripts/sprint_trends.mjs +0 -71
  121. package/dist/templates/cleargate-planning/.cleargate/scripts/state.schema.json +0 -127
  122. package/dist/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +0 -717
  123. package/dist/templates/cleargate-planning/.cleargate/scripts/surface-whitelist.txt +0 -27
  124. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_assert_story_files.sh +0 -261
  125. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_file_surface.sh +0 -210
  126. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +0 -190
  127. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_prep_qa_context.sh +0 -482
  128. package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_test_ratchet.sh +0 -327
  129. package/dist/templates/cleargate-planning/.cleargate/scripts/test_ratchet.mjs +0 -261
  130. package/dist/templates/cleargate-planning/.cleargate/scripts/update_state.mjs +0 -246
  131. package/dist/templates/cleargate-planning/.cleargate/scripts/validate_bounce_readiness.mjs +0 -111
  132. package/dist/templates/cleargate-planning/.cleargate/scripts/validate_state.mjs +0 -184
  133. package/dist/templates/cleargate-planning/.cleargate/scripts/write_dispatch.sh +0 -172
  134. package/dist/templates/cleargate-planning/.cleargate/templates/Bug.md +0 -126
  135. package/dist/templates/cleargate-planning/.cleargate/templates/CR.md +0 -130
  136. package/dist/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +0 -137
  137. package/dist/templates/cleargate-planning/.cleargate/templates/epic.md +0 -166
  138. package/dist/templates/cleargate-planning/.cleargate/templates/hotfix.md +0 -111
  139. package/dist/templates/cleargate-planning/.cleargate/templates/initiative.md +0 -122
  140. package/dist/templates/cleargate-planning/.cleargate/templates/sprint_context.md +0 -50
  141. package/dist/templates/cleargate-planning/.cleargate/templates/sprint_report.md +0 -224
  142. package/dist/templates/cleargate-planning/.cleargate/templates/story.md +0 -213
  143. package/dist/templates/cleargate-planning/CLAUDE.md +0 -66
  144. package/dist/templates/cleargate-planning/MANIFEST.json +0 -503
  145. package/dist/templates/synthesis/active-sprint.md +0 -30
  146. package/dist/templates/synthesis/open-gates.md +0 -38
  147. package/dist/templates/synthesis/product-state.md +0 -31
  148. package/dist/templates/synthesis/roadmap.md +0 -63
  149. package/dist/whoami-EANGN46Z.js.map +0 -1
@@ -1,166 +0,0 @@
1
- <instructions>
2
- FOLLOW THIS EXACT STRUCTURE. Output sections in order.
3
- YAML Frontmatter: Epic ID, Status, Ambiguity, Context Source, Owner, Target Date.
4
- §0 Agent Handoff: XML block specifically formulated for AI coding agents to ingest.
5
- §1 Problem & Value: Why (problem), What (solution), Success Metrics.
6
- §2 Scope Boundaries: IN-SCOPE checkboxes, OUT-OF-SCOPE list.
7
- §3 The Reality Check (Context): Constraints table.
8
- §4 Technical Grounding: Verified files and data changes.
9
- §5 Acceptance Criteria: Gherkin scenarios (happy path + error cases).
10
- §6 AI Interrogation Loop: Explicit questions the Planning AI needs the Human to answer.
11
- Output location: .cleargate/delivery/pending-sync/EPIC-{NNN}_{epic_name}.md
12
-
13
- Codebase research is mandatory. Do NOT guess at affected files.
14
-
15
- POST-WRITE BRIEF
16
- After Writing this document, render a Brief in chat with the following sections,
17
- mechanically extracted from the document's own structure:
18
-
19
- - Prior work ← cleargate-wiki-query result (cite [[IDs]] or write "none found")
20
- - Summary ← §1 Problem & Value
21
- - Open Questions ← §6 AI Interrogation Loop
22
- - Edge Cases ← §2 OUT-OF-SCOPE list + §5 error scenarios
23
- - Risks ← §3 The Reality Check
24
- - Existing Surfaces ← ## Existing Surfaces
25
- - Why not simpler? ← ## Why not simpler?
26
- - Ambiguity ← bottom-of-doc ambiguity gate block
27
-
28
- Halt for human review. When ambiguity reaches 🟢, proceed to call cleargate_push_item.
29
- Do NOT ask separately for push confirmation — Brief approval covers it.
30
-
31
- Do NOT output these instructions.
32
- </instructions>
33
-
34
- ---
35
- epic_id: "EPIC-{ID}"
36
- parent_cleargate_id: null # canonical cleargate-id of parent work item; null for top-level
37
- sprint_cleargate_id: null # canonical cleargate-id of owning sprint; null for off-sprint items
38
- carry_over: false # set true to skip lifecycle reconciliation at sprint close
39
- status: "Draft" # lifecycle: Draft → Active → Completed
40
- ambiguity: "🔴 High"
41
- context_source: "approved Epic / verified codebase grounding + recorded direct approval"
42
- owner: "{PM/PO name}"
43
- target_date: "{YYYY-MM-DD}"
44
- created_at: "2026-04-17T00:00:00Z"
45
- updated_at: "2026-04-17T00:00:00Z"
46
- created_at_version: "strategy-phase-pre-init"
47
- updated_at_version: "strategy-phase-pre-init"
48
- server_pushed_at_version: null
49
- draft_tokens:
50
- input: null
51
- output: null
52
- cache_read: null
53
- cache_creation: null
54
- model: null
55
- sessions: []
56
- cached_gate_result:
57
- pass: null
58
- failing_criteria: []
59
- last_gate_check: null
60
- # Sync attribution. Optional; stamped by `cleargate push` / `cleargate pull`.
61
- pushed_by: null # set by push: which user pushed
62
- pushed_at: null # set by push: ISO-8601 timestamp
63
- last_pulled_by: null # set by pull: which user pulled
64
- last_pulled_at: null # set by pull: ISO-8601 timestamp
65
- last_remote_update: null # set by pull: server's last-modified timestamp
66
- source: "local-authored" # flips to "remote-authored" on intake
67
- last_synced_status: null # required for conflict-detector; status at last sync
68
- last_synced_body_sha: null # sha256 of body at last sync
69
- ---
70
-
71
- # EPIC-{ID}: {Epic Name}
72
-
73
- ## 0. AI Coding Agent Handoff
74
- *(This section is strictly for downstream AI execution agents. It contains zero business fluff.)*
75
-
76
- ```xml
77
- <agent_context>
78
- <objective>{1 sentence strict technical objective}</objective>
79
- <architecture_rules>
80
- <rule>Must use existing {Component/Pattern}</rule>
81
- <rule>No changes to {Protected Area}</rule>
82
- </architecture_rules>
83
- <target_files>
84
- <file path="src/..." action="modify|create" />
85
- </target_files>
86
- </agent_context>
87
- ```
88
-
89
- ## 1. Problem & Value
90
-
91
- **Why are we doing this?**
92
- {1-2 sentences explaining the user pain or business value.}
93
-
94
- **Success Metrics (North Star):**
95
- - Metric 1: {Quantifiable outcome}
96
-
97
- ## 2. Scope Boundaries
98
-
99
- **✅ IN-SCOPE (Build This)**
100
- - [ ] {Technical capability 1}
101
- - [ ] {Technical capability 2}
102
-
103
- **❌ OUT-OF-SCOPE (Do NOT Build This)**
104
- - {Explicitly excluded capability to prevent scope creep / AI hallucination}
105
-
106
- ## 3. The Reality Check (Context)
107
-
108
- | Constraint Type | Limit / Rule |
109
- |---|---|
110
- | Performance | {e.g., Must complete in < 200ms} |
111
- | Security | {e.g., No PII in logs} |
112
-
113
- ## Existing Surfaces
114
-
115
- > L1 reuse audit. List source-tree implementations the epic could extend. Cite file:line.
116
-
117
- - **Surface:** `path/to/file.ext:NN` — {what it does}
118
- - **Coverage of this epic's scope:** {≥80% extension / partial / none — and why}
119
-
120
- ## Why not simpler?
121
-
122
- > L2 / L3 right-size + justify-complexity. Answer both.
123
-
124
- - **Smallest existing surface that could carry this epic:** {citation or "none — net-new abstraction required"}
125
- - **Why isn't extension / parameterization / config sufficient?** {one paragraph}
126
-
127
- ## 4. Technical Grounding (The "Shadow Spec")
128
- *(AI Planning Engine: Populate this strictly from the approved Epic and verified codebase grounding.)*
129
-
130
- **Affected Files:**
131
- - `path/to/file.ext` — {Why it changes}
132
-
133
- **Data Changes:**
134
- - Table/Entity: {New column/field}
135
-
136
- ## 5. Acceptance Criteria
137
-
138
- ```gherkin
139
- Feature: {Epic Name}
140
- Scenario: {Scenario Name}
141
- Given {precondition}
142
- When {action}
143
- Then {outcome}
144
- ```
145
-
146
- ## 6. AI Interrogation Loop (Human Input Required)
147
- *(AI Planning Engine: List edge cases, contradictions, or missing details found while drafting. The Epic stays 🔴 until the Human answers all of these.)*
148
-
149
- - **AI Question:** "{e.g., You mentioned we need to send an email, but src/services/email doesn't support templates yet. Should we build the template engine first, or hardcode this one?}"
150
- - **Human Answer:** {Waiting for user}
151
-
152
- ---
153
-
154
- ## ClearGate Ambiguity Gate (🟢 / 🟡 / 🔴)
155
- **Current Status: 🔴 High Ambiguity**
156
-
157
- *Evaluate each criterion against its literal text. If you substituted an interpretation, leave the box unchecked and surface the substitution in the Brief.*
158
-
159
- Requirements to pass to Green (Ready for Coding Agent):
160
- - [ ] `approved: true` is set in the YAML frontmatter.
161
- - [ ] The `<agent_context>` block is complete and validated.
162
- - [ ] §4 Technical Grounding contains 100% real, verified file paths.
163
- - [ ] §6 AI Interrogation Loop is empty (all human answers integrated into the spec).
164
- - [ ] 0 "TBDs" exist in the document.
165
- - [ ] Existing Surfaces cites at least one source-tree path or explicitly states "none — net-new."
166
- - [ ] Why not simpler? has both sub-bullets answered.
@@ -1,111 +0,0 @@
1
- <instructions>
2
- USE THIS TEMPLATE FOR EMERGENCY HOTFIXES ONLY — production anomalies requiring immediate fix outside the sprint cycle. Hotfix discipline: ≤2 files, ≤30 LOC net.
3
-
4
- FOLLOW THIS EXACT STRUCTURE. Output sections in order 0.5–4.
5
- YAML Frontmatter: Hotfix ID, severity, originating signal, lane: "hotfix".
6
- §0.5 Open Questions: Capture any remaining ambiguity before merge.
7
- §1 Anomaly: Expected vs. Actual behavior.
8
- §2 Files Touched: ≤2 files (constraint from EPIC-022 §3).
9
- §3 Verification Steps: Non-empty before merging (blocks merge if empty).
10
- §4 Rollback: Git revert instructions.
11
- Output location: .cleargate/delivery/pending-sync/HOTFIX-{ID}-{Slug}.md
12
-
13
- POST-WRITE BRIEF
14
- After Writing this document, render a Brief in chat with the following sections,
15
- mechanically extracted from the document's own structure:
16
-
17
- - Prior work ← cleargate-wiki-query result (cite [[IDs]] or write "none found")
18
- - Summary ← §1 Anomaly (Problem)
19
- - Open Questions ← §0.5 Open Questions
20
- - Edge Cases ← §3 Files Affected (risk of adjacent regression)
21
- - Risks ← §4 Verification + risk-of-missing
22
- - Ambiguity ← bottom-of-doc ClearGate Ambiguity Gate block
23
-
24
- Halt for human review. When ambiguity reaches 🟢, proceed to call cleargate_push_item.
25
- Do NOT ask separately for push confirmation — Brief approval covers it.
26
-
27
- Do NOT output these instructions.
28
- </instructions>
29
-
30
- ---
31
- hotfix_id: "{ID}"
32
- parent_cleargate_id: null # canonical cleargate-id of parent work item; null for top-level
33
- sprint_cleargate_id: null # canonical cleargate-id of owning sprint; null for off-sprint items
34
- carry_over: false # set true to skip lifecycle reconciliation at sprint close
35
- status: "Draft" # lifecycle: Draft → In Fix → Completed
36
- severity: "P2"
37
- originating_signal: "user-report"
38
- created_at: "{ISO}"
39
- created_at_version: "cleargate@0.5.0"
40
- merged_at: null
41
- commit_sha: null
42
- verified_by: null
43
- lane: "hotfix"
44
- draft_tokens:
45
- input: null
46
- output: null
47
- cache_read: null
48
- cache_creation: null
49
- model: null
50
- sessions: []
51
- cached_gate_result:
52
- pass: null
53
- failing_criteria: []
54
- last_gate_check: null
55
- # Sync attribution. Optional; stamped by `cleargate push` / `cleargate pull`.
56
- pushed_by: null
57
- pushed_at: null
58
- last_pulled_by: null
59
- last_pulled_at: null
60
- last_remote_update: null
61
- source: "local-authored"
62
- last_synced_status: null
63
- last_synced_body_sha: null
64
- ---
65
-
66
- # {ID}: {SLUG}
67
-
68
- ## 0.5 Open Questions
69
-
70
- > Populate during drafting. Resolve every entry before flipping ambiguity to 🟢.
71
-
72
- - **Question:** {edge case, contradiction, or missing detail}
73
- - **Recommended:** {agent's proposed answer}
74
- - **Human decision:** {populated during Brief review}
75
-
76
- ## 1. Anomaly
77
-
78
- **Expected Behavior:** {What the system should do under normal conditions.}
79
-
80
- **Actual Behavior:** {What it is doing now — the observed deviation.}
81
-
82
- ## 2. Files Touched
83
-
84
- Hotfix discipline: ≤2 files, ≤30 LOC net (EPIC-022 §3).
85
-
86
- - `{path/to/file.ts}` — {brief description of change}
87
-
88
- ## 3. Verification Steps
89
-
90
- > Rule: §3 must be non-empty before merging. An empty §3 blocks merge at review time.
91
-
92
- 1. - [ ] {Step 1: describe what to run or observe}
93
- 2. - [ ] {Step 2: confirm the anomaly is resolved}
94
- 3. - [ ] {Step 3: confirm no regression in adjacent behavior}
95
-
96
- ## 4. Rollback
97
-
98
- If the hotfix introduces a regression, revert by running `git revert <commit-sha>` on the sprint or main branch. The original anomaly will reappear; escalate to a sprint story for a permanent fix. No data migrations are involved unless noted in §2 above.
99
-
100
- ---
101
-
102
- ## ClearGate Ambiguity Gate (🟢 / 🟡 / 🔴)
103
- **Current Status: 🔴 High Ambiguity**
104
-
105
- *Evaluate each criterion against its literal text. If you substituted an interpretation, leave the box unchecked and surface the substitution in the Brief.*
106
-
107
- Requirements to pass to Green (Ready for Merge):
108
- - [ ] Anomaly is deterministically reproducible (§1 filled).
109
- - [ ] Files Touched list is ≤2 files (§2 filled).
110
- - [ ] Verification Steps (§3) are non-empty.
111
- - [ ] `approved: true` is set in the YAML frontmatter.
@@ -1,122 +0,0 @@
1
- <instructions>
2
- USE THIS TEMPLATE TO DOCUMENT WHAT AN INITIATIVE LOOKS LIKE — the BA/PM-authored
3
- stakeholder-input artifact that captures business intent BEFORE AI decomposition.
4
-
5
- WHO AUTHORS THIS: a human BA / PM / sponsor — outside the codebase OR in the upstream
6
- PM tool (Linear / Jira / GitHub Issues). The AI does NOT author Initiatives from
7
- scratch in the repo. This template is a cheat sheet for the human author.
8
-
9
- HOW IT GETS INTO THE REPO (two paths):
10
- 1. MCP pull (preferred): `cleargate_pull_initiative` fetches from the upstream PM
11
- tool → caches at `.cleargate/delivery/pending-sync/INITIATIVE-NNN_*.md`.
12
- 2. Manual paste: human drops a markdown file matching this shape into
13
- `pending-sync/`. AI stamps `source: manual-paste` then triages.
14
-
15
- WHAT THE AI DOES WITH IT:
16
- - Reads the cached/pasted Initiative.
17
- - Asks open questions in chat.
18
- - DECOMPOSES into Epic / Story / CR / Bug — NEVER edits the Initiative body.
19
- - On triage completion: moves the Initiative to `archive/INITIATIVE-NNN_*.md`
20
- with frontmatter stamps `triaged_at: <ISO-8601>` and
21
- `spawned_items: [EPIC-NNN, STORY-NNN-NN, ...]`.
22
-
23
- OUTPUT LOCATION: `.cleargate/delivery/pending-sync/INITIATIVE-{NNN}_{short_name}.md`
24
-
25
- DO NOT output these instructions in the rendered file.
26
- </instructions>
27
-
28
- ---
29
- initiative_id: "INITIATIVE-{NNN}"
30
- remote_id: null
31
- source_tool: "linear | jira | github | manual-paste"
32
- status: "{PM native status — e.g. Discovery, In Triage, Triaged, Completed}"
33
- synced_at: null
34
- triaged_at: null
35
- spawned_items: []
36
- created_at: "{ISO-8601 timestamp}"
37
- updated_at: "{ISO-8601 timestamp}"
38
- created_at_version: "cleargate@{semver}"
39
- updated_at_version: "cleargate@{semver}"
40
- server_pushed_at_version: null
41
- draft_tokens:
42
- input: null
43
- output: null
44
- cache_read: null
45
- cache_creation: null
46
- model: null
47
- sessions: []
48
- cached_gate_result:
49
- pass: null
50
- failing_criteria: []
51
- last_gate_check: null
52
- # Sync attribution. Optional; stamped by `cleargate_pull_initiative`.
53
- pushed_by: null
54
- pushed_at: null
55
- last_pulled_by: null
56
- last_pulled_at: null
57
- last_remote_update: null
58
- source: "remote-pulled" # or "manual-paste"
59
- last_synced_status: null
60
- last_synced_body_sha: null
61
- ---
62
-
63
- # INITIATIVE-{NNN}: {Initiative Name}
64
-
65
- ## 1. User Flow
66
-
67
- {End-to-end walkthrough of what the user does — step-by-step, in plain language.
68
- Capture the happy path first, then named alternative flows. Diagrams welcome
69
- (see §2). No technical implementation details — that's the AI's job during
70
- decomposition.}
71
-
72
- ## 2. Diagrams
73
-
74
- {Embedded mermaid / asciiart / linked image. Optional but encouraged for any
75
- flow with branching, parallel paths, or multiple actors.
76
-
77
- Placeholder:
78
- ```
79
- [ User ] → [ Action 1 ] → [ Outcome ]
80
-
81
- [ Branch ]
82
- ```
83
- }
84
-
85
- ## 3. End-to-End Verbal Description
86
-
87
- {The "tell me what this does" paragraph. 3-8 sentences. Captures the intent,
88
- the ask, and the boundary of the work. Skim-readable for a stakeholder; rich
89
- enough that the AI can ground the first round of decomposition questions in it.}
90
-
91
- ## 4. Business Outcome
92
-
93
- {Why this matters. 1-2 sentences linking the work to a business metric, user
94
- need, or strategic goal. Answers "if this ships, what changes?"}
95
-
96
- ## 5. Success Criteria
97
-
98
- - {Concrete, measurable criterion 1 — what must be true to call this done.}
99
- - {Concrete, measurable criterion 2}
100
- - {Concrete, measurable criterion 3 (optional)}
101
-
102
- ## 6. Open Questions for AI Triage
103
-
104
- {Questions the BA/PM knows are unresolved and wants the AI to surface during
105
- decomposition. The AI MAY answer in chat then propose decomposition; the AI
106
- does NOT edit this section in the Initiative body.
107
-
108
- - Question 1
109
- - Question 2
110
- }
111
-
112
- ---
113
-
114
- ## Stakeholder Authoring Notes (not pushed)
115
-
116
- - Initiative is the **stakeholder-input artifact**, not an AI-authored draft.
117
- See `.cleargate/knowledge/cleargate-protocol.md` Plan-phase intake (post-CR-025).
118
- - The AI never invokes `cleargate_push_item` on this file. Push semantics are
119
- one-way: Initiative is **pulled**, Epic / Story / CR / Bug / Hotfix are **pushed**.
120
- - After triage, this file moves to `archive/` with `triaged_at` + `spawned_items`
121
- stamped. The PM tool retains source-of-truth for content; the repo retains
122
- the audit trail.
@@ -1,50 +0,0 @@
1
- ---
2
- sprint_id: "S-NN"
3
- created_at: "YYYY-MM-DDTHH:MM:SSZ"
4
- last_updated: "YYYY-MM-DDTHH:MM:SSZ"
5
- ---
6
-
7
- # Sprint Context
8
-
9
- Per-sprint audit artefact. Populated at sprint init (M1 planning) and re-touched after each story merges. Referenced from every Developer/QA/Architect task brief so all agents start from the same baseline.
10
-
11
- ## Sprint Goal
12
-
13
- _(populated by orchestrator from sprint plan §0 at kickoff)_
14
-
15
- ## Locked Versions
16
-
17
- Frozen dependency versions for this sprint. Orchestrator populates from `package.json` snapshots at sprint init; Developers must not upgrade these mid-sprint without an explicit CR.
18
-
19
- | Package | Version |
20
- |---------|---------|
21
- | Node | `>=24.0.0` |
22
- | TypeScript | `^5.8.0` |
23
- | (add rows per workspace below) | |
24
-
25
- ## Cross-Cutting Rules
26
-
27
- Sprint-wide architecture rules and UI/API tokens that every story must honour. Populated from the parent Epic's `<architecture_rules>` block.
28
-
29
- 1. (rule 1)
30
- 2. (rule 2)
31
- 3. (rule 3)
32
-
33
- ## Active FLASHCARD Tags
34
-
35
- FLASHCARD tags that appear in any story's `<agent_context>` for this sprint. Auto-populated by grepping `.cleargate/FLASHCARD.md` at sprint init. Agents: grep the flashcard file for each tag listed here before starting work.
36
-
37
- - `#tag1` — one-line summary of the most recent card
38
- - `#tag2` — one-line summary
39
-
40
- ## Adjacent Implementations (Reuse First)
41
-
42
- Exported helpers and modules from already-merged stories in this sprint. The Architect updates this section after each story merges. Developers check here before writing new helpers — if the module already exists, import it; duplication is a kick-back criterion.
43
-
44
- | Story | Module / Export | Path |
45
- |-------|----------------|------|
46
- | (populated as stories merge) | | |
47
-
48
- ## Mid-Sprint Amendments
49
-
50
- _(populated by Architect on CR:scope-change or CR:approach-change; never rewrite, only append. Format: '<ISO-ts> · <ID> · <one-line note>')_
@@ -1,224 +0,0 @@
1
- ---
2
- sprint_id: "SPRINT-NN"
3
- status: "Draft"
4
- generated_at: "<ISO-8601>"
5
- generated_by: "Reporter agent"
6
- template_version: 2
7
- ---
8
-
9
- <!-- Sprint Report v2 Template — template_version: 2 -->
10
- <!-- Event-type vocabulary (STORY-013-05 / protocol §§2–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
- Lane-Demotion: LD
15
- These tokens appear verbatim in §2 CR Change Log and §3 Execution Metrics tallies. -->
16
-
17
- # SPRINT-<NN> Report: <Sprint Title>
18
-
19
- **Status:** Shipped | Partial | Blocked
20
- **Window:** YYYY-MM-DD to YYYY-MM-DD (N calendar days)
21
- **Stories:** N planned / M shipped / K carried over
22
-
23
- ---
24
-
25
- ## §1 What Was Delivered
26
-
27
- ### User-Facing Capabilities
28
- <!-- One bullet per user-visible outcome, grouped by business goal. Do NOT list stories here. -->
29
- - <capability>
30
-
31
- ### Internal / Framework Improvements
32
- <!-- Infrastructure, tooling, or agent-contract changes not visible to end users. -->
33
- - <improvement>
34
-
35
- ### Carried Over
36
- <!-- Stories that did not reach Done/Escalated/Parking Lot. If none, state "None." -->
37
- - None
38
-
39
- ---
40
-
41
- ## §2 Story Results + CR Change Log
42
-
43
- <!-- One block per story. For bounces, list each round-trip as a CR event with the exact token.
44
- CR event types: CR:bug | CR:spec-clarification | CR:scope-change | CR:approach-change
45
- UR event types: UR:review-feedback | UR:bug
46
- Each CR:bug and UR:bug counts toward Bug-Fix Tax (§3). CR:scope-change increments arch_bounces. -->
47
-
48
- ### STORY-NNN-NN: <Title>
49
- - **Status:** Completed | Escalated | Parking Lot | Carried Over
50
- - **Complexity:** L<n>
51
- - **Commit:** `<sha>`
52
- - **Bounce count:** qa=N arch=N total=N
53
- - **CR Change Log:**
54
- | # | Event type | Description | Counter delta |
55
- |---|---|---|---|
56
- | 1 | CR:bug | <description> | qa_bounces +1 |
57
- - **UR Events:**
58
- | # | Event type | Feedback | Tax impact |
59
- |---|---|---|---|
60
- | 1 | UR:review-feedback | <feedback> | none (enhancement) |
61
-
62
- ---
63
-
64
- ## §3 Execution Metrics
65
-
66
- <!-- Tallies use the locked event-type vocabulary:
67
- Bug-Fix Tax = (CR:bug count + UR:bug count) / total story count × 100
68
- Enhancement Tax = UR:review-feedback count / total story count × 100
69
- First-pass success rate = stories with qa_bounces=0 AND arch_bounces=0 / total stories × 100
70
- Token divergence: compare ledger-primary vs task-notification-tertiary; flag if delta >20% -->
71
-
72
- | Metric | Value |
73
- |---|---|
74
- | Stories planned | N |
75
- | Stories shipped (Done) | N |
76
- | Stories escalated | N |
77
- | Stories carried over | N |
78
- | Fast-Track Ratio | N% |
79
- | Fast-Track Demotion Rate | N% |
80
- | Hotfix Count (sprint window) | N |
81
- | Hotfix-to-Story Ratio | N |
82
- | Hotfix Cap Breaches | N |
83
- | LD events | N |
84
- | Total QA bounces | N |
85
- | Total Arch bounces | N |
86
- | CR:bug events | N |
87
- | CR:spec-clarification events | N |
88
- | CR:scope-change events | N |
89
- | CR:approach-change events | N |
90
- | UR:bug events | N |
91
- | UR:review-feedback events | N |
92
- | Circuit-breaker fires: test-pattern | N |
93
- | Circuit-breaker fires: spec-gap | N |
94
- | Circuit-breaker fires: environment | N |
95
- | **Bug-Fix Tax** | N% |
96
- | **Enhancement Tax** | N% |
97
- | **First-pass success rate** | N% |
98
- | Token source: ledger-primary | N tokens |
99
- | Token source: story-doc-secondary | N tokens |
100
- | Token source: task-notification-tertiary | N tokens |
101
- | Token divergence (ledger vs task-notif) | N% |
102
- | Token divergence flag (>20%) | YES / NO |
103
-
104
- ---
105
-
106
- ## §4 Observe Phase Findings
107
-
108
- > Populated from sprint plan §4 Execution Log entries dated within the Observe window
109
- > [last-story-merge-timestamp, sprint-close-timestamp]. Reporter date-filters and groups by event type.
110
- >
111
- > SKIP THIS SECTION ENTIRELY (no header, no body) if all three subsections are empty.
112
- > Output a single line in its place: "Observe phase: no findings."
113
-
114
- ### 4.1 Bugs Found (UR:bug)
115
- | Date | Description | Resolution | Commit |
116
-
117
- ### 4.2 Hotfixes Triggered
118
- | ID | Trigger | Resolution | Commit |
119
-
120
- ### 4.3 Review Feedback (UR:review-feedback)
121
- | Date | Description | Status (folded / deferred) | Deferred to / Rationale |
122
-
123
- ---
124
-
125
- ## §5 Lessons
126
-
127
- <!-- Flashcards added during this sprint window, grouped by tag.
128
- Preserve the stale-detection pass from reporter.md §5b — stale-candidate symbols
129
- from each card are surfaced here for human approval. Do NOT modify FLASHCARD.md. -->
130
-
131
- ### New Flashcards (Sprint Window)
132
-
133
- | Date | Tags | Lesson |
134
- |---|---|---|
135
- | YYYY-MM-DD | #tag | <lesson> |
136
-
137
- ### Flashcard Audit (Stale Candidates)
138
- <!-- For each active card with no [S]/[R] marker, symbols extracted and grepped.
139
- Candidates below have ALL extracted symbols absent from the current repo. -->
140
-
141
- | Card (date · lead-tag · lesson head) | Missing symbols | Proposed marker |
142
- |---|---|---|
143
-
144
- If zero candidates: No stale flashcards detected.
145
-
146
- ### Supersede Candidates
147
- <!-- Newer cards whose lesson directly contradicts an older card's advice. -->
148
-
149
- | Newer card | Older card | Proposed marker for older |
150
- |---|---|---|
151
-
152
- ---
153
-
154
- ## §6 Framework Self-Assessment
155
-
156
- <!-- Rate each dimension: Green (working well) / Yellow (friction) / Red (blocking).
157
- "Tooling" subsection MUST include token-divergence finding if §3 divergence flag = YES. -->
158
-
159
- ### Templates
160
- | Item | Rating | Notes |
161
- |---|---|---|
162
- | Story template completeness | Green/Yellow/Red | |
163
- | Sprint Plan Template usability | Green/Yellow/Red | |
164
- | Sprint Report template (this one) | Green/Yellow/Red | |
165
-
166
- ### Handoffs
167
- | Item | Rating | Notes |
168
- |---|---|---|
169
- | Architect → Developer brief quality | Green/Yellow/Red | |
170
- | Developer → QA artifact completeness | Green/Yellow/Red | |
171
- | QA → Orchestrator kickback clarity | Green/Yellow/Red | |
172
-
173
- ### Skills
174
- | Item | Rating | Notes |
175
- |---|---|---|
176
- | Flashcard gate adherence | Green/Yellow/Red | |
177
- | Adjacent-implementation reuse rate | Green/Yellow/Red | |
178
-
179
- ### Process
180
- | Item | Rating | Notes |
181
- |---|---|---|
182
- | Bounce cap respected | Green/Yellow/Red | |
183
- | Three-surface landing compliance | Green/Yellow/Red | |
184
- | Circuit-breaker fires (if any) | Green/Yellow/Red | |
185
-
186
- ### Lane Audit
187
- <!-- Filled by Reporter at sprint close. One row per fast-lane story. -->
188
-
189
- | Story | Files touched | LOC | Demoted? | In retrospect, was fast correct? (y/n) | Notes |
190
- |---|---|---|---|---|---|
191
- | `STORY-NNN-NN` | N | N | y / n | y / n | |
192
-
193
- ### Hotfix Audit
194
- <!-- Filled by Reporter at sprint close. One row per hotfix merged during the sprint window. -->
195
-
196
- | Hotfix ID | Originating signal | Files touched | LOC | Resolved-by SHA | Could this have been a sprint story? (y/n) | If y — why was it missed at planning? |
197
- |---|---|---|---|---|---|---|
198
- | `HOTFIX-NN` | <signal> | N | N | `<sha>` | y / n | |
199
-
200
- ### Hotfix Trend
201
- <!-- Filled by Reporter at sprint close. -->
202
-
203
- <!-- TBD: Reporter fills at sprint close -->
204
-
205
- <Reporter writes a one-paragraph narrative summarising the rolling 4-sprint hotfix count
206
- and a monotonic-increase flag (yes/no). Empty by default — leave the placeholder text
207
- intact for sprints with no hotfixes.>
208
-
209
- ### Tooling
210
- | Item | Rating | Notes |
211
- |---|---|---|
212
- | run_script.sh diagnostic coverage | Green/Yellow/Red | |
213
- | Token ledger completeness | Green/Yellow/Red | |
214
- | Token divergence finding | Green/Yellow/Red | If §3 divergence >20%: Red — ledger=N task-notif=N delta=N% |
215
-
216
- ---
217
-
218
- ## §7 Change Log
219
-
220
- <!-- Append one line per material revision to this report after initial generation. -->
221
-
222
- | Date | Author | Change |
223
- |---|---|---|
224
- | YYYY-MM-DD | Reporter agent | Initial generation |