@bvdm/delano 0.1.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/HANDBOOK.md +1511 -0
- package/README.md +122 -0
- package/assets/install-manifest.json +102 -0
- package/assets/payload/.agents/README.md +12 -0
- package/assets/payload/.agents/adapters/claude/README.md +5 -0
- package/assets/payload/.agents/adapters/codex/README.md +5 -0
- package/assets/payload/.agents/adapters/opencode/README.md +5 -0
- package/assets/payload/.agents/adapters/pi/README.md +5 -0
- package/assets/payload/.agents/common/README.md +3 -0
- package/assets/payload/.agents/hooks/README.md +11 -0
- package/assets/payload/.agents/hooks/bash-worktree-fix.sh +7 -0
- package/assets/payload/.agents/hooks/post-tool-logger.js +18 -0
- package/assets/payload/.agents/hooks/session-tracker.js +17 -0
- package/assets/payload/.agents/hooks/user-prompt-logger.js +18 -0
- package/assets/payload/.agents/logs/.gitkeep +0 -0
- package/assets/payload/.agents/logs/schema.md +42 -0
- package/assets/payload/.agents/rules/README.md +12 -0
- package/assets/payload/.agents/rules/agent-coordination.md +5 -0
- package/assets/payload/.agents/rules/datetime.md +5 -0
- package/assets/payload/.agents/rules/frontmatter-operations.md +6 -0
- package/assets/payload/.agents/rules/github-operations.md +5 -0
- package/assets/payload/.agents/rules/path-standards.md +5 -0
- package/assets/payload/.agents/rules/test-execution.md +5 -0
- package/assets/payload/.agents/rules/worktree-operations.md +5 -0
- package/assets/payload/.agents/scripts/README.md +31 -0
- package/assets/payload/.agents/scripts/check-path-standards.sh +26 -0
- package/assets/payload/.agents/scripts/fix-path-standards.sh +14 -0
- package/assets/payload/.agents/scripts/git-sparse-download.sh +162 -0
- package/assets/payload/.agents/scripts/log-event.js +33 -0
- package/assets/payload/.agents/scripts/log-event.sh +5 -0
- package/assets/payload/.agents/scripts/pm/blocked.sh +36 -0
- package/assets/payload/.agents/scripts/pm/epic-list.sh +34 -0
- package/assets/payload/.agents/scripts/pm/in-progress.sh +36 -0
- package/assets/payload/.agents/scripts/pm/init.sh +139 -0
- package/assets/payload/.agents/scripts/pm/next.sh +110 -0
- package/assets/payload/.agents/scripts/pm/prd-list.sh +34 -0
- package/assets/payload/.agents/scripts/pm/search.sh +13 -0
- package/assets/payload/.agents/scripts/pm/standup.sh +19 -0
- package/assets/payload/.agents/scripts/pm/status.sh +61 -0
- package/assets/payload/.agents/scripts/pm/validate.sh +309 -0
- package/assets/payload/.agents/scripts/query-log.sh +57 -0
- package/assets/payload/.agents/scripts/test-and-log.sh +28 -0
- package/assets/payload/.agents/skills/.gitkeep +0 -0
- package/assets/payload/.agents/skills/README.md +23 -0
- package/assets/payload/.agents/skills/breakdown-skill/SKILL.md +40 -0
- package/assets/payload/.agents/skills/breakdown-skill/references/runbook.md +16 -0
- package/assets/payload/.agents/skills/breakdown-skill/templates/ambiguity-report.md +11 -0
- package/assets/payload/.agents/skills/breakdown-skill/templates/task-batch-summary.md +11 -0
- package/assets/payload/.agents/skills/closeout-skill/SKILL.md +42 -0
- package/assets/payload/.agents/skills/closeout-skill/references/runbook.md +16 -0
- package/assets/payload/.agents/skills/closeout-skill/templates/closure-checklist.md +7 -0
- package/assets/payload/.agents/skills/closeout-skill/templates/outcome-review.md +11 -0
- package/assets/payload/.agents/skills/discovery-skill/SKILL.md +44 -0
- package/assets/payload/.agents/skills/discovery-skill/references/runbook.md +14 -0
- package/assets/payload/.agents/skills/discovery-skill/templates/clarification-questions.md +18 -0
- package/assets/payload/.agents/skills/discovery-skill/templates/discovery-summary.md +14 -0
- package/assets/payload/.agents/skills/execution-skill/SKILL.md +42 -0
- package/assets/payload/.agents/skills/execution-skill/references/runbook.md +16 -0
- package/assets/payload/.agents/skills/execution-skill/templates/blocker-update.md +13 -0
- package/assets/payload/.agents/skills/execution-skill/templates/stream-update.md +9 -0
- package/assets/payload/.agents/skills/learning-skill/SKILL.md +41 -0
- package/assets/payload/.agents/skills/learning-skill/references/runbook.md +13 -0
- package/assets/payload/.agents/skills/learning-skill/templates/improvement-backlog.md +10 -0
- package/assets/payload/.agents/skills/learning-skill/templates/retrospective.md +11 -0
- package/assets/payload/.agents/skills/planning-skill/SKILL.md +40 -0
- package/assets/payload/.agents/skills/planning-skill/references/runbook.md +15 -0
- package/assets/payload/.agents/skills/planning-skill/templates/architecture-decision.md +15 -0
- package/assets/payload/.agents/skills/planning-skill/templates/workstream-definition.md +13 -0
- package/assets/payload/.agents/skills/quality-skill/SKILL.md +40 -0
- package/assets/payload/.agents/skills/quality-skill/references/runbook.md +14 -0
- package/assets/payload/.agents/skills/quality-skill/templates/gate-decision.md +10 -0
- package/assets/payload/.agents/skills/quality-skill/templates/quality-evidence.md +16 -0
- package/assets/payload/.agents/skills/sync-skill/SKILL.md +41 -0
- package/assets/payload/.agents/skills/sync-skill/references/runbook.md +17 -0
- package/assets/payload/.agents/skills/sync-skill/templates/conflict-resolution-actions.md +10 -0
- package/assets/payload/.agents/skills/sync-skill/templates/drift-report.md +14 -0
- package/assets/payload/.delano/README.md +7 -0
- package/assets/payload/.gitattributes +14 -0
- package/assets/payload/.project/context/README.md +15 -0
- package/assets/payload/.project/context/gui-testing.md +20 -0
- package/assets/payload/.project/context/product-context.md +17 -0
- package/assets/payload/.project/context/progress.md +23 -0
- package/assets/payload/.project/context/project-brief.md +13 -0
- package/assets/payload/.project/context/project-overview.md +14 -0
- package/assets/payload/.project/context/project-structure.md +24 -0
- package/assets/payload/.project/context/project-style-guide.md +17 -0
- package/assets/payload/.project/context/system-patterns.md +22 -0
- package/assets/payload/.project/context/tech-context.md +19 -0
- package/assets/payload/.project/projects/.gitkeep +0 -0
- package/assets/payload/.project/registry/linear-map.json +6 -0
- package/assets/payload/.project/registry/migration-map.json +5 -0
- package/assets/payload/.project/templates/completion-summary.md +16 -0
- package/assets/payload/.project/templates/plan.md +30 -0
- package/assets/payload/.project/templates/progress-update.md +20 -0
- package/assets/payload/.project/templates/spec.md +42 -0
- package/assets/payload/.project/templates/task.md +33 -0
- package/assets/payload/.project/templates/workstream.md +19 -0
- package/assets/payload/HANDBOOK.md +1511 -0
- package/assets/payload/install-delano.sh +311 -0
- package/bin/delano.js +13 -0
- package/install-delano.sh +311 -0
- package/package.json +26 -0
- package/src/cli/commands/install.js +57 -0
- package/src/cli/commands/wrapper.js +26 -0
- package/src/cli/index.js +97 -0
- package/src/cli/lib/errors.js +11 -0
- package/src/cli/lib/install.js +261 -0
- package/src/cli/lib/pm.js +29 -0
- package/src/cli/lib/runtime.js +122 -0
|
@@ -0,0 +1,1511 @@
|
|
|
1
|
+
# Delano, Skill-Driven Delivery Handbook
|
|
2
|
+
|
|
3
|
+
## First Edition, v3
|
|
4
|
+
|
|
5
|
+
Version: 3.1
|
|
6
|
+
Last updated: 2026-04-03
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## How to use this handbook
|
|
11
|
+
|
|
12
|
+
This is the operating handbook for Delano.
|
|
13
|
+
|
|
14
|
+
It defines:
|
|
15
|
+
|
|
16
|
+
- how delivery intent is modeled
|
|
17
|
+
- how work is decomposed and executed
|
|
18
|
+
- how local files, Linear, and GitHub stay aligned
|
|
19
|
+
- how teams preserve quality under high delivery speed
|
|
20
|
+
|
|
21
|
+
If you are reading this for implementation, start with Sections 4, 8, 9, 11, 17, and 18.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Table of contents
|
|
26
|
+
|
|
27
|
+
1. Purpose and design principles
|
|
28
|
+
2. Non-goals and anti-patterns
|
|
29
|
+
3. Canonical model and language
|
|
30
|
+
4. Linear mapping and decision rationale
|
|
31
|
+
5. System architecture and repository boundaries
|
|
32
|
+
6. Data contracts and artifact structure
|
|
33
|
+
7. Status models and transition policy
|
|
34
|
+
8. Runtime components (skills, scripts, rules, hooks)
|
|
35
|
+
9. End-to-end workflow and runtime wiring
|
|
36
|
+
10. Parallel execution and stream coordination
|
|
37
|
+
11. Synchronization model (Linear and GitHub)
|
|
38
|
+
12. Testing and quality operations
|
|
39
|
+
13. Context continuity and project memory
|
|
40
|
+
14. Governance, policy pack, and safety controls
|
|
41
|
+
15. Decision framework and question bank
|
|
42
|
+
16. Role operating playbooks
|
|
43
|
+
17. Templates and operational checklists
|
|
44
|
+
18. Migration playbook (existing Delano repos)
|
|
45
|
+
19. Adoption roadmap and maturity gates
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 1) Purpose and design principles
|
|
50
|
+
|
|
51
|
+
Delano is an **agent-agnostic, runtime-guided, skill-driven, spec-first delivery system**.
|
|
52
|
+
|
|
53
|
+
Its core objective is:
|
|
54
|
+
|
|
55
|
+
> Turn measurable business outcomes into reliable software delivery with strong traceability.
|
|
56
|
+
|
|
57
|
+
### 1.1 Primary flow
|
|
58
|
+
|
|
59
|
+
**Outcome -> Draft Spec -> Probe Decision -> Approved Spec -> Delivery Project -> Workstreams -> Tasks -> Linear Issues -> PRs -> Release -> Learnings**
|
|
60
|
+
|
|
61
|
+
### 1.2 Design principles
|
|
62
|
+
|
|
63
|
+
1. **Outcome before output**
|
|
64
|
+
- Every project starts from a measurable target.
|
|
65
|
+
|
|
66
|
+
2. **Spec before implementation**
|
|
67
|
+
- Specs are execution artifacts with operational value.
|
|
68
|
+
|
|
69
|
+
3. **Atomic execution**
|
|
70
|
+
- Tasks must be scoped so they can be completed and verified with low ambiguity.
|
|
71
|
+
|
|
72
|
+
4. **Parallelism by design**
|
|
73
|
+
- Parallel work requires explicit boundaries, ownership, and dependencies.
|
|
74
|
+
|
|
75
|
+
5. **Contracts over tools**
|
|
76
|
+
- File contracts define truth. Tools execute against contracts.
|
|
77
|
+
|
|
78
|
+
6. **Auditability over recollection**
|
|
79
|
+
- Critical state is logged in files and event streams.
|
|
80
|
+
|
|
81
|
+
7. **Interoperability over lock-in**
|
|
82
|
+
- Delano must run with different coding agents and execution shells.
|
|
83
|
+
|
|
84
|
+
8. **Agent-readable repository hygiene**
|
|
85
|
+
- Structure, naming, and docs should optimize both human and agent navigation.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 2) Non-goals and anti-patterns
|
|
90
|
+
|
|
91
|
+
### 2.1 Non-goals
|
|
92
|
+
|
|
93
|
+
Delano is not:
|
|
94
|
+
|
|
95
|
+
- a slash-command framework
|
|
96
|
+
- a chat-first project management method
|
|
97
|
+
- a model-vendor-specific workflow
|
|
98
|
+
- a dashboard-only system without execution semantics
|
|
99
|
+
|
|
100
|
+
### 2.2 Anti-patterns to avoid
|
|
101
|
+
|
|
102
|
+
1. **Spec drift**
|
|
103
|
+
- code changes but contracts do not
|
|
104
|
+
2. **Task inflation**
|
|
105
|
+
- tasks that are too large to close predictably
|
|
106
|
+
3. **Fake parallelism**
|
|
107
|
+
- streams competing for shared files without coordination
|
|
108
|
+
4. **Sync theater**
|
|
109
|
+
- delayed or partial updates across local and remote systems
|
|
110
|
+
5. **Undocumented decisions**
|
|
111
|
+
- critical choices not written to artifacts
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 3) Canonical model and language
|
|
116
|
+
|
|
117
|
+
### 3.1 Core entities
|
|
118
|
+
|
|
119
|
+
- **Outcome**: measurable business result
|
|
120
|
+
- **Spec**: product and delivery intent for one outcome
|
|
121
|
+
- **Prototype Probe**: time-boxed learning loop used to retire material uncertainty before spec approval
|
|
122
|
+
- **Delivery Project**: bounded implementation scope
|
|
123
|
+
- **Workstream**: coherent implementation slice
|
|
124
|
+
- **Task**: atomic engineering unit
|
|
125
|
+
- **Evidence**: completion proof (tests, review, release artifacts)
|
|
126
|
+
|
|
127
|
+
### 3.2 Naming conventions
|
|
128
|
+
|
|
129
|
+
- Use concise, unambiguous names.
|
|
130
|
+
- Keep stable IDs in local and remote systems.
|
|
131
|
+
- Prefer language that maps directly to execution responsibilities.
|
|
132
|
+
|
|
133
|
+
### 3.3 Why this model
|
|
134
|
+
|
|
135
|
+
This model keeps the strongest existing Delano patterns:
|
|
136
|
+
|
|
137
|
+
- local markdown truth in `.project`
|
|
138
|
+
- canonical shared runtime in `.agents`
|
|
139
|
+
- deterministic script execution
|
|
140
|
+
- explicit rules and guardrails
|
|
141
|
+
- probe-first learning when uncertainty is material
|
|
142
|
+
- compatibility with Linear-native execution
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 4) Linear mapping and decision rationale
|
|
147
|
+
|
|
148
|
+
This section is intentionally detailed because mapping choices determine workflow behavior.
|
|
149
|
+
|
|
150
|
+
### 4.1 Default mapping
|
|
151
|
+
|
|
152
|
+
| Delano concept | Local artifact | Linear object | Default use |
|
|
153
|
+
|---|---|---|---|
|
|
154
|
+
| Outcome | `spec.md` outcome section | Initiative (optional) | strategic rollups across projects |
|
|
155
|
+
| Spec | `.project/projects/<slug>/spec.md` | Project Document | canonical intent near execution |
|
|
156
|
+
| Delivery Project | `.project/projects/<slug>/plan.md` | Project | execution container with owner and status |
|
|
157
|
+
| Workstream | `workstreams/*.md` | Milestone (preferred) + labels | phase visibility + filtering |
|
|
158
|
+
| Task | `tasks/*.md` | Issue | atomic execution |
|
|
159
|
+
| Task split | sub-task pattern | Sub-issue (optional) | micro-splitting when needed |
|
|
160
|
+
|
|
161
|
+
### 4.2 Entity-level rationale
|
|
162
|
+
|
|
163
|
+
#### 4.2.1 Outcome -> Initiative (optional)
|
|
164
|
+
|
|
165
|
+
Use Initiative only when:
|
|
166
|
+
|
|
167
|
+
- multiple delivery projects contribute to one business objective
|
|
168
|
+
- leadership needs aggregated project visibility
|
|
169
|
+
- cross-team strategic alignment is required
|
|
170
|
+
|
|
171
|
+
Do not force Initiative for single-project feature delivery.
|
|
172
|
+
|
|
173
|
+
#### 4.2.2 Spec -> Project Document
|
|
174
|
+
|
|
175
|
+
Chosen because it:
|
|
176
|
+
|
|
177
|
+
- keeps intent and execution context in one place
|
|
178
|
+
- reduces document fragmentation
|
|
179
|
+
- supports incremental updates linked to active issues
|
|
180
|
+
|
|
181
|
+
#### 4.2.3 Delivery Project -> Project
|
|
182
|
+
|
|
183
|
+
Chosen because it:
|
|
184
|
+
|
|
185
|
+
- matches Linear’s execution model
|
|
186
|
+
- supports ownership, timeline, and progress visibility
|
|
187
|
+
- maps cleanly to planning and release governance
|
|
188
|
+
|
|
189
|
+
#### 4.2.4 Workstream -> Milestone + label group
|
|
190
|
+
|
|
191
|
+
Use a dual mechanism:
|
|
192
|
+
|
|
193
|
+
1. Milestone for sequencing and timeline visibility
|
|
194
|
+
2. Workstream labels for filtering and cross-view analytics
|
|
195
|
+
|
|
196
|
+
Recommended naming:
|
|
197
|
+
|
|
198
|
+
- Milestone: `WS-A API Foundation`
|
|
199
|
+
- Label group: `workstream`
|
|
200
|
+
- Labels: `ws-a`, `ws-b`, `ws-c`
|
|
201
|
+
|
|
202
|
+
Operational rule:
|
|
203
|
+
|
|
204
|
+
- Every task issue must carry one workstream identifier.
|
|
205
|
+
|
|
206
|
+
#### 4.2.5 Task -> Issue
|
|
207
|
+
|
|
208
|
+
Issue is the natural atomic execution object.
|
|
209
|
+
|
|
210
|
+
Task sizing target:
|
|
211
|
+
|
|
212
|
+
- 1 to 3 days under normal complexity
|
|
213
|
+
|
|
214
|
+
### 4.3 Alternatives and why they are not default
|
|
215
|
+
|
|
216
|
+
#### A) Initiative-heavy mapping
|
|
217
|
+
|
|
218
|
+
`Spec/PRD -> Initiative, Epic -> Project, Task -> Issue`
|
|
219
|
+
|
|
220
|
+
Valid for portfolio-heavy organizations. Not default because Delano prioritizes operational execution speed for typical single-project flows.
|
|
221
|
+
|
|
222
|
+
#### B) Parent-issue-first mapping
|
|
223
|
+
|
|
224
|
+
`Spec in Project, Epic as parent issue, Task as sub-issue`
|
|
225
|
+
|
|
226
|
+
Not default because it weakens planning, milestone visibility, and structured governance.
|
|
227
|
+
|
|
228
|
+
### 4.4 Critical Linear constraints
|
|
229
|
+
|
|
230
|
+
1. One issue belongs to one project.
|
|
231
|
+
2. Project status does not auto-resolve from issue closure.
|
|
232
|
+
3. Dependencies are relation-based (`blocked by`, `related`).
|
|
233
|
+
4. Conflict is not first-class. Use relation + label policy.
|
|
234
|
+
5. Initiative linking at issue-level may be unavailable in some schemas. Keep initiative association at project level by default.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 5) System architecture and repository boundaries
|
|
239
|
+
|
|
240
|
+
### 5.1 Canonical structure
|
|
241
|
+
|
|
242
|
+
```text
|
|
243
|
+
.project/
|
|
244
|
+
projects/
|
|
245
|
+
<slug>/
|
|
246
|
+
spec.md
|
|
247
|
+
plan.md
|
|
248
|
+
workstreams/
|
|
249
|
+
tasks/
|
|
250
|
+
updates/
|
|
251
|
+
decisions.md
|
|
252
|
+
context/
|
|
253
|
+
registry/
|
|
254
|
+
linear-map.json
|
|
255
|
+
|
|
256
|
+
.agents/
|
|
257
|
+
adapters/
|
|
258
|
+
<agent>/
|
|
259
|
+
common/
|
|
260
|
+
skills/
|
|
261
|
+
scripts/
|
|
262
|
+
rules/
|
|
263
|
+
hooks/
|
|
264
|
+
logs/
|
|
265
|
+
|
|
266
|
+
.claude/ # compatibility mirror of .agents
|
|
267
|
+
|
|
268
|
+
.delano/ # optional UI layer
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 5.2 Boundary policy
|
|
272
|
+
|
|
273
|
+
- `.project` is delivery truth.
|
|
274
|
+
- `.agents` is canonical runtime behavior and enforcement.
|
|
275
|
+
- `.claude` is a compatibility mirror or symlink of `.agents`, never an independent source of truth.
|
|
276
|
+
- `.delano` is optional presentation, never source of truth.
|
|
277
|
+
|
|
278
|
+
### 5.3 Interoperability requirements
|
|
279
|
+
|
|
280
|
+
A coding agent is Delano-compatible if it can:
|
|
281
|
+
|
|
282
|
+
- read and write markdown contracts
|
|
283
|
+
- execute shell scripts
|
|
284
|
+
- operate against the canonical `.agents` runtime or a supported compatibility mirror
|
|
285
|
+
- interact with Linear and GitHub interfaces
|
|
286
|
+
- honor rule constraints
|
|
287
|
+
- produce structured execution updates
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## 6) Data contracts and artifact structure
|
|
292
|
+
|
|
293
|
+
### 6.1 `spec.md` contract
|
|
294
|
+
|
|
295
|
+
```yaml
|
|
296
|
+
name: <project-name>
|
|
297
|
+
slug: <kebab-case>
|
|
298
|
+
owner: <person-or-team>
|
|
299
|
+
status: draft|approved|active|complete|canceled
|
|
300
|
+
created: <ISO8601 UTC>
|
|
301
|
+
updated: <ISO8601 UTC>
|
|
302
|
+
outcome: <measurable target>
|
|
303
|
+
uncertainty: low|medium|high
|
|
304
|
+
probe_required: true|false
|
|
305
|
+
probe_status: pending|skipped|completed
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Required sections:
|
|
309
|
+
|
|
310
|
+
- Executive summary
|
|
311
|
+
- Problem and users
|
|
312
|
+
- Outcome and success metrics
|
|
313
|
+
- Scope and non-goals
|
|
314
|
+
- Functional requirements
|
|
315
|
+
- Non-functional requirements
|
|
316
|
+
- Hypotheses and unknowns
|
|
317
|
+
- Touchpoints to exercise
|
|
318
|
+
- Probe findings
|
|
319
|
+
- Footguns discovered
|
|
320
|
+
- Remaining unknowns
|
|
321
|
+
- Dependencies
|
|
322
|
+
- Approval notes
|
|
323
|
+
|
|
324
|
+
### 6.2 `plan.md` contract
|
|
325
|
+
|
|
326
|
+
```yaml
|
|
327
|
+
name: <project-name>
|
|
328
|
+
status: planned|in-progress|done|canceled
|
|
329
|
+
lead: <person>
|
|
330
|
+
created: <ISO8601 UTC>
|
|
331
|
+
updated: <ISO8601 UTC>
|
|
332
|
+
linear_project_id: <id>
|
|
333
|
+
risk_level: low|medium|high
|
|
334
|
+
spec_status_at_plan_time: approved|active
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
Required sections:
|
|
338
|
+
|
|
339
|
+
- What changed after probe
|
|
340
|
+
- Architecture decisions
|
|
341
|
+
- Probe-driven architecture changes
|
|
342
|
+
- Workstream design
|
|
343
|
+
- Milestone strategy
|
|
344
|
+
- Rollout strategy
|
|
345
|
+
- Test strategy
|
|
346
|
+
- Rollback strategy
|
|
347
|
+
- Remaining delivery risks
|
|
348
|
+
|
|
349
|
+
### 6.3 `tasks/*.md` contract
|
|
350
|
+
|
|
351
|
+
```yaml
|
|
352
|
+
id: T-001
|
|
353
|
+
name: <task-title>
|
|
354
|
+
status: backlog|ready|in-progress|review|done|blocked|canceled
|
|
355
|
+
created: <ISO8601 UTC>
|
|
356
|
+
updated: <ISO8601 UTC>
|
|
357
|
+
linear_issue_id: <id-or-empty>
|
|
358
|
+
github_issue: <url-or-empty>
|
|
359
|
+
github_pr: <url-or-empty>
|
|
360
|
+
depends_on: []
|
|
361
|
+
conflicts_with: []
|
|
362
|
+
parallel: true|false
|
|
363
|
+
priority: low|medium|high|urgent
|
|
364
|
+
estimate: XS|S|M|L|XL
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
Required sections:
|
|
368
|
+
|
|
369
|
+
- Description
|
|
370
|
+
- Acceptance criteria
|
|
371
|
+
- Technical notes
|
|
372
|
+
- Definition of done
|
|
373
|
+
- Evidence log
|
|
374
|
+
|
|
375
|
+
### 6.4 Contract invariants
|
|
376
|
+
|
|
377
|
+
- `created` immutable
|
|
378
|
+
- `updated` real UTC system timestamp
|
|
379
|
+
- probe decision explicit before spec approval
|
|
380
|
+
- dependency graph acyclic before execution
|
|
381
|
+
- no absolute path leakage in shared output
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## 7) Status models and transition policy
|
|
386
|
+
|
|
387
|
+
### 7.1 Why expanded task states exist
|
|
388
|
+
|
|
389
|
+
Expanded states solve execution ambiguity:
|
|
390
|
+
|
|
391
|
+
- `backlog` vs `ready` separates unsized ideas from executable work
|
|
392
|
+
- `review` enforces handoff before closure
|
|
393
|
+
- `blocked` exposes dependency constraints explicitly
|
|
394
|
+
|
|
395
|
+
### 7.2 Lifecycle definitions
|
|
396
|
+
|
|
397
|
+
#### Spec
|
|
398
|
+
|
|
399
|
+
`draft -> approved -> active -> complete`
|
|
400
|
+
optional terminal: `canceled`
|
|
401
|
+
|
|
402
|
+
Probe decision rule while spec is `draft`:
|
|
403
|
+
|
|
404
|
+
- `probe_required: false` allows approval once other discovery gates pass
|
|
405
|
+
- `probe_required: true` requires a Prototype Probe and recorded findings before approval
|
|
406
|
+
|
|
407
|
+
#### Delivery Project
|
|
408
|
+
|
|
409
|
+
`planned -> in-progress -> done`
|
|
410
|
+
optional terminal: `canceled`
|
|
411
|
+
|
|
412
|
+
#### Task
|
|
413
|
+
|
|
414
|
+
`backlog -> ready -> in-progress -> review -> done`
|
|
415
|
+
optional branches: `blocked`, `canceled`
|
|
416
|
+
|
|
417
|
+
### 7.3 Transition policy
|
|
418
|
+
|
|
419
|
+
- No `in-progress` with unmet hard dependencies.
|
|
420
|
+
- No `done` without evidence completion.
|
|
421
|
+
- No project `done` with unresolved required tasks.
|
|
422
|
+
- No spec `approved` without explicit probe decision fields.
|
|
423
|
+
- No spec `approved` with unresolved required probe findings.
|
|
424
|
+
- No spec `complete` without outcome review.
|
|
425
|
+
|
|
426
|
+
### 7.4 Review semantics
|
|
427
|
+
|
|
428
|
+
`review` may include one or more:
|
|
429
|
+
|
|
430
|
+
- code review
|
|
431
|
+
- quality gate verification
|
|
432
|
+
- product acceptance for user-visible changes
|
|
433
|
+
|
|
434
|
+
Teams must define exact review semantics in local policy.
|
|
435
|
+
|
|
436
|
+
### 7.5 Explicit Delano -> Linear status mapping
|
|
437
|
+
|
|
438
|
+
| Delano task status | Preferred Linear state |
|
|
439
|
+
|---|---|
|
|
440
|
+
| backlog | Triage or Backlog |
|
|
441
|
+
| ready | Todo |
|
|
442
|
+
| in-progress | In Progress |
|
|
443
|
+
| review | In Review |
|
|
444
|
+
| done | Done |
|
|
445
|
+
| blocked | Blocked (if exists) or Todo + blocked relation/label |
|
|
446
|
+
| canceled | Canceled |
|
|
447
|
+
|
|
448
|
+
If team workflow names differ, maintain this semantic mapping in sync rules.
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## 8) Runtime components (skills, scripts, rules, hooks)
|
|
453
|
+
|
|
454
|
+
### 8.1 Component model
|
|
455
|
+
|
|
456
|
+
- **Skills**: reasoning and orchestration
|
|
457
|
+
- **Scripts**: deterministic execution
|
|
458
|
+
- **Rules**: constraints and policy
|
|
459
|
+
- **Hooks**: runtime tracking and guardrails
|
|
460
|
+
|
|
461
|
+
### 8.2 Skill contract standard
|
|
462
|
+
|
|
463
|
+
Each skill must define:
|
|
464
|
+
|
|
465
|
+
- intent and trigger context
|
|
466
|
+
- required inputs
|
|
467
|
+
- output schema
|
|
468
|
+
- quality checks
|
|
469
|
+
- failure behavior
|
|
470
|
+
- allowed side effects
|
|
471
|
+
- script hooks
|
|
472
|
+
|
|
473
|
+
### 8.3 Skill contract examples
|
|
474
|
+
|
|
475
|
+
#### Example: breakdown-skill
|
|
476
|
+
|
|
477
|
+
```yaml
|
|
478
|
+
name: breakdown-skill
|
|
479
|
+
intent: decompose approved plan into atomic tasks
|
|
480
|
+
inputs:
|
|
481
|
+
- spec_path
|
|
482
|
+
- plan_path
|
|
483
|
+
- workstream_files
|
|
484
|
+
outputs:
|
|
485
|
+
- task_files
|
|
486
|
+
- dependency_graph
|
|
487
|
+
quality_checks:
|
|
488
|
+
- acceptance criteria are binary
|
|
489
|
+
- estimate present per task
|
|
490
|
+
- dependency graph acyclic
|
|
491
|
+
failure_behavior:
|
|
492
|
+
- stop on circular dependency
|
|
493
|
+
- return ambiguity report
|
|
494
|
+
script_hooks:
|
|
495
|
+
- bash .agents/scripts/pm/validate.sh
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
#### Example: sync-skill
|
|
499
|
+
|
|
500
|
+
```yaml
|
|
501
|
+
name: sync-skill
|
|
502
|
+
intent: reconcile local contracts with Linear and GitHub
|
|
503
|
+
inputs:
|
|
504
|
+
- project_slug
|
|
505
|
+
- local_registry
|
|
506
|
+
- task_files
|
|
507
|
+
outputs:
|
|
508
|
+
- updated_registry
|
|
509
|
+
- drift_report
|
|
510
|
+
quality_checks:
|
|
511
|
+
- active tasks mapped
|
|
512
|
+
- no duplicate mapping
|
|
513
|
+
- dependency parity pass
|
|
514
|
+
failure_behavior:
|
|
515
|
+
- dry-run when uncertainty detected
|
|
516
|
+
- emit conflict resolution actions
|
|
517
|
+
script_hooks:
|
|
518
|
+
- bash .agents/scripts/pm/status.sh
|
|
519
|
+
- bash .agents/scripts/pm/validate.sh
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
### 8.4 Annotated script catalog
|
|
523
|
+
|
|
524
|
+
#### Critical path scripts
|
|
525
|
+
|
|
526
|
+
| Script | Purpose | Criticality |
|
|
527
|
+
|---|---|---|
|
|
528
|
+
| `pm/init.sh` | bootstrap delivery runtime and baseline checks | high |
|
|
529
|
+
| `pm/validate.sh` | contract and reference integrity validation | high |
|
|
530
|
+
| `pm/status.sh` | project portfolio snapshot | high |
|
|
531
|
+
| `pm/next.sh` | dependency-safe next task discovery | high |
|
|
532
|
+
| `pm/blocked.sh` | blocker and dependency visibility | high |
|
|
533
|
+
|
|
534
|
+
#### Operational scripts
|
|
535
|
+
|
|
536
|
+
| Script | Purpose |
|
|
537
|
+
|---|---|
|
|
538
|
+
| `pm/standup.sh` | daily status summary |
|
|
539
|
+
| `pm/in-progress.sh` | active work visibility |
|
|
540
|
+
| `pm/prd-list.sh` | spec inventory |
|
|
541
|
+
| `pm/epic-list.sh` | project scope inventory |
|
|
542
|
+
| `pm/search.sh` | cross-artifact lookup |
|
|
543
|
+
|
|
544
|
+
#### Audit and utility scripts
|
|
545
|
+
|
|
546
|
+
| Script | Purpose |
|
|
547
|
+
|---|---|
|
|
548
|
+
| `log-event.sh` / `log-event.js` | append structured audit events |
|
|
549
|
+
| `query-log.sh` | query change stream |
|
|
550
|
+
| `test-and-log.sh` | capture test execution logs |
|
|
551
|
+
| `check-path-standards.sh` | path/privacy enforcement |
|
|
552
|
+
| `fix-path-standards.sh` | path normalization |
|
|
553
|
+
| `git-sparse-download.sh` | sparse external resource retrieval |
|
|
554
|
+
|
|
555
|
+
### 8.5 Rule system scope
|
|
556
|
+
|
|
557
|
+
Rules should cover:
|
|
558
|
+
|
|
559
|
+
- datetime and frontmatter integrity
|
|
560
|
+
- GitHub safety checks
|
|
561
|
+
- path privacy
|
|
562
|
+
- branch/worktree safety
|
|
563
|
+
- test execution hygiene
|
|
564
|
+
- agent coordination protocol
|
|
565
|
+
|
|
566
|
+
### 8.6 Hook system scope
|
|
567
|
+
|
|
568
|
+
Hooks should handle:
|
|
569
|
+
|
|
570
|
+
- session tracking
|
|
571
|
+
- post-tool mutation logging
|
|
572
|
+
- prompt submission logging (optional)
|
|
573
|
+
- worktree shell context correction
|
|
574
|
+
- operator notifications (optional)
|
|
575
|
+
|
|
576
|
+
---
|
|
577
|
+
|
|
578
|
+
## 9) End-to-end workflow and runtime wiring
|
|
579
|
+
|
|
580
|
+
This section explicitly links workflow stages to runtime components.
|
|
581
|
+
|
|
582
|
+
### Prototype Probe (conditional)
|
|
583
|
+
|
|
584
|
+
Use this when uncertainty is material and approval would otherwise be speculative.
|
|
585
|
+
|
|
586
|
+
Constraints:
|
|
587
|
+
|
|
588
|
+
- probe is time-boxed (typically <= 1 day)
|
|
589
|
+
- starts CLI-first where feasible
|
|
590
|
+
- no production merge directly from probe output
|
|
591
|
+
- before continuation, fold findings back into `spec.md` and `plan.md`
|
|
592
|
+
- record touched surfaces, findings, and footguns in the spec
|
|
593
|
+
- convert probe insights into normal task contracts before full execution
|
|
594
|
+
|
|
595
|
+
This keeps rapid learning without weakening team governance.
|
|
596
|
+
|
|
597
|
+
### Stage A: Discovery
|
|
598
|
+
|
|
599
|
+
**Goal**
|
|
600
|
+
|
|
601
|
+
- define a measurable outcome, draft the Spec, and make the probe decision explicit
|
|
602
|
+
|
|
603
|
+
**Entry criteria**
|
|
604
|
+
|
|
605
|
+
- problem and owner identified
|
|
606
|
+
|
|
607
|
+
**Primary components**
|
|
608
|
+
|
|
609
|
+
- skill: `discovery-skill`
|
|
610
|
+
- scripts: `pm/init.sh` (if needed), `pm/validate.sh`
|
|
611
|
+
|
|
612
|
+
**Exit artifacts**
|
|
613
|
+
|
|
614
|
+
- drafted `spec.md` with uncertainty and probe decision recorded
|
|
615
|
+
|
|
616
|
+
**Gate**
|
|
617
|
+
|
|
618
|
+
- measurable success criteria
|
|
619
|
+
- explicit non-goals
|
|
620
|
+
- dependency assumptions documented
|
|
621
|
+
- uncertainty rated and probe decision explicit
|
|
622
|
+
|
|
623
|
+
### Stage B: Prototype Probe
|
|
624
|
+
|
|
625
|
+
**Goal**
|
|
626
|
+
|
|
627
|
+
- retire or bound material uncertainty before spec approval
|
|
628
|
+
|
|
629
|
+
**Entry criteria**
|
|
630
|
+
|
|
631
|
+
- `spec.md` is still `draft`
|
|
632
|
+
- `probe_required: true`
|
|
633
|
+
|
|
634
|
+
**Primary components**
|
|
635
|
+
|
|
636
|
+
- discovery artifacts from `spec.md`
|
|
637
|
+
- targeted prototype commands or narrow experiments
|
|
638
|
+
- `pm/validate.sh` if probe findings mutate contracts
|
|
639
|
+
|
|
640
|
+
**Exit artifacts**
|
|
641
|
+
|
|
642
|
+
- updated draft `spec.md`
|
|
643
|
+
- probe findings and approval recommendation
|
|
644
|
+
|
|
645
|
+
**Gate**
|
|
646
|
+
|
|
647
|
+
- probe findings recorded
|
|
648
|
+
- touched surfaces and footguns explicit
|
|
649
|
+
- approval recommendation clear
|
|
650
|
+
|
|
651
|
+
### Stage C: Planning
|
|
652
|
+
|
|
653
|
+
**Goal**
|
|
654
|
+
|
|
655
|
+
- translate Spec into executable Delivery Plan
|
|
656
|
+
|
|
657
|
+
**Entry criteria**
|
|
658
|
+
|
|
659
|
+
- `spec.md` approved
|
|
660
|
+
|
|
661
|
+
**Primary components**
|
|
662
|
+
|
|
663
|
+
- skill: `planning-skill`
|
|
664
|
+
- scripts: `pm/validate.sh`
|
|
665
|
+
|
|
666
|
+
**Exit artifacts**
|
|
667
|
+
|
|
668
|
+
- `plan.md`
|
|
669
|
+
- `workstreams/*.md`
|
|
670
|
+
|
|
671
|
+
**Gate**
|
|
672
|
+
|
|
673
|
+
- architecture decisions justified
|
|
674
|
+
- rollout and rollback paths defined
|
|
675
|
+
|
|
676
|
+
### Stage D: Breakdown
|
|
677
|
+
|
|
678
|
+
**Goal**
|
|
679
|
+
|
|
680
|
+
- generate atomic tasks and safe dependency graph
|
|
681
|
+
|
|
682
|
+
**Entry criteria**
|
|
683
|
+
|
|
684
|
+
- `plan.md` complete
|
|
685
|
+
|
|
686
|
+
**Primary components**
|
|
687
|
+
|
|
688
|
+
- skill: `breakdown-skill`
|
|
689
|
+
- scripts: `pm/validate.sh`, `pm/next.sh`, `pm/blocked.sh`
|
|
690
|
+
|
|
691
|
+
**Exit artifacts**
|
|
692
|
+
|
|
693
|
+
- `tasks/*.md`
|
|
694
|
+
|
|
695
|
+
**Gate**
|
|
696
|
+
|
|
697
|
+
- task size, ownership, and acceptance criteria complete
|
|
698
|
+
- dependency graph acyclic
|
|
699
|
+
|
|
700
|
+
### Stage E: Synchronization
|
|
701
|
+
|
|
702
|
+
**Goal**
|
|
703
|
+
|
|
704
|
+
- establish parity between local contracts and remote trackers
|
|
705
|
+
|
|
706
|
+
**Entry criteria**
|
|
707
|
+
|
|
708
|
+
- tasks are validated and active set is defined
|
|
709
|
+
|
|
710
|
+
**Primary components**
|
|
711
|
+
|
|
712
|
+
- skill: `sync-skill`
|
|
713
|
+
- scripts: `pm/status.sh`, `pm/validate.sh`
|
|
714
|
+
|
|
715
|
+
**Exit artifacts**
|
|
716
|
+
|
|
717
|
+
- updated Linear Project/Issues
|
|
718
|
+
- updated `linear-map.json`
|
|
719
|
+
|
|
720
|
+
**Gate**
|
|
721
|
+
|
|
722
|
+
- no orphaned active tasks
|
|
723
|
+
- status and dependency parity pass
|
|
724
|
+
|
|
725
|
+
### Stage F: Execution
|
|
726
|
+
|
|
727
|
+
**Goal**
|
|
728
|
+
|
|
729
|
+
- complete tasks with stream discipline and evidence updates
|
|
730
|
+
|
|
731
|
+
**Entry criteria**
|
|
732
|
+
|
|
733
|
+
- mapped active tasks and clear stream boundaries
|
|
734
|
+
|
|
735
|
+
**Primary components**
|
|
736
|
+
|
|
737
|
+
- skill: `execution-skill`
|
|
738
|
+
- scripts: `pm/in-progress.sh`, `pm/standup.sh`, `pm/next.sh`
|
|
739
|
+
|
|
740
|
+
**Exit artifacts**
|
|
741
|
+
|
|
742
|
+
- commits, PRs, updates
|
|
743
|
+
|
|
744
|
+
**Gate**
|
|
745
|
+
|
|
746
|
+
- blockers explicit
|
|
747
|
+
- updates current
|
|
748
|
+
- stream boundaries respected
|
|
749
|
+
|
|
750
|
+
### Stage G: Quality
|
|
751
|
+
|
|
752
|
+
**Goal**
|
|
753
|
+
|
|
754
|
+
- verify release readiness for changed surface area
|
|
755
|
+
|
|
756
|
+
**Entry criteria**
|
|
757
|
+
|
|
758
|
+
- execution complete for target tasks
|
|
759
|
+
|
|
760
|
+
**Primary components**
|
|
761
|
+
|
|
762
|
+
- skill: `quality-skill`
|
|
763
|
+
- scripts: `test-and-log.sh`, `pm/validate.sh`
|
|
764
|
+
|
|
765
|
+
**Exit artifacts**
|
|
766
|
+
|
|
767
|
+
- test and review evidence
|
|
768
|
+
|
|
769
|
+
**Gate**
|
|
770
|
+
|
|
771
|
+
- required quality checks pass
|
|
772
|
+
- acceptance criteria complete
|
|
773
|
+
|
|
774
|
+
### Stage H: Closeout
|
|
775
|
+
|
|
776
|
+
**Goal**
|
|
777
|
+
|
|
778
|
+
- close delivery loop and capture reusable learnings
|
|
779
|
+
|
|
780
|
+
**Entry criteria**
|
|
781
|
+
|
|
782
|
+
- quality gates complete
|
|
783
|
+
|
|
784
|
+
**Primary components**
|
|
785
|
+
|
|
786
|
+
- skill: `closeout-skill`, `learning-skill`
|
|
787
|
+
- scripts: `pm/status.sh`, `query-log.sh`
|
|
788
|
+
|
|
789
|
+
**Exit artifacts**
|
|
790
|
+
|
|
791
|
+
- closed project state
|
|
792
|
+
- retrospective update
|
|
793
|
+
|
|
794
|
+
**Gate**
|
|
795
|
+
|
|
796
|
+
- outcome review complete
|
|
797
|
+
- reusable decisions documented
|
|
798
|
+
|
|
799
|
+
---
|
|
800
|
+
|
|
801
|
+
## 10) Parallel execution and stream coordination
|
|
802
|
+
|
|
803
|
+
### Orchestration threshold
|
|
804
|
+
|
|
805
|
+
Do not default to multi-stream execution.
|
|
806
|
+
|
|
807
|
+
Enable parallel orchestration only when all conditions are true:
|
|
808
|
+
|
|
809
|
+
1. work can be partitioned into low-overlap streams
|
|
810
|
+
2. dependency sequencing is clear upfront
|
|
811
|
+
3. expected throughput gain exceeds coordination overhead
|
|
812
|
+
4. integration risk is acceptable for current milestone
|
|
813
|
+
|
|
814
|
+
If these conditions are not met, run single-stream execution first.
|
|
815
|
+
|
|
816
|
+
### 10.1 Stream definition requirements
|
|
817
|
+
|
|
818
|
+
Each workstream must specify:
|
|
819
|
+
|
|
820
|
+
- objective
|
|
821
|
+
- owned files/areas
|
|
822
|
+
- dependencies
|
|
823
|
+
- conflict risk zones
|
|
824
|
+
- handoff criteria
|
|
825
|
+
|
|
826
|
+
### 10.2 Ownership policy
|
|
827
|
+
|
|
828
|
+
- One stream owns a shared file at a time.
|
|
829
|
+
- Shared contract changes require sequence, not concurrency.
|
|
830
|
+
- unresolved overlap triggers escalation
|
|
831
|
+
|
|
832
|
+
### 10.3 Coordination protocol
|
|
833
|
+
|
|
834
|
+
At minimum:
|
|
835
|
+
|
|
836
|
+
1. announce stream scope at start
|
|
837
|
+
2. sync at dependency boundaries
|
|
838
|
+
3. escalate contested files immediately
|
|
839
|
+
4. avoid force-merge conflict resolution
|
|
840
|
+
|
|
841
|
+
### 10.4 Progress update location
|
|
842
|
+
|
|
843
|
+
`.project/projects/<slug>/updates/<task-id>/stream-<id>.md`
|
|
844
|
+
|
|
845
|
+
Required fields:
|
|
846
|
+
|
|
847
|
+
- timestamp
|
|
848
|
+
- status
|
|
849
|
+
- completed work
|
|
850
|
+
- blockers
|
|
851
|
+
- next actions
|
|
852
|
+
|
|
853
|
+
---
|
|
854
|
+
|
|
855
|
+
## 11) Synchronization model (Linear and GitHub)
|
|
856
|
+
|
|
857
|
+
### 11.1 Idempotent sync cycle
|
|
858
|
+
|
|
859
|
+
1. read local contracts and registry
|
|
860
|
+
2. read remote objects
|
|
861
|
+
3. resolve identity map
|
|
862
|
+
4. create missing objects
|
|
863
|
+
5. update changed objects
|
|
864
|
+
6. persist mappings
|
|
865
|
+
7. run drift analysis
|
|
866
|
+
|
|
867
|
+
### 11.2 Drift classes
|
|
868
|
+
|
|
869
|
+
- **mapping drift**: broken local/remote identity link
|
|
870
|
+
- **status drift**: state mismatch
|
|
871
|
+
- **dependency drift**: relation mismatch
|
|
872
|
+
- **orphan drift**: object exists only on one side
|
|
873
|
+
|
|
874
|
+
### 11.3 Drift handling by risk
|
|
875
|
+
|
|
876
|
+
- low risk: auto-repair + log
|
|
877
|
+
- medium risk: dry-run + operator confirmation
|
|
878
|
+
- high risk: stop + explicit decision required
|
|
879
|
+
|
|
880
|
+
### 11.4 GitHub role
|
|
881
|
+
|
|
882
|
+
GitHub is:
|
|
883
|
+
|
|
884
|
+
- issue collaboration layer
|
|
885
|
+
- PR and review evidence layer
|
|
886
|
+
- merge and release control point
|
|
887
|
+
|
|
888
|
+
Local contracts remain authoritative for Delano process semantics.
|
|
889
|
+
|
|
890
|
+
### 11.5 Merge governance
|
|
891
|
+
|
|
892
|
+
Before merge:
|
|
893
|
+
|
|
894
|
+
- required quality checks pass
|
|
895
|
+
- review complete
|
|
896
|
+
- blocker state clear
|
|
897
|
+
- evidence logs current
|
|
898
|
+
|
|
899
|
+
After merge:
|
|
900
|
+
|
|
901
|
+
- update local task/project status
|
|
902
|
+
- refresh mapping registry
|
|
903
|
+
- append release evidence
|
|
904
|
+
|
|
905
|
+
---
|
|
906
|
+
|
|
907
|
+
## 12) Testing and quality operations
|
|
908
|
+
|
|
909
|
+
### 12.1 Quality stack
|
|
910
|
+
|
|
911
|
+
- unit tests for core logic
|
|
912
|
+
- integration tests for boundaries
|
|
913
|
+
- GUI/e2e checks for critical flows
|
|
914
|
+
|
|
915
|
+
### 12.2 GUI testing policy
|
|
916
|
+
|
|
917
|
+
Use `.project/context/gui-testing.md` to define:
|
|
918
|
+
|
|
919
|
+
- enforcement mode
|
|
920
|
+
- smoke routes
|
|
921
|
+
- console filtering
|
|
922
|
+
- screenshots
|
|
923
|
+
- design validation thresholds
|
|
924
|
+
|
|
925
|
+
### 12.3 Risk-based quality gates
|
|
926
|
+
|
|
927
|
+
| Risk level | Minimum quality gate |
|
|
928
|
+
|---|---|
|
|
929
|
+
| Low | unit + targeted integration |
|
|
930
|
+
| Medium | full integration + smoke GUI |
|
|
931
|
+
| High | mandatory GUI + regression + rollback verification |
|
|
932
|
+
|
|
933
|
+
### 12.4 Closure quality checklist
|
|
934
|
+
|
|
935
|
+
- acceptance criteria complete
|
|
936
|
+
- required test suite passed
|
|
937
|
+
- critical unresolved defects = 0
|
|
938
|
+
- evidence links updated
|
|
939
|
+
|
|
940
|
+
---
|
|
941
|
+
|
|
942
|
+
## 13) Context continuity and project memory
|
|
943
|
+
|
|
944
|
+
### 13.1 Context pack
|
|
945
|
+
|
|
946
|
+
Maintain:
|
|
947
|
+
|
|
948
|
+
- project-overview
|
|
949
|
+
- project-brief
|
|
950
|
+
- tech-context
|
|
951
|
+
- project-structure
|
|
952
|
+
- system-patterns
|
|
953
|
+
- product-context
|
|
954
|
+
- project-style-guide
|
|
955
|
+
- progress
|
|
956
|
+
|
|
957
|
+
### 13.2 Update cadence
|
|
958
|
+
|
|
959
|
+
- end of meaningful sessions
|
|
960
|
+
- milestone completion
|
|
961
|
+
- architecture-impacting changes
|
|
962
|
+
|
|
963
|
+
### 13.3 Context update quality
|
|
964
|
+
|
|
965
|
+
Every update should answer:
|
|
966
|
+
|
|
967
|
+
1. what changed
|
|
968
|
+
2. why it changed
|
|
969
|
+
3. what is next
|
|
970
|
+
4. what risk remains
|
|
971
|
+
|
|
972
|
+
---
|
|
973
|
+
|
|
974
|
+
## 14) Governance, policy pack, and safety controls
|
|
975
|
+
|
|
976
|
+
### 14.1 Governance controls
|
|
977
|
+
|
|
978
|
+
- frontmatter and schema validation
|
|
979
|
+
- immutable creation timestamps
|
|
980
|
+
- UTC timestamp policy
|
|
981
|
+
- path privacy enforcement
|
|
982
|
+
- GitHub remote safety checks
|
|
983
|
+
|
|
984
|
+
### 14.2 Default team policy pack
|
|
985
|
+
|
|
986
|
+
1. one outcome per active delivery project scope
|
|
987
|
+
2. one canonical spec per active project
|
|
988
|
+
3. tasks target 1-3 day effort
|
|
989
|
+
4. binary acceptance criteria required
|
|
990
|
+
5. active tasks synced at least daily
|
|
991
|
+
6. blocked tasks include blocker owner and check-back time
|
|
992
|
+
7. high-risk UI changes require mandatory GUI gate
|
|
993
|
+
8. project close requires complete evidence package
|
|
994
|
+
9. repository structure and naming remain agent-readable by default
|
|
995
|
+
10. multi-stream orchestration only after explicit threshold check
|
|
996
|
+
|
|
997
|
+
### 14.3 Safety controls
|
|
998
|
+
|
|
999
|
+
- no auto-resolution for hard merge conflicts
|
|
1000
|
+
- no silent quality gate bypass
|
|
1001
|
+
- explicit confirmation for destructive cleanup
|
|
1002
|
+
- policy violations logged as first-class events
|
|
1003
|
+
|
|
1004
|
+
---
|
|
1005
|
+
|
|
1006
|
+
## 15) Decision framework and question bank
|
|
1007
|
+
|
|
1008
|
+
This section is designed for live planning and execution meetings.
|
|
1009
|
+
|
|
1010
|
+
## 15.1 Discovery framework
|
|
1011
|
+
|
|
1012
|
+
### Problem clarity
|
|
1013
|
+
|
|
1014
|
+
- What exact user pain are we solving?
|
|
1015
|
+
- How is this solved today, and what is insufficient?
|
|
1016
|
+
- What is the cost of not solving this now?
|
|
1017
|
+
|
|
1018
|
+
### Outcome clarity
|
|
1019
|
+
|
|
1020
|
+
- What measurable behavior change defines success?
|
|
1021
|
+
- What is the minimum acceptable outcome?
|
|
1022
|
+
- What would exceed expectations?
|
|
1023
|
+
|
|
1024
|
+
### Scope control
|
|
1025
|
+
|
|
1026
|
+
- What is explicitly out of scope in this iteration?
|
|
1027
|
+
- Which constraints are fixed and which are negotiable?
|
|
1028
|
+
- Which assumptions are riskiest if wrong?
|
|
1029
|
+
|
|
1030
|
+
### Probe decision
|
|
1031
|
+
|
|
1032
|
+
- What uncertainty would make approval speculative if left unresolved?
|
|
1033
|
+
- What is the smallest probe that could retire that uncertainty?
|
|
1034
|
+
- What evidence would justify skipping the probe?
|
|
1035
|
+
|
|
1036
|
+
## 15.2 Planning framework
|
|
1037
|
+
|
|
1038
|
+
### Architecture fit
|
|
1039
|
+
|
|
1040
|
+
- Which existing components can be reused confidently?
|
|
1041
|
+
- Which architecture decisions are hard to reverse?
|
|
1042
|
+
- What is the smallest deployable architecture slice?
|
|
1043
|
+
|
|
1044
|
+
### Risk and dependency
|
|
1045
|
+
|
|
1046
|
+
- What external dependency can most likely block delivery?
|
|
1047
|
+
- Which dependency should be validated first?
|
|
1048
|
+
- What fallback exists if a critical dependency fails?
|
|
1049
|
+
- Which probe finding changed the architecture or rollout plan?
|
|
1050
|
+
- What uncertainty remains after the probe and how is it being managed?
|
|
1051
|
+
|
|
1052
|
+
### Sequencing
|
|
1053
|
+
|
|
1054
|
+
- Which tasks unlock the most downstream work?
|
|
1055
|
+
- Which tasks should never run in parallel?
|
|
1056
|
+
- Where should contract stabilization happen first?
|
|
1057
|
+
|
|
1058
|
+
## 15.3 Breakdown framework
|
|
1059
|
+
|
|
1060
|
+
- Can this task be completed in 1-3 days?
|
|
1061
|
+
- Is ownership explicit?
|
|
1062
|
+
- Are acceptance criteria binary and testable?
|
|
1063
|
+
- Are dependencies minimal and explicit?
|
|
1064
|
+
- Are conflict hotspots identified?
|
|
1065
|
+
|
|
1066
|
+
## 15.4 Execution framework
|
|
1067
|
+
|
|
1068
|
+
- What changed since the last sync that matters?
|
|
1069
|
+
- What blocker has highest schedule risk?
|
|
1070
|
+
- Are we optimizing local progress or total throughput?
|
|
1071
|
+
- Is current sequencing still valid?
|
|
1072
|
+
- Is context current enough for handoff right now?
|
|
1073
|
+
|
|
1074
|
+
## 15.5 Quality and release framework
|
|
1075
|
+
|
|
1076
|
+
- Which failure mode is most expensive in production?
|
|
1077
|
+
- Is that failure mode directly tested?
|
|
1078
|
+
- Are non-functional requirements covered (performance, reliability, security)?
|
|
1079
|
+
- Is rollback confidence explicit and realistic?
|
|
1080
|
+
- What evidence supports release readiness?
|
|
1081
|
+
|
|
1082
|
+
## 15.6 Retrospective framework
|
|
1083
|
+
|
|
1084
|
+
- Where did avoidable rework occur?
|
|
1085
|
+
- Which decision was made too late?
|
|
1086
|
+
- Which rule should be added or tightened?
|
|
1087
|
+
- Which template or script would reduce repeat friction?
|
|
1088
|
+
- What do we stop doing next cycle?
|
|
1089
|
+
|
|
1090
|
+
---
|
|
1091
|
+
|
|
1092
|
+
## 16) Role operating playbooks
|
|
1093
|
+
|
|
1094
|
+
### 16.1 PM playbook
|
|
1095
|
+
|
|
1096
|
+
#### Weekly cadence
|
|
1097
|
+
|
|
1098
|
+
1. review outcome alignment across active projects
|
|
1099
|
+
2. review spec quality and scope boundaries
|
|
1100
|
+
3. review blocker ownership and dependency health
|
|
1101
|
+
4. review delivery confidence and release risk
|
|
1102
|
+
|
|
1103
|
+
#### Stage-specific control points
|
|
1104
|
+
|
|
1105
|
+
- Discovery: approve success metrics and non-goals
|
|
1106
|
+
- Discovery: approve success metrics, non-goals, and the probe decision
|
|
1107
|
+
- Planning: validate outcome-to-plan alignment and post-probe changes
|
|
1108
|
+
- Breakdown: reject ambiguous acceptance criteria
|
|
1109
|
+
- Synchronization: confirm cross-tool parity for active scope
|
|
1110
|
+
- Closeout: require outcome review, not only output completion
|
|
1111
|
+
|
|
1112
|
+
#### Daily hygiene
|
|
1113
|
+
|
|
1114
|
+
- review `progress.md`
|
|
1115
|
+
- review blocker queue
|
|
1116
|
+
- confirm any major priority shifts are documented
|
|
1117
|
+
|
|
1118
|
+
### 16.2 Tech lead playbook
|
|
1119
|
+
|
|
1120
|
+
#### Daily cadence
|
|
1121
|
+
|
|
1122
|
+
1. architecture and decomposition quality check
|
|
1123
|
+
2. stream boundary and ownership check
|
|
1124
|
+
3. blocker triage and re-sequencing decisions
|
|
1125
|
+
4. quality gate readiness checks
|
|
1126
|
+
|
|
1127
|
+
#### Stage-specific control points
|
|
1128
|
+
|
|
1129
|
+
- Planning: approve architecture tradeoffs, reversibility notes, and probe adequacy
|
|
1130
|
+
- Breakdown: validate dependency graph and conflict zones
|
|
1131
|
+
- Execution: enforce stream discipline and integration points
|
|
1132
|
+
- Quality: enforce test depth by risk tier
|
|
1133
|
+
- Merge: enforce closure criteria before approval
|
|
1134
|
+
|
|
1135
|
+
#### Weekly hygiene
|
|
1136
|
+
|
|
1137
|
+
- review reopen rate and root causes
|
|
1138
|
+
- review sync drift incidents
|
|
1139
|
+
- review context debt and decision log quality
|
|
1140
|
+
|
|
1141
|
+
### 16.3 Engineer / agent operator playbook
|
|
1142
|
+
|
|
1143
|
+
#### Daily cadence
|
|
1144
|
+
|
|
1145
|
+
1. pick dependency-safe task from ready queue
|
|
1146
|
+
2. execute within stream scope
|
|
1147
|
+
3. update evidence, status, and probe findings continuously when applicable
|
|
1148
|
+
4. run required quality checks before handoff
|
|
1149
|
+
|
|
1150
|
+
#### Stage-specific control points
|
|
1151
|
+
|
|
1152
|
+
- Start: verify task is truly ready
|
|
1153
|
+
- During execution: escalate conflicts early
|
|
1154
|
+
- Before review: verify acceptance and evidence completeness
|
|
1155
|
+
- Before close: verify sync and quality parity
|
|
1156
|
+
|
|
1157
|
+
#### Non-negotiable behavior
|
|
1158
|
+
|
|
1159
|
+
- do not start blocked work as if it were ready
|
|
1160
|
+
- do not close without evidence
|
|
1161
|
+
- do not bypass required gates silently
|
|
1162
|
+
|
|
1163
|
+
---
|
|
1164
|
+
|
|
1165
|
+
## 17) Templates and operational checklists
|
|
1166
|
+
|
|
1167
|
+
### 17.1 Spec template (`spec.md`)
|
|
1168
|
+
|
|
1169
|
+
```markdown
|
|
1170
|
+
---
|
|
1171
|
+
name: <project-name>
|
|
1172
|
+
slug: <kebab-case>
|
|
1173
|
+
owner: <person-or-team>
|
|
1174
|
+
status: draft
|
|
1175
|
+
created: <ISO8601 UTC>
|
|
1176
|
+
updated: <ISO8601 UTC>
|
|
1177
|
+
outcome: <measurable target>
|
|
1178
|
+
uncertainty: <low|medium|high>
|
|
1179
|
+
probe_required: <true|false>
|
|
1180
|
+
probe_status: <pending|skipped|completed>
|
|
1181
|
+
---
|
|
1182
|
+
|
|
1183
|
+
# Spec: <project-name>
|
|
1184
|
+
|
|
1185
|
+
## Executive Summary
|
|
1186
|
+
|
|
1187
|
+
## Problem and Users
|
|
1188
|
+
|
|
1189
|
+
## Outcome and Success Metrics
|
|
1190
|
+
|
|
1191
|
+
## Scope
|
|
1192
|
+
### In Scope
|
|
1193
|
+
### Out of Scope
|
|
1194
|
+
|
|
1195
|
+
## Functional Requirements
|
|
1196
|
+
|
|
1197
|
+
## Non-Functional Requirements
|
|
1198
|
+
|
|
1199
|
+
## Hypotheses and Unknowns
|
|
1200
|
+
|
|
1201
|
+
## Touchpoints to Exercise
|
|
1202
|
+
|
|
1203
|
+
## Probe Findings
|
|
1204
|
+
|
|
1205
|
+
## Footguns Discovered
|
|
1206
|
+
|
|
1207
|
+
## Remaining Unknowns
|
|
1208
|
+
|
|
1209
|
+
## Dependencies
|
|
1210
|
+
|
|
1211
|
+
## Approval Notes
|
|
1212
|
+
```
|
|
1213
|
+
|
|
1214
|
+
### 17.2 Delivery plan template (`plan.md`)
|
|
1215
|
+
|
|
1216
|
+
```markdown
|
|
1217
|
+
---
|
|
1218
|
+
name: <project-name>
|
|
1219
|
+
status: planned
|
|
1220
|
+
lead: <person>
|
|
1221
|
+
created: <ISO8601 UTC>
|
|
1222
|
+
updated: <ISO8601 UTC>
|
|
1223
|
+
linear_project_id:
|
|
1224
|
+
risk_level: <low|medium|high>
|
|
1225
|
+
spec_status_at_plan_time: <approved|active>
|
|
1226
|
+
---
|
|
1227
|
+
|
|
1228
|
+
# Delivery Plan: <project-name>
|
|
1229
|
+
|
|
1230
|
+
## What Changed After Probe
|
|
1231
|
+
|
|
1232
|
+
## Architecture Decisions
|
|
1233
|
+
|
|
1234
|
+
## Probe-Driven Architecture Changes
|
|
1235
|
+
|
|
1236
|
+
## Workstream Design
|
|
1237
|
+
|
|
1238
|
+
## Milestone Strategy
|
|
1239
|
+
|
|
1240
|
+
## Rollout Strategy
|
|
1241
|
+
|
|
1242
|
+
## Test Strategy
|
|
1243
|
+
|
|
1244
|
+
## Rollback Strategy
|
|
1245
|
+
|
|
1246
|
+
## Remaining Delivery Risks
|
|
1247
|
+
```
|
|
1248
|
+
|
|
1249
|
+
### 17.3 Workstream template
|
|
1250
|
+
|
|
1251
|
+
```markdown
|
|
1252
|
+
---
|
|
1253
|
+
name: WS-A API Foundation
|
|
1254
|
+
owner: backend-team
|
|
1255
|
+
status: planned
|
|
1256
|
+
created: <ISO8601 UTC>
|
|
1257
|
+
updated: <ISO8601 UTC>
|
|
1258
|
+
---
|
|
1259
|
+
|
|
1260
|
+
# Workstream: WS-A API Foundation
|
|
1261
|
+
|
|
1262
|
+
## Objective
|
|
1263
|
+
|
|
1264
|
+
## Owned Files/Areas
|
|
1265
|
+
|
|
1266
|
+
## Dependencies
|
|
1267
|
+
|
|
1268
|
+
## Risks
|
|
1269
|
+
|
|
1270
|
+
## Handoff Criteria
|
|
1271
|
+
```
|
|
1272
|
+
|
|
1273
|
+
### 17.4 Task template
|
|
1274
|
+
|
|
1275
|
+
```markdown
|
|
1276
|
+
---
|
|
1277
|
+
id: T-001
|
|
1278
|
+
name: <task-title>
|
|
1279
|
+
status: ready
|
|
1280
|
+
created: <ISO8601 UTC>
|
|
1281
|
+
updated: <ISO8601 UTC>
|
|
1282
|
+
linear_issue_id:
|
|
1283
|
+
github_issue:
|
|
1284
|
+
github_pr:
|
|
1285
|
+
depends_on: []
|
|
1286
|
+
conflicts_with: []
|
|
1287
|
+
parallel: true
|
|
1288
|
+
priority: medium
|
|
1289
|
+
estimate: M
|
|
1290
|
+
---
|
|
1291
|
+
|
|
1292
|
+
# Task: <task-title>
|
|
1293
|
+
|
|
1294
|
+
## Description
|
|
1295
|
+
|
|
1296
|
+
## Acceptance Criteria
|
|
1297
|
+
- [ ]
|
|
1298
|
+
|
|
1299
|
+
## Technical Notes
|
|
1300
|
+
|
|
1301
|
+
## Definition of Done
|
|
1302
|
+
- [ ] Implementation complete
|
|
1303
|
+
- [ ] Tests pass
|
|
1304
|
+
- [ ] Review complete
|
|
1305
|
+
- [ ] Docs updated
|
|
1306
|
+
|
|
1307
|
+
## Evidence Log
|
|
1308
|
+
- <date>: <evidence>
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1311
|
+
### 17.5 Progress update template
|
|
1312
|
+
|
|
1313
|
+
```markdown
|
|
1314
|
+
---
|
|
1315
|
+
timestamp: <ISO8601 UTC>
|
|
1316
|
+
status: in-progress|blocked|review
|
|
1317
|
+
task: <task-id>
|
|
1318
|
+
stream: <stream-id>
|
|
1319
|
+
---
|
|
1320
|
+
|
|
1321
|
+
# Progress Update
|
|
1322
|
+
|
|
1323
|
+
## Completed
|
|
1324
|
+
-
|
|
1325
|
+
|
|
1326
|
+
## In Progress
|
|
1327
|
+
-
|
|
1328
|
+
|
|
1329
|
+
## Blockers
|
|
1330
|
+
- None / <blocker>
|
|
1331
|
+
|
|
1332
|
+
## Next Actions
|
|
1333
|
+
-
|
|
1334
|
+
```
|
|
1335
|
+
|
|
1336
|
+
### 17.6 Completion comment template
|
|
1337
|
+
|
|
1338
|
+
```markdown
|
|
1339
|
+
# Completion Summary
|
|
1340
|
+
|
|
1341
|
+
## Acceptance Criteria
|
|
1342
|
+
- ✅
|
|
1343
|
+
- ✅
|
|
1344
|
+
|
|
1345
|
+
## Deliverables
|
|
1346
|
+
-
|
|
1347
|
+
|
|
1348
|
+
## Quality Evidence
|
|
1349
|
+
- Unit tests: ✅
|
|
1350
|
+
- Integration tests: ✅
|
|
1351
|
+
- GUI tests: ✅/N/A
|
|
1352
|
+
|
|
1353
|
+
## Notes
|
|
1354
|
+
-
|
|
1355
|
+
```
|
|
1356
|
+
|
|
1357
|
+
### 17.7 Operational checklists
|
|
1358
|
+
|
|
1359
|
+
#### Decomposition checklist
|
|
1360
|
+
|
|
1361
|
+
- [ ] each task is atomic
|
|
1362
|
+
- [ ] each task has owner and estimate
|
|
1363
|
+
- [ ] dependency graph acyclic
|
|
1364
|
+
- [ ] conflict hotspots explicit
|
|
1365
|
+
- [ ] stream ownership boundaries clear
|
|
1366
|
+
|
|
1367
|
+
#### Sync checklist
|
|
1368
|
+
|
|
1369
|
+
- [ ] all active tasks mapped
|
|
1370
|
+
- [ ] status parity verified
|
|
1371
|
+
- [ ] dependency parity verified
|
|
1372
|
+
- [ ] orphan drift check complete
|
|
1373
|
+
|
|
1374
|
+
#### Closeout checklist
|
|
1375
|
+
|
|
1376
|
+
- [ ] required tasks resolved
|
|
1377
|
+
- [ ] quality gates passed
|
|
1378
|
+
- [ ] evidence complete
|
|
1379
|
+
- [ ] retrospective updated
|
|
1380
|
+
|
|
1381
|
+
---
|
|
1382
|
+
|
|
1383
|
+
## 18) Migration playbook (existing Delano repos)
|
|
1384
|
+
|
|
1385
|
+
This section covers migration from older layouts such as:
|
|
1386
|
+
|
|
1387
|
+
- `.project/prds/`
|
|
1388
|
+
- `.project/epics/<name>/epic.md`
|
|
1389
|
+
- numbered task files under epic folders
|
|
1390
|
+
|
|
1391
|
+
### 18.1 Migration goals
|
|
1392
|
+
|
|
1393
|
+
- preserve historical artifacts
|
|
1394
|
+
- avoid destructive restructuring
|
|
1395
|
+
- establish new canonical path for future work
|
|
1396
|
+
|
|
1397
|
+
### 18.2 Non-destructive migration strategy
|
|
1398
|
+
|
|
1399
|
+
1. keep existing folders intact
|
|
1400
|
+
2. create new canonical structure under `.project/projects/<slug>/`
|
|
1401
|
+
3. normalize runtime references so `.agents` is canonical and `.claude` remains compatibility-only
|
|
1402
|
+
4. map old PRD/Epic/Task artifacts into Spec/Plan/Task contracts
|
|
1403
|
+
5. maintain old-to-new references in a migration index file
|
|
1404
|
+
|
|
1405
|
+
### 18.3 Step-by-step migration
|
|
1406
|
+
|
|
1407
|
+
#### Step 1: inventory
|
|
1408
|
+
|
|
1409
|
+
- list all PRDs and epics
|
|
1410
|
+
- capture active statuses and linked issue ids
|
|
1411
|
+
|
|
1412
|
+
#### Step 2: create new project folders
|
|
1413
|
+
|
|
1414
|
+
For each active epic scope:
|
|
1415
|
+
|
|
1416
|
+
- create `.project/projects/<slug>/`
|
|
1417
|
+
- create `spec.md`, `plan.md`, `tasks/`, `workstreams/`, `updates/`
|
|
1418
|
+
|
|
1419
|
+
#### Step 3: map legacy artifacts
|
|
1420
|
+
|
|
1421
|
+
- legacy PRD content -> `spec.md` with uncertainty and probe fields populated
|
|
1422
|
+
- legacy epic content -> `plan.md` with probe delta and risk fields populated
|
|
1423
|
+
- legacy task files -> `tasks/*.md` with preserved IDs and links
|
|
1424
|
+
|
|
1425
|
+
#### Step 4: map statuses
|
|
1426
|
+
|
|
1427
|
+
- `open` -> `backlog` or `ready` depending on readiness
|
|
1428
|
+
- `in-progress` -> `in-progress`
|
|
1429
|
+
- `closed` -> `done`
|
|
1430
|
+
|
|
1431
|
+
#### Step 5: mapping registry update
|
|
1432
|
+
|
|
1433
|
+
Add migration mapping to:
|
|
1434
|
+
|
|
1435
|
+
- `.project/registry/linear-map.json`
|
|
1436
|
+
- `.project/registry/migration-map.json` (recommended)
|
|
1437
|
+
|
|
1438
|
+
#### Step 6: validation and dry-run sync
|
|
1439
|
+
|
|
1440
|
+
Run `bash .agents/scripts/pm/validate.sh` and a dry-run sync before mutating remote state.
|
|
1441
|
+
|
|
1442
|
+
### 18.4 Migration acceptance criteria
|
|
1443
|
+
|
|
1444
|
+
- no active task is lost
|
|
1445
|
+
- all active mappings preserved
|
|
1446
|
+
- status parity maintained
|
|
1447
|
+
- old artifacts remain readable for audit
|
|
1448
|
+
|
|
1449
|
+
### 18.5 Sunset policy for legacy folders
|
|
1450
|
+
|
|
1451
|
+
After two stable cycles:
|
|
1452
|
+
|
|
1453
|
+
- mark legacy folders as archived-readonly
|
|
1454
|
+
- keep pointers to canonical project folders
|
|
1455
|
+
- do not delete legacy content without explicit decision
|
|
1456
|
+
|
|
1457
|
+
---
|
|
1458
|
+
|
|
1459
|
+
## 19) Adoption roadmap and maturity gates
|
|
1460
|
+
|
|
1461
|
+
### Phase 1: Contract hardening (1-2 weeks)
|
|
1462
|
+
|
|
1463
|
+
- finalize schemas and validation checks
|
|
1464
|
+
- enforce frontmatter and dependency rules
|
|
1465
|
+
|
|
1466
|
+
Gate:
|
|
1467
|
+
|
|
1468
|
+
- zero critical contract violations on active work
|
|
1469
|
+
|
|
1470
|
+
### Phase 2: Sync reliability (1-2 weeks)
|
|
1471
|
+
|
|
1472
|
+
- operationalize idempotent sync cycle
|
|
1473
|
+
- validate drift class handling
|
|
1474
|
+
|
|
1475
|
+
Gate:
|
|
1476
|
+
|
|
1477
|
+
- two end-to-end dry runs with no unresolved drift
|
|
1478
|
+
|
|
1479
|
+
### Phase 3: Parallel maturity (2-3 weeks)
|
|
1480
|
+
|
|
1481
|
+
- standardize stream contracts
|
|
1482
|
+
- validate conflict escalation workflow in real delivery
|
|
1483
|
+
|
|
1484
|
+
Gate:
|
|
1485
|
+
|
|
1486
|
+
- one multi-stream delivery completed without uncontrolled merge conflict
|
|
1487
|
+
|
|
1488
|
+
### Phase 4: Operational excellence (ongoing)
|
|
1489
|
+
|
|
1490
|
+
- tighten risk-based quality gates
|
|
1491
|
+
- add telemetry dashboards from logs
|
|
1492
|
+
- improve templates and scripts from retrospectives
|
|
1493
|
+
|
|
1494
|
+
Gate:
|
|
1495
|
+
|
|
1496
|
+
- measurable reduction in reopen rate and sync incidents over two cycles
|
|
1497
|
+
|
|
1498
|
+
---
|
|
1499
|
+
|
|
1500
|
+
## Final note
|
|
1501
|
+
|
|
1502
|
+
The architecture is mature enough to run.
|
|
1503
|
+
|
|
1504
|
+
Sustainable performance depends on execution discipline in four areas:
|
|
1505
|
+
|
|
1506
|
+
1. decomposition quality
|
|
1507
|
+
2. synchronization discipline
|
|
1508
|
+
3. evidence-backed closure
|
|
1509
|
+
4. regular context maintenance
|
|
1510
|
+
|
|
1511
|
+
When these remain strong, Delano can run fast across coding agents without losing control.
|