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,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-change
|
|
3
|
+
description: Pair with a developer to investigate, plan, implement, test, and prepare one bounded code change, bug fix, refactor, or delivery-plan work item. Use when the user wants hands-on AI-assisted coding with frequent checkpoints and human control rather than a long autonomous implementation loop. Ground every plan in the current repository and keep changes small and reviewable.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Build Change
|
|
7
|
+
|
|
8
|
+
Work as an interactive pair engineer. The human owns intent and acceptance; the
|
|
9
|
+
AI investigates, proposes, edits, validates, and explains. Use
|
|
10
|
+
`assets/implementation-plan.template.md` only when work spans sessions, affects
|
|
11
|
+
several components, or needs a reviewed written plan.
|
|
12
|
+
|
|
13
|
+
## 1. Frame the change
|
|
14
|
+
|
|
15
|
+
Read the issue or work item, relevant brief/design/API references, repository
|
|
16
|
+
instructions, and current Git state. Before editing, show a compact inline focus
|
|
17
|
+
card:
|
|
18
|
+
|
|
19
|
+
- **Change:** intended outcome;
|
|
20
|
+
- **Success:** observable acceptance behavior;
|
|
21
|
+
- **Non-goals:** explicit exclusions;
|
|
22
|
+
- **Allowed scope:** expected components or paths;
|
|
23
|
+
- **Validation:** checks that will provide acceptance evidence;
|
|
24
|
+
- **Stop if:** material decisions or conditions that require the human; and
|
|
25
|
+
- **Work style:** `Pair` by default, or `Bounded delegate` only for isolated,
|
|
26
|
+
well-specified, testable, reversible work.
|
|
27
|
+
|
|
28
|
+
For an obvious low-risk change, keep this inline. Do not manufacture planning
|
|
29
|
+
documents. Treat the allowed scope as a drift boundary: surface a needed
|
|
30
|
+
expansion before editing outside it.
|
|
31
|
+
|
|
32
|
+
## 2. Ground the plan
|
|
33
|
+
|
|
34
|
+
Inspect actual files, symbols, tests, build commands, conventions, ownership,
|
|
35
|
+
and recent related changes before proposing edits. Identify mismatches between
|
|
36
|
+
the request and repository reality.
|
|
37
|
+
|
|
38
|
+
A new request does not silently supersede an accepted brief, design, API, or
|
|
39
|
+
repository policy. When they conflict, stop, show the exact conflict, recommend
|
|
40
|
+
the safest resolution, and obtain an explicit human decision in the owning
|
|
41
|
+
artifact before implementation.
|
|
42
|
+
|
|
43
|
+
Propose the smallest coherent change, expected files, test approach, risks, and
|
|
44
|
+
any intentional follow-up. Obtain a human decision before editing when the plan
|
|
45
|
+
introduces or changes an API, data model, dependency, security behavior,
|
|
46
|
+
architecture, user-visible scope, or destructive operation. Otherwise announce
|
|
47
|
+
the plan and proceed interactively.
|
|
48
|
+
|
|
49
|
+
## 3. Implement a small change
|
|
50
|
+
|
|
51
|
+
Prefer one review purpose. As a soft warning, reconsider the slice when it
|
|
52
|
+
exceeds roughly 400 non-generated changed lines or eight files; generated code,
|
|
53
|
+
mechanical migrations, and tightly coupled tests may justify more. Split only
|
|
54
|
+
when each part remains buildable and useful.
|
|
55
|
+
|
|
56
|
+
Reuse repository patterns. Add or update tests with the behavior. Do not weaken
|
|
57
|
+
tests, invent missing APIs, silently expand scope, or edit accepted product and
|
|
58
|
+
design decisions to make implementation easier.
|
|
59
|
+
|
|
60
|
+
Share concise progress at meaningful boundaries. Do not run unattended retry
|
|
61
|
+
loops. After two failed attempts with the same root cause, stop, present the
|
|
62
|
+
evidence, and agree on the next approach with the human.
|
|
63
|
+
|
|
64
|
+
## 4. Validate and inspect
|
|
65
|
+
|
|
66
|
+
Run the repository's formatter, static checks, affected tests, and proportionate
|
|
67
|
+
broader tests. Report exact commands, outcomes, and any checks that could not run.
|
|
68
|
+
|
|
69
|
+
Review the complete diff for accidental files, debug code, weakened assertions,
|
|
70
|
+
security or compatibility regressions, unnecessary complexity, and stale docs.
|
|
71
|
+
Map important acceptance criteria to evidence; formal requirement IDs are only
|
|
72
|
+
needed when policy or risk requires them.
|
|
73
|
+
|
|
74
|
+
## 5. Prepare review
|
|
75
|
+
|
|
76
|
+
Return a compact evidence receipt:
|
|
77
|
+
|
|
78
|
+
- **Delivered:** outcome and observable behavior;
|
|
79
|
+
- **Changed:** files and components;
|
|
80
|
+
- **Validation actually run:** exact commands and outcomes;
|
|
81
|
+
- **Acceptance evidence:** criteria mapped to evidence;
|
|
82
|
+
- **Scope deviations:** none, or accepted deviations;
|
|
83
|
+
- **Known limitations:** risks and follow-up work; and
|
|
84
|
+
- **Review state:** independent review status and rollout implications.
|
|
85
|
+
|
|
86
|
+
For normal or higher-risk work, invoke `review-change` in a fresh context when
|
|
87
|
+
available. The implementing AI never declares its own work approved. The human
|
|
88
|
+
must inspect the diff and explicitly authorize commit, merge, publication, or
|
|
89
|
+
release actions according to repository policy.
|
|
90
|
+
|
|
91
|
+
## Stop conditions
|
|
92
|
+
|
|
93
|
+
Stop and ask for one precise decision when required behavior conflicts, a
|
|
94
|
+
material design choice is missing, the repository is unexpectedly stale,
|
|
95
|
+
permissions or a dependency are unavailable, concurrent changes collide, or
|
|
96
|
+
safe validation cannot be produced. Include evidence and safe alternatives.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# [Work item] Implementation Plan
|
|
2
|
+
|
|
3
|
+
**Status:** Draft
|
|
4
|
+
**Owner:** [developer]
|
|
5
|
+
**Reviewer:** [independent reviewer]
|
|
6
|
+
**Risk:** [low/normal/high/critical]
|
|
7
|
+
**Base commit:** [Git commit]
|
|
8
|
+
**Issue/work item:** [link or ID]
|
|
9
|
+
**Brief/design/API:** [links or Not needed]
|
|
10
|
+
|
|
11
|
+
## Focus card
|
|
12
|
+
|
|
13
|
+
- **Change:** [Intended outcome]
|
|
14
|
+
- **Success:** [Observable acceptance behavior]
|
|
15
|
+
- **Non-goals:** [Explicit exclusions]
|
|
16
|
+
- **Allowed scope:** [Expected components or paths]
|
|
17
|
+
- **Validation:** [Checks that provide acceptance evidence]
|
|
18
|
+
- **Stop if:** [Material decision or condition requiring the human]
|
|
19
|
+
- **Work style:** [Pair / Bounded delegate with reason]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Repository evidence
|
|
23
|
+
|
|
24
|
+
- `[path/symbol]`: [verified fact]
|
|
25
|
+
|
|
26
|
+
## Proposed change
|
|
27
|
+
|
|
28
|
+
1. [Small repository-grounded step and test]
|
|
29
|
+
|
|
30
|
+
## Validation
|
|
31
|
+
|
|
32
|
+
- `[exact command]` -> [expected evidence]
|
|
33
|
+
|
|
34
|
+
## Risks and rollout
|
|
35
|
+
|
|
36
|
+
- [Risk, containment, feature flag, compatibility, or rollback]
|
|
37
|
+
|
|
38
|
+
## Decisions needed
|
|
39
|
+
|
|
40
|
+
- [None, or one material decision with recommendation]
|
|
41
|
+
|
|
42
|
+
## Completion evidence
|
|
43
|
+
|
|
44
|
+
- **Delivered:** [Outcome and observable behavior]
|
|
45
|
+
- **Changed:** [Files and components]
|
|
46
|
+
- **Head commit/snapshot:** [Value]
|
|
47
|
+
- **Validation actually run:** [Exact commands and outcomes]
|
|
48
|
+
- **Acceptance evidence:** [Criterion -> evidence]
|
|
49
|
+
- **Scope deviations:** [None or accepted deviations]
|
|
50
|
+
- **Known limitations:** [None, risks, or follow-up links]
|
|
51
|
+
- **Review state:** [Not reviewed / review result and rollout implications]
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: define-product
|
|
3
|
+
description: Turn a software idea, product proposal, or feature request into a clear product or feature brief and select the lightest safe workflow. Use when a developer needs help clarifying users, outcomes, scope, success measures, constraints, assumptions, or whether work is a quick change, feature, or product. Do not design the technical solution or create implementation tasks.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Define Product
|
|
7
|
+
|
|
8
|
+
Guide the developer from an idea to an accepted brief. Explain the purpose of
|
|
9
|
+
each step in plain language and keep the conversation focused on product intent.
|
|
10
|
+
|
|
11
|
+
Use `assets/brief.template.md` when a durable brief is useful.
|
|
12
|
+
|
|
13
|
+
## 1. Choose the workflow size
|
|
14
|
+
|
|
15
|
+
Recommend one path and explain why:
|
|
16
|
+
|
|
17
|
+
- **Quick change:** local, reversible, low-risk work with obvious acceptance.
|
|
18
|
+
Hand off directly to `build-change`; an issue is enough.
|
|
19
|
+
- **Feature:** a user-visible or cross-file outcome with limited architectural
|
|
20
|
+
impact. Create a feature brief, then use `design-solution` only if needed.
|
|
21
|
+
- **Product:** a new product, major capability, cross-team effort, migration, or
|
|
22
|
+
high-risk change. Create a product brief and continue through all lifecycle
|
|
23
|
+
skills.
|
|
24
|
+
|
|
25
|
+
Risk overrides size. Security, privacy, permissions, public APIs, persistent
|
|
26
|
+
data, billing, compliance, and destructive operations require at least the
|
|
27
|
+
feature path and an explicit design review.
|
|
28
|
+
|
|
29
|
+
## 2. Discover intent
|
|
30
|
+
|
|
31
|
+
Read supplied material completely. Inspect existing product documentation when
|
|
32
|
+
available. Establish:
|
|
33
|
+
|
|
34
|
+
- target users and their problem;
|
|
35
|
+
- desired outcome and measurable evidence of success;
|
|
36
|
+
- essential scenarios and failure expectations;
|
|
37
|
+
- first-release scope and explicit non-goals;
|
|
38
|
+
- fixed business, legal, safety, accessibility, platform, cost, and timing
|
|
39
|
+
constraints; and
|
|
40
|
+
- assumptions that need evidence before committing to the full solution.
|
|
41
|
+
|
|
42
|
+
Never fabricate a numerical target. When no baseline or accountable target
|
|
43
|
+
exists, name the measure, define how to establish its baseline, and leave target
|
|
44
|
+
selection as an explicit product decision before accepting the brief.
|
|
45
|
+
|
|
46
|
+
Ask at most four related questions at once. Recommend an answer when evidence
|
|
47
|
+
supports one. Do not ask for repository facts that can be inspected later.
|
|
48
|
+
|
|
49
|
+
## 3. Shape the smallest useful release
|
|
50
|
+
|
|
51
|
+
Prefer one end-to-end outcome over a catalogue of components. Separate:
|
|
52
|
+
|
|
53
|
+
- **Now:** required to demonstrate value;
|
|
54
|
+
- **Next:** plausible follow-up, not committed;
|
|
55
|
+
- **Not planned:** deliberately excluded.
|
|
56
|
+
|
|
57
|
+
If the central user or outcome is still unknown, propose a bounded discovery
|
|
58
|
+
experiment rather than pretending the product is ready for engineering.
|
|
59
|
+
|
|
60
|
+
## 4. Save and accept the brief
|
|
61
|
+
|
|
62
|
+
For a feature, write `docs/features/<slug>/brief.md`. For a product, write
|
|
63
|
+
`docs/product/<slug>/brief.md`. Adapt to an existing repository convention
|
|
64
|
+
instead of creating a parallel structure.
|
|
65
|
+
|
|
66
|
+
Set `Status: Draft` until the human confirms the outcome, scope, non-goals, and
|
|
67
|
+
success measures. Then set `Status: Accepted`. Git history is the revision
|
|
68
|
+
record; do not invent a second revision scheme.
|
|
69
|
+
|
|
70
|
+
## Handoff
|
|
71
|
+
|
|
72
|
+
Recommend the next action:
|
|
73
|
+
|
|
74
|
+
- Quick change -> `build-change`
|
|
75
|
+
- Feature with no material design choice -> `plan-delivery` or `build-change`
|
|
76
|
+
- Feature with architectural/risk decisions -> `design-solution`
|
|
77
|
+
- Product -> `design-solution`
|
|
78
|
+
|
|
79
|
+
Never convert the brief into architecture, staffing, or code-level tasks.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# [Product or Feature Name]
|
|
2
|
+
|
|
3
|
+
**Status:** Draft
|
|
4
|
+
**Owner:** [name or team]
|
|
5
|
+
**Last reviewed:** [YYYY-MM-DD]
|
|
6
|
+
|
|
7
|
+
## Problem and users
|
|
8
|
+
|
|
9
|
+
[Who has which problem, with supporting evidence.]
|
|
10
|
+
|
|
11
|
+
## Desired outcome
|
|
12
|
+
|
|
13
|
+
[The user or business outcome, not the proposed implementation.]
|
|
14
|
+
|
|
15
|
+
## Success measures
|
|
16
|
+
|
|
17
|
+
- [Observable measure and target]
|
|
18
|
+
|
|
19
|
+
## Essential scenarios
|
|
20
|
+
|
|
21
|
+
- [Primary scenario]
|
|
22
|
+
- [Important failure or recovery scenario]
|
|
23
|
+
|
|
24
|
+
## First release
|
|
25
|
+
|
|
26
|
+
### Now
|
|
27
|
+
|
|
28
|
+
- [Required outcome]
|
|
29
|
+
|
|
30
|
+
### Next
|
|
31
|
+
|
|
32
|
+
- [Plausible follow-up; not committed]
|
|
33
|
+
|
|
34
|
+
### Not planned
|
|
35
|
+
|
|
36
|
+
- [Explicit non-goal]
|
|
37
|
+
|
|
38
|
+
## Constraints
|
|
39
|
+
|
|
40
|
+
- [Business, safety, privacy, accessibility, platform, cost, or timing constraint]
|
|
41
|
+
|
|
42
|
+
## Assumptions and discovery
|
|
43
|
+
|
|
44
|
+
| Assumption | Evidence needed | Owner | Decision point |
|
|
45
|
+
|---|---|---|---|
|
|
46
|
+
| [assumption] | [experiment or data] | [owner] | [when/how decided] |
|
|
47
|
+
|
|
48
|
+
## Acceptance
|
|
49
|
+
|
|
50
|
+
- [ ] Outcome, scope, non-goals, and success measures accepted by the accountable human.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-solution
|
|
3
|
+
description: Create or revise a practical technical design for a significant feature, product, migration, or cross-component change. Use when engineers need architecture, component ownership, APIs or contracts, data flow, trade-offs, risk controls, test strategy, or rollout design before implementation. Skip this skill for local low-risk changes with an obvious implementation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Solution
|
|
7
|
+
|
|
8
|
+
Help the developer make the few technical decisions that must be shared before
|
|
9
|
+
parallel implementation. Use `assets/design.template.md`; use
|
|
10
|
+
`assets/decision.template.md` only for a durable cross-cutting decision that
|
|
11
|
+
must outlive the design document.
|
|
12
|
+
|
|
13
|
+
## 1. Establish context
|
|
14
|
+
|
|
15
|
+
Read the accepted brief, relevant repository instructions, current architecture,
|
|
16
|
+
code, tests, and prior decisions. Confirm the design still solves the stated
|
|
17
|
+
outcome. Return to `define-product` if the outcome or scope is the real problem.
|
|
18
|
+
|
|
19
|
+
State which decisions the design must settle and which details can safely remain
|
|
20
|
+
with implementing engineers.
|
|
21
|
+
|
|
22
|
+
## 2. Investigate before proposing
|
|
23
|
+
|
|
24
|
+
Locate existing components, ownership, extension points, schemas, APIs, failure
|
|
25
|
+
conventions, deployment model, and comparable implementations. Distinguish
|
|
26
|
+
verified repository facts from assumptions.
|
|
27
|
+
|
|
28
|
+
For material choices, present the recommended option, meaningful alternatives,
|
|
29
|
+
and trade-offs. Ask the human only when alternatives change product behavior,
|
|
30
|
+
an interface, persistent data, risk, cost, or ownership.
|
|
31
|
+
|
|
32
|
+
## 3. Design stable boundaries
|
|
33
|
+
|
|
34
|
+
Describe components in ordinary language. For every cross-component API or
|
|
35
|
+
contract, define:
|
|
36
|
+
|
|
37
|
+
- owner, callers, and purpose;
|
|
38
|
+
- request/event/data shape or authoritative reference;
|
|
39
|
+
- guarantees and caller obligations;
|
|
40
|
+
- validation, errors, timeouts, and retries;
|
|
41
|
+
- compatibility and migration expectations; and
|
|
42
|
+
- a contract-level test or fixture when parallel work depends on it.
|
|
43
|
+
|
|
44
|
+
Do not prescribe classes, private methods, file layouts, or algorithms unless
|
|
45
|
+
they are genuinely architectural.
|
|
46
|
+
|
|
47
|
+
## 4. Design quality and delivery
|
|
48
|
+
|
|
49
|
+
Cover proportionate concerns:
|
|
50
|
+
|
|
51
|
+
- security, privacy, permissions, abuse, and data retention;
|
|
52
|
+
- reliability, concurrency, observability, capacity, and cost;
|
|
53
|
+
- accessibility and internationalization;
|
|
54
|
+
- unit, contract, integration, end-to-end, performance, and failure testing;
|
|
55
|
+
- migration, feature flag, rollout, rollback, and cleanup; and
|
|
56
|
+
- unresolved risks with an owner and evidence-producing next step.
|
|
57
|
+
|
|
58
|
+
Prefer a thin end-to-end path that can be tested early.
|
|
59
|
+
|
|
60
|
+
## 5. Review and accept
|
|
61
|
+
|
|
62
|
+
Save product designs under `docs/design/` or feature-local designs under
|
|
63
|
+
`docs/features/<slug>/design.md`, following repository conventions. Name an
|
|
64
|
+
owner and required domain reviewers. Keep open questions visible.
|
|
65
|
+
|
|
66
|
+
Mark the design `Accepted` only after material decisions are resolved and the
|
|
67
|
+
human confirms it is safe to plan against. Git history records revisions.
|
|
68
|
+
Implementation discoveries may update the design; explain affected work rather
|
|
69
|
+
than invalidating unrelated plans automatically.
|
|
70
|
+
|
|
71
|
+
## Handoff
|
|
72
|
+
|
|
73
|
+
Send the accepted brief, design, API/contract references, open risks, and next
|
|
74
|
+
demonstrable outcome to `plan-delivery`. Do not assign people or generate an
|
|
75
|
+
exhaustive task list.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# [Decision title]
|
|
2
|
+
|
|
3
|
+
**Status:** Proposed
|
|
4
|
+
**Date:** [YYYY-MM-DD]
|
|
5
|
+
**Owners:** [name or team]
|
|
6
|
+
**Related design:** [link]
|
|
7
|
+
|
|
8
|
+
## Context
|
|
9
|
+
|
|
10
|
+
[Why this durable decision is needed.]
|
|
11
|
+
|
|
12
|
+
## Decision
|
|
13
|
+
|
|
14
|
+
[The chosen direction.]
|
|
15
|
+
|
|
16
|
+
## Alternatives considered
|
|
17
|
+
|
|
18
|
+
- **[Alternative]:** [reason rejected]
|
|
19
|
+
|
|
20
|
+
## Consequences
|
|
21
|
+
|
|
22
|
+
- [Benefit, cost, constraint, or follow-up]
|
|
23
|
+
|
|
24
|
+
## Revisit when
|
|
25
|
+
|
|
26
|
+
[New evidence or condition that should reopen the decision.]
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# [Design title]
|
|
2
|
+
|
|
3
|
+
**Status:** Draft
|
|
4
|
+
**Owner:** [name or team]
|
|
5
|
+
**Reviewers:** [technical and specialist reviewers]
|
|
6
|
+
**Brief:** [link]
|
|
7
|
+
**Last reviewed:** [YYYY-MM-DD]
|
|
8
|
+
|
|
9
|
+
## Summary
|
|
10
|
+
|
|
11
|
+
[Recommended solution and why.]
|
|
12
|
+
|
|
13
|
+
## Goals and non-goals
|
|
14
|
+
|
|
15
|
+
### Goals
|
|
16
|
+
|
|
17
|
+
- [goal]
|
|
18
|
+
|
|
19
|
+
### Non-goals
|
|
20
|
+
|
|
21
|
+
- [non-goal]
|
|
22
|
+
|
|
23
|
+
## Current system and evidence
|
|
24
|
+
|
|
25
|
+
[Relevant components, code, data, constraints, and verified references.]
|
|
26
|
+
|
|
27
|
+
## Proposed design
|
|
28
|
+
|
|
29
|
+
### Components and ownership
|
|
30
|
+
|
|
31
|
+
| Component | Responsibility | Owner | Existing or new |
|
|
32
|
+
|---|---|---|---|
|
|
33
|
+
| [component] | [responsibility] | [owner] | [state] |
|
|
34
|
+
|
|
35
|
+
### Data and control flow
|
|
36
|
+
|
|
37
|
+
[Explain the important end-to-end path.]
|
|
38
|
+
|
|
39
|
+
### APIs and contracts
|
|
40
|
+
|
|
41
|
+
| API/contract | Owner | Consumers | Guarantees | Errors/timeouts | Compatibility | Test/fixture |
|
|
42
|
+
|---|---|---|---|---|---|---|
|
|
43
|
+
| [name/link] | [owner] | [consumers] | [behavior] | [behavior] | [policy] | [evidence] |
|
|
44
|
+
|
|
45
|
+
## Alternatives and trade-offs
|
|
46
|
+
|
|
47
|
+
| Option | Benefits | Costs/risks | Decision |
|
|
48
|
+
|---|---|---|---|
|
|
49
|
+
| [option] | [benefits] | [costs] | [chosen/rejected] |
|
|
50
|
+
|
|
51
|
+
## Quality and risk
|
|
52
|
+
|
|
53
|
+
- **Security/privacy:** [analysis]
|
|
54
|
+
- **Reliability/concurrency:** [analysis]
|
|
55
|
+
- **Observability/capacity/cost:** [analysis]
|
|
56
|
+
- **Accessibility/internationalization:** [analysis]
|
|
57
|
+
|
|
58
|
+
## Test strategy
|
|
59
|
+
|
|
60
|
+
- [unit/contract/integration/end-to-end/performance/failure evidence]
|
|
61
|
+
|
|
62
|
+
## Migration, rollout, rollback, and cleanup
|
|
63
|
+
|
|
64
|
+
[Safe intermediate states and recovery.]
|
|
65
|
+
|
|
66
|
+
## Open questions
|
|
67
|
+
|
|
68
|
+
| Question | Owner | Evidence needed | Blocking? |
|
|
69
|
+
|---|---|---|---|
|
|
70
|
+
| [question] | [owner] | [evidence] | [yes/no] |
|
|
71
|
+
|
|
72
|
+
## Acceptance
|
|
73
|
+
|
|
74
|
+
- [ ] Material decisions resolved.
|
|
75
|
+
- [ ] Required domain reviews complete.
|
|
76
|
+
- [ ] Accountable human accepts planning against this design.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: launch-product
|
|
3
|
+
description: Prepare and guide a safe release of a completed feature or product through readiness review, migration, feature flags, internal testing, staged rollout, observability, rollback, and post-launch learning. Use when code is approaching deployment, a team needs a launch checklist or rollout plan, or production evidence must determine expansion. Do not deploy, publish, or enable users without explicit human authorization.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Launch Product
|
|
7
|
+
|
|
8
|
+
Treat launch as the start of a learning loop, not the end of implementation. Use
|
|
9
|
+
`assets/launch-plan.template.md` for material launches; a pull-request checklist
|
|
10
|
+
is sufficient for low-risk routine releases.
|
|
11
|
+
|
|
12
|
+
## 1. Classify launch risk
|
|
13
|
+
|
|
14
|
+
Assess blast radius, reversibility, novelty, data changes, dependency changes,
|
|
15
|
+
security/privacy impact, user visibility, operational maturity, and regulatory
|
|
16
|
+
requirements. State required approvers and evidence. Risk, not code size,
|
|
17
|
+
determines rigor.
|
|
18
|
+
|
|
19
|
+
## 2. Verify readiness
|
|
20
|
+
|
|
21
|
+
Check proportionately:
|
|
22
|
+
|
|
23
|
+
- accepted outcome and release scope;
|
|
24
|
+
- reviewed code and green required validation;
|
|
25
|
+
- exact artifact/configuration being released;
|
|
26
|
+
- migration and backward/forward compatibility;
|
|
27
|
+
- security, privacy, legal, accessibility, and support readiness;
|
|
28
|
+
- dashboards, logs, alerts, SLOs, capacity, runbook, and on-call ownership;
|
|
29
|
+
- feature flag or other containment mechanism; and
|
|
30
|
+
- tested rollback or safe-disable procedure.
|
|
31
|
+
|
|
32
|
+
Unverified critical items are blockers. Record owner and evidence for every
|
|
33
|
+
exception; never turn an unchecked box into approval.
|
|
34
|
+
|
|
35
|
+
## 3. Plan progressive exposure
|
|
36
|
+
|
|
37
|
+
Define stages appropriate to the product: local/staging, team dogfood, internal
|
|
38
|
+
users, trusted testers, small production percentage, broader rollout, and full
|
|
39
|
+
availability. For every stage specify:
|
|
40
|
+
|
|
41
|
+
- eligible users or traffic;
|
|
42
|
+
- duration or minimum evidence window;
|
|
43
|
+
- product success and system health measures;
|
|
44
|
+
- explicit proceed, pause, and rollback thresholds;
|
|
45
|
+
- monitoring owner and decision maker; and
|
|
46
|
+
- communications or support actions.
|
|
47
|
+
|
|
48
|
+
Prefer configuration or feature-flag changes over rebuilding different
|
|
49
|
+
artifacts between stages.
|
|
50
|
+
|
|
51
|
+
## 4. Execute only with authorization
|
|
52
|
+
|
|
53
|
+
Present the readiness result and next rollout step. Obtain explicit human
|
|
54
|
+
authorization before deploying, publishing, migrating data, changing a flag, or
|
|
55
|
+
expanding exposure. Observe the named signals after every stage. Pause or roll
|
|
56
|
+
back when thresholds fail; do not optimize for completing the rollout.
|
|
57
|
+
|
|
58
|
+
## 5. Learn and close
|
|
59
|
+
|
|
60
|
+
After the evidence window, compare outcomes to the brief. Record unexpected
|
|
61
|
+
behavior, incidents, support feedback, cost, and follow-up work. Remove temporary
|
|
62
|
+
flags, compatibility paths, and migration tooling when safe. Update product or
|
|
63
|
+
design documentation when the learned behavior changes future decisions.
|
|
64
|
+
|
|
65
|
+
Return a concise decision: expand, hold, roll back, or revise—plus evidence and
|
|
66
|
+
owners for remaining actions.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# [Product or Feature] Launch Plan
|
|
2
|
+
|
|
3
|
+
**Status:** Draft
|
|
4
|
+
**Launch owner:** [name]
|
|
5
|
+
**Engineering owner:** [name/team]
|
|
6
|
+
**Brief/design:** [links]
|
|
7
|
+
**Release artifact/config:** [immutable identifier]
|
|
8
|
+
**Risk:** [low/normal/high/critical]
|
|
9
|
+
|
|
10
|
+
## Release outcome
|
|
11
|
+
|
|
12
|
+
[What is being released, to whom, and which success measure it tests.]
|
|
13
|
+
|
|
14
|
+
## Readiness evidence
|
|
15
|
+
|
|
16
|
+
| Area | Required evidence | Owner | Status/link |
|
|
17
|
+
|---|---|---|---|
|
|
18
|
+
| Product and UX | [acceptance/dogfood] | [owner] | [state] |
|
|
19
|
+
| Engineering | [review/CI/integration] | [owner] | [state] |
|
|
20
|
+
| Security/privacy/legal | [review or Not required with reason] | [owner] | [state] |
|
|
21
|
+
| Data and compatibility | [migration/rehearsal] | [owner] | [state] |
|
|
22
|
+
| Operations | [dashboards/alerts/runbook/capacity] | [owner] | [state] |
|
|
23
|
+
| Rollback | [tested disable/revert procedure] | [owner] | [state] |
|
|
24
|
+
|
|
25
|
+
## Rollout stages
|
|
26
|
+
|
|
27
|
+
| Stage | Audience/traffic | Minimum evidence window | Success and health thresholds | Pause/rollback threshold | Monitor | Approver |
|
|
28
|
+
|---|---|---|---|---|---|---|
|
|
29
|
+
| Dogfood | [group] | [duration/evidence] | [thresholds] | [thresholds] | [owner] | [human] |
|
|
30
|
+
|
|
31
|
+
## Migration and compatibility
|
|
32
|
+
|
|
33
|
+
[Order, dual-read/write, version skew, recovery, and cleanup.]
|
|
34
|
+
|
|
35
|
+
## Communications and support
|
|
36
|
+
|
|
37
|
+
- [Users, support, incident response, release notes]
|
|
38
|
+
|
|
39
|
+
## Rollback procedure
|
|
40
|
+
|
|
41
|
+
1. [Exact safe-disable or rollback action]
|
|
42
|
+
2. [Verification and communication]
|
|
43
|
+
|
|
44
|
+
## Post-launch review
|
|
45
|
+
|
|
46
|
+
**Evidence date:** [date/window]
|
|
47
|
+
**Decision:** Expand / Hold / Roll back / Revise
|
|
48
|
+
**Learning and follow-up:** [links and owners]
|