cleargate 0.14.0 → 0.15.1
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 +21 -0
- package/dist/MANIFEST.json +72 -16
- package/dist/admin-api/index.cjs +0 -1
- package/dist/admin-api/index.js +1 -2
- package/dist/auth/factory.cjs +0 -1
- package/dist/auth/factory.js +2 -3
- package/dist/auth/require-token.cjs +0 -1
- package/dist/auth/require-token.js +1 -2
- package/dist/auth/token-store.cjs +0 -1
- package/dist/auth/token-store.js +1 -2
- package/dist/{bootstrap-root-QKSA5V75.js → bootstrap-root-2H5HVTCC.js} +1 -2
- package/dist/{chunk-PDE37WFQ.js → chunk-A7MSQUU7.js} +2 -3
- package/dist/{chunk-BTSZOEWC.js → chunk-P6KEDAK2.js} +0 -1
- package/dist/{chunk-E3X7IE5E.js → chunk-PY6FHGV5.js} +1 -2
- package/dist/{chunk-5DI2Z3C2.js → chunk-Y53ZZYYU.js} +1 -2
- package/dist/cli.cjs +1564 -1414
- package/dist/cli.js +1514 -1364
- package/dist/lib/ledger.cjs +0 -1
- package/dist/lib/ledger.js +1 -2
- package/dist/lib/lifecycle-reconcile.cjs +0 -1
- package/dist/lib/lifecycle-reconcile.js +2 -3
- package/dist/{whoami-EANGN46Z.js → whoami-JKQQPABQ.js} +3 -4
- package/package.json +4 -3
- package/templates/cleargate-planning/.claude/agents/architect-synth.md +2 -0
- package/templates/cleargate-planning/.claude/agents/architect.md +4 -2
- package/templates/cleargate-planning/.claude/agents/developer.md +4 -11
- package/templates/cleargate-planning/.claude/agents/qa.md +14 -6
- package/templates/cleargate-planning/.claude/hooks/pending-task-sentinel.sh +2 -2
- package/templates/cleargate-planning/.claude/skills/sprint-execution/SKILL.md +19 -1
- package/templates/cleargate-planning/.cleargate/config.example.yml +16 -0
- package/templates/cleargate-planning/.cleargate/scripts/close_sprint.deferred-verify.red.node.test.ts +245 -0
- package/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +227 -0
- package/templates/cleargate-planning/.cleargate/scripts/gate-checks.json +5 -4
- package/templates/cleargate-planning/.cleargate/scripts/init_sprint.mjs +75 -2
- package/templates/cleargate-planning/.cleargate/scripts/pre_gate_common.sh +48 -0
- package/templates/cleargate-planning/.cleargate/scripts/pre_gate_runner.sh +57 -1
- package/templates/cleargate-planning/.cleargate/scripts/provision_worktree_config.sh +155 -0
- package/templates/cleargate-planning/.cleargate/scripts/qa_red_lint.mjs +380 -0
- package/templates/cleargate-planning/.cleargate/scripts/run_script.sh +34 -1
- package/templates/cleargate-planning/.cleargate/scripts/test/cr077_eviction.red.sh +113 -0
- package/templates/cleargate-planning/.cleargate/scripts/test/cr078_init.test.sh +309 -0
- package/templates/cleargate-planning/.cleargate/scripts/test/cr079_provision.red.sh +262 -0
- package/templates/cleargate-planning/.cleargate/scripts/test/cr080_wrapper.test.sh +177 -0
- package/templates/cleargate-planning/.cleargate/scripts/test/cr081_qa_red_lint.red.sh +348 -0
- package/templates/cleargate-planning/.cleargate/sprint-runs/_off-sprint/.session-totals.json +1 -0
- package/templates/cleargate-planning/.cleargate/sprint-runs/_off-sprint/token-ledger.jsonl +222 -0
- package/templates/cleargate-planning/.cleargate/templates/sprint_context.md +17 -0
- package/templates/cleargate-planning/.cleargate/templates/story.md +1 -0
- package/templates/cleargate-planning/MANIFEST.json +72 -16
- package/dist/admin-api/index.cjs.map +0 -1
- package/dist/admin-api/index.js.map +0 -1
- package/dist/auth/factory.cjs.map +0 -1
- package/dist/auth/factory.js.map +0 -1
- package/dist/auth/require-token.cjs.map +0 -1
- package/dist/auth/require-token.js.map +0 -1
- package/dist/auth/token-store.cjs.map +0 -1
- package/dist/auth/token-store.js.map +0 -1
- package/dist/bootstrap-root-QKSA5V75.js.map +0 -1
- package/dist/chunk-5DI2Z3C2.js.map +0 -1
- package/dist/chunk-BTSZOEWC.js.map +0 -1
- package/dist/chunk-E3X7IE5E.js.map +0 -1
- package/dist/chunk-PDE37WFQ.js.map +0 -1
- package/dist/cli.cjs.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/lib/ledger.cjs.map +0 -1
- package/dist/lib/ledger.js.map +0 -1
- package/dist/lib/lifecycle-reconcile.cjs.map +0 -1
- package/dist/lib/lifecycle-reconcile.js.map +0 -1
- package/dist/templates/cleargate-planning/.claude/agents/architect-reader.md +0 -61
- package/dist/templates/cleargate-planning/.claude/agents/architect-synth.md +0 -124
- package/dist/templates/cleargate-planning/.claude/agents/architect.md +0 -230
- package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-contradict.md +0 -108
- package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-ingest.md +0 -194
- package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-lint.md +0 -261
- package/dist/templates/cleargate-planning/.claude/agents/cleargate-wiki-query.md +0 -143
- package/dist/templates/cleargate-planning/.claude/agents/developer.md +0 -185
- package/dist/templates/cleargate-planning/.claude/agents/devops.md +0 -257
- package/dist/templates/cleargate-planning/.claude/agents/qa.md +0 -171
- package/dist/templates/cleargate-planning/.claude/agents/reporter.md +0 -274
- package/dist/templates/cleargate-planning/.claude/hooks/pending-task-sentinel.sh +0 -209
- package/dist/templates/cleargate-planning/.claude/hooks/pre-commit-surface-gate.sh +0 -33
- package/dist/templates/cleargate-planning/.claude/hooks/pre-commit-test-ratchet.sh +0 -58
- package/dist/templates/cleargate-planning/.claude/hooks/pre-commit.sh +0 -19
- package/dist/templates/cleargate-planning/.claude/hooks/pre-edit-gate.sh +0 -162
- package/dist/templates/cleargate-planning/.claude/hooks/pre-tool-use-autonomy.sh +0 -58
- package/dist/templates/cleargate-planning/.claude/hooks/pre-tool-use-task.sh +0 -148
- package/dist/templates/cleargate-planning/.claude/hooks/session-start.sh +0 -75
- package/dist/templates/cleargate-planning/.claude/hooks/stamp-and-gate.sh +0 -43
- package/dist/templates/cleargate-planning/.claude/hooks/token-ledger.sh +0 -590
- package/dist/templates/cleargate-planning/.claude/settings.json +0 -68
- package/dist/templates/cleargate-planning/.claude/skills/flashcard/SKILL.md +0 -102
- package/dist/templates/cleargate-planning/.claude/skills/sprint-execution/SKILL.md +0 -742
- package/dist/templates/cleargate-planning/.cleargate/FLASHCARD.md +0 -7
- package/dist/templates/cleargate-planning/.cleargate/config.example.yml +0 -67
- package/dist/templates/cleargate-planning/.cleargate/config.yml +0 -18
- package/dist/templates/cleargate-planning/.cleargate/delivery/archive/.gitkeep +0 -0
- package/dist/templates/cleargate-planning/.cleargate/delivery/pending-sync/.gitkeep +0 -0
- package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-enforcement.md +0 -551
- package/dist/templates/cleargate-planning/.cleargate/knowledge/cleargate-protocol.md +0 -878
- package/dist/templates/cleargate-planning/.cleargate/knowledge/mid-sprint-triage-rubric.md +0 -160
- package/dist/templates/cleargate-planning/.cleargate/knowledge/readiness-gates.md +0 -213
- package/dist/templates/cleargate-planning/.cleargate/knowledge/sprint-closeout-checklist.md +0 -71
- package/dist/templates/cleargate-planning/.cleargate/scripts/_migrate-schema-v3.mjs +0 -120
- package/dist/templates/cleargate-planning/.cleargate/scripts/assert_story_files.mjs +0 -265
- package/dist/templates/cleargate-planning/.cleargate/scripts/close_sprint.mjs +0 -1012
- package/dist/templates/cleargate-planning/.cleargate/scripts/collision_surface.sh +0 -114
- package/dist/templates/cleargate-planning/.cleargate/scripts/constants.mjs +0 -62
- package/dist/templates/cleargate-planning/.cleargate/scripts/dedupe_frontmatter.mjs +0 -219
- package/dist/templates/cleargate-planning/.cleargate/scripts/file_surface_diff.sh +0 -320
- package/dist/templates/cleargate-planning/.cleargate/scripts/gate-checks.json +0 -15
- package/dist/templates/cleargate-planning/.cleargate/scripts/init_gate_config.sh +0 -38
- package/dist/templates/cleargate-planning/.cleargate/scripts/init_sprint.mjs +0 -240
- package/dist/templates/cleargate-planning/.cleargate/scripts/launch_wave.mjs +0 -341
- package/dist/templates/cleargate-planning/.cleargate/scripts/lib/report-filename.mjs +0 -54
- package/dist/templates/cleargate-planning/.cleargate/scripts/pre_gate_common.sh +0 -206
- package/dist/templates/cleargate-planning/.cleargate/scripts/pre_gate_runner.sh +0 -371
- package/dist/templates/cleargate-planning/.cleargate/scripts/prefill_report.mjs +0 -280
- package/dist/templates/cleargate-planning/.cleargate/scripts/prep_doc_refresh.mjs +0 -378
- package/dist/templates/cleargate-planning/.cleargate/scripts/prep_qa_context.mjs +0 -888
- package/dist/templates/cleargate-planning/.cleargate/scripts/run_script.sh +0 -209
- package/dist/templates/cleargate-planning/.cleargate/scripts/sprint_trends.mjs +0 -71
- package/dist/templates/cleargate-planning/.cleargate/scripts/state.schema.json +0 -127
- package/dist/templates/cleargate-planning/.cleargate/scripts/suggest_improvements.mjs +0 -717
- package/dist/templates/cleargate-planning/.cleargate/scripts/surface-whitelist.txt +0 -27
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_assert_story_files.sh +0 -261
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_file_surface.sh +0 -210
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_flashcard_gate.sh +0 -190
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_prep_qa_context.sh +0 -482
- package/dist/templates/cleargate-planning/.cleargate/scripts/test/test_test_ratchet.sh +0 -327
- package/dist/templates/cleargate-planning/.cleargate/scripts/test_ratchet.mjs +0 -261
- package/dist/templates/cleargate-planning/.cleargate/scripts/update_state.mjs +0 -246
- package/dist/templates/cleargate-planning/.cleargate/scripts/validate_bounce_readiness.mjs +0 -111
- package/dist/templates/cleargate-planning/.cleargate/scripts/validate_state.mjs +0 -184
- package/dist/templates/cleargate-planning/.cleargate/scripts/write_dispatch.sh +0 -172
- package/dist/templates/cleargate-planning/.cleargate/templates/Bug.md +0 -126
- package/dist/templates/cleargate-planning/.cleargate/templates/CR.md +0 -130
- package/dist/templates/cleargate-planning/.cleargate/templates/Sprint Plan Template.md +0 -137
- package/dist/templates/cleargate-planning/.cleargate/templates/epic.md +0 -166
- package/dist/templates/cleargate-planning/.cleargate/templates/hotfix.md +0 -111
- package/dist/templates/cleargate-planning/.cleargate/templates/initiative.md +0 -122
- package/dist/templates/cleargate-planning/.cleargate/templates/sprint_context.md +0 -50
- package/dist/templates/cleargate-planning/.cleargate/templates/sprint_report.md +0 -224
- package/dist/templates/cleargate-planning/.cleargate/templates/story.md +0 -213
- package/dist/templates/cleargate-planning/CLAUDE.md +0 -66
- package/dist/templates/cleargate-planning/MANIFEST.json +0 -503
- package/dist/templates/synthesis/active-sprint.md +0 -30
- package/dist/templates/synthesis/open-gates.md +0 -38
- package/dist/templates/synthesis/product-state.md +0 -31
- package/dist/templates/synthesis/roadmap.md +0 -63
- 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 |
|