open-codev-workflow 0.1.0__py3-none-any.whl
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.
- codev_workflow/__init__.py +5 -0
- codev_workflow/__main__.py +4 -0
- codev_workflow/bundle/.agents/skills/build-change/SKILL.md +96 -0
- codev_workflow/bundle/.agents/skills/build-change/agents/openai.yaml +4 -0
- codev_workflow/bundle/.agents/skills/build-change/assets/implementation-plan.template.md +51 -0
- codev_workflow/bundle/.agents/skills/define-product/SKILL.md +79 -0
- codev_workflow/bundle/.agents/skills/define-product/agents/openai.yaml +4 -0
- codev_workflow/bundle/.agents/skills/define-product/assets/brief.template.md +50 -0
- codev_workflow/bundle/.agents/skills/design-solution/SKILL.md +75 -0
- codev_workflow/bundle/.agents/skills/design-solution/agents/openai.yaml +4 -0
- codev_workflow/bundle/.agents/skills/design-solution/assets/decision.template.md +26 -0
- codev_workflow/bundle/.agents/skills/design-solution/assets/design.template.md +76 -0
- codev_workflow/bundle/.agents/skills/launch-product/SKILL.md +66 -0
- codev_workflow/bundle/.agents/skills/launch-product/agents/openai.yaml +4 -0
- codev_workflow/bundle/.agents/skills/launch-product/assets/launch-plan.template.md +48 -0
- codev_workflow/bundle/.agents/skills/plan-delivery/SKILL.md +140 -0
- codev_workflow/bundle/.agents/skills/plan-delivery/agents/openai.yaml +4 -0
- codev_workflow/bundle/.agents/skills/plan-delivery/assets/delivery-plan.template.md +41 -0
- codev_workflow/bundle/.agents/skills/review-change/SKILL.md +48 -0
- codev_workflow/bundle/.agents/skills/review-change/agents/openai.yaml +4 -0
- codev_workflow/bundle/.agents/skills/specify-project/SKILL.md +205 -0
- codev_workflow/bundle/.agents/skills/specify-project/agents/openai.yaml +4 -0
- codev_workflow/bundle/.agents/skills/specify-project/assets/specification.template.md +151 -0
- codev_workflow/bundle/.agents/skills/specify-project/references/interview-coverage.md +303 -0
- codev_workflow/bundle/.agents/skills/specify-project/scripts/validate_specification.py +143 -0
- codev_workflow/bundle/.opencode/agents/builder.md +54 -0
- codev_workflow/bundle/.opencode/agents/orchestrator.md +72 -0
- codev_workflow/bundle/.opencode/agents/reviewer.md +35 -0
- codev_workflow/bundle/AGENTS.md +23 -0
- codev_workflow/bundle/docs/AI-WORKFLOW-PROMPTS.md +318 -0
- codev_workflow/bundle/docs/WORKFLOW-COOKBOOK.md +419 -0
- codev_workflow/bundle/docs/WORKFLOW-HUMAN.md +212 -0
- codev_workflow/bundle/docs/for-ai/WORKFLOW-AGENTS.md +171 -0
- codev_workflow/bundle/docs/handbooks/IDEA-TO-PRODUCTION-HANDBOOK.md +1190 -0
- codev_workflow/bundle/docs/handbooks/LANGUAGE-AGNOSTIC-PROJECT-HANDBOOK.md +745 -0
- codev_workflow/bundle/docs/handbooks/PYTHON-PROJECT-HANDBOOK.md +960 -0
- codev_workflow/bundle/evals/development-workflow/scenarios.json +132 -0
- codev_workflow/bundle/scripts/evaluate-development-workflow.py +352 -0
- codev_workflow/bundle/scripts/validate-development-workflow.py +213 -0
- codev_workflow/cli.py +140 -0
- codev_workflow/installer.py +891 -0
- open_codev_workflow-0.1.0.dist-info/METADATA +150 -0
- open_codev_workflow-0.1.0.dist-info/RECORD +47 -0
- open_codev_workflow-0.1.0.dist-info/WHEEL +5 -0
- open_codev_workflow-0.1.0.dist-info/entry_points.txt +2 -0
- open_codev_workflow-0.1.0.dist-info/licenses/LICENSE +28 -0
- open_codev_workflow-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,1190 @@
|
|
|
1
|
+
# Idea-to-Production Handbook for Human-AI Software Development
|
|
2
|
+
|
|
3
|
+
**Audience:** beginners who need a guided path, working developers who need an
|
|
4
|
+
operating model, and senior engineers or managers establishing a multi-developer
|
|
5
|
+
delivery system
|
|
6
|
+
|
|
7
|
+
**Purpose:** explain exactly how to turn an idea into a maintained production
|
|
8
|
+
product while humans and AI collaborate closely, without relying on unattended
|
|
9
|
+
coding loops or replacing engineering judgment
|
|
10
|
+
|
|
11
|
+
**Standard:** this handbook combines six lifecycle skills and an optional guided
|
|
12
|
+
project-specification facade with publicly documented Google engineering
|
|
13
|
+
practices: clear problem definition,
|
|
14
|
+
design review for consequential systems, canonical documentation, explicit
|
|
15
|
+
ownership, small change lists, independent review, continuous integration,
|
|
16
|
+
progressive delivery, and learning from production. Internal Google or DeepMind
|
|
17
|
+
processes that are not public are not presented as facts.
|
|
18
|
+
|
|
19
|
+
## 1. The operating model
|
|
20
|
+
|
|
21
|
+
Developers interact with one four-step workflow: **Understand**, **Build**,
|
|
22
|
+
**Review**, and **Ship**. They describe the work normally; the AI selects the
|
|
23
|
+
applicable skills. Product definition, technical design, and delivery planning
|
|
24
|
+
deepen Understand only when uncertainty, risk, or team coordination requires
|
|
25
|
+
them.
|
|
26
|
+
|
|
27
|
+
Software delivery is a learning loop, not a document assembly line:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
Observe a problem
|
|
31
|
+
-> define the outcome
|
|
32
|
+
-> design the smallest safe solution
|
|
33
|
+
-> plan the next useful milestone
|
|
34
|
+
-> build and review small changes
|
|
35
|
+
-> release gradually
|
|
36
|
+
-> measure real behavior
|
|
37
|
+
-> keep, improve, or stop
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The lifecycle skills guide the parts of that loop. A greenfield project can use
|
|
41
|
+
the optional facade shown on the left:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
Idea
|
|
45
|
+
-> specify-project Guided product frame + design -> SPECIFICATION.md
|
|
46
|
+
OR
|
|
47
|
+
-> define-product Modular why, users, outcome, scope, success
|
|
48
|
+
-> design-solution Modular architecture, interfaces, trade-offs, risk
|
|
49
|
+
-> plan-delivery Milestones, ready work, owners, dependencies
|
|
50
|
+
-> build-change Inspect, plan, implement, and validate one item
|
|
51
|
+
-> review-change Independently evaluate the exact change
|
|
52
|
+
-> launch-product Prove readiness, stage exposure, learn, and clean up
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The facade does not introduce a seventh lifecycle stage. It combines product
|
|
56
|
+
definition and solution design into one continuous interview and one canonical
|
|
57
|
+
artifact while keeping their human acceptance decisions separate. None of these
|
|
58
|
+
are mandatory documents for every edit; invoke the relevant forms of thinking in
|
|
59
|
+
proportion to uncertainty and consequence.
|
|
60
|
+
|
|
61
|
+
## 2. Principles that do not change with team size
|
|
62
|
+
|
|
63
|
+
1. **Start with a user problem.** Output is not the outcome; code is not proof of value.
|
|
64
|
+
2. **Use one source of truth.** Each fact has one canonical owner and location.
|
|
65
|
+
3. **Make risk visible early.** Security, privacy, data, APIs, money, and irreversible
|
|
66
|
+
operations are design concerns, even when their diffs are small.
|
|
67
|
+
4. **Keep decisions human.** AI may recommend; accountable people accept product,
|
|
68
|
+
architectural, risk, merge, and release decisions.
|
|
69
|
+
5. **Inspect before proposing.** Plans must cite the actual repository and system.
|
|
70
|
+
6. **Work in small vertical slices.** Prefer usable, testable behavior over layers
|
|
71
|
+
completed in isolation.
|
|
72
|
+
7. **Test the claim, not the implementation.** Evidence must connect to acceptance
|
|
73
|
+
behavior and realistic failure modes.
|
|
74
|
+
8. **Separate author and reviewer.** The implementing agent cannot approve itself.
|
|
75
|
+
9. **Keep the main branch healthy.** Integrate continuously and restore green quickly.
|
|
76
|
+
10. **Release is a controlled experiment.** Observe defined signals and be ready to stop.
|
|
77
|
+
11. **Operate what you ship.** Ownership continues through incidents, maintenance,
|
|
78
|
+
deprecation, and deletion.
|
|
79
|
+
12. **Improve the system from evidence.** Add process only for an observed failure mode.
|
|
80
|
+
|
|
81
|
+
## 3. Select the lightest safe path
|
|
82
|
+
|
|
83
|
+
### 3.1 Quick change
|
|
84
|
+
|
|
85
|
+
Use for a local, reversible, well-understood fix or refactor with no material
|
|
86
|
+
contract, data, security, privacy, or operational decision.
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
Issue -> build-change -> human review -> merge -> ordinary release
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Minimum record: problem, acceptance behavior, non-goal, risk, diff, test evidence,
|
|
93
|
+
and review.
|
|
94
|
+
|
|
95
|
+
### 3.2 Feature
|
|
96
|
+
|
|
97
|
+
Use for bounded user-visible behavior or a change spanning several files or
|
|
98
|
+
components.
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
define-product -> optional design-solution
|
|
102
|
+
-> one or more build-change/review-change loops
|
|
103
|
+
-> proportionate launch
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Create a design when the feature introduces a meaningful technical decision,
|
|
107
|
+
shared interface, migration, new dependency, permission, sensitive data,
|
|
108
|
+
reliability burden, or difficult rollback.
|
|
109
|
+
|
|
110
|
+
### 3.3 Product or program
|
|
111
|
+
|
|
112
|
+
Use for a new product, cross-team system, platform, significant migration, or
|
|
113
|
+
high-consequence work.
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
Guided: specify-project -> plan-delivery
|
|
117
|
+
OR
|
|
118
|
+
Modular: define-product -> design-solution -> plan-delivery
|
|
119
|
+
-> repeated build-change/review-change loops
|
|
120
|
+
-> launch-product -> post-launch learning
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Choose `specify-project` when a greenfield or whole-product blueprint benefits
|
|
124
|
+
from a long, recommendation-led interview and one `SPECIFICATION.md`. Choose the
|
|
125
|
+
modular path when product and design have different owners or review cycles, or
|
|
126
|
+
when an existing product already has a canonical brief and architecture.
|
|
127
|
+
|
|
128
|
+
Plan the entire product at milestone resolution, but decompose only the next
|
|
129
|
+
milestone into ready work. This rolling-wave approach accommodates discovery
|
|
130
|
+
without abandoning accountability.
|
|
131
|
+
|
|
132
|
+
### 3.4 Risk overrides size
|
|
133
|
+
|
|
134
|
+
Require explicit design and independent specialist review for changes involving:
|
|
135
|
+
|
|
136
|
+
- authentication, authorization, identity, cryptography, or secrets;
|
|
137
|
+
- personal, confidential, regulated, or high-value data;
|
|
138
|
+
- payments, billing, entitlements, quotas, or legal commitments;
|
|
139
|
+
- persistent schemas, migrations, deletion, or destructive operations;
|
|
140
|
+
- public APIs, protocols, model formats, or compatibility guarantees;
|
|
141
|
+
- untrusted code/content execution or powerful AI tool access;
|
|
142
|
+
- material availability, safety, compliance, or reputation risk.
|
|
143
|
+
|
|
144
|
+
A three-line permission change can deserve more rigor than a 500-line internal
|
|
145
|
+
refactor.
|
|
146
|
+
|
|
147
|
+
## 4. Roles and authority
|
|
148
|
+
|
|
149
|
+
One person may hold several roles, but the responsibilities remain distinct.
|
|
150
|
+
|
|
151
|
+
| Role | Accountable for | May delegate to AI | Must remain human-controlled |
|
|
152
|
+
|---|---|---|---|
|
|
153
|
+
| Product owner | problem, priority, scope, success | research synthesis, draft criteria | accepted outcome and scope |
|
|
154
|
+
| Tech lead/design owner | architecture, contracts, technical risk | repository analysis, options, prototypes | accepted material trade-offs |
|
|
155
|
+
| Work-item owner | delivery of one bounded change | implementation and validation | scope changes and final handoff |
|
|
156
|
+
| Reviewer | independent code-health judgment | second-pass analysis | approval or required changes |
|
|
157
|
+
| Security/privacy specialist | domain risk and policy | evidence gathering, threat prompts | risk acceptance/exceptions |
|
|
158
|
+
| Release owner | readiness and exposure | checklist, monitoring summary | deploy/expand/rollback authorization |
|
|
159
|
+
| Operator | production health and incidents | diagnosis, correlation, draft runbook | consequential remediation authority |
|
|
160
|
+
|
|
161
|
+
For multi-developer work, name the product owner, design owner, component owners,
|
|
162
|
+
and release owner. Name an integration owner only where several streams meet.
|
|
163
|
+
|
|
164
|
+
For solo work, write down which role you are playing and deliberately switch
|
|
165
|
+
contexts. A fresh AI review is useful, but it is not a substitute for specialist
|
|
166
|
+
human review when the consequences require one.
|
|
167
|
+
|
|
168
|
+
## 5. Stage 0: discover and frame the opportunity
|
|
169
|
+
|
|
170
|
+
### Goal
|
|
171
|
+
|
|
172
|
+
Decide whether a real problem is worth solving before optimizing a solution.
|
|
173
|
+
|
|
174
|
+
### Inputs
|
|
175
|
+
|
|
176
|
+
- user conversations, support cases, field observation, or workflow recordings;
|
|
177
|
+
- product analytics and reliability data;
|
|
178
|
+
- organizational strategy and constraints;
|
|
179
|
+
- competitor or alternative analysis;
|
|
180
|
+
- legal, security, privacy, accessibility, and operational context.
|
|
181
|
+
|
|
182
|
+
### Procedure
|
|
183
|
+
|
|
184
|
+
1. Write the observed problem without naming a solution.
|
|
185
|
+
2. Identify the affected user and the situation in which the problem occurs.
|
|
186
|
+
3. Record frequency, severity, and current workaround.
|
|
187
|
+
4. State the desired change in user or system behavior.
|
|
188
|
+
5. Identify a measurable leading indicator and a durable outcome measure.
|
|
189
|
+
6. List constraints and risks that could invalidate the idea.
|
|
190
|
+
7. Distinguish evidence from assumption.
|
|
191
|
+
8. Select the cheapest test that could disprove the most important assumption.
|
|
192
|
+
|
|
193
|
+
### AI use
|
|
194
|
+
|
|
195
|
+
AI can cluster interview notes, identify contradictions, draft alternative problem
|
|
196
|
+
statements, enumerate stakeholders, and propose testable hypotheses. Provide
|
|
197
|
+
de-identified material and verify quotations or source claims. Do not let AI
|
|
198
|
+
invent user evidence.
|
|
199
|
+
|
|
200
|
+
### Exit criteria
|
|
201
|
+
|
|
202
|
+
- a specific user and problem are supported by evidence;
|
|
203
|
+
- the desired outcome can be observed;
|
|
204
|
+
- the next experiment or product-definition decision has an owner;
|
|
205
|
+
- a stop condition exists for an idea that is not supported.
|
|
206
|
+
|
|
207
|
+
## 6. Stage 1: define the project, product, or feature
|
|
208
|
+
|
|
209
|
+
Choose one artifact strategy before writing. Never create a combined
|
|
210
|
+
specification plus a brief and design that repeat the same facts.
|
|
211
|
+
|
|
212
|
+
### 6.1 Guided greenfield specification
|
|
213
|
+
|
|
214
|
+
Invoke `specify-project` for a new product, whole-system redesign, or explicit
|
|
215
|
+
request for a comprehensive `SPECIFICATION.md`. The skill is deliberately
|
|
216
|
+
conversational:
|
|
217
|
+
|
|
218
|
+
- it inspects supplied material and an existing repository before asking for
|
|
219
|
+
discoverable facts;
|
|
220
|
+
- it asks exactly one targeted question per interview response;
|
|
221
|
+
- every question includes a recommended default and material trade-offs;
|
|
222
|
+
- it labels verified facts, accepted decisions, assumptions, and open items;
|
|
223
|
+
- it periodically summarizes progress without widening scope;
|
|
224
|
+
- it refuses to invent user evidence, numerical targets, scale, policy, or
|
|
225
|
+
architectural constraints.
|
|
226
|
+
|
|
227
|
+
The interview has two checkpoints:
|
|
228
|
+
|
|
229
|
+
1. **Product frame:** problem, evidence, users, outcomes, measures, guardrails,
|
|
230
|
+
scenarios, V1 scope, non-goals, constraints, and assumptions.
|
|
231
|
+
2. **Technical design:** components, owners, data and state, contracts, clients,
|
|
232
|
+
security/privacy, failure behavior, capacity, deployment, observability,
|
|
233
|
+
evaluation, compatibility, rollout, rollback, and alternatives.
|
|
234
|
+
|
|
235
|
+
The product frame must be accepted before detailed technical design. The overall
|
|
236
|
+
specification becomes Accepted only after both checkpoints, required specialist
|
|
237
|
+
reviews, closure of blocking decisions, a consistency review, and explicit human
|
|
238
|
+
acceptance of the exact file.
|
|
239
|
+
|
|
240
|
+
Use `SPECIFICATION.md` at the root of a single-product repository. In a monorepo
|
|
241
|
+
or multi-product repository, use `docs/product/<slug>/SPECIFICATION.md` or the
|
|
242
|
+
established convention. Git records revisions. The specification is durable and
|
|
243
|
+
maintained, not frozen forever.
|
|
244
|
+
|
|
245
|
+
It is complete enough for planning when all delivery-blocking decisions are
|
|
246
|
+
resolved and every remaining non-blocking unknown has an owner, evidence action,
|
|
247
|
+
and decision point. It intentionally contains no sprint plan, implementation
|
|
248
|
+
roadmap, task checklist, staffing allocation, or code.
|
|
249
|
+
|
|
250
|
+
After acceptance, continue directly to `plan-delivery` for multi-developer or
|
|
251
|
+
multi-milestone work, or `build-change` for one bounded first slice. Do not run a
|
|
252
|
+
separate `define-product` or `design-solution` pass unless the artifact strategy
|
|
253
|
+
is deliberately changed.
|
|
254
|
+
|
|
255
|
+
### 6.2 Modular product or feature definition
|
|
256
|
+
|
|
257
|
+
Invoke `define-product` when the idea needs to become an agreed brief. This skill
|
|
258
|
+
does not design the technical solution.
|
|
259
|
+
|
|
260
|
+
### 6.3 Build the brief
|
|
261
|
+
|
|
262
|
+
Create one canonical brief containing:
|
|
263
|
+
|
|
264
|
+
1. **Status and ownership:** Draft or Accepted, owner, reviewers, date.
|
|
265
|
+
2. **Problem:** current situation and evidence.
|
|
266
|
+
3. **Users:** primary users, affected non-users, and accessibility needs.
|
|
267
|
+
4. **Outcome:** the changed behavior or state, not shipped components.
|
|
268
|
+
5. **Success measures:** baseline, target, measurement source, time window, owner.
|
|
269
|
+
6. **Guardrails:** safety, reliability, privacy, cost, and quality limits.
|
|
270
|
+
7. **In scope:** capabilities needed for the outcome.
|
|
271
|
+
8. **Non-goals:** plausible work explicitly excluded.
|
|
272
|
+
9. **Acceptance scenarios:** observable Given/When/Then behavior or equivalent.
|
|
273
|
+
10. **Constraints:** deadline, policy, platform, budget, compatibility, operations.
|
|
274
|
+
11. **Assumptions and unknowns:** with validation method and owner.
|
|
275
|
+
12. **Workflow path:** quick change, feature, or product, with risk rationale.
|
|
276
|
+
|
|
277
|
+
### 6.4 Write useful success measures
|
|
278
|
+
|
|
279
|
+
Use this form:
|
|
280
|
+
|
|
281
|
+
```text
|
|
282
|
+
Measure: percentage of invited users who complete setup unaided
|
|
283
|
+
Baseline: 41% over the previous 28 days
|
|
284
|
+
Target: at least 65%
|
|
285
|
+
Guardrail: support contacts do not rise by more than 5%
|
|
286
|
+
Window: 14 days after each cohort receives the feature
|
|
287
|
+
Source: product analytics dashboard <link>
|
|
288
|
+
Owner: product owner
|
|
289
|
+
Decision: expand if target and guardrail hold; investigate or stop otherwise
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
"Launch the dashboard" is output. "Reduce median investigation time from 20 to
|
|
293
|
+
8 minutes without increasing incorrect decisions" is an outcome.
|
|
294
|
+
|
|
295
|
+
### 6.5 Review the brief
|
|
296
|
+
|
|
297
|
+
Ask reviewers to find ambiguity, not polish prose. Resolve:
|
|
298
|
+
|
|
299
|
+
- conflicting acceptance scenarios;
|
|
300
|
+
- measures that cannot be collected;
|
|
301
|
+
- missing user groups or abuse cases;
|
|
302
|
+
- hidden migration or compatibility obligations;
|
|
303
|
+
- scope that is too broad for one useful milestone;
|
|
304
|
+
- assumptions being presented as facts.
|
|
305
|
+
|
|
306
|
+
The product owner marks the brief Accepted. Acceptance authorizes design or
|
|
307
|
+
implementation exploration, not release.
|
|
308
|
+
|
|
309
|
+
### 6.6 Solo versus team
|
|
310
|
+
|
|
311
|
+
**Solo:** time-box the brief to one page for normal work. Ask AI to challenge the
|
|
312
|
+
problem statement and non-goals. Obtain domain input when the problem is not your
|
|
313
|
+
own.
|
|
314
|
+
|
|
315
|
+
**Team:** review asynchronously first; meet only to resolve disputed choices.
|
|
316
|
+
Record the accepted outcome once. Link issues and designs to it rather than
|
|
317
|
+
copying the text.
|
|
318
|
+
|
|
319
|
+
## 7. Stage 2: design the solution
|
|
320
|
+
|
|
321
|
+
Invoke `design-solution` for a significant feature, product, migration, shared
|
|
322
|
+
contract, or high-risk change on the modular path. Skip it for an obvious local
|
|
323
|
+
change and when an accepted combined `SPECIFICATION.md` already contains the
|
|
324
|
+
technical blueprint.
|
|
325
|
+
|
|
326
|
+
### 7.1 Begin with repository and system inspection
|
|
327
|
+
|
|
328
|
+
Before proposing architecture, the developer and AI inspect:
|
|
329
|
+
|
|
330
|
+
- current components, entry points, and dependency boundaries;
|
|
331
|
+
- existing interfaces, schemas, migrations, and compatibility policy;
|
|
332
|
+
- test layout, build commands, CI, deployment, and feature flags;
|
|
333
|
+
- ownership, adjacent active work, and previous decisions;
|
|
334
|
+
- production constraints, SLOs, incident history, and capacity signals;
|
|
335
|
+
- security/privacy classifications and trust boundaries.
|
|
336
|
+
|
|
337
|
+
Label findings as **verified**, **inferred**, or **unknown**. Link verified claims
|
|
338
|
+
to code, configuration, dashboards, issues, or authoritative documentation.
|
|
339
|
+
|
|
340
|
+
### 7.2 Develop alternatives
|
|
341
|
+
|
|
342
|
+
For each credible option, compare:
|
|
343
|
+
|
|
344
|
+
- how it satisfies the outcome and acceptance scenarios;
|
|
345
|
+
- component and ownership changes;
|
|
346
|
+
- public and internal interfaces;
|
|
347
|
+
- data lifecycle and migration;
|
|
348
|
+
- security, privacy, abuse, and compliance effects;
|
|
349
|
+
- failure behavior, reliability, capacity, and observability;
|
|
350
|
+
- testability and evaluator independence;
|
|
351
|
+
- rollout, compatibility, and rollback;
|
|
352
|
+
- implementation and long-term maintenance cost;
|
|
353
|
+
- reversibility and unresolved assumptions.
|
|
354
|
+
|
|
355
|
+
Include "do nothing", configuration/process change, and reuse of an existing
|
|
356
|
+
capability when credible. Do not stage a fake comparison in which only one
|
|
357
|
+
option is viable.
|
|
358
|
+
|
|
359
|
+
### 7.3 Write the design
|
|
360
|
+
|
|
361
|
+
The accepted design normally contains:
|
|
362
|
+
|
|
363
|
+
1. context and links to the accepted brief;
|
|
364
|
+
2. goals and non-goals inherited from the brief;
|
|
365
|
+
3. current-system facts;
|
|
366
|
+
4. proposed component boundaries and owners;
|
|
367
|
+
5. request, event, and data flow;
|
|
368
|
+
6. interfaces, schemas, validation, and error semantics;
|
|
369
|
+
7. dependency choices;
|
|
370
|
+
8. security, privacy, abuse, and compliance analysis;
|
|
371
|
+
9. reliability, capacity, concurrency, and resource behavior;
|
|
372
|
+
10. observability and operational ownership;
|
|
373
|
+
11. test and evaluation strategy;
|
|
374
|
+
12. migration, compatibility, rollout, and rollback;
|
|
375
|
+
13. alternatives and reasons for rejection;
|
|
376
|
+
14. unresolved questions, decisions, owners, and dates.
|
|
377
|
+
|
|
378
|
+
Use diagrams where relationships are hard to express linearly. A diagram must
|
|
379
|
+
have labels, trust or ownership boundaries where relevant, and prose explaining
|
|
380
|
+
the important behavior.
|
|
381
|
+
|
|
382
|
+
### 7.4 Review and accept the design
|
|
383
|
+
|
|
384
|
+
Invite the smallest set of people who can find consequential errors: component
|
|
385
|
+
owners and, when applicable, security, privacy, data, storage, reliability,
|
|
386
|
+
accessibility, localization, or legal specialists.
|
|
387
|
+
|
|
388
|
+
Reviewers answer:
|
|
389
|
+
|
|
390
|
+
- Can the system meet the accepted behavior?
|
|
391
|
+
- Are component ownership and dependency direction coherent?
|
|
392
|
+
- Are interfaces precise enough for independent implementation?
|
|
393
|
+
- Does failure remain bounded and observable?
|
|
394
|
+
- Can data and APIs migrate without trapping consumers?
|
|
395
|
+
- Can the release be stopped or reversed safely?
|
|
396
|
+
- Is the design simpler than the problem warrants?
|
|
397
|
+
|
|
398
|
+
The design owner records decisions and marks the document Accepted. Open
|
|
399
|
+
questions that change safety or interfaces must be closed before dependent work
|
|
400
|
+
is ready.
|
|
401
|
+
|
|
402
|
+
### 7.5 AI-specific design controls
|
|
403
|
+
|
|
404
|
+
If the product itself uses an AI model, specify:
|
|
405
|
+
|
|
406
|
+
- model purpose, version policy, context sources, and allowed tools;
|
|
407
|
+
- data classification, retention, training use, and regional requirements;
|
|
408
|
+
- prompt-injection and untrusted-content boundaries;
|
|
409
|
+
- deterministic validation around model output;
|
|
410
|
+
- offline evaluation set and ownership;
|
|
411
|
+
- quality, safety, latency, availability, and cost thresholds;
|
|
412
|
+
- human escalation and fallback behavior;
|
|
413
|
+
- monitoring for regressions, drift, abuse, and unexpected tool use;
|
|
414
|
+
- rollback across prompt, model, retrieval corpus, tool, and application versions.
|
|
415
|
+
|
|
416
|
+
Never use "the model will handle it" as an interface or safety strategy.
|
|
417
|
+
|
|
418
|
+
## 8. Stage 3: plan delivery
|
|
419
|
+
|
|
420
|
+
Invoke `plan-delivery` after either the combined specification or the modular
|
|
421
|
+
brief and required design are accepted when work involves multiple developers,
|
|
422
|
+
multiple milestones, or significant coordination.
|
|
423
|
+
|
|
424
|
+
### 8.1 Define outcome-based milestones
|
|
425
|
+
|
|
426
|
+
A milestone proves an integrated capability, not completion of an organizational
|
|
427
|
+
layer.
|
|
428
|
+
|
|
429
|
+
Good:
|
|
430
|
+
|
|
431
|
+
```text
|
|
432
|
+
M1: An internal user can create, retrieve, and delete one test notification
|
|
433
|
+
preference through the real service boundary, with audit evidence.
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
Weak:
|
|
437
|
+
|
|
438
|
+
```text
|
|
439
|
+
M1: Backend complete.
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
For each milestone define:
|
|
443
|
+
|
|
444
|
+
- demonstrated behavior;
|
|
445
|
+
- entry and exit evidence;
|
|
446
|
+
- relevant success or guardrail signal;
|
|
447
|
+
- owner and expected review specialties;
|
|
448
|
+
- risks retired and assumptions tested;
|
|
449
|
+
- rollout scope, if any.
|
|
450
|
+
|
|
451
|
+
### 8.2 Create ready work items
|
|
452
|
+
|
|
453
|
+
Each item should be small enough for one owner and one focused pull request or a
|
|
454
|
+
short sequence of explicitly linked changes. It includes:
|
|
455
|
+
|
|
456
|
+
```text
|
|
457
|
+
Title
|
|
458
|
+
Outcome and user/system behavior
|
|
459
|
+
Acceptance scenarios
|
|
460
|
+
In scope / non-goals
|
|
461
|
+
Repository areas likely involved
|
|
462
|
+
Accepted interface or design links
|
|
463
|
+
Risk and required reviewers
|
|
464
|
+
Validation commands and expected evidence
|
|
465
|
+
Rollout/compatibility notes
|
|
466
|
+
Owner and independent reviewer
|
|
467
|
+
Blocked by / Integrates with / Lands after
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
An item is Ready when material behavior and interface decisions are accepted,
|
|
471
|
+
dependencies are available or mocked by an agreed contract, validation is
|
|
472
|
+
possible, and the owner can begin without guessing.
|
|
473
|
+
|
|
474
|
+
### 8.3 Manage dependencies simply
|
|
475
|
+
|
|
476
|
+
Use only the relation needed to change action:
|
|
477
|
+
|
|
478
|
+
- **Blocked by:** safe work cannot start.
|
|
479
|
+
- **Integrates with:** work can proceed against an accepted contract; name the
|
|
480
|
+
integration checkpoint and owner.
|
|
481
|
+
- **Lands after:** ordering matters for merge, migration, or release.
|
|
482
|
+
|
|
483
|
+
Avoid a second graph if the tracker already represents these relations.
|
|
484
|
+
|
|
485
|
+
### 8.4 Control work in progress
|
|
486
|
+
|
|
487
|
+
Default to one active implementation item per developer. Review and integration
|
|
488
|
+
capacity constrain throughput more often than idea supply. When blocked, help
|
|
489
|
+
clear the block or review another change rather than starting several items.
|
|
490
|
+
|
|
491
|
+
Reserve capacity for review, integration, defects, and operational work. A plan
|
|
492
|
+
that assigns every developer 100 percent to feature coding is not credible.
|
|
493
|
+
|
|
494
|
+
### 8.5 Plan in waves
|
|
495
|
+
|
|
496
|
+
Fully prepare the current milestone. Keep later milestones at outcome level until
|
|
497
|
+
evidence reduces uncertainty. At every milestone demonstration:
|
|
498
|
+
|
|
499
|
+
1. show working behavior;
|
|
500
|
+
2. compare evidence with acceptance and guardrails;
|
|
501
|
+
3. inspect integration and operational risks;
|
|
502
|
+
4. update the design only if reality changed;
|
|
503
|
+
5. prepare the next wave;
|
|
504
|
+
6. stop or redirect work whose premise failed.
|
|
505
|
+
|
|
506
|
+
## 9. Stage 4: implement one bounded change
|
|
507
|
+
|
|
508
|
+
Invoke `build-change` for hands-on pairing. It follows six explicit steps.
|
|
509
|
+
|
|
510
|
+
### 9.1 Frame
|
|
511
|
+
|
|
512
|
+
Confirm in a few sentences:
|
|
513
|
+
|
|
514
|
+
- desired behavior and acceptance scenarios;
|
|
515
|
+
- non-goals;
|
|
516
|
+
- risk level;
|
|
517
|
+
- accepted brief/design/work-item links;
|
|
518
|
+
- human decisions that must not be inferred.
|
|
519
|
+
|
|
520
|
+
If these conflict, stop and repair the source document before editing code.
|
|
521
|
+
|
|
522
|
+
### 9.2 Inspect
|
|
523
|
+
|
|
524
|
+
AI reads the repository instructions, relevant code, callers, tests, build and CI
|
|
525
|
+
configuration, and nearby conventions. It identifies concurrent or uncommitted
|
|
526
|
+
work without overwriting it. It reports facts, assumptions, and the smallest
|
|
527
|
+
likely change surface.
|
|
528
|
+
|
|
529
|
+
### 9.3 Plan
|
|
530
|
+
|
|
531
|
+
For a normal change, agree a short implementation plan:
|
|
532
|
+
|
|
533
|
+
1. behavior or contract change;
|
|
534
|
+
2. implementation files and boundaries;
|
|
535
|
+
3. tests that establish acceptance and negative behavior;
|
|
536
|
+
4. documentation, telemetry, migration, or rollout updates;
|
|
537
|
+
5. exact validation commands.
|
|
538
|
+
|
|
539
|
+
Use a persisted implementation plan only for complex, risky, interrupted, or
|
|
540
|
+
cross-session work. The issue is sufficient for a small change.
|
|
541
|
+
|
|
542
|
+
### 9.4 Implement
|
|
543
|
+
|
|
544
|
+
- Change one coherent slice.
|
|
545
|
+
- Follow existing architecture and style unless the accepted design changes it.
|
|
546
|
+
- Preserve unrelated user changes.
|
|
547
|
+
- Keep entry points thin and failure behavior explicit.
|
|
548
|
+
- Add tests with behavior, not after a giant implementation.
|
|
549
|
+
- Add dependencies only with explicit rationale.
|
|
550
|
+
- Surface material discoveries before changing scope or design.
|
|
551
|
+
- Keep temporary compatibility or flag code owned and time-bounded.
|
|
552
|
+
|
|
553
|
+
AI shares concise updates at meaningful checkpoints. It should not ask for
|
|
554
|
+
approval of routine, reversible edits inside the accepted plan.
|
|
555
|
+
|
|
556
|
+
### 9.5 Validate
|
|
557
|
+
|
|
558
|
+
Run the narrowest useful checks while iterating, then the repository's complete
|
|
559
|
+
presubmit before handoff:
|
|
560
|
+
|
|
561
|
+
```text
|
|
562
|
+
formatter check
|
|
563
|
+
lint/static/type/API checks
|
|
564
|
+
affected unit and contract tests
|
|
565
|
+
relevant integration or end-to-end tests
|
|
566
|
+
artifact build/package check
|
|
567
|
+
security or migration checks required by risk
|
|
568
|
+
complete diff inspection
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
Record exact commands, result, and any check that could not run. Do not describe
|
|
572
|
+
an unexecuted test as passing.
|
|
573
|
+
|
|
574
|
+
### 9.6 Handoff
|
|
575
|
+
|
|
576
|
+
Provide:
|
|
577
|
+
|
|
578
|
+
- outcome implemented;
|
|
579
|
+
- files and contracts changed;
|
|
580
|
+
- validation evidence;
|
|
581
|
+
- remaining risks or assumptions;
|
|
582
|
+
- rollout/compatibility notes;
|
|
583
|
+
- exact snapshot or commit to review.
|
|
584
|
+
|
|
585
|
+
The human examines the diff. Commit, push, and pull-request creation follow the
|
|
586
|
+
repository's explicit authorization policy.
|
|
587
|
+
|
|
588
|
+
### 9.7 Stop conditions
|
|
589
|
+
|
|
590
|
+
AI stops and asks one precise question when:
|
|
591
|
+
|
|
592
|
+
- accepted requirements conflict;
|
|
593
|
+
- an API, data, security, dependency, or architecture choice is missing;
|
|
594
|
+
- the target files changed unexpectedly or concurrent work collides;
|
|
595
|
+
- the requested behavior cannot be validated;
|
|
596
|
+
- implementation reveals materially different scope or risk;
|
|
597
|
+
- required access or human authority is absent.
|
|
598
|
+
|
|
599
|
+
It should state verified facts, its recommendation, and the consequence of each
|
|
600
|
+
reasonable option.
|
|
601
|
+
|
|
602
|
+
## 10. Stage 5: independently review each change
|
|
603
|
+
|
|
604
|
+
Invoke `review-change` in a fresh context for normal or higher-risk work. The
|
|
605
|
+
review skill is read-only unless a later request explicitly asks for fixes.
|
|
606
|
+
|
|
607
|
+
### 10.1 Freeze the review target
|
|
608
|
+
|
|
609
|
+
Identify the pull request head, commit, patch, or working-tree snapshot. A review
|
|
610
|
+
of an earlier diff is not approval of later edits. Re-review material changes and
|
|
611
|
+
revalidate after updating the target branch.
|
|
612
|
+
|
|
613
|
+
### 10.2 Inspect in risk order
|
|
614
|
+
|
|
615
|
+
1. accepted behavior and non-goals;
|
|
616
|
+
2. authorization, data exposure, destructive actions, and trust boundaries;
|
|
617
|
+
3. public contracts, migrations, compatibility, and rollback;
|
|
618
|
+
4. core logic, state transitions, concurrency, and failure handling;
|
|
619
|
+
5. tests and evaluator independence;
|
|
620
|
+
6. reliability, observability, performance, and resource limits;
|
|
621
|
+
7. maintainability, naming, comments, style, and documentation;
|
|
622
|
+
8. unrelated scope or generated noise.
|
|
623
|
+
|
|
624
|
+
### 10.3 Report findings precisely
|
|
625
|
+
|
|
626
|
+
Use severity consistently:
|
|
627
|
+
|
|
628
|
+
| Severity | Meaning |
|
|
629
|
+
|---|---|
|
|
630
|
+
| P0 | immediate catastrophic/security impact; stop release and escalate |
|
|
631
|
+
| P1 | serious correctness, security, data, or availability defect; must fix |
|
|
632
|
+
| P2 | real defect or significant maintainability/operability risk; normally fix |
|
|
633
|
+
| P3 | minor issue or improvement with limited impact |
|
|
634
|
+
|
|
635
|
+
Every finding includes a concise title, exact file/line, trigger, observed or
|
|
636
|
+
likely impact, and why current tests or controls do not prevent it. Do not bury
|
|
637
|
+
blocking defects among style suggestions. If no actionable finding exists, say
|
|
638
|
+
so and identify residual test or context limitations.
|
|
639
|
+
|
|
640
|
+
### 10.4 Human review standard
|
|
641
|
+
|
|
642
|
+
The responsible human reads the complete change and the AI review. Automation
|
|
643
|
+
and AI provide evidence; they do not authorize merge. The human decides whether
|
|
644
|
+
the change improves overall code health and satisfies policy.
|
|
645
|
+
|
|
646
|
+
For high-risk work, use two-person approval, domain specialists, restricted
|
|
647
|
+
evaluation data, or staging evidence as defined by policy.
|
|
648
|
+
|
|
649
|
+
## 11. Stage 6: integrate continuously
|
|
650
|
+
|
|
651
|
+
After approval:
|
|
652
|
+
|
|
653
|
+
1. update from the protected target branch;
|
|
654
|
+
2. resolve conflicts with the owning developers, not by guessing intent;
|
|
655
|
+
3. rerun required checks on the merge candidate;
|
|
656
|
+
4. merge through the approved mechanism;
|
|
657
|
+
5. verify postsubmit remains green;
|
|
658
|
+
6. revert or repair a broken head immediately;
|
|
659
|
+
7. delete the short-lived branch;
|
|
660
|
+
8. update tracker status from repository evidence.
|
|
661
|
+
|
|
662
|
+
Prefer small changes that keep `main` buildable and testable. For incomplete
|
|
663
|
+
features, use a safe disabled flag or compatibility path. Avoid branches that
|
|
664
|
+
defer integration for weeks.
|
|
665
|
+
|
|
666
|
+
## 12. Stage 7: prepare and launch
|
|
667
|
+
|
|
668
|
+
Invoke `launch-product` when code approaches real exposure.
|
|
669
|
+
|
|
670
|
+
### 12.1 Prove readiness
|
|
671
|
+
|
|
672
|
+
Review the exact release candidate for:
|
|
673
|
+
|
|
674
|
+
- accepted functional scenarios and non-goals;
|
|
675
|
+
- security, privacy, compliance, and accessibility sign-off;
|
|
676
|
+
- API/schema compatibility and migration rehearsal;
|
|
677
|
+
- capacity, performance, reliability, and dependency behavior;
|
|
678
|
+
- build provenance, licences, vulnerabilities, and artifact identity;
|
|
679
|
+
- logs, metrics, traces, dashboards, alerts, and support ownership;
|
|
680
|
+
- runbooks, backup/restore, rollback or forward-fix procedure;
|
|
681
|
+
- product analytics and experiment integrity;
|
|
682
|
+
- user/support documentation and communication;
|
|
683
|
+
- flag ownership and cleanup date.
|
|
684
|
+
|
|
685
|
+
Readiness is an evidence table, not a confident paragraph. Each item has a link,
|
|
686
|
+
owner, state, and exception decision.
|
|
687
|
+
|
|
688
|
+
### 12.2 Define rollout stages
|
|
689
|
+
|
|
690
|
+
For each stage state:
|
|
691
|
+
|
|
692
|
+
```text
|
|
693
|
+
Cohort/exposure: internal staff, then 1%, 10%, 50%, 100%
|
|
694
|
+
Artifact/config: immutable artifact digest and flag/config version
|
|
695
|
+
Start authority: release owner
|
|
696
|
+
Minimum observation: enough time/traffic for the chosen signals
|
|
697
|
+
Success: product and reliability thresholds
|
|
698
|
+
Guardrails: error, latency, safety, support, cost, data-quality thresholds
|
|
699
|
+
Stop: immediate pause conditions
|
|
700
|
+
Rollback: exact technical and communication action
|
|
701
|
+
Decision evidence: dashboard/query/incident link
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
Canary analysis compares the candidate with a meaningful baseline. Account for
|
|
705
|
+
low traffic, novelty, seasonality, and delayed failures. Absence of alerts is not
|
|
706
|
+
proof of success if the relevant user behavior was not measured.
|
|
707
|
+
|
|
708
|
+
### 12.3 Keep authority explicit
|
|
709
|
+
|
|
710
|
+
The release owner authorizes deployment, migration, user exposure, and expansion.
|
|
711
|
+
AI may watch dashboards, summarize evidence, and recommend an action. It must not
|
|
712
|
+
silently expand exposure or perform irreversible remediation.
|
|
713
|
+
|
|
714
|
+
### 12.4 Close the launch
|
|
715
|
+
|
|
716
|
+
A launch is complete when:
|
|
717
|
+
|
|
718
|
+
- the intended cohort has stable evidence for the required window;
|
|
719
|
+
- open exceptions have owners and dates;
|
|
720
|
+
- temporary flags, dual writes, compatibility paths, and migration tooling have
|
|
721
|
+
cleanup items;
|
|
722
|
+
- documentation and support state are current;
|
|
723
|
+
- the team records whether the product outcome was met.
|
|
724
|
+
|
|
725
|
+
Merge is not launch. Full exposure is not proven product value.
|
|
726
|
+
|
|
727
|
+
## 13. Stage 8: operate, learn, and maintain
|
|
728
|
+
|
|
729
|
+
### 13.1 Monitor the right layers
|
|
730
|
+
|
|
731
|
+
Track:
|
|
732
|
+
|
|
733
|
+
- **product:** adoption, task success, retention, user time, error recovery;
|
|
734
|
+
- **quality:** correctness, defect escape, accessibility, model/evaluator quality;
|
|
735
|
+
- **reliability:** availability, latency, saturation, dependency failures, SLO burn;
|
|
736
|
+
- **security/privacy:** abuse signals, authorization denial, vulnerability age,
|
|
737
|
+
sensitive-data handling;
|
|
738
|
+
- **delivery:** deployment frequency, lead time, change failure, recovery time;
|
|
739
|
+
- **cost:** infrastructure, third-party, model, storage, support, and developer time.
|
|
740
|
+
|
|
741
|
+
Metrics need an owner, definition, data source, and response. Avoid dashboards
|
|
742
|
+
that nobody uses to make a decision.
|
|
743
|
+
|
|
744
|
+
### 13.2 Respond to incidents
|
|
745
|
+
|
|
746
|
+
During an incident:
|
|
747
|
+
|
|
748
|
+
1. protect users and contain damage;
|
|
749
|
+
2. establish an incident lead and communication channel;
|
|
750
|
+
3. preserve a timeline and evidence;
|
|
751
|
+
4. use tested rollback or mitigation;
|
|
752
|
+
5. verify recovery through user-impact signals;
|
|
753
|
+
6. communicate status at defined intervals;
|
|
754
|
+
7. conduct a blameless review focused on system conditions;
|
|
755
|
+
8. assign corrective actions with owners and verification.
|
|
756
|
+
|
|
757
|
+
AI may correlate logs, search code, draft timelines, and propose hypotheses. A
|
|
758
|
+
human incident lead controls consequential actions and validates conclusions.
|
|
759
|
+
|
|
760
|
+
### 13.3 Feed learning back
|
|
761
|
+
|
|
762
|
+
At the outcome-review date, decide:
|
|
763
|
+
|
|
764
|
+
- **keep and scale** because outcome and guardrails hold;
|
|
765
|
+
- **iterate** because evidence identifies a repairable gap;
|
|
766
|
+
- **hold** because evidence is insufficient;
|
|
767
|
+
- **roll back** because harm or regression exceeds value; or
|
|
768
|
+
- **retire** because the premise failed or costs outweigh benefits.
|
|
769
|
+
|
|
770
|
+
Update the brief when the product outcome changes, the design when architecture
|
|
771
|
+
or contracts change, code/tests for behavior, and the tracker for current work.
|
|
772
|
+
Do not rewrite history to make the original prediction appear correct.
|
|
773
|
+
|
|
774
|
+
## 14. The day-to-day developer loop
|
|
775
|
+
|
|
776
|
+
### Beginning of day or work session
|
|
777
|
+
|
|
778
|
+
1. Read current milestone, work item, accepted design, and recent target-branch changes.
|
|
779
|
+
2. Check CI, incidents, dependency alerts, and review requests.
|
|
780
|
+
3. Select one Ready item; confirm owner and reviewer.
|
|
781
|
+
4. Ask AI to frame and inspect using `build-change`.
|
|
782
|
+
5. Agree today's smallest demonstrable slice and validation.
|
|
783
|
+
|
|
784
|
+
### During implementation
|
|
785
|
+
|
|
786
|
+
1. Pair with AI on one coherent change.
|
|
787
|
+
2. Run focused tests after each behavior boundary.
|
|
788
|
+
3. Commit small checkpoints locally if repository policy permits.
|
|
789
|
+
4. Surface unexpected contract or scope changes immediately.
|
|
790
|
+
5. Review another developer's small change while waiting on CI.
|
|
791
|
+
6. Keep the branch current enough to expose integration problems early.
|
|
792
|
+
|
|
793
|
+
### Before requesting review
|
|
794
|
+
|
|
795
|
+
1. Run the complete presubmit command.
|
|
796
|
+
2. Read the complete diff as if reviewing someone else's work.
|
|
797
|
+
3. Remove unrelated edits, debug output, and obsolete comments.
|
|
798
|
+
4. Update tests, docs, metrics, migration, and rollout material.
|
|
799
|
+
5. Write a concise change description and link canonical artifacts.
|
|
800
|
+
6. Run a fresh `review-change` pass for normal or higher risk.
|
|
801
|
+
7. Request the named human reviewer.
|
|
802
|
+
|
|
803
|
+
### End of day or handoff
|
|
804
|
+
|
|
805
|
+
1. Keep `main` green; do not merge a knowingly broken intermediate state.
|
|
806
|
+
2. Record only current status, evidence, block, and next action in the tracker.
|
|
807
|
+
3. Leave the branch and worktree in a reproducible state.
|
|
808
|
+
4. Escalate decisions that prevent safe continuation.
|
|
809
|
+
5. Do not create a second narrative status document.
|
|
810
|
+
|
|
811
|
+
## 15. Multi-developer coordination in detail
|
|
812
|
+
|
|
813
|
+
### 15.1 Divide by coherent ownership
|
|
814
|
+
|
|
815
|
+
Prefer work streams that align with components and contracts. Avoid dividing one
|
|
816
|
+
function among several people or assigning frontend/backend independently before
|
|
817
|
+
their behavior contract is accepted.
|
|
818
|
+
|
|
819
|
+
Every shared interface has:
|
|
820
|
+
|
|
821
|
+
- an accountable owner;
|
|
822
|
+
- consumer reviewers;
|
|
823
|
+
- an accepted schema or signature;
|
|
824
|
+
- fixtures or contract tests;
|
|
825
|
+
- compatibility and rollout rules;
|
|
826
|
+
- an integration checkpoint.
|
|
827
|
+
|
|
828
|
+
### 15.2 Sequence a typical feature
|
|
829
|
+
|
|
830
|
+
```text
|
|
831
|
+
Accepted brief
|
|
832
|
+
-> accepted interface and migration design
|
|
833
|
+
-> contract fixture/test lands
|
|
834
|
+
-> producer and consumer slices proceed in parallel
|
|
835
|
+
-> integration owner verifies real boundary
|
|
836
|
+
-> end-to-end acceptance scenario
|
|
837
|
+
-> staged release
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
Foundation work should be the smallest enabling change. Do not create a large
|
|
841
|
+
"platform first" program unless several proven consumers justify it.
|
|
842
|
+
|
|
843
|
+
### 15.3 Handle hotspots
|
|
844
|
+
|
|
845
|
+
Generated files, shared schemas, central registries, migrations, and dependency
|
|
846
|
+
manifests frequently conflict. Assign one coordination rule:
|
|
847
|
+
|
|
848
|
+
- a single temporary owner;
|
|
849
|
+
- ordered landing (`Lands after`);
|
|
850
|
+
- a preparatory contract change;
|
|
851
|
+
- or regeneration after preceding changes merge.
|
|
852
|
+
|
|
853
|
+
Never resolve a semantic conflict by accepting both sides mechanically.
|
|
854
|
+
|
|
855
|
+
### 15.4 Use a sustainable rhythm
|
|
856
|
+
|
|
857
|
+
- Product outcome and current milestone review: weekly or at evidence boundaries.
|
|
858
|
+
- Design review: when a material decision is ready, not as recurring ceremony.
|
|
859
|
+
- Work selection: pull one Ready item when capacity exists.
|
|
860
|
+
- Review: continuous, with explicit response expectations.
|
|
861
|
+
- Integration demonstration: every milestone.
|
|
862
|
+
- Retrospective: after a meaningful release or incident, focused on a few changes.
|
|
863
|
+
|
|
864
|
+
Status meetings should not reproduce information already visible in the tracker
|
|
865
|
+
and repository.
|
|
866
|
+
|
|
867
|
+
## 16. Solo-developer adaptations
|
|
868
|
+
|
|
869
|
+
A solo project can use the same controls with less coordination overhead:
|
|
870
|
+
|
|
871
|
+
| Team control | Solo equivalent |
|
|
872
|
+
|---|---|
|
|
873
|
+
| product review | short written hypothesis plus user evidence |
|
|
874
|
+
| design reviewers | fresh AI critique plus external specialist for high risk |
|
|
875
|
+
| delivery tracker | one milestone and one Ready item at a time |
|
|
876
|
+
| independent code reviewer | fresh AI context; human reviewer before high-risk release |
|
|
877
|
+
| protected branch | required CI and deliberate merge action |
|
|
878
|
+
| release manager | explicit personal go/no-go checklist and staged cohort |
|
|
879
|
+
| on-call rotation | clear support window, alerts, and rollback reachable by one person |
|
|
880
|
+
|
|
881
|
+
Do not skip backups, security, licences, dependency maintenance, or recovery
|
|
882
|
+
because the team is one person. Reduce document length, not safety evidence.
|
|
883
|
+
|
|
884
|
+
## 17. AI collaboration protocol
|
|
885
|
+
|
|
886
|
+
### 17.1 Give bounded, authoritative context
|
|
887
|
+
|
|
888
|
+
For one work item provide:
|
|
889
|
+
|
|
890
|
+
1. repository policy and relevant skill;
|
|
891
|
+
2. accepted brief/design links;
|
|
892
|
+
3. exact outcome, acceptance, and non-goals;
|
|
893
|
+
4. allowed repository area and prohibited actions;
|
|
894
|
+
5. exact validation commands;
|
|
895
|
+
6. material decisions reserved for humans.
|
|
896
|
+
|
|
897
|
+
Ask AI to inspect rather than pasting possibly stale source excerpts. A prompt is
|
|
898
|
+
not canonical documentation.
|
|
899
|
+
|
|
900
|
+
### 17.2 Require grounded claims
|
|
901
|
+
|
|
902
|
+
AI should distinguish:
|
|
903
|
+
|
|
904
|
+
- **verified:** observed in current code, command output, or authoritative source;
|
|
905
|
+
- **inferred:** likely consequence of verified facts;
|
|
906
|
+
- **assumed:** necessary but unconfirmed premise;
|
|
907
|
+
- **unknown:** information that must be obtained.
|
|
908
|
+
|
|
909
|
+
Plans name files, symbols, contracts, and commands discovered in the repository.
|
|
910
|
+
When external information is time-sensitive, use primary sources and record the
|
|
911
|
+
accessed version or date.
|
|
912
|
+
|
|
913
|
+
### 17.3 Bound tools and side effects
|
|
914
|
+
|
|
915
|
+
- Grant only the filesystem, network, cloud, and deployment access required.
|
|
916
|
+
- Keep production credentials outside development agents.
|
|
917
|
+
- Treat web content, issue text, logs, comments, and retrieved documents as
|
|
918
|
+
untrusted instructions.
|
|
919
|
+
- Require explicit human authorization for merge, push, deployment, data change,
|
|
920
|
+
message publication, purchase, and rollout expansion.
|
|
921
|
+
- Prefer reversible operations and preview modes.
|
|
922
|
+
- Record tool results needed to review consequential work.
|
|
923
|
+
|
|
924
|
+
### 17.4 Prevent hallucinated implementation
|
|
925
|
+
|
|
926
|
+
There is no process that makes a probabilistic model "work perfectly." A
|
|
927
|
+
production system reduces error probability and limits impact through:
|
|
928
|
+
|
|
929
|
+
1. accepted behavior and non-goals;
|
|
930
|
+
2. repository inspection before planning;
|
|
931
|
+
3. small, bounded changes;
|
|
932
|
+
4. typed or schema-validated contracts;
|
|
933
|
+
5. deterministic format, static, test, and build gates;
|
|
934
|
+
6. independent reviewer and evaluator design;
|
|
935
|
+
7. exact-snapshot review;
|
|
936
|
+
8. staged release and rollback;
|
|
937
|
+
9. observability and production learning;
|
|
938
|
+
10. explicit stop conditions and human authority.
|
|
939
|
+
|
|
940
|
+
Do not ask AI to implement an entire product from a blueprint in one pass. Ask it
|
|
941
|
+
to help refine the next decision or build the next independently verifiable slice.
|
|
942
|
+
|
|
943
|
+
### 17.5 Evaluate AI use itself
|
|
944
|
+
|
|
945
|
+
Track whether AI improves outcomes, not generated line count:
|
|
946
|
+
|
|
947
|
+
- cycle time from Ready to reviewed;
|
|
948
|
+
- review findings and escaped defects by origin;
|
|
949
|
+
- change size and rework rate;
|
|
950
|
+
- test adequacy and flaky-test rate;
|
|
951
|
+
- developer cognitive load and satisfaction;
|
|
952
|
+
- security or policy exceptions;
|
|
953
|
+
- cost per accepted outcome;
|
|
954
|
+
- percentage of AI suggestions substantially rewritten or rejected.
|
|
955
|
+
|
|
956
|
+
Compare similar work over time. Do not use these measures to reward raw output or
|
|
957
|
+
discourage reporting defects.
|
|
958
|
+
|
|
959
|
+
## 18. Quality gates by risk
|
|
960
|
+
|
|
961
|
+
| Control | Low | Normal | High | Critical |
|
|
962
|
+
|---|---:|---:|---:|---:|
|
|
963
|
+
| accepted issue/brief | issue | brief | brief | brief |
|
|
964
|
+
| design | if needed | material decisions | required | required, specialist-owned |
|
|
965
|
+
| implementation plan | optional | useful for complex work | required | required |
|
|
966
|
+
| automated presubmit | required | required | required | required, protected evaluator |
|
|
967
|
+
| fresh AI review | optional | recommended | required | required but advisory |
|
|
968
|
+
| independent human review | required | required | specialist as needed | two-person/domain policy |
|
|
969
|
+
| staged environment | if useful | user-facing changes | required | isolated and required |
|
|
970
|
+
| progressive rollout | ordinary release | proportionate | required | strict/manual gates |
|
|
971
|
+
| rollback rehearsal | simple/reversible | documented | tested | tested at representative fidelity |
|
|
972
|
+
| post-launch observation | routine | defined | defined thresholds | active command and audit trail |
|
|
973
|
+
|
|
974
|
+
Organizations should define examples and decision owners for each tier. When in
|
|
975
|
+
doubt, choose the higher tier until the responsible human accepts the risk.
|
|
976
|
+
|
|
977
|
+
## 19. Definition of Ready and Definition of Done
|
|
978
|
+
|
|
979
|
+
### Work item is Ready when
|
|
980
|
+
|
|
981
|
+
- [ ] outcome and acceptance behavior are unambiguous;
|
|
982
|
+
- [ ] non-goals prevent likely scope drift;
|
|
983
|
+
- [ ] applicable brief and design are Accepted;
|
|
984
|
+
- [ ] shared contracts and fixtures exist or are the item itself;
|
|
985
|
+
- [ ] dependencies and landing relations are explicit;
|
|
986
|
+
- [ ] owner and independent reviewer are named;
|
|
987
|
+
- [ ] validation is feasible;
|
|
988
|
+
- [ ] risk and specialist reviews are known;
|
|
989
|
+
- [ ] rollout or compatibility requirements are understood.
|
|
990
|
+
|
|
991
|
+
### Code change is Done when
|
|
992
|
+
|
|
993
|
+
- [ ] implementation satisfies acceptance behavior;
|
|
994
|
+
- [ ] unrelated work is absent;
|
|
995
|
+
- [ ] tests would catch realistic regressions;
|
|
996
|
+
- [ ] formatting, static checks, tests, and build pass on the exact snapshot;
|
|
997
|
+
- [ ] security, privacy, compatibility, migration, and operations are addressed;
|
|
998
|
+
- [ ] documentation and examples are current;
|
|
999
|
+
- [ ] complete diff has independent human review;
|
|
1000
|
+
- [ ] the protected branch is green after integration.
|
|
1001
|
+
|
|
1002
|
+
### Feature is Done when
|
|
1003
|
+
|
|
1004
|
+
- [ ] code-change criteria hold for every constituent change;
|
|
1005
|
+
- [ ] integrated acceptance behavior works in the target environment;
|
|
1006
|
+
- [ ] release candidate, migration, telemetry, support, and rollback are ready;
|
|
1007
|
+
- [ ] rollout completed under defined thresholds;
|
|
1008
|
+
- [ ] product and guardrail evidence were reviewed;
|
|
1009
|
+
- [ ] temporary controls have cleanup owners and dates.
|
|
1010
|
+
|
|
1011
|
+
"Done coding" is not a lifecycle state.
|
|
1012
|
+
|
|
1013
|
+
## 20. Worked example: notification preferences
|
|
1014
|
+
|
|
1015
|
+
### Idea
|
|
1016
|
+
|
|
1017
|
+
Users miss important alerts because they cannot control notification channel and
|
|
1018
|
+
quiet hours.
|
|
1019
|
+
|
|
1020
|
+
### Brief
|
|
1021
|
+
|
|
1022
|
+
- User: account administrators receiving operational alerts.
|
|
1023
|
+
- Outcome: administrators configure preferences without support assistance.
|
|
1024
|
+
- Measure: setup completion rises from 45% to 75%; missed critical-alert reports
|
|
1025
|
+
do not increase.
|
|
1026
|
+
- Scope: email/SMS choice and one daily quiet interval.
|
|
1027
|
+
- Non-goals: marketing preferences, per-event rules, mobile push.
|
|
1028
|
+
- Risk: quiet hours must never suppress critical security alerts.
|
|
1029
|
+
|
|
1030
|
+
### Design
|
|
1031
|
+
|
|
1032
|
+
- Preference API owns validated user settings and versioned schema.
|
|
1033
|
+
- Notification service consumes a read-only preference contract.
|
|
1034
|
+
- Security events bypass quiet hours through an explicit event classification.
|
|
1035
|
+
- Existing users default to current behavior; migration is additive.
|
|
1036
|
+
- Contract tests cover schema, missing preference, invalid timezone, and bypass.
|
|
1037
|
+
- Feature flag controls UI exposure; server accepts the API before UI rollout.
|
|
1038
|
+
- Metrics cover save success, delivery by class, bypass, latency, and errors.
|
|
1039
|
+
|
|
1040
|
+
### Delivery plan
|
|
1041
|
+
|
|
1042
|
+
- M1: schema, API, authorization, and contract fixture work internally.
|
|
1043
|
+
- M2: notification service honors preferences in shadow comparison mode.
|
|
1044
|
+
- M3: UI enables internal users to edit settings end to end.
|
|
1045
|
+
- M4: canary and measured expansion.
|
|
1046
|
+
|
|
1047
|
+
Items can proceed in parallel after the contract fixture lands. API owns schema;
|
|
1048
|
+
notification owner reviews semantics; one integration owner validates the real
|
|
1049
|
+
boundary.
|
|
1050
|
+
|
|
1051
|
+
### Build and review
|
|
1052
|
+
|
|
1053
|
+
Each change implements one slice with tests. A fresh review specifically checks
|
|
1054
|
+
authorization, timezone boundaries, event classification, fallback behavior,
|
|
1055
|
+
and the risk that visible tests merely mirror the implementation.
|
|
1056
|
+
|
|
1057
|
+
### Launch
|
|
1058
|
+
|
|
1059
|
+
Internal use runs for one week, followed by 5%, 25%, and 100% cohorts. Expansion
|
|
1060
|
+
requires save success above target, no rise in missed critical alerts, delivery
|
|
1061
|
+
latency within SLO, and support volume within guardrail. Disabling the UI flag
|
|
1062
|
+
and restoring default server behavior are tested rollback actions.
|
|
1063
|
+
|
|
1064
|
+
### Learning
|
|
1065
|
+
|
|
1066
|
+
At 14 days, product and reliability owners compare outcome and guardrails. The
|
|
1067
|
+
team either expands the preference model, corrects observed friction, or removes
|
|
1068
|
+
the feature if its premise failed.
|
|
1069
|
+
|
|
1070
|
+
## 21. Adoption plan for an existing organization
|
|
1071
|
+
|
|
1072
|
+
### First 30 days: establish the floor
|
|
1073
|
+
|
|
1074
|
+
- identify canonical repositories and owners;
|
|
1075
|
+
- document bootstrap and verify commands;
|
|
1076
|
+
- protect main and require actionable CI;
|
|
1077
|
+
- adopt quick/feature/product path selection;
|
|
1078
|
+
- use `build-change` and independent human review on bounded work;
|
|
1079
|
+
- inventory secrets, unsupported dependencies, and production rollback gaps.
|
|
1080
|
+
|
|
1081
|
+
### Days 31-60: make coordination reliable
|
|
1082
|
+
|
|
1083
|
+
- introduce accepted briefs and material design reviews;
|
|
1084
|
+
- define component and interface ownership;
|
|
1085
|
+
- standardize small change descriptions and review severity;
|
|
1086
|
+
- add contract tests at high-conflict boundaries;
|
|
1087
|
+
- limit work in progress and name integration checkpoints;
|
|
1088
|
+
- pilot `review-change` in a fresh AI context.
|
|
1089
|
+
|
|
1090
|
+
### Days 61-90: close the production loop
|
|
1091
|
+
|
|
1092
|
+
- make artifacts immutable and traceable;
|
|
1093
|
+
- define rollout thresholds and release authority;
|
|
1094
|
+
- establish SLOs, dashboards, alerts, runbooks, and restore drills;
|
|
1095
|
+
- measure delivery and product outcomes together;
|
|
1096
|
+
- evaluate AI impact on quality, rework, cycle time, and developer experience;
|
|
1097
|
+
- remove workflow steps that do not prevent an identified failure.
|
|
1098
|
+
|
|
1099
|
+
Do not roll out every control to every repository simultaneously. Begin with a
|
|
1100
|
+
representative product, collect evidence, revise the standard, then scale it
|
|
1101
|
+
through templates and platform automation.
|
|
1102
|
+
|
|
1103
|
+
## 22. How to invoke the facade and six lifecycle skills
|
|
1104
|
+
|
|
1105
|
+
Use natural language or the skill name. Examples:
|
|
1106
|
+
|
|
1107
|
+
```text
|
|
1108
|
+
Use $specify-project for this greenfield product. Interview me exactly one
|
|
1109
|
+
question at a time, recommend a default with every question, accept the product
|
|
1110
|
+
frame before the technical design, and create one canonical SPECIFICATION.md.
|
|
1111
|
+
Do not create implementation tasks or code.
|
|
1112
|
+
|
|
1113
|
+
Use $define-product to turn this idea into an accepted feature brief. Challenge
|
|
1114
|
+
the problem, success measure, non-goals, and assumptions; do not design it yet.
|
|
1115
|
+
|
|
1116
|
+
Use $design-solution for the accepted brief. Inspect the repository first,
|
|
1117
|
+
compare credible options, and stop for material API, data, or security decisions.
|
|
1118
|
+
|
|
1119
|
+
Use $plan-delivery to create outcome milestones and only the next wave of Ready
|
|
1120
|
+
work for three developers. Name owners, reviewers, and simple dependencies.
|
|
1121
|
+
|
|
1122
|
+
Use $build-change for work item PREF-17. Pair with me, inspect before planning,
|
|
1123
|
+
make one reviewable change, and run the repository validation.
|
|
1124
|
+
|
|
1125
|
+
Use $review-change on the exact current diff against the accepted brief and
|
|
1126
|
+
design. Do not modify files. Report only evidence-based findings.
|
|
1127
|
+
|
|
1128
|
+
Use $launch-product to assess this release candidate. Produce readiness evidence,
|
|
1129
|
+
stages, thresholds, rollback, owners, and unresolved go/no-go decisions. Do not
|
|
1130
|
+
deploy or expand exposure.
|
|
1131
|
+
```
|
|
1132
|
+
|
|
1133
|
+
The skill guides the conversation. The accepted artifact and current repository
|
|
1134
|
+
remain the source of truth.
|
|
1135
|
+
|
|
1136
|
+
## 23. Common anti-patterns
|
|
1137
|
+
|
|
1138
|
+
| Anti-pattern | Consequence | Correction |
|
|
1139
|
+
|---|---|---|
|
|
1140
|
+
| full product generated from one prompt | hidden assumptions and unreviewable change | milestone and bounded vertical slices |
|
|
1141
|
+
| specification, brief, and design repeat the same facts | conflicting sources of truth | choose the combined or modular artifact path |
|
|
1142
|
+
| design written without repository inspection | imaginary components and commands | verify current system first |
|
|
1143
|
+
| every change produces every document | process fatigue and stale copies | lightest safe path |
|
|
1144
|
+
| no brief because requirements are "obvious" | disagreement appears during review | short acceptance and non-goals |
|
|
1145
|
+
| AI writes and approves its own tests/code | correlated blind spots | fresh review plus human approval |
|
|
1146
|
+
| months-long task decomposition | stale plan and false certainty | rolling-wave milestones |
|
|
1147
|
+
| developers each change a shared contract | integration failures | contract owner, fixture, and checkpoint |
|
|
1148
|
+
| CI has many ignored warnings | false confidence | actionable gates with owners |
|
|
1149
|
+
| merge treated as success | user harm or unused feature unseen | measured rollout and outcome review |
|
|
1150
|
+
| permanent flags and dual paths | growing operational complexity | owner, deadline, cleanup item |
|
|
1151
|
+
| process metric becomes target | gaming and lower quality | balanced product, quality, flow, and human measures |
|
|
1152
|
+
|
|
1153
|
+
## 24. Canonical artifact map
|
|
1154
|
+
|
|
1155
|
+
| Question | Source of truth |
|
|
1156
|
+
|---|---|
|
|
1157
|
+
| Why are we doing this? | accepted combined specification, or product/feature brief |
|
|
1158
|
+
| What behavior is accepted? | specification or brief acceptance scenarios |
|
|
1159
|
+
| How and why is the system designed? | accepted specification, or design and decision records |
|
|
1160
|
+
| What work is active and who owns it? | issue/project tracker |
|
|
1161
|
+
| How does the software behave? | source and tests |
|
|
1162
|
+
| What exactly was reviewed? | pull request/change snapshot |
|
|
1163
|
+
| What can be released? | CI artifact and provenance |
|
|
1164
|
+
| Is it safe to expand? | launch record plus observability evidence |
|
|
1165
|
+
| What happened in production? | telemetry, incident record, outcome review |
|
|
1166
|
+
|
|
1167
|
+
Git history is the revision record. Use simple document states such as Draft,
|
|
1168
|
+
Accepted, Active, and Superseded. Version APIs and schemas when consumers require
|
|
1169
|
+
a compatibility contract; do not invent revision identifiers for ordinary plans.
|
|
1170
|
+
|
|
1171
|
+
## 25. Authoritative references
|
|
1172
|
+
|
|
1173
|
+
- [Software Engineering at Google](https://abseil.io/resources/swe-book)
|
|
1174
|
+
- [Google Engineering Practices: Code Review](https://google.github.io/eng-practices/review/)
|
|
1175
|
+
- [Google Engineering Practices: Small CLs](https://google.github.io/eng-practices/review/developer/small-cls.html)
|
|
1176
|
+
- [DORA: Trunk-Based Development](https://dora.dev/capabilities/trunk-based-development/)
|
|
1177
|
+
- [DORA: Working in Small Batches](https://dora.dev/capabilities/working-in-small-batches/)
|
|
1178
|
+
- [Google SRE Workbook: Canarying Releases](https://sre.google/workbook/canarying-releases/)
|
|
1179
|
+
- [Google Research: Accelerating Code Migrations with AI](https://research.google/blog/accelerating-code-migrations-with-ai/)
|
|
1180
|
+
- [Google Research: AI as a Collaborative Partner in Software Engineering](https://research.google/pubs/towards-ai-as-a-collaborative-partner-a-taxonomy-of-ai-agent-behavior-in-software-engineering/)
|
|
1181
|
+
- [DORA AI Capabilities Model](https://cloud.google.com/blog/products/ai-machine-learning/introducing-doras-inaugural-ai-capabilities-model)
|
|
1182
|
+
- [SLSA specification](https://slsa.dev/spec/v1.2/)
|
|
1183
|
+
|
|
1184
|
+
## 26. Companion guides
|
|
1185
|
+
|
|
1186
|
+
- [Google-Inspired Python Project Handbook](PYTHON-PROJECT-HANDBOOK.md)
|
|
1187
|
+
- [Google-Inspired Language-Agnostic Project Handbook](LANGUAGE-AGNOSTIC-PROJECT-HANDBOOK.md)
|
|
1188
|
+
- [Product Development Workflow](../WORKFLOW-HUMAN.md)
|
|
1189
|
+
- [Four Common Workflow Recipes](../WORKFLOW-COOKBOOK.md)
|
|
1190
|
+
- [AI Agent Workflow](../for-ai/WORKFLOW-AGENTS.md)
|