ultra-builder-pro-cli 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ultra-template/delivery-report.json +9 -0
- package/.ultra-template/docs/research/README.md +53 -0
- package/.ultra-template/specs/architecture.md +250 -0
- package/.ultra-template/specs/discovery.md +248 -0
- package/.ultra-template/specs/product.md +223 -0
- package/.ultra-template/tasks/contexts/TEMPLATE.md +57 -0
- package/.ultra-template/tasks/tasks.json +33 -0
- package/.ultra-template/test-report.json +8 -0
- package/CHANGELOG.md +194 -0
- package/LICENSE +21 -0
- package/README.md +187 -0
- package/adapters/_shared/codex-assets.cjs +1128 -0
- package/adapters/_shared/codex-ultra-tools-entry.cjs +11 -0
- package/adapters/_shared/file-ops.cjs +115 -0
- package/adapters/_shared/frontmatter.cjs +52 -0
- package/adapters/_shared/handbook.cjs +144 -0
- package/adapters/_shared/md-to-toml.cjs +54 -0
- package/adapters/_shared/path-rewrite.cjs +79 -0
- package/adapters/_shared/rtk-detect.cjs +86 -0
- package/adapters/_shared/runtime-assets.cjs +70 -0
- package/adapters/_shared/settings-merge.cjs +76 -0
- package/adapters/_shared/tests/file-ops.test.cjs +54 -0
- package/adapters/_shared/tests/frontmatter.test.cjs +47 -0
- package/adapters/_shared/tests/handbook.test.cjs +86 -0
- package/adapters/_shared/tests/md-to-toml.test.cjs +48 -0
- package/adapters/_shared/tests/path-rewrite.test.cjs +60 -0
- package/adapters/_shared/tests/resolve-target.test.cjs +85 -0
- package/adapters/_shared/tests/rtk-detect.test.cjs +116 -0
- package/adapters/_shared/tests/runtime-assets.test.cjs +107 -0
- package/adapters/_shared/tests/settings-merge.test.cjs +85 -0
- package/adapters/_shared/tests/validate.test.cjs +30 -0
- package/adapters/_shared/validate.cjs +24 -0
- package/adapters/claude.js +182 -0
- package/adapters/codex.js +385 -0
- package/adapters/gemini.js +204 -0
- package/adapters/opencode.js +506 -0
- package/adapters/tests/claude.test.cjs +117 -0
- package/adapters/tests/codex-hook.test.cjs +90 -0
- package/adapters/tests/codex.test.cjs +356 -0
- package/adapters/tests/gemini.test.cjs +112 -0
- package/adapters/tests/opencode.test.cjs +246 -0
- package/agents/code-reviewer.md +102 -0
- package/agents/debugger.md +127 -0
- package/agents/review-code.md +125 -0
- package/agents/review-comments.md +98 -0
- package/agents/review-coordinator.md +146 -0
- package/agents/review-design.md +133 -0
- package/agents/review-errors.md +87 -0
- package/agents/review-tests.md +93 -0
- package/agents/tdd-runner.md +92 -0
- package/bin/handbook.js +54 -0
- package/bin/install.js +254 -0
- package/bin/orchestrator.js +214 -0
- package/commands/learn.md +41 -0
- package/commands/ultra-deliver.md +45 -0
- package/commands/ultra-dev.md +50 -0
- package/commands/ultra-init.md +51 -0
- package/commands/ultra-plan.md +49 -0
- package/commands/ultra-research.md +59 -0
- package/commands/ultra-status.md +46 -0
- package/commands/ultra-test.md +48 -0
- package/commands/ultra-think.md +45 -0
- package/docs/AGENT-CONTEXT.md +143 -0
- package/docs/ARCHITECTURE.md +197 -0
- package/docs/COMMIT-HASH-BACKFILL.md +101 -0
- package/docs/LEGACY-HERMES.md +1175 -0
- package/docs/PLAN.zh-CN.md +1683 -0
- package/docs/ROADMAP.md +102 -0
- package/docs/RUNTIME-COMPAT-MATRIX.md +98 -0
- package/docs/STATE-DB-ACCESS-POLICY.md +109 -0
- package/docs/USER-HANDBOOK-CONTRACT.md +61 -0
- package/hooks/README.md +24 -0
- package/hooks/active_task_context.py +44 -0
- package/hooks/adapters/codex.py +302 -0
- package/hooks/health_check.py +61 -0
- package/hooks/pre_stop_check.py +56 -0
- package/hooks/subagent_tracker.py +116 -0
- package/hooks/workflow_checkpoint.py +56 -0
- package/hooks/workflow_context.py +63 -0
- package/hooks/workflow_resume.py +50 -0
- package/mcp-server/lib/init-project.cjs +162 -0
- package/mcp-server/lib/llm-client.cjs +157 -0
- package/mcp-server/lib/llm-client.test.cjs +156 -0
- package/mcp-server/lib/plan-store.cjs +96 -0
- package/mcp-server/lib/plan-store.test.cjs +132 -0
- package/mcp-server/lib/prd-parser.cjs +110 -0
- package/mcp-server/lib/prd-parser.test.cjs +171 -0
- package/mcp-server/lib/pricing.cjs +53 -0
- package/mcp-server/lib/projector.cjs +158 -0
- package/mcp-server/lib/state-db.cjs +113 -0
- package/mcp-server/lib/state-db.test.cjs +116 -0
- package/mcp-server/lib/state-ops.cjs +725 -0
- package/mcp-server/lib/task-expander.cjs +123 -0
- package/mcp-server/lib/task-expander.test.cjs +253 -0
- package/mcp-server/lib/telemetry.cjs +72 -0
- package/mcp-server/lib/topo.cjs +131 -0
- package/mcp-server/lib/topo.test.cjs +158 -0
- package/mcp-server/server.cjs +482 -0
- package/mcp-server/tests/circuit-breaker.test.cjs +125 -0
- package/mcp-server/tests/commit-hash-flow.test.cjs +117 -0
- package/mcp-server/tests/concurrency-update.test.cjs +96 -0
- package/mcp-server/tests/concurrency.test.cjs +112 -0
- package/mcp-server/tests/db-ops.test.cjs +117 -0
- package/mcp-server/tests/init-project.test.cjs +141 -0
- package/mcp-server/tests/migrate.test.cjs +144 -0
- package/mcp-server/tests/projector.test.cjs +130 -0
- package/mcp-server/tests/server-contract.test.cjs +750 -0
- package/mcp-server/tests/staleness.test.cjs +190 -0
- package/mcp-server/tests/state-ops.test.cjs +286 -0
- package/mcp-server/tests/tagged-tasks.test.cjs +163 -0
- package/mcp-server/tests/telemetry.test.cjs +205 -0
- package/orchestrator/auto-merge.cjs +109 -0
- package/orchestrator/code-graph-watcher.cjs +121 -0
- package/orchestrator/daemon.cjs +112 -0
- package/orchestrator/dispatch-rules.cjs +93 -0
- package/orchestrator/parallel-orchestrator.cjs +195 -0
- package/orchestrator/planner/expand-prompt.cjs +62 -0
- package/orchestrator/planner/expand-prompt.test.cjs +52 -0
- package/orchestrator/planner/plan-builder.cjs +116 -0
- package/orchestrator/planner/plan-builder.test.cjs +165 -0
- package/orchestrator/planner/prd-prompt.cjs +44 -0
- package/orchestrator/planner/prd-prompt.test.cjs +30 -0
- package/orchestrator/recovery.cjs +70 -0
- package/orchestrator/session-runner.cjs +224 -0
- package/orchestrator/skill-miner.cjs +133 -0
- package/orchestrator/tests/auto-merge.test.cjs +216 -0
- package/orchestrator/tests/code-graph-watcher.test.cjs +183 -0
- package/orchestrator/tests/daemon.test.cjs +260 -0
- package/orchestrator/tests/dispatch-rules.test.cjs +122 -0
- package/orchestrator/tests/parallel-orchestrator.test.cjs +233 -0
- package/orchestrator/tests/phase-8b-gate.test.cjs +183 -0
- package/orchestrator/tests/recovery.test.cjs +190 -0
- package/orchestrator/tests/session-runner.test.cjs +314 -0
- package/orchestrator/tests/skill-miner.test.cjs +147 -0
- package/orchestrator/tests/worktree-manager.test.cjs +148 -0
- package/orchestrator/worktree-manager.cjs +131 -0
- package/output-styles/coding-vibes.md +67 -0
- package/output-styles/structural-thinking.md +61 -0
- package/package.json +109 -0
- package/settings.json +8 -0
- package/skills/cc-collab/SKILL.md +41 -0
- package/skills/code-review-expert/SKILL.md +118 -0
- package/skills/code-review-expert/references/code-quality-checklist.md +112 -0
- package/skills/code-review-expert/references/integration-checklist.md +46 -0
- package/skills/code-review-expert/references/removal-plan.md +52 -0
- package/skills/code-review-expert/references/security-checklist.md +100 -0
- package/skills/code-review-expert/references/solid-checklist.md +65 -0
- package/skills/codex-collab/SKILL.md +52 -0
- package/skills/codex-collab/evals/evals.json +40 -0
- package/skills/gemini-collab/SKILL.md +51 -0
- package/skills/gemini-collab/evals/evals.json +42 -0
- package/skills/integration-rules/SKILL.md +71 -0
- package/skills/learn/SKILL.md +117 -0
- package/skills/security-rules/SKILL.md +60 -0
- package/skills/testing-rules/SKILL.md +56 -0
- package/skills/ultra-deliver/SKILL.md +171 -0
- package/skills/ultra-dev/SKILL.md +324 -0
- package/skills/ultra-init/SKILL.md +148 -0
- package/skills/ultra-plan/SKILL.md +314 -0
- package/skills/ultra-research/SKILL.md +156 -0
- package/skills/ultra-research/steps/step-00-problem-validation.md +154 -0
- package/skills/ultra-research/steps/step-01-opportunity-discovery.md +172 -0
- package/skills/ultra-research/steps/step-02-market-assessment.md +195 -0
- package/skills/ultra-research/steps/step-03-competitive-landscape.md +197 -0
- package/skills/ultra-research/steps/step-04-product-strategy.md +196 -0
- package/skills/ultra-research/steps/step-05-assumptions-validation.md +234 -0
- package/skills/ultra-research/steps/step-10-user-personas.md +169 -0
- package/skills/ultra-research/steps/step-11-user-scenarios.md +181 -0
- package/skills/ultra-research/steps/step-20-user-stories.md +156 -0
- package/skills/ultra-research/steps/step-21-features-scope.md +157 -0
- package/skills/ultra-research/steps/step-22-success-metrics.md +195 -0
- package/skills/ultra-research/steps/step-30-architecture-context.md +154 -0
- package/skills/ultra-research/steps/step-31-solution-strategy.md +172 -0
- package/skills/ultra-research/steps/step-32-building-blocks.md +188 -0
- package/skills/ultra-research/steps/step-40-deployment.md +123 -0
- package/skills/ultra-research/steps/step-41-quality-risks.md +135 -0
- package/skills/ultra-research/steps/step-99-synthesis.md +188 -0
- package/skills/ultra-review/SKILL.md +437 -0
- package/skills/ultra-review/references/unified-schema.md +127 -0
- package/skills/ultra-review/scripts/review_verdict_update.py +99 -0
- package/skills/ultra-review/scripts/review_wait.py +120 -0
- package/skills/ultra-status/SKILL.md +162 -0
- package/skills/ultra-test/SKILL.md +195 -0
- package/skills/ultra-think/SKILL.md +109 -0
- package/skills/ultra-verify/SKILL.md +111 -0
- package/skills/ultra-verify/evals/evals.json +51 -0
- package/skills/ultra-verify/references/confidence-system.md +38 -0
- package/skills/ultra-verify/references/cross-verify-modes.md +73 -0
- package/skills/ultra-verify/scripts/verify_wait.py +131 -0
- package/spec/cli-protocol.md +118 -0
- package/spec/mcp-tools.yaml +658 -0
- package/spec/schemas/command-manifest.schema.json +47 -0
- package/spec/schemas/context-file.v4.5.schema.json +54 -0
- package/spec/schemas/mcp-tools.schema.json +136 -0
- package/spec/schemas/skill-manifest.schema.json +94 -0
- package/spec/schemas/state-db.sql +154 -0
- package/spec/schemas/tasks.v4.5.schema.json +66 -0
- package/ultra-tools/cli.cjs +121 -0
- package/ultra-tools/commands/db.cjs +175 -0
- package/ultra-tools/commands/legacy-memory.cjs +159 -0
- package/ultra-tools/commands/migrate.cjs +354 -0
- package/ultra-tools/commands/session.cjs +180 -0
- package/ultra-tools/commands/status.cjs +158 -0
- package/ultra-tools/commands/task.cjs +95 -0
- package/ultra-tools/legacy-memory.test.cjs +80 -0
- package/ultra-tools/status-command.test.cjs +132 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Research Reports
|
|
2
|
+
|
|
3
|
+
This directory contains research reports generated by `/ultra-research` step-file architecture.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
Each round generates a report with quality metadata:
|
|
8
|
+
|
|
9
|
+
| Steps | Round | Report File |
|
|
10
|
+
|-------|-------|-------------|
|
|
11
|
+
| 00-05 | R0: Product Discovery | `product-discovery-{date}.md` |
|
|
12
|
+
| 10-11 | R1: User & Scenario | `user-scenario-{date}.md` |
|
|
13
|
+
| 20-22 | R2: Feature Definition | `feature-definition-{date}.md` |
|
|
14
|
+
| 30-32 | R3: Architecture Design | `architecture-design-{date}.md` |
|
|
15
|
+
| 40-41 | R4: Quality & Deployment | `quality-deployment-{date}.md` |
|
|
16
|
+
|
|
17
|
+
## Report Format
|
|
18
|
+
|
|
19
|
+
Each report includes quality tracking in header:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
# Round {N}: {Round Name}
|
|
23
|
+
|
|
24
|
+
> **Confidence**: 92%
|
|
25
|
+
> **Steps completed**: {list}
|
|
26
|
+
> **Completed**: {date}
|
|
27
|
+
|
|
28
|
+
## Key Findings
|
|
29
|
+
[3-5 bullet points]
|
|
30
|
+
|
|
31
|
+
## Decisions Made
|
|
32
|
+
[Choices and rationale]
|
|
33
|
+
|
|
34
|
+
## Open Questions
|
|
35
|
+
[What remains uncertain]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Quality Gate
|
|
39
|
+
|
|
40
|
+
- Each step uses [C] Continue user gate — user confirms before proceeding
|
|
41
|
+
- Per-step SUCCESS METRICS and FAILURE MODES enforce output quality
|
|
42
|
+
- Step 99 (Synthesis) validates field-level completeness of all spec files
|
|
43
|
+
|
|
44
|
+
## Research Distillate
|
|
45
|
+
|
|
46
|
+
After all steps complete, `step-99-synthesis` generates:
|
|
47
|
+
- `.ultra/specs/research-distillate.md` — Token-efficient summary (<2000 tokens) for `/ultra-plan` consumption
|
|
48
|
+
|
|
49
|
+
## Integration
|
|
50
|
+
|
|
51
|
+
- Reports are referenced in `specs/` for technology decisions
|
|
52
|
+
- Research distillate is the primary input for `/ultra-plan`
|
|
53
|
+
- Quality summary displayed at end of `/ultra-research`
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# Architecture Design
|
|
2
|
+
|
|
3
|
+
> **Purpose**: This document defines HOW the system is built. Based on arc42 template.
|
|
4
|
+
> Generated by `/ultra-research` Steps 30-41
|
|
5
|
+
> **Reference**: [arc42.org](https://arc42.org)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## §1 Quality Goals
|
|
10
|
+
|
|
11
|
+
| Priority | Quality Attribute | Scenario | Metric |
|
|
12
|
+
|----------|------------------|----------|--------|
|
|
13
|
+
| 1 | [NEEDS CLARIFICATION] | Concrete scenario | Measurable target |
|
|
14
|
+
| 2 | | | |
|
|
15
|
+
| 3 | | | |
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## §2 Constraints
|
|
20
|
+
|
|
21
|
+
### Technical Constraints
|
|
22
|
+
|
|
23
|
+
| Constraint | Rationale | Impact |
|
|
24
|
+
|-----------|-----------|--------|
|
|
25
|
+
| [NEEDS CLARIFICATION] | Why this exists | What it limits |
|
|
26
|
+
|
|
27
|
+
### Organizational Constraints
|
|
28
|
+
|
|
29
|
+
| Constraint | Rationale | Impact |
|
|
30
|
+
|-----------|-----------|--------|
|
|
31
|
+
| [NEEDS CLARIFICATION] | Why this exists | What it limits |
|
|
32
|
+
|
|
33
|
+
### Regulatory Constraints
|
|
34
|
+
|
|
35
|
+
| Constraint | Rationale | Impact |
|
|
36
|
+
|-----------|-----------|--------|
|
|
37
|
+
| [NEEDS CLARIFICATION] | Why this exists | What it limits |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## §3 System Context
|
|
42
|
+
|
|
43
|
+
### Users
|
|
44
|
+
- [NEEDS CLARIFICATION]: How they interact
|
|
45
|
+
|
|
46
|
+
### External Systems
|
|
47
|
+
|
|
48
|
+
| System | Direction | Data | Protocol | Notes |
|
|
49
|
+
|--------|-----------|------|----------|-------|
|
|
50
|
+
| [NEEDS CLARIFICATION] | Inbound/Outbound | What data | REST/gRPC | |
|
|
51
|
+
|
|
52
|
+
### Data Flows
|
|
53
|
+
- [User] → [System] → [External]: [NEEDS CLARIFICATION]
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## §4 Solution Strategy
|
|
58
|
+
|
|
59
|
+
### Technology Decisions
|
|
60
|
+
|
|
61
|
+
#### Language & Runtime
|
|
62
|
+
- **Chosen**: [NEEDS CLARIFICATION]
|
|
63
|
+
- **Alternatives considered**: Option B, Option C
|
|
64
|
+
- **Rationale**: Why — reference §1 quality goals
|
|
65
|
+
- **Trade-off**: What we give up
|
|
66
|
+
- **Source**: URL
|
|
67
|
+
|
|
68
|
+
#### Web Framework
|
|
69
|
+
- **Chosen**: [NEEDS CLARIFICATION]
|
|
70
|
+
- **Alternatives considered**:
|
|
71
|
+
- **Rationale**:
|
|
72
|
+
- **Source**:
|
|
73
|
+
|
|
74
|
+
#### Database
|
|
75
|
+
- **Chosen**: [NEEDS CLARIFICATION]
|
|
76
|
+
- **Alternatives considered**:
|
|
77
|
+
- **Rationale**:
|
|
78
|
+
- **Source**:
|
|
79
|
+
|
|
80
|
+
#### Authentication
|
|
81
|
+
- **Chosen**: [NEEDS CLARIFICATION]
|
|
82
|
+
- **Alternatives considered**:
|
|
83
|
+
- **Rationale**:
|
|
84
|
+
- **Source**:
|
|
85
|
+
|
|
86
|
+
#### Hosting & Infrastructure
|
|
87
|
+
- **Chosen**: [NEEDS CLARIFICATION]
|
|
88
|
+
- **Alternatives considered**:
|
|
89
|
+
- **Rationale**:
|
|
90
|
+
- **Estimated cost**: $/month at launch scale
|
|
91
|
+
- **Source**:
|
|
92
|
+
|
|
93
|
+
### Tech Stack Summary
|
|
94
|
+
|
|
95
|
+
| Layer | Technology | Version | Purpose |
|
|
96
|
+
|-------|-----------|---------|---------|
|
|
97
|
+
| Frontend | [NEEDS CLARIFICATION] | | |
|
|
98
|
+
| Backend | | | |
|
|
99
|
+
| Database | | | |
|
|
100
|
+
| Cache | | | |
|
|
101
|
+
| Auth | | | |
|
|
102
|
+
| Hosting | | | |
|
|
103
|
+
| CI/CD | | | |
|
|
104
|
+
| Monitoring | | | |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## §5 Building Block View
|
|
109
|
+
|
|
110
|
+
### Module Decomposition
|
|
111
|
+
|
|
112
|
+
| Module | Layer | Responsibility | Dependencies |
|
|
113
|
+
|--------|-------|---------------|-------------|
|
|
114
|
+
| [NEEDS CLARIFICATION] | Domain | Pure logic | None |
|
|
115
|
+
| | Application | Orchestration | Domain |
|
|
116
|
+
| | Infrastructure | IO handling | Application |
|
|
117
|
+
|
|
118
|
+
### Code Organization
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
src/
|
|
122
|
+
├── domain/ # Functional Core (pure logic)
|
|
123
|
+
│ ├── entities/ # Domain objects
|
|
124
|
+
│ ├── values/ # Value objects
|
|
125
|
+
│ └── services/ # Domain services (pure functions)
|
|
126
|
+
├── application/ # Use cases (orchestration)
|
|
127
|
+
│ └── usecases/ # One file per use case
|
|
128
|
+
├── infrastructure/ # Imperative Shell (IO)
|
|
129
|
+
│ ├── http/ # HTTP handlers/routes
|
|
130
|
+
│ ├── persistence/ # Database repositories
|
|
131
|
+
│ └── external/ # External API clients
|
|
132
|
+
└── config/ # Configuration
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Feature → Module Mapping
|
|
136
|
+
|
|
137
|
+
| Feature | Domain | Application | Infrastructure |
|
|
138
|
+
|---------|--------|------------|---------------|
|
|
139
|
+
| [NEEDS CLARIFICATION] | Entities | UseCases | Handlers, Repos |
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## §6 Runtime Scenarios
|
|
144
|
+
|
|
145
|
+
### Scenario 1: [NEEDS CLARIFICATION] (from product.md S1)
|
|
146
|
+
|
|
147
|
+
**Trigger**: User action
|
|
148
|
+
**Flow**:
|
|
149
|
+
1. User sends request to endpoint
|
|
150
|
+
2. Handler validates input, maps to DTO
|
|
151
|
+
3. UseCase orchestrates: loads Entity via Repository
|
|
152
|
+
4. DomainService applies business logic (pure)
|
|
153
|
+
5. Repository persists result
|
|
154
|
+
6. Handler returns response
|
|
155
|
+
|
|
156
|
+
**Error paths**: [NEEDS CLARIFICATION]
|
|
157
|
+
|
|
158
|
+
### Scenario 2: [NEEDS CLARIFICATION]
|
|
159
|
+
|
|
160
|
+
[Same structure]
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## §7 Deployment View
|
|
165
|
+
|
|
166
|
+
### Environments
|
|
167
|
+
|
|
168
|
+
| Environment | Purpose | Infrastructure | URL Pattern |
|
|
169
|
+
|------------|---------|---------------|-------------|
|
|
170
|
+
| Development | Local dev | [NEEDS CLARIFICATION] | localhost |
|
|
171
|
+
| Staging | Pre-prod | | staging.X |
|
|
172
|
+
| Production | Live | | X.com |
|
|
173
|
+
|
|
174
|
+
### Production Topology
|
|
175
|
+
- **Compute**: [NEEDS CLARIFICATION]
|
|
176
|
+
- **Database**: [NEEDS CLARIFICATION]
|
|
177
|
+
- **Cache**: [NEEDS CLARIFICATION]
|
|
178
|
+
- **CDN**: [NEEDS CLARIFICATION]
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## §8 Crosscutting Concerns
|
|
183
|
+
|
|
184
|
+
### Logging
|
|
185
|
+
- **Format**: Structured JSON
|
|
186
|
+
- **Fields**: timestamp, level, service, traceId, message, context
|
|
187
|
+
- **Tool**: [NEEDS CLARIFICATION]
|
|
188
|
+
|
|
189
|
+
### Authentication
|
|
190
|
+
- **Method**: [NEEDS CLARIFICATION]
|
|
191
|
+
- **Provider**: [NEEDS CLARIFICATION]
|
|
192
|
+
- **Session**: [NEEDS CLARIFICATION]
|
|
193
|
+
|
|
194
|
+
### Error Handling
|
|
195
|
+
- **Pattern**: Result/Either in domain, global handler in infrastructure
|
|
196
|
+
- **Alerting**: [NEEDS CLARIFICATION]
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## §9 Cost Estimate
|
|
201
|
+
|
|
202
|
+
| Service | Monthly Cost | Annual Cost | Source |
|
|
203
|
+
|---------|-------------|------------|--------|
|
|
204
|
+
| Compute | [NEEDS CLARIFICATION] | | |
|
|
205
|
+
| Database | | | |
|
|
206
|
+
| Other | | | |
|
|
207
|
+
| **Total** | | | |
|
|
208
|
+
|
|
209
|
+
_Assumptions: user count, traffic, storage_
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## §10 Quality Scenarios
|
|
214
|
+
|
|
215
|
+
| # | Quality Attribute | Scenario | Stimulus | Expected Response | Metric |
|
|
216
|
+
|---|------------------|---------|----------|------------------|--------|
|
|
217
|
+
| Q1 | Performance | [NEEDS CLARIFICATION] | | | |
|
|
218
|
+
| Q2 | Scalability | | | | |
|
|
219
|
+
| Q3 | Security | | | | |
|
|
220
|
+
| Q4 | Availability | | | | |
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## §11 Risks & Technical Debt
|
|
225
|
+
|
|
226
|
+
### Risk Register
|
|
227
|
+
|
|
228
|
+
| # | Risk | Category | Probability | Impact | Score | Mitigation | Contingency |
|
|
229
|
+
|---|------|----------|------------|--------|-------|-----------|-------------|
|
|
230
|
+
| R1 | [NEEDS CLARIFICATION] | Technical | | | | | |
|
|
231
|
+
| R2 | | Business | | | | | |
|
|
232
|
+
|
|
233
|
+
### Known Technical Debt
|
|
234
|
+
|
|
235
|
+
| # | Debt Item | Reason for Deferral | Impact if Not Addressed | Address By |
|
|
236
|
+
|---|----------|--------------------|-----------------------|-----------|
|
|
237
|
+
| TD1 | [NEEDS CLARIFICATION] | | | |
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## §12 Architecture Decision Records
|
|
242
|
+
|
|
243
|
+
| # | Decision | Context | Options | Chosen | Rationale |
|
|
244
|
+
|---|---------|---------|---------|--------|-----------|
|
|
245
|
+
| ADR-1 | [NEEDS CLARIFICATION] | Why needed | A, B, C | Choice | Why |
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
**Document Status**: Draft
|
|
250
|
+
**Last Updated**: [Date]
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# Product Discovery & Strategy
|
|
2
|
+
|
|
3
|
+
> Generated by `/ultra-research` Steps 00-05
|
|
4
|
+
> Status: [NEEDS CLARIFICATION]
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## §0 Problem Validation Summary
|
|
9
|
+
|
|
10
|
+
### Product Stage
|
|
11
|
+
- **Stage**: [NEEDS CLARIFICATION] — Pre-product / Has users / Has paying customers / Engineering-Infra
|
|
12
|
+
- **Evidence**: [NEEDS CLARIFICATION]
|
|
13
|
+
|
|
14
|
+
### Demand Signal
|
|
15
|
+
- **Strength**: [NEEDS CLARIFICATION] — Strong / Moderate / Weak / Unvalidated
|
|
16
|
+
- **Evidence**: [NEEDS CLARIFICATION] — Specific behaviors observed
|
|
17
|
+
- **Risk**: [NEEDS CLARIFICATION] — What could invalidate this demand
|
|
18
|
+
|
|
19
|
+
### Status Quo Analysis
|
|
20
|
+
- **Current solutions**: [NEEDS CLARIFICATION] — What users do today
|
|
21
|
+
- **Cost of workaround**: [NEEDS CLARIFICATION] — Time, money, friction
|
|
22
|
+
- **Switching motivation**: [NEEDS CLARIFICATION] — Why they'd change
|
|
23
|
+
|
|
24
|
+
### Target User Profile
|
|
25
|
+
- **Primary**: [NEEDS CLARIFICATION] — Specific role/person description
|
|
26
|
+
- **Stakes**: [NEEDS CLARIFICATION] — What gets them promoted / fired
|
|
27
|
+
- **Pain frequency**: [NEEDS CLARIFICATION] — Daily / Weekly / Occasional
|
|
28
|
+
|
|
29
|
+
### Narrowest Wedge
|
|
30
|
+
- **MVP scope**: [NEEDS CLARIFICATION] — Single feature/workflow
|
|
31
|
+
- **Willingness to pay**: [NEEDS CLARIFICATION]
|
|
32
|
+
- **Ship timeline**: [NEEDS CLARIFICATION] — Days / Weeks / Months
|
|
33
|
+
|
|
34
|
+
### Validation Confidence
|
|
35
|
+
- **Overall**: [NEEDS CLARIFICATION]%
|
|
36
|
+
- **Strongest signal**: [NEEDS CLARIFICATION]
|
|
37
|
+
- **Biggest risk**: [NEEDS CLARIFICATION]
|
|
38
|
+
- **Recommended next step**: [NEEDS CLARIFICATION] — Proceed / Investigate further / Pivot
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## §1 Opportunity Space
|
|
43
|
+
|
|
44
|
+
### Desired Outcome
|
|
45
|
+
- **Outcome**: [NEEDS CLARIFICATION] — Single measurable outcome
|
|
46
|
+
- **Metric**: [NEEDS CLARIFICATION] — How we measure it
|
|
47
|
+
- **Timeline**: [NEEDS CLARIFICATION] — When we expect movement
|
|
48
|
+
|
|
49
|
+
### Opportunity Map
|
|
50
|
+
|
|
51
|
+
| # | Opportunity (Customer Framing) | Importance | Satisfaction | Score | Source |
|
|
52
|
+
|---|-------------------------------|-----------|-------------|-------|--------|
|
|
53
|
+
| O1 | [NEEDS CLARIFICATION] | | | | |
|
|
54
|
+
| O2 | | | | | |
|
|
55
|
+
| O3 | | | | | |
|
|
56
|
+
|
|
57
|
+
> Opportunity Score = Importance × (1 - Satisfaction)
|
|
58
|
+
|
|
59
|
+
### Prioritized Opportunities (Top 3)
|
|
60
|
+
|
|
61
|
+
#### Opportunity 1: [NEEDS CLARIFICATION]
|
|
62
|
+
- **Importance**: /10
|
|
63
|
+
- **Current satisfaction**: — How users cope today
|
|
64
|
+
- **Score**:
|
|
65
|
+
- **Evidence**: Source URL
|
|
66
|
+
|
|
67
|
+
**Solution Approaches:**
|
|
68
|
+
1. **PM approach**: [NEEDS CLARIFICATION]
|
|
69
|
+
2. **Design approach**: [NEEDS CLARIFICATION]
|
|
70
|
+
3. **Engineering approach**: [NEEDS CLARIFICATION]
|
|
71
|
+
|
|
72
|
+
### Key Insight
|
|
73
|
+
[NEEDS CLARIFICATION] — Non-obvious insight from opportunity analysis
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## §2 Market Assessment
|
|
78
|
+
|
|
79
|
+
### Market Sizing Summary
|
|
80
|
+
|
|
81
|
+
| Metric | Current Estimate | 2-3 Year Projection | Source |
|
|
82
|
+
|--------|-----------------|---------------------|--------|
|
|
83
|
+
| TAM | [NEEDS CLARIFICATION] | | |
|
|
84
|
+
| SAM | [NEEDS CLARIFICATION] | | |
|
|
85
|
+
| SOM | [NEEDS CLARIFICATION] | | |
|
|
86
|
+
|
|
87
|
+
### Top-Down Analysis
|
|
88
|
+
|
|
89
|
+
#### TAM: [NEEDS CLARIFICATION]
|
|
90
|
+
- **Definition**: Market category
|
|
91
|
+
- **Source**: Report name + URL
|
|
92
|
+
- **Growth**: CAGR
|
|
93
|
+
|
|
94
|
+
#### SAM: [NEEDS CLARIFICATION]
|
|
95
|
+
- **TAM filter 1**: Geographic
|
|
96
|
+
- **TAM filter 2**: Segment
|
|
97
|
+
- **TAM filter 3**: Technology fit
|
|
98
|
+
|
|
99
|
+
#### SOM: [NEEDS CLARIFICATION]
|
|
100
|
+
- **Realistic capture**: % of SAM
|
|
101
|
+
- **Basis**: Why achievable
|
|
102
|
+
- **Comparable**: Similar company reference
|
|
103
|
+
|
|
104
|
+
### Bottom-Up Analysis
|
|
105
|
+
|
|
106
|
+
| Variable | Value | Source |
|
|
107
|
+
|----------|-------|--------|
|
|
108
|
+
| Target customers | [NEEDS CLARIFICATION] | |
|
|
109
|
+
| Conversion rate | [NEEDS CLARIFICATION] | |
|
|
110
|
+
| ARPU (annual) | [NEEDS CLARIFICATION] | |
|
|
111
|
+
| Retention rate | [NEEDS CLARIFICATION] | |
|
|
112
|
+
| **Year 1 Revenue** | **Calculated** | |
|
|
113
|
+
| **Year 3 Revenue** | **Calculated** | |
|
|
114
|
+
|
|
115
|
+
### Cross-Validation
|
|
116
|
+
- **Top-down SOM**: [NEEDS CLARIFICATION]
|
|
117
|
+
- **Bottom-up Year 3**: [NEEDS CLARIFICATION]
|
|
118
|
+
- **Ratio**: x
|
|
119
|
+
- **Assessment**: [NEEDS CLARIFICATION]
|
|
120
|
+
|
|
121
|
+
### Growth Drivers
|
|
122
|
+
|
|
123
|
+
| # | Driver | Direction | Impact | Timeline | Source |
|
|
124
|
+
|---|--------|-----------|--------|----------|--------|
|
|
125
|
+
| 1 | [NEEDS CLARIFICATION] | | | | |
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## §3 Competitive Landscape
|
|
130
|
+
|
|
131
|
+
### Competitive Overview
|
|
132
|
+
|
|
133
|
+
| Dimension | Us | Competitor A | Competitor B | Do Nothing |
|
|
134
|
+
|-----------|-----|-------------|-------------|------------|
|
|
135
|
+
| Core value prop | [NEEDS CLARIFICATION] | | | Status quo |
|
|
136
|
+
| Target segment | | | | Everyone |
|
|
137
|
+
| Pricing | | | | Free |
|
|
138
|
+
| Key strength | | | | Familiar |
|
|
139
|
+
| Key weakness | | | | Inefficient |
|
|
140
|
+
| Traction | | | | N/A |
|
|
141
|
+
|
|
142
|
+
### Direct Competitors
|
|
143
|
+
|
|
144
|
+
#### [NEEDS CLARIFICATION]
|
|
145
|
+
- **What they do**:
|
|
146
|
+
- **Strengths**:
|
|
147
|
+
- **Weaknesses**: — Source: URL
|
|
148
|
+
- **Pricing**: — Source: URL
|
|
149
|
+
- **Traction**: — Source: URL
|
|
150
|
+
- **Threat level**: High / Medium / Low
|
|
151
|
+
|
|
152
|
+
### Indirect Competitors & Alternatives
|
|
153
|
+
- [NEEDS CLARIFICATION]
|
|
154
|
+
- **Do Nothing**: Cost of inaction
|
|
155
|
+
|
|
156
|
+
### Porter's Five Forces Summary
|
|
157
|
+
|
|
158
|
+
| Force | Rating | Assessment |
|
|
159
|
+
|-------|--------|-----------|
|
|
160
|
+
| Supplier power | [1-5] | [NEEDS CLARIFICATION] |
|
|
161
|
+
| Buyer power | [1-5] | |
|
|
162
|
+
| New entrant threat | [1-5] | |
|
|
163
|
+
| Substitute threat | [1-5] | |
|
|
164
|
+
| Rivalry intensity | [1-5] | |
|
|
165
|
+
|
|
166
|
+
### Our Competitive Edge
|
|
167
|
+
- **Where we can win**: [NEEDS CLARIFICATION]
|
|
168
|
+
- **Where we cannot win**: [NEEDS CLARIFICATION]
|
|
169
|
+
- **Unfilled gap**: [NEEDS CLARIFICATION]
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## §4 Product Strategy
|
|
174
|
+
|
|
175
|
+
### Vision
|
|
176
|
+
[NEEDS CLARIFICATION] — 2-3 sentences, inspiring, specific, ambitious
|
|
177
|
+
|
|
178
|
+
### Target Segments
|
|
179
|
+
|
|
180
|
+
#### Primary: [NEEDS CLARIFICATION]
|
|
181
|
+
- **Description**: Defined by problem/JTBD
|
|
182
|
+
- **Why them**: Why most urgent
|
|
183
|
+
- **Value Proposition**: When [situation], they want [motivation], so they can [outcome]
|
|
184
|
+
|
|
185
|
+
#### Explicitly NOT Serving
|
|
186
|
+
- [NEEDS CLARIFICATION]: Why not
|
|
187
|
+
|
|
188
|
+
### Strategic Trade-offs
|
|
189
|
+
|
|
190
|
+
| # | We Choose | Over | Because |
|
|
191
|
+
|---|-----------|------|---------|
|
|
192
|
+
| 1 | [NEEDS CLARIFICATION] | | |
|
|
193
|
+
| 2 | | | |
|
|
194
|
+
| 3 | | | |
|
|
195
|
+
|
|
196
|
+
### Defensibility
|
|
197
|
+
|
|
198
|
+
| Moat Type | Applicable | Strength (1-5) | Timeline |
|
|
199
|
+
|-----------|-----------|----------------|----------|
|
|
200
|
+
| Network effects | [NEEDS CLARIFICATION] | | |
|
|
201
|
+
| Data advantage | | | |
|
|
202
|
+
| Switching costs | | | |
|
|
203
|
+
| Brand / trust | | | |
|
|
204
|
+
| Technical IP | | | |
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## §5 Key Assumptions & Validation Plan
|
|
209
|
+
|
|
210
|
+
### Assumption Inventory
|
|
211
|
+
|
|
212
|
+
| # | Assumption | Category | Impact | Uncertainty | Priority |
|
|
213
|
+
|---|-----------|----------|--------|-------------|----------|
|
|
214
|
+
| A1 | [NEEDS CLARIFICATION] | Value | | | |
|
|
215
|
+
| A2 | | Viability | | | |
|
|
216
|
+
| A3 | | GTM | | | |
|
|
217
|
+
| A4 | | Feasibility | | | |
|
|
218
|
+
| A5 | | Usability | | | |
|
|
219
|
+
|
|
220
|
+
### Leap-of-Faith Assumptions (Top 3)
|
|
221
|
+
|
|
222
|
+
#### A1: [NEEDS CLARIFICATION]
|
|
223
|
+
- **Category**: Value / Viability / GTM
|
|
224
|
+
- **Why it matters**: What happens if wrong
|
|
225
|
+
- **Current evidence**: From steps 00-04
|
|
226
|
+
|
|
227
|
+
**Validation Experiment:**
|
|
228
|
+
- **Method**: [NEEDS CLARIFICATION]
|
|
229
|
+
- **Success criteria**: Measurable outcome
|
|
230
|
+
- **Failure criteria**: Measurable outcome
|
|
231
|
+
- **Effort**: Hours/days
|
|
232
|
+
- **Timeline**: When results expected
|
|
233
|
+
|
|
234
|
+
**Decision Framework:**
|
|
235
|
+
- If validated → Proceed to Round 1
|
|
236
|
+
- If invalidated → Pivot / Investigate / Kill
|
|
237
|
+
- If ambiguous → Additional experiment
|
|
238
|
+
|
|
239
|
+
### Validation Roadmap
|
|
240
|
+
|
|
241
|
+
| Week | Experiment | Assumption | Expected Result |
|
|
242
|
+
|------|-----------|-----------|----------------|
|
|
243
|
+
| 1 | [NEEDS CLARIFICATION] | A1 | |
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
**Document Status**: Draft
|
|
248
|
+
**Last Updated**: [Date]
|