@howlil/ez-agents 3.4.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +84 -20
- package/agents/ez-observer-agent.md +260 -0
- package/agents/ez-release-agent.md +333 -0
- package/agents/ez-requirements-agent.md +377 -0
- package/agents/ez-scrum-master-agent.md +242 -0
- package/agents/ez-tech-lead-agent.md +267 -0
- package/bin/install.js +3221 -3230
- package/commands/ez/arch-review.md +102 -0
- package/commands/ez/execute-phase.md +11 -0
- package/commands/ez/export-session.md +79 -0
- package/commands/ez/gather-requirements.md +117 -0
- package/commands/ez/git-workflow.md +72 -0
- package/commands/ez/hotfix.md +120 -0
- package/commands/ez/import-session.md +82 -0
- package/commands/ez/join-discord.md +18 -18
- package/commands/ez/list-sessions.md +96 -0
- package/commands/ez/package-manager.md +316 -0
- package/commands/ez/plan-phase.md +9 -1
- package/commands/ez/preflight.md +79 -0
- package/commands/ez/progress.md +13 -1
- package/commands/ez/release.md +153 -0
- package/commands/ez/resume.md +107 -0
- package/commands/ez/standup.md +85 -0
- package/ez-agents/bin/ez-tools.cjs +1095 -716
- package/ez-agents/bin/lib/assistant-adapter.cjs +264 -264
- package/ez-agents/bin/lib/audit-exec.cjs +7 -2
- package/ez-agents/bin/lib/bdd-validator.cjs +622 -0
- package/ez-agents/bin/lib/circuit-breaker.cjs +118 -118
- package/ez-agents/bin/lib/config.cjs +190 -190
- package/ez-agents/bin/lib/content-scanner.cjs +238 -0
- package/ez-agents/bin/lib/context-cache.cjs +154 -0
- package/ez-agents/bin/lib/context-errors.cjs +71 -0
- package/ez-agents/bin/lib/context-manager.cjs +220 -0
- package/ez-agents/bin/lib/discussion-synthesizer.cjs +458 -0
- package/ez-agents/bin/lib/file-access.cjs +207 -0
- package/ez-agents/bin/lib/file-lock.cjs +236 -236
- package/ez-agents/bin/lib/frontmatter.cjs +299 -299
- package/ez-agents/bin/lib/fs-utils.cjs +153 -153
- package/ez-agents/bin/lib/git-errors.cjs +83 -0
- package/ez-agents/bin/lib/git-utils.cjs +118 -0
- package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -0
- package/ez-agents/bin/lib/index.cjs +157 -113
- package/ez-agents/bin/lib/init.cjs +757 -757
- package/ez-agents/bin/lib/lockfile-validator.cjs +227 -0
- package/ez-agents/bin/lib/logger.cjs +124 -124
- package/ez-agents/bin/lib/memory-compression.cjs +256 -0
- package/ez-agents/bin/lib/metrics-tracker.cjs +406 -0
- package/ez-agents/bin/lib/milestone.cjs +241 -241
- package/ez-agents/bin/lib/model-provider.cjs +241 -241
- package/ez-agents/bin/lib/package-manager-detector.cjs +203 -0
- package/ez-agents/bin/lib/package-manager-executor.cjs +385 -0
- package/ez-agents/bin/lib/package-manager-service.cjs +216 -0
- package/ez-agents/bin/lib/phase.cjs +925 -925
- package/ez-agents/bin/lib/planning-write.cjs +107 -107
- package/ez-agents/bin/lib/release-validator.cjs +614 -0
- package/ez-agents/bin/lib/retry.cjs +119 -119
- package/ez-agents/bin/lib/roadmap.cjs +306 -306
- package/ez-agents/bin/lib/safe-exec.cjs +128 -128
- package/ez-agents/bin/lib/safe-path.cjs +130 -130
- package/ez-agents/bin/lib/session-chain.cjs +304 -0
- package/ez-agents/bin/lib/session-errors.cjs +81 -0
- package/ez-agents/bin/lib/session-export.cjs +251 -0
- package/ez-agents/bin/lib/session-import.cjs +262 -0
- package/ez-agents/bin/lib/session-manager.cjs +280 -0
- package/ez-agents/bin/lib/state.cjs +736 -736
- package/ez-agents/bin/lib/temp-file.cjs +239 -239
- package/ez-agents/bin/lib/template.cjs +223 -223
- package/ez-agents/bin/lib/test-file-lock.cjs +112 -112
- package/ez-agents/bin/lib/test-graceful.cjs +93 -93
- package/ez-agents/bin/lib/test-logger.cjs +60 -60
- package/ez-agents/bin/lib/test-safe-exec.cjs +38 -38
- package/ez-agents/bin/lib/test-safe-path.cjs +33 -33
- package/ez-agents/bin/lib/test-temp-file.cjs +125 -125
- package/ez-agents/bin/lib/tier-manager.cjs +428 -0
- package/ez-agents/bin/lib/timeout-exec.cjs +63 -63
- package/ez-agents/bin/lib/url-fetch.cjs +170 -0
- package/ez-agents/bin/lib/verify.cjs +15 -1
- package/ez-agents/references/checkpoints.md +776 -776
- package/ez-agents/references/continuation-format.md +249 -249
- package/ez-agents/references/metrics-schema.md +118 -0
- package/ez-agents/references/planning-config.md +140 -0
- package/ez-agents/references/questioning.md +162 -162
- package/ez-agents/references/tdd.md +263 -263
- package/ez-agents/references/tier-strategy.md +103 -0
- package/ez-agents/templates/bdd-feature.md +173 -0
- package/ez-agents/templates/codebase/concerns.md +310 -310
- package/ez-agents/templates/codebase/conventions.md +307 -307
- package/ez-agents/templates/codebase/integrations.md +280 -280
- package/ez-agents/templates/codebase/stack.md +186 -186
- package/ez-agents/templates/codebase/testing.md +480 -480
- package/ez-agents/templates/config.json +37 -37
- package/ez-agents/templates/continue-here.md +78 -78
- package/ez-agents/templates/discussion.md +68 -0
- package/ez-agents/templates/incident-runbook.md +205 -0
- package/ez-agents/templates/milestone-archive.md +123 -123
- package/ez-agents/templates/milestone.md +115 -115
- package/ez-agents/templates/release-checklist.md +133 -0
- package/ez-agents/templates/requirements.md +231 -231
- package/ez-agents/templates/research-project/ARCHITECTURE.md +204 -204
- package/ez-agents/templates/research-project/FEATURES.md +147 -147
- package/ez-agents/templates/research-project/PITFALLS.md +200 -200
- package/ez-agents/templates/research-project/STACK.md +120 -120
- package/ez-agents/templates/research-project/SUMMARY.md +170 -170
- package/ez-agents/templates/retrospective.md +54 -54
- package/ez-agents/templates/roadmap.md +202 -202
- package/ez-agents/templates/rollback-plan.md +201 -0
- package/ez-agents/templates/summary-minimal.md +41 -41
- package/ez-agents/templates/summary-standard.md +48 -48
- package/ez-agents/templates/summary.md +248 -248
- package/ez-agents/templates/user-setup.md +311 -311
- package/ez-agents/templates/verification-report.md +322 -322
- package/ez-agents/workflows/add-phase.md +112 -112
- package/ez-agents/workflows/add-tests.md +351 -351
- package/ez-agents/workflows/add-todo.md +158 -158
- package/ez-agents/workflows/arch-review.md +54 -0
- package/ez-agents/workflows/audit-milestone.md +332 -332
- package/ez-agents/workflows/autonomous.md +131 -30
- package/ez-agents/workflows/check-todos.md +177 -177
- package/ez-agents/workflows/cleanup.md +152 -152
- package/ez-agents/workflows/complete-milestone.md +766 -766
- package/ez-agents/workflows/diagnose-issues.md +219 -219
- package/ez-agents/workflows/discovery-phase.md +289 -289
- package/ez-agents/workflows/discuss-phase.md +762 -762
- package/ez-agents/workflows/execute-phase.md +513 -468
- package/ez-agents/workflows/execute-plan.md +483 -483
- package/ez-agents/workflows/export-session.md +255 -0
- package/ez-agents/workflows/gather-requirements.md +206 -0
- package/ez-agents/workflows/health.md +159 -159
- package/ez-agents/workflows/help.md +584 -492
- package/ez-agents/workflows/hotfix.md +291 -0
- package/ez-agents/workflows/import-session.md +303 -0
- package/ez-agents/workflows/insert-phase.md +130 -130
- package/ez-agents/workflows/list-phase-assumptions.md +178 -178
- package/ez-agents/workflows/map-codebase.md +316 -316
- package/ez-agents/workflows/new-milestone.md +339 -10
- package/ez-agents/workflows/new-project.md +293 -299
- package/ez-agents/workflows/node-repair.md +92 -92
- package/ez-agents/workflows/pause-work.md +122 -122
- package/ez-agents/workflows/plan-milestone-gaps.md +274 -274
- package/ez-agents/workflows/plan-phase.md +673 -651
- package/ez-agents/workflows/progress.md +372 -382
- package/ez-agents/workflows/quick.md +610 -610
- package/ez-agents/workflows/release.md +253 -0
- package/ez-agents/workflows/remove-phase.md +155 -155
- package/ez-agents/workflows/research-phase.md +74 -74
- package/ez-agents/workflows/resume-project.md +307 -307
- package/ez-agents/workflows/resume-session.md +215 -0
- package/ez-agents/workflows/set-profile.md +81 -81
- package/ez-agents/workflows/settings.md +242 -242
- package/ez-agents/workflows/standup.md +64 -0
- package/ez-agents/workflows/stats.md +57 -57
- package/ez-agents/workflows/transition.md +544 -544
- package/ez-agents/workflows/ui-phase.md +290 -290
- package/ez-agents/workflows/ui-review.md +157 -157
- package/ez-agents/workflows/update.md +320 -320
- package/ez-agents/workflows/validate-phase.md +167 -167
- package/ez-agents/workflows/verify-phase.md +243 -243
- package/ez-agents/workflows/verify-work.md +584 -584
- package/package.json +10 -4
- package/scripts/build-hooks.js +43 -43
- package/scripts/run-tests.cjs +29 -29
|
@@ -1,202 +1,202 @@
|
|
|
1
|
-
# Roadmap Template
|
|
2
|
-
|
|
3
|
-
Template for `.planning/ROADMAP.md`.
|
|
4
|
-
|
|
5
|
-
## Initial Roadmap (v1.0 Greenfield)
|
|
6
|
-
|
|
7
|
-
```markdown
|
|
8
|
-
# Roadmap: [Project Name]
|
|
9
|
-
|
|
10
|
-
## Overview
|
|
11
|
-
|
|
12
|
-
[One paragraph describing the journey from start to finish]
|
|
13
|
-
|
|
14
|
-
## Phases
|
|
15
|
-
|
|
16
|
-
**Phase Numbering:**
|
|
17
|
-
- Integer phases (1, 2, 3): Planned milestone work
|
|
18
|
-
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
|
|
19
|
-
|
|
20
|
-
Decimal phases appear between their surrounding integers in numeric order.
|
|
21
|
-
|
|
22
|
-
- [ ] **Phase 1: [Name]** - [One-line description]
|
|
23
|
-
- [ ] **Phase 2: [Name]** - [One-line description]
|
|
24
|
-
- [ ] **Phase 3: [Name]** - [One-line description]
|
|
25
|
-
- [ ] **Phase 4: [Name]** - [One-line description]
|
|
26
|
-
|
|
27
|
-
## Phase Details
|
|
28
|
-
|
|
29
|
-
### Phase 1: [Name]
|
|
30
|
-
**Goal**: [What this phase delivers]
|
|
31
|
-
**Depends on**: Nothing (first phase)
|
|
32
|
-
**Requirements**: [REQ-01, REQ-02, REQ-03] <!-- brackets optional, parser handles both formats -->
|
|
33
|
-
**Success Criteria** (what must be TRUE):
|
|
34
|
-
1. [Observable behavior from user perspective]
|
|
35
|
-
2. [Observable behavior from user perspective]
|
|
36
|
-
3. [Observable behavior from user perspective]
|
|
37
|
-
**Plans**: [Number of plans, e.g., "3 plans" or "TBD"]
|
|
38
|
-
|
|
39
|
-
Plans:
|
|
40
|
-
- [ ] 01-01: [Brief description of first plan]
|
|
41
|
-
- [ ] 01-02: [Brief description of second plan]
|
|
42
|
-
- [ ] 01-03: [Brief description of third plan]
|
|
43
|
-
|
|
44
|
-
### Phase 2: [Name]
|
|
45
|
-
**Goal**: [What this phase delivers]
|
|
46
|
-
**Depends on**: Phase 1
|
|
47
|
-
**Requirements**: [REQ-04, REQ-05]
|
|
48
|
-
**Success Criteria** (what must be TRUE):
|
|
49
|
-
1. [Observable behavior from user perspective]
|
|
50
|
-
2. [Observable behavior from user perspective]
|
|
51
|
-
**Plans**: [Number of plans]
|
|
52
|
-
|
|
53
|
-
Plans:
|
|
54
|
-
- [ ] 02-01: [Brief description]
|
|
55
|
-
- [ ] 02-02: [Brief description]
|
|
56
|
-
|
|
57
|
-
### Phase 2.1: Critical Fix (INSERTED)
|
|
58
|
-
**Goal**: [Urgent work inserted between phases]
|
|
59
|
-
**Depends on**: Phase 2
|
|
60
|
-
**Success Criteria** (what must be TRUE):
|
|
61
|
-
1. [What the fix achieves]
|
|
62
|
-
**Plans**: 1 plan
|
|
63
|
-
|
|
64
|
-
Plans:
|
|
65
|
-
- [ ] 02.1-01: [Description]
|
|
66
|
-
|
|
67
|
-
### Phase 3: [Name]
|
|
68
|
-
**Goal**: [What this phase delivers]
|
|
69
|
-
**Depends on**: Phase 2
|
|
70
|
-
**Requirements**: [REQ-06, REQ-07, REQ-08]
|
|
71
|
-
**Success Criteria** (what must be TRUE):
|
|
72
|
-
1. [Observable behavior from user perspective]
|
|
73
|
-
2. [Observable behavior from user perspective]
|
|
74
|
-
3. [Observable behavior from user perspective]
|
|
75
|
-
**Plans**: [Number of plans]
|
|
76
|
-
|
|
77
|
-
Plans:
|
|
78
|
-
- [ ] 03-01: [Brief description]
|
|
79
|
-
- [ ] 03-02: [Brief description]
|
|
80
|
-
|
|
81
|
-
### Phase 4: [Name]
|
|
82
|
-
**Goal**: [What this phase delivers]
|
|
83
|
-
**Depends on**: Phase 3
|
|
84
|
-
**Requirements**: [REQ-09, REQ-10]
|
|
85
|
-
**Success Criteria** (what must be TRUE):
|
|
86
|
-
1. [Observable behavior from user perspective]
|
|
87
|
-
2. [Observable behavior from user perspective]
|
|
88
|
-
**Plans**: [Number of plans]
|
|
89
|
-
|
|
90
|
-
Plans:
|
|
91
|
-
- [ ] 04-01: [Brief description]
|
|
92
|
-
|
|
93
|
-
## Progress
|
|
94
|
-
|
|
95
|
-
**Execution Order:**
|
|
96
|
-
Phases execute in numeric order: 2 → 2.1 → 2.2 → 3 → 3.1 → 4
|
|
97
|
-
|
|
98
|
-
| Phase | Plans Complete | Status | Completed |
|
|
99
|
-
|-------|----------------|--------|-----------|
|
|
100
|
-
| 1. [Name] | 0/3 | Not started | - |
|
|
101
|
-
| 2. [Name] | 0/2 | Not started | - |
|
|
102
|
-
| 3. [Name] | 0/2 | Not started | - |
|
|
103
|
-
| 4. [Name] | 0/1 | Not started | - |
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
<guidelines>
|
|
107
|
-
**Initial planning (v1.0):**
|
|
108
|
-
- Phase count depends on granularity setting (coarse: 3-5, standard: 5-8, fine: 8-12)
|
|
109
|
-
- Each phase delivers something coherent
|
|
110
|
-
- Phases can have 1+ plans (split if >3 tasks or multiple subsystems)
|
|
111
|
-
- Plans use naming: {phase}-{plan}-PLAN.md (e.g., 01-02-PLAN.md)
|
|
112
|
-
- No time estimates (this isn't enterprise PM)
|
|
113
|
-
- Progress table updated by execute workflow
|
|
114
|
-
- Plan count can be "TBD" initially, refined during planning
|
|
115
|
-
|
|
116
|
-
**Success criteria:**
|
|
117
|
-
- 2-5 observable behaviors per phase (from user's perspective)
|
|
118
|
-
- Cross-checked against requirements during roadmap creation
|
|
119
|
-
- Flow downstream to `must_haves` in plan-phase
|
|
120
|
-
- Verified by verify-phase after execution
|
|
121
|
-
- Format: "User can [action]" or "[Thing] works/exists"
|
|
122
|
-
|
|
123
|
-
**After milestones ship:**
|
|
124
|
-
- Collapse completed milestones in `<details>` tags
|
|
125
|
-
- Add new milestone sections for upcoming work
|
|
126
|
-
- Keep continuous phase numbering (never restart at 01)
|
|
127
|
-
</guidelines>
|
|
128
|
-
|
|
129
|
-
<status_values>
|
|
130
|
-
- `Not started` - Haven't begun
|
|
131
|
-
- `In progress` - Currently working
|
|
132
|
-
- `Complete` - Done (add completion date)
|
|
133
|
-
- `Deferred` - Pushed to later (with reason)
|
|
134
|
-
</status_values>
|
|
135
|
-
|
|
136
|
-
## Milestone-Grouped Roadmap (After v1.0 Ships)
|
|
137
|
-
|
|
138
|
-
After completing first milestone, reorganize with milestone groupings:
|
|
139
|
-
|
|
140
|
-
```markdown
|
|
141
|
-
# Roadmap: [Project Name]
|
|
142
|
-
|
|
143
|
-
## Milestones
|
|
144
|
-
|
|
145
|
-
- ✅ **v1.0 MVP** - Phases 1-4 (shipped YYYY-MM-DD)
|
|
146
|
-
- 🚧 **v1.1 [Name]** - Phases 5-6 (in progress)
|
|
147
|
-
- 📋 **v2.0 [Name]** - Phases 7-10 (planned)
|
|
148
|
-
|
|
149
|
-
## Phases
|
|
150
|
-
|
|
151
|
-
<details>
|
|
152
|
-
<summary>✅ v1.0 MVP (Phases 1-4) - SHIPPED YYYY-MM-DD</summary>
|
|
153
|
-
|
|
154
|
-
### Phase 1: [Name]
|
|
155
|
-
**Goal**: [What this phase delivers]
|
|
156
|
-
**Plans**: 3 plans
|
|
157
|
-
|
|
158
|
-
Plans:
|
|
159
|
-
- [x] 01-01: [Brief description]
|
|
160
|
-
- [x] 01-02: [Brief description]
|
|
161
|
-
- [x] 01-03: [Brief description]
|
|
162
|
-
|
|
163
|
-
[... remaining v1.0 phases ...]
|
|
164
|
-
|
|
165
|
-
</details>
|
|
166
|
-
|
|
167
|
-
### 🚧 v1.1 [Name] (In Progress)
|
|
168
|
-
|
|
169
|
-
**Milestone Goal:** [What v1.1 delivers]
|
|
170
|
-
|
|
171
|
-
#### Phase 5: [Name]
|
|
172
|
-
**Goal**: [What this phase delivers]
|
|
173
|
-
**Depends on**: Phase 4
|
|
174
|
-
**Plans**: 2 plans
|
|
175
|
-
|
|
176
|
-
Plans:
|
|
177
|
-
- [ ] 05-01: [Brief description]
|
|
178
|
-
- [ ] 05-02: [Brief description]
|
|
179
|
-
|
|
180
|
-
[... remaining v1.1 phases ...]
|
|
181
|
-
|
|
182
|
-
### 📋 v2.0 [Name] (Planned)
|
|
183
|
-
|
|
184
|
-
**Milestone Goal:** [What v2.0 delivers]
|
|
185
|
-
|
|
186
|
-
[... v2.0 phases ...]
|
|
187
|
-
|
|
188
|
-
## Progress
|
|
189
|
-
|
|
190
|
-
| Phase | Milestone | Plans Complete | Status | Completed |
|
|
191
|
-
|-------|-----------|----------------|--------|-----------|
|
|
192
|
-
| 1. Foundation | v1.0 | 3/3 | Complete | YYYY-MM-DD |
|
|
193
|
-
| 2. Features | v1.0 | 2/2 | Complete | YYYY-MM-DD |
|
|
194
|
-
| 5. Security | v1.1 | 0/2 | Not started | - |
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
**Notes:**
|
|
198
|
-
- Milestone emoji: ✅ shipped, 🚧 in progress, 📋 planned
|
|
199
|
-
- Completed milestones collapsed in `<details>` for readability
|
|
200
|
-
- Current/future milestones expanded
|
|
201
|
-
- Continuous phase numbering (01-99)
|
|
202
|
-
- Progress table includes milestone column
|
|
1
|
+
# Roadmap Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/ROADMAP.md`.
|
|
4
|
+
|
|
5
|
+
## Initial Roadmap (v1.0 Greenfield)
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Roadmap: [Project Name]
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
[One paragraph describing the journey from start to finish]
|
|
13
|
+
|
|
14
|
+
## Phases
|
|
15
|
+
|
|
16
|
+
**Phase Numbering:**
|
|
17
|
+
- Integer phases (1, 2, 3): Planned milestone work
|
|
18
|
+
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
|
|
19
|
+
|
|
20
|
+
Decimal phases appear between their surrounding integers in numeric order.
|
|
21
|
+
|
|
22
|
+
- [ ] **Phase 1: [Name]** - [One-line description]
|
|
23
|
+
- [ ] **Phase 2: [Name]** - [One-line description]
|
|
24
|
+
- [ ] **Phase 3: [Name]** - [One-line description]
|
|
25
|
+
- [ ] **Phase 4: [Name]** - [One-line description]
|
|
26
|
+
|
|
27
|
+
## Phase Details
|
|
28
|
+
|
|
29
|
+
### Phase 1: [Name]
|
|
30
|
+
**Goal**: [What this phase delivers]
|
|
31
|
+
**Depends on**: Nothing (first phase)
|
|
32
|
+
**Requirements**: [REQ-01, REQ-02, REQ-03] <!-- brackets optional, parser handles both formats -->
|
|
33
|
+
**Success Criteria** (what must be TRUE):
|
|
34
|
+
1. [Observable behavior from user perspective]
|
|
35
|
+
2. [Observable behavior from user perspective]
|
|
36
|
+
3. [Observable behavior from user perspective]
|
|
37
|
+
**Plans**: [Number of plans, e.g., "3 plans" or "TBD"]
|
|
38
|
+
|
|
39
|
+
Plans:
|
|
40
|
+
- [ ] 01-01: [Brief description of first plan]
|
|
41
|
+
- [ ] 01-02: [Brief description of second plan]
|
|
42
|
+
- [ ] 01-03: [Brief description of third plan]
|
|
43
|
+
|
|
44
|
+
### Phase 2: [Name]
|
|
45
|
+
**Goal**: [What this phase delivers]
|
|
46
|
+
**Depends on**: Phase 1
|
|
47
|
+
**Requirements**: [REQ-04, REQ-05]
|
|
48
|
+
**Success Criteria** (what must be TRUE):
|
|
49
|
+
1. [Observable behavior from user perspective]
|
|
50
|
+
2. [Observable behavior from user perspective]
|
|
51
|
+
**Plans**: [Number of plans]
|
|
52
|
+
|
|
53
|
+
Plans:
|
|
54
|
+
- [ ] 02-01: [Brief description]
|
|
55
|
+
- [ ] 02-02: [Brief description]
|
|
56
|
+
|
|
57
|
+
### Phase 2.1: Critical Fix (INSERTED)
|
|
58
|
+
**Goal**: [Urgent work inserted between phases]
|
|
59
|
+
**Depends on**: Phase 2
|
|
60
|
+
**Success Criteria** (what must be TRUE):
|
|
61
|
+
1. [What the fix achieves]
|
|
62
|
+
**Plans**: 1 plan
|
|
63
|
+
|
|
64
|
+
Plans:
|
|
65
|
+
- [ ] 02.1-01: [Description]
|
|
66
|
+
|
|
67
|
+
### Phase 3: [Name]
|
|
68
|
+
**Goal**: [What this phase delivers]
|
|
69
|
+
**Depends on**: Phase 2
|
|
70
|
+
**Requirements**: [REQ-06, REQ-07, REQ-08]
|
|
71
|
+
**Success Criteria** (what must be TRUE):
|
|
72
|
+
1. [Observable behavior from user perspective]
|
|
73
|
+
2. [Observable behavior from user perspective]
|
|
74
|
+
3. [Observable behavior from user perspective]
|
|
75
|
+
**Plans**: [Number of plans]
|
|
76
|
+
|
|
77
|
+
Plans:
|
|
78
|
+
- [ ] 03-01: [Brief description]
|
|
79
|
+
- [ ] 03-02: [Brief description]
|
|
80
|
+
|
|
81
|
+
### Phase 4: [Name]
|
|
82
|
+
**Goal**: [What this phase delivers]
|
|
83
|
+
**Depends on**: Phase 3
|
|
84
|
+
**Requirements**: [REQ-09, REQ-10]
|
|
85
|
+
**Success Criteria** (what must be TRUE):
|
|
86
|
+
1. [Observable behavior from user perspective]
|
|
87
|
+
2. [Observable behavior from user perspective]
|
|
88
|
+
**Plans**: [Number of plans]
|
|
89
|
+
|
|
90
|
+
Plans:
|
|
91
|
+
- [ ] 04-01: [Brief description]
|
|
92
|
+
|
|
93
|
+
## Progress
|
|
94
|
+
|
|
95
|
+
**Execution Order:**
|
|
96
|
+
Phases execute in numeric order: 2 → 2.1 → 2.2 → 3 → 3.1 → 4
|
|
97
|
+
|
|
98
|
+
| Phase | Plans Complete | Status | Completed |
|
|
99
|
+
|-------|----------------|--------|-----------|
|
|
100
|
+
| 1. [Name] | 0/3 | Not started | - |
|
|
101
|
+
| 2. [Name] | 0/2 | Not started | - |
|
|
102
|
+
| 3. [Name] | 0/2 | Not started | - |
|
|
103
|
+
| 4. [Name] | 0/1 | Not started | - |
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
<guidelines>
|
|
107
|
+
**Initial planning (v1.0):**
|
|
108
|
+
- Phase count depends on granularity setting (coarse: 3-5, standard: 5-8, fine: 8-12)
|
|
109
|
+
- Each phase delivers something coherent
|
|
110
|
+
- Phases can have 1+ plans (split if >3 tasks or multiple subsystems)
|
|
111
|
+
- Plans use naming: {phase}-{plan}-PLAN.md (e.g., 01-02-PLAN.md)
|
|
112
|
+
- No time estimates (this isn't enterprise PM)
|
|
113
|
+
- Progress table updated by execute workflow
|
|
114
|
+
- Plan count can be "TBD" initially, refined during planning
|
|
115
|
+
|
|
116
|
+
**Success criteria:**
|
|
117
|
+
- 2-5 observable behaviors per phase (from user's perspective)
|
|
118
|
+
- Cross-checked against requirements during roadmap creation
|
|
119
|
+
- Flow downstream to `must_haves` in plan-phase
|
|
120
|
+
- Verified by verify-phase after execution
|
|
121
|
+
- Format: "User can [action]" or "[Thing] works/exists"
|
|
122
|
+
|
|
123
|
+
**After milestones ship:**
|
|
124
|
+
- Collapse completed milestones in `<details>` tags
|
|
125
|
+
- Add new milestone sections for upcoming work
|
|
126
|
+
- Keep continuous phase numbering (never restart at 01)
|
|
127
|
+
</guidelines>
|
|
128
|
+
|
|
129
|
+
<status_values>
|
|
130
|
+
- `Not started` - Haven't begun
|
|
131
|
+
- `In progress` - Currently working
|
|
132
|
+
- `Complete` - Done (add completion date)
|
|
133
|
+
- `Deferred` - Pushed to later (with reason)
|
|
134
|
+
</status_values>
|
|
135
|
+
|
|
136
|
+
## Milestone-Grouped Roadmap (After v1.0 Ships)
|
|
137
|
+
|
|
138
|
+
After completing first milestone, reorganize with milestone groupings:
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
# Roadmap: [Project Name]
|
|
142
|
+
|
|
143
|
+
## Milestones
|
|
144
|
+
|
|
145
|
+
- ✅ **v1.0 MVP** - Phases 1-4 (shipped YYYY-MM-DD)
|
|
146
|
+
- 🚧 **v1.1 [Name]** - Phases 5-6 (in progress)
|
|
147
|
+
- 📋 **v2.0 [Name]** - Phases 7-10 (planned)
|
|
148
|
+
|
|
149
|
+
## Phases
|
|
150
|
+
|
|
151
|
+
<details>
|
|
152
|
+
<summary>✅ v1.0 MVP (Phases 1-4) - SHIPPED YYYY-MM-DD</summary>
|
|
153
|
+
|
|
154
|
+
### Phase 1: [Name]
|
|
155
|
+
**Goal**: [What this phase delivers]
|
|
156
|
+
**Plans**: 3 plans
|
|
157
|
+
|
|
158
|
+
Plans:
|
|
159
|
+
- [x] 01-01: [Brief description]
|
|
160
|
+
- [x] 01-02: [Brief description]
|
|
161
|
+
- [x] 01-03: [Brief description]
|
|
162
|
+
|
|
163
|
+
[... remaining v1.0 phases ...]
|
|
164
|
+
|
|
165
|
+
</details>
|
|
166
|
+
|
|
167
|
+
### 🚧 v1.1 [Name] (In Progress)
|
|
168
|
+
|
|
169
|
+
**Milestone Goal:** [What v1.1 delivers]
|
|
170
|
+
|
|
171
|
+
#### Phase 5: [Name]
|
|
172
|
+
**Goal**: [What this phase delivers]
|
|
173
|
+
**Depends on**: Phase 4
|
|
174
|
+
**Plans**: 2 plans
|
|
175
|
+
|
|
176
|
+
Plans:
|
|
177
|
+
- [ ] 05-01: [Brief description]
|
|
178
|
+
- [ ] 05-02: [Brief description]
|
|
179
|
+
|
|
180
|
+
[... remaining v1.1 phases ...]
|
|
181
|
+
|
|
182
|
+
### 📋 v2.0 [Name] (Planned)
|
|
183
|
+
|
|
184
|
+
**Milestone Goal:** [What v2.0 delivers]
|
|
185
|
+
|
|
186
|
+
[... v2.0 phases ...]
|
|
187
|
+
|
|
188
|
+
## Progress
|
|
189
|
+
|
|
190
|
+
| Phase | Milestone | Plans Complete | Status | Completed |
|
|
191
|
+
|-------|-----------|----------------|--------|-----------|
|
|
192
|
+
| 1. Foundation | v1.0 | 3/3 | Complete | YYYY-MM-DD |
|
|
193
|
+
| 2. Features | v1.0 | 2/2 | Complete | YYYY-MM-DD |
|
|
194
|
+
| 5. Security | v1.1 | 0/2 | Not started | - |
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Notes:**
|
|
198
|
+
- Milestone emoji: ✅ shipped, 🚧 in progress, 📋 planned
|
|
199
|
+
- Completed milestones collapsed in `<details>` for readability
|
|
200
|
+
- Current/future milestones expanded
|
|
201
|
+
- Continuous phase numbering (01-99)
|
|
202
|
+
- Progress table includes milestone column
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Rollback Plan: v{version}
|
|
2
|
+
|
|
3
|
+
**Released:** {date}
|
|
4
|
+
**Tier:** {tier}
|
|
5
|
+
**Previous version:** {previous_version}
|
|
6
|
+
**Previous tag:** {previous_tag}
|
|
7
|
+
**Author:** EZ Agents release-agent
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Rollback Decision Criteria
|
|
12
|
+
|
|
13
|
+
Roll back **immediately** if any of the following occur within {rollback_window} of release:
|
|
14
|
+
|
|
15
|
+
### MVP Tier (30-minute window)
|
|
16
|
+
- [ ] Application fails to start
|
|
17
|
+
- [ ] Error rate exceeds 20%
|
|
18
|
+
- [ ] Health endpoint returns non-200
|
|
19
|
+
- [ ] Critical functionality broken (login, core user flow)
|
|
20
|
+
|
|
21
|
+
### Medium Tier (15-minute window)
|
|
22
|
+
- All MVP criteria plus:
|
|
23
|
+
- [ ] Error rate increases >5% above pre-release baseline
|
|
24
|
+
- [ ] P95 response time increases >200ms
|
|
25
|
+
- [ ] Payment/auth system errors
|
|
26
|
+
|
|
27
|
+
### Enterprise Tier (5-minute window)
|
|
28
|
+
- All Medium criteria plus:
|
|
29
|
+
- [ ] Any SLA breach
|
|
30
|
+
- [ ] Any compliance-related failure
|
|
31
|
+
- [ ] Security alert triggered
|
|
32
|
+
- [ ] Data integrity issue detected
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Rollback Procedure
|
|
37
|
+
|
|
38
|
+
### Step 1: Decision (T+0)
|
|
39
|
+
|
|
40
|
+
Whoever observes a rollback trigger calls rollback immediately.
|
|
41
|
+
|
|
42
|
+
**Do NOT wait** to gather more data. Roll back, then investigate.
|
|
43
|
+
|
|
44
|
+
Contact: {oncall_contact or "N/A"}
|
|
45
|
+
|
|
46
|
+
### Step 2: Application Rollback (T+2 minutes)
|
|
47
|
+
|
|
48
|
+
Choose rollback method based on deployment platform:
|
|
49
|
+
|
|
50
|
+
**Vercel:**
|
|
51
|
+
```bash
|
|
52
|
+
vercel rollback
|
|
53
|
+
# Or use Vercel dashboard → Deployments → select previous → Promote
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Netlify:**
|
|
57
|
+
```bash
|
|
58
|
+
# Netlify dashboard → Deploys → select previous deploy → Publish deploy
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Railway:**
|
|
62
|
+
```bash
|
|
63
|
+
# Railway dashboard → Deployments → select previous → Rollback
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Heroku:**
|
|
67
|
+
```bash
|
|
68
|
+
heroku releases
|
|
69
|
+
heroku rollback v{previous_release_number}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Generic (git-based deploy):**
|
|
73
|
+
```bash
|
|
74
|
+
git revert HEAD --no-edit
|
|
75
|
+
git push origin main
|
|
76
|
+
# Triggers your CI/CD to redeploy previous version
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Docker:**
|
|
80
|
+
```bash
|
|
81
|
+
docker pull {registry}/{image}:{previous_version}
|
|
82
|
+
docker tag {registry}/{image}:{previous_version} {registry}/{image}:latest
|
|
83
|
+
docker push {registry}/{image}:latest
|
|
84
|
+
# Restart containers
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Step 3: Database Rollback (if applicable)
|
|
88
|
+
|
|
89
|
+
{If database migrations were run:}
|
|
90
|
+
|
|
91
|
+
**Check if rollback is needed:**
|
|
92
|
+
Was a database migration applied as part of this release? Check migration history:
|
|
93
|
+
```bash
|
|
94
|
+
npx prisma migrate status 2>/dev/null
|
|
95
|
+
# Or: cat .planning/releases/v{version}-migrations.md
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**If migration must be rolled back:**
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Prisma
|
|
102
|
+
npx prisma migrate resolve --rolled-back {migration_name}
|
|
103
|
+
|
|
104
|
+
# Django
|
|
105
|
+
python manage.py migrate {app_name} {previous_migration}
|
|
106
|
+
|
|
107
|
+
# Rails
|
|
108
|
+
rails db:rollback STEP=1
|
|
109
|
+
|
|
110
|
+
# Flyway
|
|
111
|
+
flyway undo
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**WARNING:** Only roll back migrations if the data model change is backward-compatible OR no new data has been written. When in doubt: roll back application first, keep database as-is, hotfix forward.
|
|
115
|
+
|
|
116
|
+
### Step 4: Verify Rollback (T+5 minutes)
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Check health
|
|
120
|
+
curl -f https://{your-domain}/health || echo "HEALTH_CHECK_FAILED"
|
|
121
|
+
|
|
122
|
+
# Check error rate
|
|
123
|
+
# View in your monitoring dashboard — should return to pre-release baseline
|
|
124
|
+
|
|
125
|
+
# Smoke test key flows
|
|
126
|
+
# 1. Visit {your-domain}
|
|
127
|
+
# 2. Log in with test account
|
|
128
|
+
# 3. Perform core user action
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Expected state after successful rollback:
|
|
132
|
+
- Application responds to all requests
|
|
133
|
+
- Error rate returns to pre-release baseline
|
|
134
|
+
- Health endpoint returns 200
|
|
135
|
+
- Core user flows work
|
|
136
|
+
|
|
137
|
+
### Step 5: Post-Rollback Communication
|
|
138
|
+
|
|
139
|
+
Notify relevant parties (team, users if customer-facing):
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
[Status Update]
|
|
143
|
+
We rolled back v{version} due to [brief description].
|
|
144
|
+
Service is restored. Root cause investigation in progress.
|
|
145
|
+
ETA for fix: [estimate]
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Step 6: Post-Mortem
|
|
149
|
+
|
|
150
|
+
After rollback is complete and service is stable:
|
|
151
|
+
|
|
152
|
+
1. **Root cause analysis** — What caused the issue?
|
|
153
|
+
2. **Timeline** — When detected, when rolled back, total impact duration
|
|
154
|
+
3. **Fix plan** — How to fix before re-releasing
|
|
155
|
+
4. **Process improvement** — What check could have caught this?
|
|
156
|
+
|
|
157
|
+
Write post-mortem to: `.planning/releases/v{version}-POSTMORTEM.md`
|
|
158
|
+
|
|
159
|
+
Update CHANGELOG.md:
|
|
160
|
+
```markdown
|
|
161
|
+
## [v{version}] — ROLLED BACK
|
|
162
|
+
Released {date}, rolled back {rollback_date}.
|
|
163
|
+
Reason: {brief reason}
|
|
164
|
+
Fix scheduled for v{next_version}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Forward Fix Procedure
|
|
170
|
+
|
|
171
|
+
After rolling back, create a hotfix:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
/ez:hotfix start {fix-description}
|
|
175
|
+
# Make the fix
|
|
176
|
+
/ez:hotfix complete {fix-description} {new_version}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Or plan a new phase if the fix is larger:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
/ez:plan-phase {next_phase} --gaps
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Emergency Contacts
|
|
188
|
+
|
|
189
|
+
{Fill in before going to production:}
|
|
190
|
+
|
|
191
|
+
| Role | Contact | When to Call |
|
|
192
|
+
|------|---------|--------------|
|
|
193
|
+
| On-call developer | {name/handle} | Any rollback decision |
|
|
194
|
+
| Database admin | {name/handle} | If DB rollback needed |
|
|
195
|
+
| Customer success | {name/handle} | If customer impact >5 min |
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
*Generated by EZ Agents release-agent*
|
|
200
|
+
*Release: v{version} — {tier} tier*
|
|
201
|
+
*Created: {timestamp}*
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
---
|
|
2
|
-
phase: XX-name
|
|
3
|
-
plan: YY
|
|
4
|
-
subsystem: [primary category]
|
|
5
|
-
tags: [searchable tech]
|
|
6
|
-
provides:
|
|
7
|
-
- [bullet list of what was built/delivered]
|
|
8
|
-
affects: [list of phase names or keywords]
|
|
9
|
-
tech-stack:
|
|
10
|
-
added: [libraries/tools]
|
|
11
|
-
patterns: [architectural/code patterns]
|
|
12
|
-
key-files:
|
|
13
|
-
created: [important files created]
|
|
14
|
-
modified: [important files modified]
|
|
15
|
-
key-decisions: []
|
|
16
|
-
duration: Xmin
|
|
17
|
-
completed: YYYY-MM-DD
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
# Phase [X]: [Name] Summary (Minimal)
|
|
21
|
-
|
|
22
|
-
**[Substantive one-liner describing outcome]**
|
|
23
|
-
|
|
24
|
-
## Performance
|
|
25
|
-
- **Duration:** [time]
|
|
26
|
-
- **Tasks:** [count]
|
|
27
|
-
- **Files modified:** [count]
|
|
28
|
-
|
|
29
|
-
## Accomplishments
|
|
30
|
-
- [Most important outcome]
|
|
31
|
-
- [Second key accomplishment]
|
|
32
|
-
|
|
33
|
-
## Task Commits
|
|
34
|
-
1. **Task 1: [task name]** - `hash`
|
|
35
|
-
2. **Task 2: [task name]** - `hash`
|
|
36
|
-
|
|
37
|
-
## Files Created/Modified
|
|
38
|
-
- `path/to/file.ts` - What it does
|
|
39
|
-
|
|
40
|
-
## Next Phase Readiness
|
|
41
|
-
[Ready for next phase]
|
|
1
|
+
---
|
|
2
|
+
phase: XX-name
|
|
3
|
+
plan: YY
|
|
4
|
+
subsystem: [primary category]
|
|
5
|
+
tags: [searchable tech]
|
|
6
|
+
provides:
|
|
7
|
+
- [bullet list of what was built/delivered]
|
|
8
|
+
affects: [list of phase names or keywords]
|
|
9
|
+
tech-stack:
|
|
10
|
+
added: [libraries/tools]
|
|
11
|
+
patterns: [architectural/code patterns]
|
|
12
|
+
key-files:
|
|
13
|
+
created: [important files created]
|
|
14
|
+
modified: [important files modified]
|
|
15
|
+
key-decisions: []
|
|
16
|
+
duration: Xmin
|
|
17
|
+
completed: YYYY-MM-DD
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Phase [X]: [Name] Summary (Minimal)
|
|
21
|
+
|
|
22
|
+
**[Substantive one-liner describing outcome]**
|
|
23
|
+
|
|
24
|
+
## Performance
|
|
25
|
+
- **Duration:** [time]
|
|
26
|
+
- **Tasks:** [count]
|
|
27
|
+
- **Files modified:** [count]
|
|
28
|
+
|
|
29
|
+
## Accomplishments
|
|
30
|
+
- [Most important outcome]
|
|
31
|
+
- [Second key accomplishment]
|
|
32
|
+
|
|
33
|
+
## Task Commits
|
|
34
|
+
1. **Task 1: [task name]** - `hash`
|
|
35
|
+
2. **Task 2: [task name]** - `hash`
|
|
36
|
+
|
|
37
|
+
## Files Created/Modified
|
|
38
|
+
- `path/to/file.ts` - What it does
|
|
39
|
+
|
|
40
|
+
## Next Phase Readiness
|
|
41
|
+
[Ready for next phase]
|