ultra-builder-pro-cli 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +92 -1
  2. package/README.md +11 -6
  3. package/adapters/_shared/codex-assets.cjs +23 -331
  4. package/adapters/_shared/handbook.cjs +2 -0
  5. package/adapters/_shared/runtime-assets.cjs +25 -0
  6. package/adapters/_shared/tests/handbook.test.cjs +3 -0
  7. package/adapters/_shared/tests/runtime-assets.test.cjs +12 -4
  8. package/adapters/claude.js +28 -5
  9. package/adapters/kimi.js +15 -138
  10. package/adapters/opencode.js +59 -63
  11. package/adapters/tests/claude.test.cjs +26 -9
  12. package/adapters/tests/codex.test.cjs +23 -9
  13. package/adapters/tests/kimi.test.cjs +15 -11
  14. package/adapters/tests/opencode.test.cjs +57 -10
  15. package/agents/code-reviewer.md +24 -85
  16. package/agents/debugger.md +30 -132
  17. package/agents/review-code.md +24 -104
  18. package/agents/review-comments.md +20 -83
  19. package/agents/review-coordinator.md +40 -137
  20. package/agents/review-design.md +21 -118
  21. package/agents/review-errors.md +22 -70
  22. package/agents/review-spec.md +36 -0
  23. package/agents/review-tests.md +20 -76
  24. package/agents/tdd-runner.md +26 -84
  25. package/commands/learn.md +5 -36
  26. package/commands/ultra-change.md +5 -43
  27. package/commands/ultra-deliver.md +4 -46
  28. package/commands/ultra-dev.md +4 -48
  29. package/commands/ultra-doctor.md +4 -30
  30. package/commands/ultra-init.md +5 -47
  31. package/commands/ultra-plan.md +5 -48
  32. package/commands/ultra-research.md +5 -54
  33. package/commands/ultra-status.md +5 -44
  34. package/commands/ultra-test.md +5 -45
  35. package/commands/ultra-think.md +5 -40
  36. package/docs/AGENT-CONTEXT.md +34 -12
  37. package/docs/ARCHITECTURE.md +31 -5
  38. package/docs/PLAN.zh-CN.md +3 -2
  39. package/docs/ROADMAP.md +5 -4
  40. package/docs/RUNTIME-COMPAT-MATRIX.md +7 -5
  41. package/docs/SKILL-AUTHORING.md +75 -0
  42. package/docs/USER-HANDBOOK-CONTRACT.md +9 -2
  43. package/hooks/README.md +6 -4
  44. package/hooks/active_task_context.py +14 -0
  45. package/hooks/context_spine.py +218 -0
  46. package/hooks/health_check.py +1 -1
  47. package/hooks/workflow_context.py +16 -123
  48. package/hooks/workflow_resume.py +21 -0
  49. package/mcp-server/lib/change-workflow.cjs +89 -11
  50. package/mcp-server/lib/change-workflow.test.cjs +202 -7
  51. package/mcp-server/lib/context-spine.cjs +331 -0
  52. package/mcp-server/lib/context-spine.test.cjs +73 -0
  53. package/mcp-server/lib/spec-learning.cjs +191 -0
  54. package/mcp-server/lib/spec-learning.test.cjs +62 -0
  55. package/mcp-server/lib/state-db.cjs +72 -10
  56. package/mcp-server/lib/state-db.test.cjs +7 -2
  57. package/mcp-server/server.cjs +31 -1
  58. package/mcp-server/tests/db-ops.test.cjs +3 -3
  59. package/mcp-server/tests/server-contract.test.cjs +74 -0
  60. package/mcp-server/tests/state-db.test.cjs +20 -3
  61. package/package.json +3 -2
  62. package/skills/cc-collab/SKILL.md +16 -18
  63. package/skills/code-review-expert/SKILL.md +39 -114
  64. package/skills/code-review-expert/references/correctness-reliability.md +30 -0
  65. package/skills/code-review-expert/references/design-boundaries.md +26 -0
  66. package/skills/code-review-expert/references/removal-plan.md +17 -45
  67. package/skills/codex-collab/SKILL.md +23 -28
  68. package/skills/codex-collab/evals/evals.json +18 -23
  69. package/skills/integration-rules/SKILL.md +28 -67
  70. package/skills/learn/SKILL.md +46 -105
  71. package/skills/security-rules/SKILL.md +34 -56
  72. package/skills/testing-rules/SKILL.md +28 -52
  73. package/skills/ultra-change/SKILL.md +61 -145
  74. package/skills/ultra-deliver/SKILL.md +63 -229
  75. package/skills/ultra-dev/SKILL.md +46 -338
  76. package/skills/ultra-doctor/SKILL.md +39 -71
  77. package/skills/ultra-init/SKILL.md +59 -139
  78. package/skills/ultra-plan/SKILL.md +50 -310
  79. package/skills/ultra-research/SKILL.md +59 -152
  80. package/skills/ultra-research/references/architecture.md +38 -0
  81. package/skills/ultra-research/references/problem-product.md +39 -0
  82. package/skills/ultra-research/references/quality-delivery.md +34 -0
  83. package/skills/ultra-research/references/synthesis.md +38 -0
  84. package/skills/ultra-research/references/users-scope.md +40 -0
  85. package/skills/ultra-review/SKILL.md +55 -427
  86. package/skills/ultra-review/references/unified-schema.md +76 -101
  87. package/skills/ultra-review/scripts/review_wait.py +242 -77
  88. package/skills/ultra-status/SKILL.md +38 -173
  89. package/skills/ultra-test/SKILL.md +41 -195
  90. package/skills/ultra-think/SKILL.md +43 -101
  91. package/skills/ultra-verify/SKILL.md +44 -84
  92. package/skills/ultra-verify/evals/evals.json +24 -27
  93. package/spec/cli-protocol.md +3 -0
  94. package/spec/mcp-tools.yaml +133 -4
  95. package/spec/schemas/command-manifest.schema.json +7 -25
  96. package/spec/schemas/skill-manifest.schema.json +9 -79
  97. package/spec/schemas/state-db.sql +31 -0
  98. package/skills/code-review-expert/references/code-quality-checklist.md +0 -112
  99. package/skills/code-review-expert/references/integration-checklist.md +0 -46
  100. package/skills/code-review-expert/references/security-checklist.md +0 -100
  101. package/skills/code-review-expert/references/solid-checklist.md +0 -65
  102. package/skills/ultra-research/steps/step-00-problem-validation.md +0 -154
  103. package/skills/ultra-research/steps/step-01-opportunity-discovery.md +0 -172
  104. package/skills/ultra-research/steps/step-02-market-assessment.md +0 -195
  105. package/skills/ultra-research/steps/step-03-competitive-landscape.md +0 -197
  106. package/skills/ultra-research/steps/step-04-product-strategy.md +0 -196
  107. package/skills/ultra-research/steps/step-05-assumptions-validation.md +0 -234
  108. package/skills/ultra-research/steps/step-10-user-personas.md +0 -169
  109. package/skills/ultra-research/steps/step-11-user-scenarios.md +0 -181
  110. package/skills/ultra-research/steps/step-20-user-stories.md +0 -156
  111. package/skills/ultra-research/steps/step-21-features-scope.md +0 -157
  112. package/skills/ultra-research/steps/step-22-success-metrics.md +0 -195
  113. package/skills/ultra-research/steps/step-30-architecture-context.md +0 -154
  114. package/skills/ultra-research/steps/step-31-solution-strategy.md +0 -172
  115. package/skills/ultra-research/steps/step-32-building-blocks.md +0 -188
  116. package/skills/ultra-research/steps/step-40-deployment.md +0 -123
  117. package/skills/ultra-research/steps/step-41-quality-risks.md +0 -135
  118. package/skills/ultra-research/steps/step-99-synthesis.md +0 -188
  119. package/skills/ultra-review/scripts/review_verdict_update.py +0 -99
@@ -1,156 +1,63 @@
1
1
  ---
2
2
  name: ultra-research
3
- description: "Think-Driven Interactive Discovery - Deep research with step-file architecture for high-density output"
4
- user-invocable: true
3
+ description: Turn uncertain product or architecture intent into evidence-backed baseline specifications with explicit decisions and traceable acceptance. Use when an Ultra project has unresolved requirements that are not ready for planning.
5
4
  ---
6
5
 
7
- # Ultra Research v2 — Step-File Architecture
8
-
9
- ## Overview
10
-
11
- Transform vague ideas into complete, high-confidence specifications through progressive interactive discovery. Each research step is a self-contained instruction file loaded just-in-time for maximum LLM attention density.
12
-
13
- **Philosophy**: Research is collaborative. Each decision validated with user before proceeding. All findings must have 90%+ confidence. Every claim needs a source.
14
-
15
- ## WORKFLOW ARCHITECTURE
16
-
17
- ### Core Principles
18
-
19
- - **Step-File Design**: Each step is a self-contained .md file with full execution instructions
20
- - **Just-In-Time Loading**: Only the current step file is in context — never load future steps
21
- - **Sequential Enforcement**: Steps must be completed in order, no skipping
22
- - **Write-Immediately**: Every step writes its output to the spec file BEFORE presenting to user
23
- - **User Gate**: User must explicitly confirm [C] Continue before proceeding to next step
24
- - **State Tracking**: Track per-session progress via the runtime's native TaskCreate/TaskUpdate (session-local). Research does NOT write business tasks to state.db — it only emits spec files. Business tasks are created later by `/ultra-plan` via MCP `task.create`.
25
- - **Web-First**: Every analysis step REQUIRES web search with citations. No search = no proceed.
26
-
27
- ### Step Processing Rules
28
-
29
- 1. **READ COMPLETELY**: Always read the entire step file before taking any action
30
- 2. **FOLLOW SEQUENCE**: Execute all numbered sections in order
31
- 3. **SEARCH FIRST**: Execute web searches BEFORE generating analysis
32
- 4. **WRITE IMMEDIATELY**: Append content to spec file as soon as analysis is complete
33
- 5. **WAIT FOR INPUT**: Present [C] Continue — halt and wait for user selection
34
- 6. **LOAD NEXT**: When user confirms, Read the next step file and follow it
35
-
36
- ### Critical Rules (NO EXCEPTIONS)
37
-
38
- - NEVER load multiple step files simultaneously
39
- - ALWAYS read entire step file before execution
40
- - NEVER skip steps or optimize the sequence
41
- - ALWAYS write output to spec file before presenting to user
42
- - ALWAYS halt at [C] Continue and wait for user input
43
- - NEVER proceed without user confirmation
44
- - NEVER rely solely on training data — web search is mandatory for factual claims
45
-
46
- ## STEP SEQUENCE
47
-
48
- ### Round 0: Product Discovery & Strategy
49
-
50
- | Step | File | Focus | Output |
51
- |------|------|-------|--------|
52
- | 00 | `step-00-problem-validation.md` | Validate the problem is real and worth solving | discovery.md §0 |
53
- | 01 | `step-01-opportunity-discovery.md` | Opportunity Solution Tree (Teresa Torres) | discovery.md §1 |
54
- | 02 | `step-02-market-assessment.md` | TAM/SAM/SOM with dual approach | discovery.md §2 |
55
- | 03 | `step-03-competitive-landscape.md` | Competitors + Porter's Five Forces | discovery.md §3 |
56
- | 04 | `step-04-product-strategy.md` | Vision, segments, value prop, trade-offs | discovery.md §4 |
57
- | 05 | `step-05-assumptions-validation.md` | Risk assumptions + experiment design | discovery.md §5 |
58
-
59
- ### Round 1: User & Scenario Discovery
60
-
61
- | Step | File | Focus | Output |
62
- |------|------|-------|--------|
63
- | 10 | `step-10-user-personas.md` | 2-3 personas with goals, pain points, context | product.md §1-2 |
64
- | 11 | `step-11-user-scenarios.md` | 3-5 user scenarios with trigger/flow/outcome | product.md §3 |
65
-
66
- ### Round 2: Feature Definition
67
-
68
- | Step | File | Focus | Output |
69
- |------|------|-------|--------|
70
- | 20 | `step-20-user-stories.md` | User stories with acceptance criteria | product.md §4 |
71
- | 21 | `step-21-features-scope.md` | Feature prioritization + explicit exclusions | product.md §5 |
72
- | 22 | `step-22-success-metrics.md` | Business + user metrics with targets | product.md §6 |
73
-
74
- ### Round 3: Architecture Design
75
-
76
- | Step | File | Focus | Output |
77
- |------|------|-------|--------|
78
- | 30 | `step-30-architecture-context.md` | Quality goals, constraints, system context | architecture.md §1-3 |
79
- | 31 | `step-31-solution-strategy.md` | Tech stack selection with rationale | architecture.md §4 |
80
- | 32 | `step-32-building-blocks.md` | Module decomposition + runtime scenarios | architecture.md §5-6 |
81
-
82
- ### Round 4: Quality & Deployment
83
-
84
- | Step | File | Focus | Output |
85
- |------|------|-------|--------|
86
- | 40 | `step-40-deployment.md` | Infrastructure, environments, CI/CD | architecture.md §7-9 |
87
- | 41 | `step-41-quality-risks.md` | Quality scenarios, risks, tech debt | architecture.md §10-12 |
88
-
89
- ### Synthesis
90
-
91
- | Step | File | Focus | Output |
92
- |------|------|-------|--------|
93
- | 99 | `step-99-synthesis.md` | Distillate + validation + quality summary | research-distillate.md |
94
-
95
- ## ACTIVATION
96
-
97
- When invoked, follow this sequence:
98
-
99
- ### 1. Pre-Research Check
100
-
101
- - If `.ultra/specs/product.md` has [NEEDS CLARIFICATION] → proceed with research
102
- - If `.ultra/specs/` doesn't exist → suggest `/ultra-init` first
103
- - If specs 100% complete → suggest skip to `/ultra-plan`
104
-
105
- ### 2. Project Type Detection
106
-
107
- Ask user to determine research scope:
108
-
109
- | Type | Steps | Focus |
110
- |------|-------|-------|
111
- | Full Project | 00-99 | All rounds |
112
- | Product Only | 00-22 | Discovery + product |
113
- | Feature Only | 10-22 | User scenarios + features (skip discovery) |
114
- | Architecture Change | 30-41 | Architecture + deployment |
115
- | Custom | User selects | Specific steps |
116
-
117
- **Round 0 skip conditions**: Skip if user provides existing market research, validated strategy docs, or explicitly states "I already know the market".
118
-
119
- ### 3. Begin Step Execution
120
-
121
- Read the first applicable step file:
122
- ```
123
- Read: skills/ultra-research/steps/step-{NN}-{name}.md
124
- ```
125
-
126
- Follow every instruction in that file. When the step is complete and user confirms [C], read the next step file.
127
-
128
- ### 4. Output Files
129
-
130
- | File | Content |
131
- |------|---------|
132
- | `.ultra/specs/discovery.md` | §0-5: Problem, Opportunities, Market, Competition, Strategy, Assumptions |
133
- | `.ultra/specs/product.md` | §1-6: Problem, Personas, Scenarios, Stories, Scope, Metrics |
134
- | `.ultra/specs/architecture.md` | §1-12: arc42 structure |
135
- | `.ultra/specs/research-distillate.md` | Token-efficient summary for /ultra-plan consumption |
136
- | `.ultra/docs/research/*.md` | Per-round research reports |
137
-
138
- ## QUALITY STANDARDS
139
-
140
- | Element | Requirement |
141
- |---------|-------------|
142
- | Sources | Every factual claim has URL citation |
143
- | Confidence | 90%+ for recommendations |
144
- | Code | Production-ready (no TODO/demo) |
145
- | Trade-offs | Quantified pros/cons |
146
- | Next steps | Specific, actionable items |
147
-
148
- ## COMPLETION
149
-
150
- Research is complete when:
151
- - All selected steps have [C] confirmed by user
152
- - All spec files have no [NEEDS CLARIFICATION] markers
153
- - Research distillate generated
154
- - All recommendations have 90%+ confidence
155
-
156
- **Next**: Run `/ultra-plan` to generate task breakdown from complete specs.
6
+ # Build a validated baseline
7
+
8
+ Research only the uncertainty that blocks a durable product, architecture, or delivery
9
+ decision. Do not force a fixed discovery ceremony onto a well-defined change.
10
+
11
+ ## Preflight
12
+
13
+ 1. Require an initialized `.ultra/specs/` directory. Route to `ultra-init` when it is
14
+ absent.
15
+ 2. Read the current specification files and repository evidence before asking the
16
+ user to repeat known facts.
17
+ 3. Define the intended deliverable, unresolved decisions, and evidence standard.
18
+ 4. Select only the research lanes that the uncertainty requires:
19
+ - problem and product: `references/problem-product.md`;
20
+ - users and scope: `references/users-scope.md`;
21
+ - architecture: `references/architecture.md`;
22
+ - quality and delivery: `references/quality-delivery.md`;
23
+ - final traceability: `references/synthesis.md`.
24
+
25
+ Read a reference completely only when its lane is selected. Do not load all lanes by
26
+ default.
27
+
28
+ ## Evidence discipline
29
+
30
+ - Prefer the current checkout and existing project artifacts for repository facts.
31
+ - Browse only when a claim is external, unstable, or requires primary-source support.
32
+ - Prefer official and primary sources; cite each consequential external claim near the
33
+ statement it supports.
34
+ - Separate observed facts, evidence-backed inferences, user decisions, and unresolved
35
+ assumptions.
36
+ - Do not manufacture confidence percentages, market numbers, personas, competitors,
37
+ or options when evidence does not support them.
38
+
39
+ ## Workflow
40
+
41
+ 1. Build a short research agenda from the selected lanes and the decisions they must
42
+ unlock.
43
+ 2. Gather evidence before recommending a direction. Ask one concise question when a
44
+ user decision is load-bearing; batch independent low-impact questions only when it
45
+ improves flow.
46
+ 3. Present material tradeoffs before recording a decision. Comparisons are appropriate
47
+ only when real alternatives share meaningful criteria.
48
+ 4. Update the relevant baseline specification sections. Preserve source links,
49
+ decisions, rejected alternatives when useful, acceptance criteria, and explicit
50
+ open questions. Do not duplicate the same narrative across several files.
51
+ 5. Validate cross-document consistency and trace each required behavior from problem
52
+ or constraint to acceptance and architecture.
53
+ 6. Use `references/synthesis.md` for the completion check and report one next action.
54
+
55
+ ## Completion gate
56
+
57
+ Research is complete when the selected scope has enough evidence for planning, every
58
+ material decision is recorded, required acceptance is testable, architecture respects
59
+ known constraints, and unresolved items are either blocking or explicitly outside the
60
+ accepted scope.
61
+
62
+ Route a validated baseline to `ultra-plan`. Do not create business tasks, write Ultra
63
+ state, or maintain a second condensed specification that can drift from the baseline.
@@ -0,0 +1,38 @@
1
+ # Architecture research
2
+
3
+ Read this reference when the system boundary, quality attributes, integration seams,
4
+ technology choice, or implementation constraints are unresolved.
5
+
6
+ ## Current system evidence
7
+
8
+ Start from the current checkout:
9
+
10
+ - entry points and external interfaces;
11
+ - domain boundaries and authoritative state;
12
+ - data flows and side effects;
13
+ - existing dependencies and deployment topology;
14
+ - failure, recovery, authorization, and observability paths.
15
+
16
+ Do not design a replacement architecture before identifying the live path and the
17
+ constraint that requires change.
18
+
19
+ ## Decision method
20
+
21
+ For each material architecture decision:
22
+
23
+ 1. state the required capability and quality constraints;
24
+ 2. identify credible options already compatible with the system when possible;
25
+ 3. use official primary documentation for library or platform behavior;
26
+ 4. evaluate integration cost, operability, failure modes, migration, and rollback;
27
+ 5. record the selected option, rejected alternatives that may recur, and the evidence
28
+ that would reopen the decision.
29
+
30
+ Do not compare technologies for ceremony. A single established repository pattern is
31
+ the default when it satisfies the contract.
32
+
33
+ ## Record the result
34
+
35
+ Update the architecture specification with system context, boundaries, building
36
+ blocks, runtime flow, authoritative state, external contracts, quality scenarios,
37
+ deployment constraints, and accepted decisions. Connect each required behavior to a
38
+ reachable public seam and a verification approach.
@@ -0,0 +1,39 @@
1
+ # Problem and product research
2
+
3
+ Read this reference when the problem, value, market context, or product direction is
4
+ uncertain.
5
+
6
+ ## Establish the problem
7
+
8
+ - Identify the affected actor, current behavior, observable cost, and desired outcome.
9
+ - Distinguish user evidence from stakeholder belief and solution preference.
10
+ - Find current alternatives, including manual work or doing nothing.
11
+ - State what evidence would disprove the problem framing.
12
+
13
+ Use repository artifacts, support data, interviews, analytics, or primary external
14
+ sources that actually exist. Do not invent quotes, demand, or market size.
15
+
16
+ ## Decide how much market work is needed
17
+
18
+ Market sizing and competitive research are optional. Use them only when they affect a
19
+ funding, positioning, pricing, or build-versus-buy decision.
20
+
21
+ When needed:
22
+
23
+ 1. define the market boundary and time period;
24
+ 2. show the calculation inputs and sources;
25
+ 3. separate direct, adjacent, and substitute alternatives;
26
+ 4. explain how the evidence changes the product decision.
27
+
28
+ Do not present unsourced top-down totals or call a category competitor-free.
29
+
30
+ ## Record the result
31
+
32
+ Update the discovery specification with:
33
+
34
+ - problem and affected actors;
35
+ - observed evidence and source quality;
36
+ - desired outcome and non-goals;
37
+ - material alternatives and tradeoffs;
38
+ - assumptions, validation method, and blocking questions;
39
+ - the accepted product decision and why it follows from the evidence.
@@ -0,0 +1,34 @@
1
+ # Quality and delivery research
2
+
3
+ Read this reference when acceptance depends on operational risk, security, migration,
4
+ deployment, recovery, or release constraints.
5
+
6
+ ## Risk-driven quality
7
+
8
+ Identify failures that would materially affect users, data, authorization, money,
9
+ availability, or recoverability. For each relevant risk, record:
10
+
11
+ - trigger and affected boundary;
12
+ - expected behavior and observable signal;
13
+ - prevention, detection, and recovery;
14
+ - verification method and owner.
15
+
16
+ Apply security, performance, accessibility, and resilience checks according to the
17
+ actual product surface. Do not impose generic categories or coverage percentages when
18
+ they do not define acceptance.
19
+
20
+ ## Delivery path
21
+
22
+ Capture the environments, configuration authority, migration order, compatibility
23
+ window, health and readiness checks, observability, rollout, rollback, and operator
24
+ actions needed for this product.
25
+
26
+ Prefer existing repository and platform workflows. Add a new service, dependency, or
27
+ deployment mechanism only when the accepted architecture requires it.
28
+
29
+ ## Record the result
30
+
31
+ Update the architecture and product specifications with testable quality scenarios,
32
+ delivery constraints, failure behavior, recovery evidence, and release acceptance.
33
+ Keep exact volatile commands in the repository's runbook when they are operational
34
+ procedure rather than durable architecture.
@@ -0,0 +1,38 @@
1
+ # Baseline synthesis and validation
2
+
3
+ Read this reference after the selected research lanes are complete.
4
+
5
+ ## Traceability check
6
+
7
+ Verify that each accepted outcome has:
8
+
9
+ 1. supporting problem, user, or constraint evidence;
10
+ 2. an explicit decision and scope boundary;
11
+ 3. testable acceptance behavior;
12
+ 4. a compatible architecture or delivery path;
13
+ 5. a named unresolved blocker when any link is missing.
14
+
15
+ Check the reverse direction as well: every proposed component, dependency, and quality
16
+ requirement must support an accepted outcome or constraint.
17
+
18
+ ## Consistency check
19
+
20
+ - Use one term for each actor, boundary, and authoritative data source.
21
+ - Remove duplicate narratives and stale alternatives.
22
+ - Keep source links next to the claims they support.
23
+ - Separate durable decisions from volatile external facts.
24
+ - Preserve explicit non-goals and rejected alternatives only when they prevent a
25
+ likely future mistake.
26
+
27
+ ## Handoff
28
+
29
+ Report:
30
+
31
+ - validated scope and decisive evidence;
32
+ - specification files changed;
33
+ - accepted decisions and material uncertainty;
34
+ - blockers, or an explicit statement that none remain;
35
+ - one next action.
36
+
37
+ Do not create a parallel summary document solely for model consumption. The planning
38
+ workflow should read the smallest authoritative baseline sections it needs.
@@ -0,0 +1,40 @@
1
+ # Users, behavior, and scope
2
+
3
+ Read this reference when actors, workflows, acceptance, boundaries, or success signals
4
+ are unclear.
5
+
6
+ ## Actors and scenarios
7
+
8
+ Model only actors supported by evidence. Prefer roles and jobs over fictional persona
9
+ biographies. For each material scenario, capture:
10
+
11
+ - trigger and preconditions;
12
+ - actor goal;
13
+ - main flow and system response;
14
+ - important failure or recovery path;
15
+ - observable completion signal.
16
+
17
+ ## Acceptance and scope
18
+
19
+ Turn scenarios into testable behavior. Each requirement should name the observable
20
+ outcome, relevant constraints, and how success can be verified.
21
+
22
+ Define:
23
+
24
+ - included behavior required for the accepted outcome;
25
+ - explicit non-goals;
26
+ - dependencies and assumptions;
27
+ - deferred work only when a real sequencing decision exists.
28
+
29
+ Avoid arbitrary release buckets or a fixed number of stories. Scope follows the
30
+ validated outcome and delivery constraint.
31
+
32
+ ## Success signals
33
+
34
+ Choose metrics only when they will guide a decision. Define the event, population,
35
+ window, source, owner, and interpretation. Do not invent target values; record a
36
+ baseline, a user-approved target, or the experiment needed to establish one.
37
+
38
+ Update the product specification with actors, scenarios, acceptance, scope, non-goals,
39
+ and decision-relevant success signals. Keep business facts in their source system and
40
+ link them rather than copying volatile datasets into the specification.