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.
Files changed (47) hide show
  1. codev_workflow/__init__.py +5 -0
  2. codev_workflow/__main__.py +4 -0
  3. codev_workflow/bundle/.agents/skills/build-change/SKILL.md +96 -0
  4. codev_workflow/bundle/.agents/skills/build-change/agents/openai.yaml +4 -0
  5. codev_workflow/bundle/.agents/skills/build-change/assets/implementation-plan.template.md +51 -0
  6. codev_workflow/bundle/.agents/skills/define-product/SKILL.md +79 -0
  7. codev_workflow/bundle/.agents/skills/define-product/agents/openai.yaml +4 -0
  8. codev_workflow/bundle/.agents/skills/define-product/assets/brief.template.md +50 -0
  9. codev_workflow/bundle/.agents/skills/design-solution/SKILL.md +75 -0
  10. codev_workflow/bundle/.agents/skills/design-solution/agents/openai.yaml +4 -0
  11. codev_workflow/bundle/.agents/skills/design-solution/assets/decision.template.md +26 -0
  12. codev_workflow/bundle/.agents/skills/design-solution/assets/design.template.md +76 -0
  13. codev_workflow/bundle/.agents/skills/launch-product/SKILL.md +66 -0
  14. codev_workflow/bundle/.agents/skills/launch-product/agents/openai.yaml +4 -0
  15. codev_workflow/bundle/.agents/skills/launch-product/assets/launch-plan.template.md +48 -0
  16. codev_workflow/bundle/.agents/skills/plan-delivery/SKILL.md +140 -0
  17. codev_workflow/bundle/.agents/skills/plan-delivery/agents/openai.yaml +4 -0
  18. codev_workflow/bundle/.agents/skills/plan-delivery/assets/delivery-plan.template.md +41 -0
  19. codev_workflow/bundle/.agents/skills/review-change/SKILL.md +48 -0
  20. codev_workflow/bundle/.agents/skills/review-change/agents/openai.yaml +4 -0
  21. codev_workflow/bundle/.agents/skills/specify-project/SKILL.md +205 -0
  22. codev_workflow/bundle/.agents/skills/specify-project/agents/openai.yaml +4 -0
  23. codev_workflow/bundle/.agents/skills/specify-project/assets/specification.template.md +151 -0
  24. codev_workflow/bundle/.agents/skills/specify-project/references/interview-coverage.md +303 -0
  25. codev_workflow/bundle/.agents/skills/specify-project/scripts/validate_specification.py +143 -0
  26. codev_workflow/bundle/.opencode/agents/builder.md +54 -0
  27. codev_workflow/bundle/.opencode/agents/orchestrator.md +72 -0
  28. codev_workflow/bundle/.opencode/agents/reviewer.md +35 -0
  29. codev_workflow/bundle/AGENTS.md +23 -0
  30. codev_workflow/bundle/docs/AI-WORKFLOW-PROMPTS.md +318 -0
  31. codev_workflow/bundle/docs/WORKFLOW-COOKBOOK.md +419 -0
  32. codev_workflow/bundle/docs/WORKFLOW-HUMAN.md +212 -0
  33. codev_workflow/bundle/docs/for-ai/WORKFLOW-AGENTS.md +171 -0
  34. codev_workflow/bundle/docs/handbooks/IDEA-TO-PRODUCTION-HANDBOOK.md +1190 -0
  35. codev_workflow/bundle/docs/handbooks/LANGUAGE-AGNOSTIC-PROJECT-HANDBOOK.md +745 -0
  36. codev_workflow/bundle/docs/handbooks/PYTHON-PROJECT-HANDBOOK.md +960 -0
  37. codev_workflow/bundle/evals/development-workflow/scenarios.json +132 -0
  38. codev_workflow/bundle/scripts/evaluate-development-workflow.py +352 -0
  39. codev_workflow/bundle/scripts/validate-development-workflow.py +213 -0
  40. codev_workflow/cli.py +140 -0
  41. codev_workflow/installer.py +891 -0
  42. open_codev_workflow-0.1.0.dist-info/METADATA +150 -0
  43. open_codev_workflow-0.1.0.dist-info/RECORD +47 -0
  44. open_codev_workflow-0.1.0.dist-info/WHEEL +5 -0
  45. open_codev_workflow-0.1.0.dist-info/entry_points.txt +2 -0
  46. open_codev_workflow-0.1.0.dist-info/licenses/LICENSE +28 -0
  47. open_codev_workflow-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,419 @@
1
+ # Human-AI Development Workflow Cookbook
2
+
3
+ This cookbook gives copyable starting recipes for the four most common kinds of
4
+ software work. It assumes the repository policy in [AGENTS.md](../AGENTS.md) and
5
+ the [Product Development Workflow](WORKFLOW-HUMAN.md).
6
+
7
+ The recipes are starting points, not substitutes for judgment. Risk overrides
8
+ change size: security, privacy, permissions, public contracts, persistent data,
9
+ billing, compliance, destructive behavior, or difficult rollback require
10
+ explicit design and independent review.
11
+
12
+ ## Quick routing table
13
+
14
+ You can state any of these requests in normal language. The table explains the
15
+ AI's internal routing; it is not a list of commands the developer must memorize.
16
+
17
+ | Situation | Start with | Normal artifact |
18
+ |---|---|---|
19
+ | New greenfield project | `specify-project` | accepted `SPECIFICATION.md` |
20
+ | Single brownfield feature | `define-product` | feature brief; design if material |
21
+ | New product version with several developers | `define-product` or accepted product specification, then `design-solution` and `plan-delivery` | release brief/design plus delivery plan |
22
+ | Small local bug fix | `build-change` | issue plus code/tests |
23
+
24
+ All implementation eventually uses `build-change`, independent human review,
25
+ and proportionate validation. Use `review-change` as a fresh AI review for normal
26
+ or higher-risk work, and `launch-product` for material production exposure.
27
+
28
+ ## Recipe 1: Create a greenfield project
29
+
30
+ ### Use this recipe when
31
+
32
+ There is a product idea but no accepted product frame, architecture, or
33
+ repository implementation. The desired outcome is one coherent project
34
+ blueprint created through a guided discussion.
35
+
36
+ Do not use this recipe for a one-feature addition to an established product.
37
+
38
+ ### Result
39
+
40
+ ```text
41
+ Idea
42
+ -> one-question-at-a-time specification interview
43
+ -> accepted product frame
44
+ -> accepted technical design
45
+ -> canonical SPECIFICATION.md
46
+ -> delivery plan for the first milestone
47
+ -> repository bootstrap and small implementation slices
48
+ -> staged launch and learning
49
+ ```
50
+
51
+ ### Step 1: begin the interview
52
+
53
+ Give the AI any existing notes, research, constraints, sketches, or policies.
54
+ Then use:
55
+
56
+ ```text
57
+ Use $specify-project for this greenfield product. Interview me exactly one
58
+ question at a time and include your recommended default with every question.
59
+ Challenge unsafe or vague answers. Accept the product frame before designing the
60
+ technical system, then create one canonical SPECIFICATION.md. Do not create an
61
+ implementation roadmap, task list, or code.
62
+
63
+ The initial idea is: <describe the problem or opportunity>.
64
+ ```
65
+
66
+ The AI should first settle the user problem, evidence, outcome, measures, V1
67
+ scope, non-goals, constraints, and assumptions. A technology such as Python,
68
+ Kubernetes, or an LLM is not by itself a product problem.
69
+
70
+ ### Step 2: accept the product frame
71
+
72
+ Expect a concise summary and one explicit acceptance question. Check:
73
+
74
+ - users and problem are specific;
75
+ - evidence and assumptions are distinguished;
76
+ - success measures have a baseline or baseline plan;
77
+ - V1 is a complete, bounded outcome;
78
+ - non-goals block likely scope creep;
79
+ - safety, accessibility, legal, cost, and platform constraints are visible.
80
+
81
+ Say “yes” only if this is the product you want designed. Otherwise correct the
82
+ one material issue and continue the interview.
83
+
84
+ ### Step 3: design the technical blueprint
85
+
86
+ The same interview now covers applicable architecture, data, contracts, clients,
87
+ security/privacy, failure modes, capacity, deployment, operations, testing,
88
+ migration, rollout, rollback, and alternatives.
89
+
90
+ The AI should recommend defaults but must not invent scale, policies, targets, or
91
+ organizational constraints. Ask for specialist human review where required.
92
+
93
+ ### Step 4: accept and validate the specification
94
+
95
+ For a single-product repository, use `SPECIFICATION.md` at the root. For a
96
+ monorepo, use `docs/product/<slug>/SPECIFICATION.md` or its established
97
+ convention.
98
+
99
+ Before marking it Accepted:
100
+
101
+ - both `Product frame` and `Technical design` are Accepted;
102
+ - no blocking decision remains;
103
+ - every non-blocking unknown has an owner, evidence action, and decision point;
104
+ - components and contracts have owners;
105
+ - acceptance behavior traces to test and rollout evidence;
106
+ - required domain reviewers completed their review;
107
+ - the responsible human accepts planning against the exact file.
108
+
109
+ Run:
110
+
111
+ ```text
112
+ python .agents/skills/specify-project/scripts/validate_specification.py SPECIFICATION.md
113
+ ```
114
+
115
+ The validator checks structure, not whether the architecture is correct.
116
+
117
+ ### Step 5: plan only the next delivery wave
118
+
119
+ ```text
120
+ Use $plan-delivery with the accepted SPECIFICATION.md. Create outcome-based
121
+ milestones for the whole product, but decompose only the first milestone into
122
+ Ready work. Name owners, independent reviewers, contracts, simple dependencies,
123
+ integration checkpoints, and validation evidence.
124
+ ```
125
+
126
+ ### Step 6: bootstrap and build
127
+
128
+ Use the appropriate repository handbook:
129
+
130
+ - [Python Project Handbook](handbooks/PYTHON-PROJECT-HANDBOOK.md)
131
+ - [Language-Agnostic Project Handbook](handbooks/LANGUAGE-AGNOSTIC-PROJECT-HANDBOOK.md)
132
+
133
+ Then take one Ready item at a time:
134
+
135
+ ```text
136
+ Use $build-change for <work-item>. Inspect the repository before planning, pair
137
+ with me on one reviewable vertical slice, run the documented validation, and
138
+ stop for any material decision not settled by SPECIFICATION.md.
139
+ ```
140
+
141
+ Use a fresh `review-change` pass and an independent human reviewer. Do not ask AI
142
+ to implement the full specification in one pass.
143
+
144
+ ### Step 7: launch and learn
145
+
146
+ ```text
147
+ Use $launch-product to assess the exact release candidate against
148
+ SPECIFICATION.md. Build a readiness evidence table, rollout stages, success and
149
+ guardrail thresholds, observation windows, rollback, ownership, and cleanup.
150
+ Do not deploy or expand exposure without human authorization.
151
+ ```
152
+
153
+ Review product outcomes after exposure. Keep, improve, roll back, or stop based
154
+ on evidence.
155
+
156
+ ## Recipe 2: Add one feature to a brownfield project
157
+
158
+ ### Use this recipe when
159
+
160
+ An existing product and repository already work, and the goal is one bounded
161
+ user-visible capability. Existing architecture, conventions, ownership, and
162
+ production behavior constrain the solution.
163
+
164
+ ### Result
165
+
166
+ ```text
167
+ Repository inspection
168
+ -> accepted feature brief
169
+ -> optional feature design
170
+ -> one or more small build/review loops
171
+ -> proportionate rollout
172
+ ```
173
+
174
+ ### Step 1: frame the feature
175
+
176
+ ```text
177
+ Use $define-product for this brownfield feature. Read the existing product and
178
+ repository documentation first. Produce a bounded feature brief with users,
179
+ outcome, acceptance scenarios, measures, first-release scope, non-goals,
180
+ constraints, assumptions, and risk. Do not design or implement it yet.
181
+
182
+ Feature request: <describe the requested behavior>.
183
+ ```
184
+
185
+ Save the accepted brief at `docs/features/<slug>/brief.md` or the repository's
186
+ existing location.
187
+
188
+ ### Step 2: decide whether a design is necessary
189
+
190
+ Skip a separate design when the implementation is local, reversible, and uses an
191
+ existing pattern without a material contract or risk decision.
192
+
193
+ Use `design-solution` when the feature changes:
194
+
195
+ - public or shared APIs;
196
+ - persistent data or migration;
197
+ - authentication, permissions, privacy, or abuse controls;
198
+ - cross-component ownership or orchestration;
199
+ - dependency, deployment, capacity, reliability, or rollback behavior.
200
+
201
+ Prompt:
202
+
203
+ ```text
204
+ Use $design-solution for the accepted feature brief. Inspect current components,
205
+ callers, schemas, tests, deployment, ownership, and comparable code before
206
+ proposing a solution. Recommend the smallest compatible design, compare real
207
+ alternatives, and stop for material API, data, security, cost, or ownership
208
+ decisions.
209
+ ```
210
+
211
+ ### Step 3: plan or start the first change
212
+
213
+ For one developer and a small feature, proceed directly to a bounded work item.
214
+ For several developers or components, use `plan-delivery` first.
215
+
216
+ ```text
217
+ Use $build-change for the first accepted feature slice. Ground the plan in the
218
+ current repository and accepted brief/design, keep the change reviewable, put
219
+ tests with behavior, and run proportionate validation.
220
+ ```
221
+
222
+ ### Step 4: review the exact change
223
+
224
+ ```text
225
+ Use $review-change on the exact current diff against the accepted feature brief
226
+ and design. Do not modify files. Check correctness, failures, security/privacy,
227
+ compatibility, tests, architecture, maintainability, and rollout. Report only
228
+ actionable evidence-based findings.
229
+ ```
230
+
231
+ An independent human reviews the complete diff and decides whether it may merge.
232
+ Re-run required checks after updating the target branch.
233
+
234
+ ### Step 5: release proportionately
235
+
236
+ A low-risk internal feature may use the ordinary release path. User-facing,
237
+ stateful, permission-sensitive, or hard-to-reverse changes need `launch-product`
238
+ with flags or staged cohorts, defined evidence, and tested rollback.
239
+
240
+ Do not create a whole-project `SPECIFICATION.md` merely for this feature unless
241
+ the work actually changes the whole product blueprint.
242
+
243
+ ## Recipe 3: Deliver a new version with multiple developers
244
+
245
+ ### Use this recipe when
246
+
247
+ An established product is preparing a substantial release or new major version
248
+ with several developers, multiple components, shared contracts, migration, or
249
+ coordinated rollout.
250
+
251
+ Do not create a long-lived “version branch” by default. Prefer small compatible
252
+ changes integrated into protected `main`, with inactive flags or safe migration
253
+ states until exposure.
254
+
255
+ ### Result
256
+
257
+ ```text
258
+ Accepted release outcome
259
+ -> accepted design/contracts
260
+ -> outcome milestones and next wave of Ready work
261
+ -> parallel work against stable contracts
262
+ -> frequent integration and independent review
263
+ -> release-candidate evidence
264
+ -> staged migration and rollout
265
+ ```
266
+
267
+ ### Step 1: establish the release outcome
268
+
269
+ If the current product specification already covers the new version, reference
270
+ it and create a bounded release or feature brief for what changes. If the new
271
+ version is a whole-product redesign, revise it with `specify-project` and obtain
272
+ both acceptance checkpoints again.
273
+
274
+ Normal prompt:
275
+
276
+ ```text
277
+ Use $define-product for version <version>. Inspect the current product documents
278
+ and production evidence. Define the changed outcome, users, acceptance,
279
+ compatibility promise, migration constraints, success measures, non-goals, and
280
+ release guardrails. Do not create implementation tasks.
281
+ ```
282
+
283
+ ### Step 2: accept shared design and contracts
284
+
285
+ ```text
286
+ Use $design-solution for the accepted version brief. Inspect the current system
287
+ and define the minimum architecture changes, component ownership, APIs/schemas,
288
+ compatible intermediate states, contract fixtures, failure behavior,
289
+ observability, migration ordering, rollout, rollback, and cleanup.
290
+ ```
291
+
292
+ Agree shared interfaces before parallel work. Each contract needs one owner,
293
+ consumer reviewers, a schema or signature, compatibility rules, and an
294
+ independently runnable fixture or contract test.
295
+
296
+ ### Step 3: create the delivery plan
297
+
298
+ ```text
299
+ Use $plan-delivery for version <version> with <developer names or teams>. Create
300
+ outcome-based milestones and only the next wave of Ready work. Give every item
301
+ one owner and a different reviewer. Record Blocked by, Integrates with, or Lands
302
+ after only when it changes action. Name integration checkpoints and an
303
+ integration owner where streams meet. Default to one active item per developer.
304
+ ```
305
+
306
+ Good milestones demonstrate integrated user/system behavior. “Backend complete”
307
+ or “all components coded” are not outcome milestones.
308
+
309
+ ### Step 4: run the team loop
310
+
311
+ For each developer:
312
+
313
+ 1. Pull one Ready item.
314
+ 2. Use `build-change` to inspect, plan, implement, and validate one small slice.
315
+ 3. Use a fresh `review-change` pass for normal or higher risk.
316
+ 4. Request the named independent human reviewer.
317
+ 5. Update from `main`, revalidate, merge, and confirm postsubmit remains green.
318
+ 6. Integrate against the accepted contract at the named checkpoint.
319
+ 7. Pull the next item only when review and integration capacity exists.
320
+
321
+ Coordinate shared schemas, generated files, migrations, lockfiles, and registries
322
+ with one temporary owner or explicit landing order. Never resolve a semantic
323
+ conflict mechanically.
324
+
325
+ ### Step 5: demonstrate and plan the next wave
326
+
327
+ At each milestone:
328
+
329
+ - show the real integrated behavior;
330
+ - compare it with acceptance and guardrails;
331
+ - review defects, operational evidence, and changed assumptions;
332
+ - update the canonical design only when reality changed;
333
+ - prepare the next wave of Ready items;
334
+ - stop work whose premise failed.
335
+
336
+ ### Step 6: prepare and launch the version
337
+
338
+ ```text
339
+ Use $launch-product for the exact version <version> release candidate. Verify
340
+ functional, contract, migration, security/privacy, performance, operability,
341
+ artifact, support, and rollback evidence. Define internal, canary, and expansion
342
+ stages with thresholds, observation windows, decision owners, and cleanup. Do
343
+ not deploy, migrate, or expand exposure without human authorization.
344
+ ```
345
+
346
+ Build once from a known green commit and promote the same immutable artifact.
347
+ Rehearse migration and rollback at representative fidelity. Complete the release
348
+ only after production and product evidence meet the accepted decision rules.
349
+
350
+ ## Recipe 4: Fix a small bug
351
+
352
+ ### Use this recipe when
353
+
354
+ The defect is local, understood or reproducible, reversible, and does not require
355
+ a material product, API, data, security, privacy, or architecture decision.
356
+
357
+ ### Result
358
+
359
+ ```text
360
+ Issue -> reproduce -> failing regression test -> minimal fix
361
+ -> focused and broader validation -> human review -> merge
362
+ ```
363
+
364
+ ### Step 1: write the issue
365
+
366
+ Record:
367
+
368
+ - observed behavior;
369
+ - expected behavior;
370
+ - reproduction steps and environment;
371
+ - impact and affected versions;
372
+ - logs or screenshots with sensitive data removed;
373
+ - a concise non-goal;
374
+ - rollback or disable mechanism if production is currently affected.
375
+
376
+ Do not write a product brief or specification for an ordinary bug.
377
+
378
+ ### Step 2: diagnose and fix interactively
379
+
380
+ ```text
381
+ Use $build-change for this bug. Inspect the repository and current Git state,
382
+ reproduce the failure, identify the root cause, add a regression test that fails
383
+ for the bug when practical, implement the smallest coherent fix, run affected
384
+ and proportionate broader checks, and inspect the complete diff. Stop if the bug
385
+ reveals a material product, API, data, security, or architecture decision.
386
+ ```
387
+
388
+ The regression test should assert externally meaningful behavior, not merely the
389
+ chosen implementation. Preserve unrelated local changes.
390
+
391
+ ### Step 3: review
392
+
393
+ Every code change receives independent human review. Use `review-change` when
394
+ the bug is normal or higher risk, the root cause is subtle, concurrency or
395
+ security is involved, or a second AI pass would materially improve confidence:
396
+
397
+ ```text
398
+ Use $review-change on the exact bug-fix diff. Do not modify code. Verify the root
399
+ cause, regression coverage, failure paths, compatibility, and absence of
400
+ unrelated change.
401
+ ```
402
+
403
+ ### Step 4: merge and verify
404
+
405
+ - update from the target branch and rerun required checks;
406
+ - merge through the protected path;
407
+ - confirm postsubmit is green;
408
+ - verify the repaired behavior in the appropriate environment;
409
+ - use the existing release or hotfix procedure;
410
+ - monitor the original failure signal.
411
+
412
+ If the fix needs a risky migration or user-exposure decision, stop treating it as
413
+ a small bug and use `design-solution` plus `launch-product` controls.
414
+
415
+ ## Final rule
416
+
417
+ The safest workflow is not the one with the most documents. It is the lightest
418
+ workflow that makes intent, risk, evidence, ownership, review, and release
419
+ authority explicit for the change being made.
@@ -0,0 +1,212 @@
1
+ # Product Development Workflow
2
+
3
+ This workflow helps developers and AI build software together. Humans remain
4
+ accountable for product intent, material design decisions, code acceptance, and
5
+ release authorization. AI investigates, proposes, implements, validates, and
6
+ reviews bounded work with frequent human checkpoints.
7
+
8
+ The workflow uses familiar engineering artifacts and scales with risk. It is not
9
+ an autonomous coding loop and it does not require every change to produce every
10
+ document.
11
+
12
+ For complete setup and operating guidance, use the companion handbooks:
13
+
14
+ - [Google-inspired Python project setup](handbooks/PYTHON-PROJECT-HANDBOOK.md)
15
+ - [Google-inspired language-agnostic project setup](handbooks/LANGUAGE-AGNOSTIC-PROJECT-HANDBOOK.md)
16
+ - [Idea-to-production human-AI delivery](handbooks/IDEA-TO-PRODUCTION-HANDBOOK.md)
17
+ - [Four common workflow recipes](WORKFLOW-COOKBOOK.md)
18
+ - [Ready-to-use workflow prompts](AI-WORKFLOW-PROMPTS.md)
19
+
20
+ ## Start here: four steps
21
+
22
+ Developers do not need to learn or select the skills below. Describe the change
23
+ in normal language; the AI routes it and explains why any design or planning is
24
+ needed.
25
+
26
+ 1. **Understand:** agree on the outcome. Resolve material architecture and team
27
+ coordination only when the change needs them.
28
+ 2. **Build:** implement and validate one bounded, reviewable change.
29
+ 3. **Review:** independently inspect the exact change and its evidence.
30
+ 4. **Ship:** authorize controlled exposure, observe it, and learn.
31
+
32
+ Small fixes can move directly from Understand to Build. Design and delivery
33
+ planning deepen Understand; they are not mandatory extra stages.
34
+
35
+ ## Choose the lightest safe path
36
+
37
+ | Path | Use for | Flow |
38
+ |---|---|---|
39
+ | Quick change | Local, reversible, low-risk fixes or refactors | Issue -> build -> review -> merge |
40
+ | Feature | Bounded user-visible or cross-file behavior | Feature brief -> optional design -> build/review loops -> rollout |
41
+ | Product, modular | New products, cross-team systems, migrations, or high-risk work | Product brief -> design -> delivery plan -> build/review loops -> launch |
42
+ | Product, guided | Greenfield or whole-product blueprint where one continuous interview is helpful | `SPECIFICATION.md` with product/design checkpoints -> delivery plan -> build/review loops -> launch |
43
+
44
+ Security, privacy, permissions, public APIs, persistent data, billing,
45
+ compliance, and destructive behavior always require explicit design and review,
46
+ even when the diff is small.
47
+
48
+ ## Lifecycle and skills
49
+
50
+ ```text
51
+ Idea
52
+ -> specify-project Optional guided facade: product frame + design in one specification
53
+ OR
54
+ -> define-product Modular path: why, users, outcome, scope, success
55
+ -> design-solution Modular path: architecture, APIs, trade-offs, risk
56
+ -> plan-delivery Milestones, work items, owners, dependencies
57
+ -> build-change Interactive plan, implementation, validation
58
+ -> review-change Independent evidence-based review
59
+ -> launch-product Readiness, staged rollout, measurement, learning
60
+ ```
61
+
62
+ `specify-project` combines the first two forms of thinking for a new or
63
+ whole-product blueprint; it does not add a lifecycle stage. It asks one
64
+ recommendation-led question at a time, accepts the product frame before the
65
+ technical design, and creates one canonical `SPECIFICATION.md`. Do not also
66
+ create a brief and design containing the same facts.
67
+
68
+ Small work may enter at `build-change`. A feature may skip `design-solution`
69
+ when there is no material technical decision. A product uses either the guided
70
+ specification or the modular brief/design path, and only the current milestone
71
+ is planned in detail.
72
+
73
+ ## Canonical artifacts
74
+
75
+ | Artifact | Purpose | When needed |
76
+ |---|---|---|
77
+ | Project specification | Combined product frame and high-level technical blueprint with separate acceptance checkpoints | Optional guided path for greenfield or whole-product definition |
78
+ | Product or feature brief | Outcome, users, success, scope, non-goals | Features and products |
79
+ | Design document | Architecture, ownership, APIs, trade-offs, quality and rollout | Material or risky technical change |
80
+ | Delivery plan or project tracker | Milestones, ready work, owners, reviewers, dependencies, status | Multi-developer work |
81
+ | Implementation plan | Repository-grounded steps and validation for one work item | Complex, risky, or cross-session changes |
82
+ | Pull request/change | Small implementation plus tests | Every code change |
83
+ | Launch plan | Readiness, exposure stages, thresholds, rollback, learning | Material releases |
84
+
85
+ Git history is the revision record. Use `Draft`, `Accepted`, `Active`, and
86
+ `Superseded` for document state. Version APIs and schemas when consumers need a
87
+ compatibility contract; do not invent a second revision system for planning
88
+ documents.
89
+
90
+ ## How a developer works with AI
91
+
92
+ For each work item:
93
+
94
+ 1. **Frame:** agree on the outcome, acceptance criteria, non-goals, and risk.
95
+ 2. **Inspect:** AI reads the current repository, relevant design, tests, and
96
+ conventions. It separates verified facts from assumptions.
97
+ 3. **Plan:** AI proposes the smallest coherent change and validation. The human
98
+ decides any product, API, data, security, dependency, or architecture choice.
99
+ 4. **Build:** AI edits one reviewable slice and shares concise progress at
100
+ meaningful boundaries.
101
+ 5. **Verify:** AI runs formatting, static checks, affected tests, and
102
+ proportionate broader tests, then inspects the complete diff.
103
+ 6. **Review:** an independent human reviews every change. A fresh AI review is
104
+ recommended for normal or higher-risk changes.
105
+ 7. **Accept:** the human inspects the exact diff and authorizes commit or merge
106
+ according to repository policy.
107
+
108
+ The AI stops when required behavior conflicts, a material decision is missing,
109
+ the base changed unexpectedly, concurrent work collides, or required evidence
110
+ cannot be produced. It gives facts, a recommendation, and one precise question.
111
+
112
+ Immediately before editing, the AI presents a short focus card: change,
113
+ observable success, non-goals, allowed scope, validation, stop conditions, and
114
+ whether the work remains interactive pairing or is safe for bounded delegation.
115
+ When implementation finishes, it returns an evidence receipt containing what
116
+ changed, validation actually run, acceptance evidence, deviations, limitations,
117
+ and review state. Neither requires a separate document for ordinary work.
118
+
119
+ On a subagent-capable platform, the developer stays in one orchestrator
120
+ conversation. The orchestrator creates the plan, sends it to a bounded editing
121
+ builder, sends the exact resulting snapshot and evidence to a fresh read-only
122
+ reviewer, and routes findings back automatically. The human does not copy
123
+ messages between agents, but still approves delegation, material plan changes,
124
+ merge, and release. Use separate branches/worktrees and orchestrator sessions
125
+ for concurrently executing work items.
126
+
127
+ ## Multi-developer rules
128
+
129
+ ### Own components and APIs
130
+
131
+ Each important component or API has a team or person responsible for design,
132
+ review, compatibility, and operation. Describe these in the design document or
133
+ repository ownership configuration; do not maintain a separate ownership graph
134
+ unless it provides independent value.
135
+
136
+ ### Agree on contracts before parallel work
137
+
138
+ Two developers may work concurrently when they share an accepted API/schema and
139
+ a contract fixture or test. Record ordinary relations in the tracker:
140
+
141
+ - **Blocked by:** work cannot begin safely.
142
+ - **Integrates with:** work proceeds against a contract; integration occurs at a
143
+ named checkpoint.
144
+ - **Lands after:** merge or migration order matters.
145
+
146
+ ### Keep work and branches small
147
+
148
+ Prefer short-lived branches and one-purpose pull requests. Incomplete behavior
149
+ may merge behind a feature flag when the intermediate state is safe. Revalidate
150
+ after updating the target branch. Shared migrations, generated files, schemas,
151
+ and other hotspots need one named coordination rule.
152
+
153
+ ### Limit work in progress
154
+
155
+ Default to one implementation item per developer. Queue additional work instead
156
+ of opening several half-finished changes. The owner and reviewer must differ.
157
+ Name an integration owner only where several work items meet.
158
+
159
+ ## Team operating rhythm
160
+
161
+ - Review outcomes, the current milestone, and major risks weekly.
162
+ - Review architecture and API changes when they arise, not in recurring ritual
163
+ meetings without a decision.
164
+ - Select one ready work item per developer.
165
+ - Merge small validated changes continuously.
166
+ - Demonstrate working behavior at every milestone.
167
+ - Plan the next wave using evidence from the demonstration and production.
168
+ - Treat launch as a measured learning cycle, not a finish line.
169
+
170
+ ## Quality and approval
171
+
172
+ Automation supplies evidence; it does not approve work. The implementing AI
173
+ cannot approve its own change. Reviewer readiness does not authorize merge.
174
+ Merge, deployment, data migration, publication, and rollout expansion require
175
+ the responsible human action or the repository's established approval policy.
176
+
177
+ High- and critical-risk work may additionally require security/privacy review,
178
+ two-person approval, immutable test suites, restricted tool permissions,
179
+ staging, canaries, and tested rollback.
180
+
181
+ ## Maintenance rule
182
+
183
+ Every fact has one owner:
184
+
185
+ - outcome and scope live in the brief, or in the accepted specification when
186
+ using the guided path;
187
+ - architecture and contracts live in the design/API source, or in that same
188
+ accepted specification;
189
+ - assignment and status live in the tracker;
190
+ - code behavior lives in code and tests;
191
+ - durable rationale lives in a design decision;
192
+ - rollout state and evidence live in the launch record and observability system.
193
+
194
+ Link to facts instead of copying them. Add process only when it prevents a named
195
+ failure and cannot be enforced by existing code, tests, CI, ownership, or
196
+ deployment tooling.
197
+
198
+ Workflow rules are also software behavior. Changes to `AGENTS.md`, skills, or AI
199
+ workflow policy should be exercised against the repository's behavioral
200
+ scenarios. An external harness, human, or independent AI records observable
201
+ actions and evidence; the agent being evaluated does not score itself, and
202
+ private reasoning is never required.
203
+
204
+ ```text
205
+ python scripts/evaluate-development-workflow.py
206
+ python scripts/evaluate-development-workflow.py --write-template <results.json>
207
+ python scripts/evaluate-development-workflow.py --results <results.json>
208
+ ```
209
+
210
+ The first command validates the six-scenario catalog. The second creates an
211
+ observation record for an evaluation run; the third scores the completed record
212
+ and fails when a required behavior lacks evidence.