ultra-builder-pro-cli 0.14.0 → 0.15.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/docs/research/README.md +11 -7
- package/.ultra-template/specs/architecture.md +36 -36
- package/.ultra-template/specs/discovery.md +46 -33
- package/.ultra-template/specs/product.md +38 -29
- package/.ultra-template/specs/research-distillate.md +48 -0
- package/.ultra-template/tasks/contexts/TEMPLATE.md +11 -28
- package/CHANGELOG.md +44 -1
- package/README.md +34 -19
- package/adapters/_shared/codex-assets.cjs +6 -2
- package/adapters/_shared/file-ops.cjs +6 -2
- package/adapters/claude.js +3 -2
- package/adapters/codex.js +1 -0
- package/adapters/kimi.js +3 -2
- package/adapters/opencode.js +3 -2
- package/agents/review-coordinator.md +9 -6
- package/docs/AGENT-CONTEXT.md +15 -8
- package/docs/ARCHITECTURE.md +33 -12
- package/docs/PLAN.zh-CN.md +3 -2
- package/docs/ROADMAP.md +8 -4
- package/docs/RUNTIME-COMPAT-MATRIX.md +4 -4
- package/docs/STATE-DB-ACCESS-POLICY.md +27 -25
- package/docs/WORKFLOW-LIFECYCLE.md +266 -0
- package/hooks/README.md +6 -1
- package/hooks/health_check.py +12 -3
- package/hooks/subagent_tracker.py +52 -77
- package/mcp-server/hook-event.cjs +34 -0
- package/mcp-server/lib/archive-journal.cjs +17 -5
- package/mcp-server/lib/baseline-workflow.cjs +158 -18
- package/mcp-server/lib/change-workflow.cjs +550 -85
- package/mcp-server/lib/context-spine.cjs +242 -24
- package/mcp-server/lib/doctor.cjs +33 -3
- package/mcp-server/lib/init-project.cjs +210 -16
- package/mcp-server/lib/plan-store.cjs +4 -1
- package/mcp-server/lib/pricing.cjs +7 -10
- package/mcp-server/lib/project-breadcrumb.cjs +6 -0
- package/mcp-server/lib/projector.cjs +57 -3
- package/mcp-server/lib/spec-learning.cjs +79 -2
- package/mcp-server/lib/state-db.cjs +145 -8
- package/mcp-server/lib/state-ops.cjs +160 -9
- package/mcp-server/lib/workflow-state.cjs +2292 -0
- package/mcp-server/server.cjs +161 -15
- package/orchestrator/daemon.cjs +1 -2
- package/orchestrator/dispatch-rules.cjs +5 -31
- package/orchestrator/planner/plan-builder.cjs +21 -12
- package/package.json +13 -3
- package/skills/ultra-change/SKILL.md +53 -68
- package/skills/ultra-change/references/change-contract.md +36 -0
- package/skills/ultra-deliver/SKILL.md +69 -79
- package/skills/ultra-deliver/references/baseline-reconciliation.md +20 -0
- package/skills/ultra-dev/SKILL.md +54 -59
- package/skills/ultra-doctor/SKILL.md +40 -71
- package/skills/ultra-init/SKILL.md +96 -103
- package/skills/ultra-init/references/brownfield-adoption.md +2 -2
- package/skills/ultra-plan/SKILL.md +79 -85
- package/skills/ultra-plan/references/semantic-preflight.md +18 -0
- package/skills/ultra-research/SKILL.md +87 -60
- package/skills/ultra-research/references/00-problem-validation.md +36 -0
- package/skills/ultra-research/references/01-opportunity-discovery.md +33 -0
- package/skills/ultra-research/references/02-market-assessment.md +30 -0
- package/skills/ultra-research/references/03-competitive-landscape.md +31 -0
- package/skills/ultra-research/references/04-product-strategy.md +32 -0
- package/skills/ultra-research/references/05-assumptions-validation.md +31 -0
- package/skills/ultra-research/references/10-user-personas.md +29 -0
- package/skills/ultra-research/references/11-user-scenarios.md +28 -0
- package/skills/ultra-research/references/20-user-stories.md +30 -0
- package/skills/ultra-research/references/21-features-scope.md +29 -0
- package/skills/ultra-research/references/22-success-metrics.md +28 -0
- package/skills/ultra-research/references/30-architecture-context.md +30 -0
- package/skills/ultra-research/references/31-solution-strategy.md +28 -0
- package/skills/ultra-research/references/32-building-blocks.md +28 -0
- package/skills/ultra-research/references/40-deployment.md +29 -0
- package/skills/ultra-research/references/41-quality-risks.md +28 -0
- package/skills/ultra-research/references/99-synthesis.md +35 -0
- package/skills/ultra-review/SKILL.md +57 -73
- package/skills/ultra-review/references/review-modes.md +27 -0
- package/skills/ultra-review/references/unified-schema.md +25 -0
- package/skills/ultra-review/scripts/review_wait.py +40 -3
- package/skills/ultra-status/SKILL.md +41 -45
- package/skills/ultra-test/SKILL.md +48 -55
- package/skills/ultra-verify/SKILL.md +1 -1
- package/skills/ultra-verify/references/{confidence-system.md → evidence-status.md} +3 -3
- package/spec/cli-protocol.md +7 -2
- package/spec/mcp-tools.yaml +384 -63
- package/spec/schemas/baseline-reconciliation.v1.schema.json +73 -0
- package/spec/schemas/delivery-report.v1.schema.json +111 -0
- package/spec/schemas/mcp-tools.schema.json +1 -1
- package/spec/schemas/state-db.sql +82 -1
- package/spec/schemas/tasks.v4.5.schema.json +8 -1
- package/spec/schemas/test-report.v1.schema.json +194 -0
- package/ultra-tools/cli.cjs +1 -1
- package/ultra-tools/commands/migrate.cjs +3 -3
- package/ultra-tools/commands/status.cjs +213 -12
- package/.ultra-template/delivery-report.json +0 -9
- package/.ultra-template/test-report.json +0 -8
- package/adapters/_shared/tests/file-ops.test.cjs +0 -54
- package/adapters/_shared/tests/frontmatter.test.cjs +0 -47
- package/adapters/_shared/tests/handbook.test.cjs +0 -101
- package/adapters/_shared/tests/path-rewrite.test.cjs +0 -60
- package/adapters/_shared/tests/provenance.test.cjs +0 -133
- package/adapters/_shared/tests/resolve-target.test.cjs +0 -75
- package/adapters/_shared/tests/runtime-assets.test.cjs +0 -149
- package/adapters/_shared/tests/settings-merge.test.cjs +0 -85
- package/adapters/_shared/tests/validate.test.cjs +0 -30
- package/adapters/tests/claude.test.cjs +0 -138
- package/adapters/tests/codex-hook.test.cjs +0 -142
- package/adapters/tests/codex.test.cjs +0 -430
- package/adapters/tests/kimi-hook.test.cjs +0 -149
- package/adapters/tests/kimi.test.cjs +0 -259
- package/adapters/tests/opencode.test.cjs +0 -357
- package/mcp-server/lib/archive-journal.test.cjs +0 -35
- package/mcp-server/lib/baseline-workflow.test.cjs +0 -477
- package/mcp-server/lib/change-workflow.test.cjs +0 -971
- package/mcp-server/lib/context-spine.test.cjs +0 -93
- package/mcp-server/lib/doctor.test.cjs +0 -148
- package/mcp-server/lib/plan-store.test.cjs +0 -132
- package/mcp-server/lib/prd-parser.test.cjs +0 -82
- package/mcp-server/lib/project-breadcrumb.test.cjs +0 -112
- package/mcp-server/lib/runtime-state.test.cjs +0 -92
- package/mcp-server/lib/spec-learning.test.cjs +0 -67
- package/mcp-server/lib/state-db.test.cjs +0 -314
- package/mcp-server/lib/task-expander.test.cjs +0 -169
- package/mcp-server/lib/topo.test.cjs +0 -158
- package/mcp-server/tests/circuit-breaker.test.cjs +0 -125
- package/mcp-server/tests/commit-hash-flow.test.cjs +0 -117
- package/mcp-server/tests/concurrency-update.test.cjs +0 -96
- package/mcp-server/tests/concurrency.test.cjs +0 -112
- package/mcp-server/tests/db-ops.test.cjs +0 -121
- package/mcp-server/tests/init-project.test.cjs +0 -393
- package/mcp-server/tests/migrate.test.cjs +0 -232
- package/mcp-server/tests/projector.test.cjs +0 -162
- package/mcp-server/tests/server-contract.test.cjs +0 -1467
- package/mcp-server/tests/staleness.test.cjs +0 -190
- package/mcp-server/tests/state-db.test.cjs +0 -106
- package/mcp-server/tests/state-ops.test.cjs +0 -449
- package/mcp-server/tests/tagged-tasks.test.cjs +0 -163
- package/mcp-server/tests/telemetry.test.cjs +0 -219
- package/orchestrator/planner/plan-builder.test.cjs +0 -165
- package/orchestrator/tests/auto-merge.test.cjs +0 -216
- package/orchestrator/tests/daemon.test.cjs +0 -311
- package/orchestrator/tests/dispatch-rules.test.cjs +0 -124
- package/orchestrator/tests/parallel-orchestrator.test.cjs +0 -233
- package/orchestrator/tests/phase-8b-gate.test.cjs +0 -183
- package/orchestrator/tests/recovery.test.cjs +0 -190
- package/orchestrator/tests/session-runner.test.cjs +0 -314
- package/orchestrator/tests/skill-miner.test.cjs +0 -147
- package/orchestrator/tests/worktree-manager.test.cjs +0 -148
- package/skills/ultra-research/references/architecture.md +0 -38
- package/skills/ultra-research/references/problem-product.md +0 -39
- package/skills/ultra-research/references/quality-delivery.md +0 -34
- package/skills/ultra-research/references/synthesis.md +0 -38
- package/skills/ultra-research/references/users-scope.md +0 -40
- package/ultra-tools/legacy-memory.test.cjs +0 -80
- package/ultra-tools/status-command.test.cjs +0 -181
- package/ultra-tools/system-command.test.cjs +0 -309
|
@@ -3,16 +3,19 @@
|
|
|
3
3
|
Store durable research evidence here only when it is too detailed for the baseline
|
|
4
4
|
specification. Baseline decisions and accepted behavior remain in `.ultra/specs/`.
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## Required step reports
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Every selected `ultra-research` step writes one immutable report at
|
|
9
|
+
`.ultra/docs/research/<workflow-id>/<step-id>.md`. Full and adoption research therefore
|
|
10
|
+
produce seventeen reports. The shared specifications are updated during research but
|
|
11
|
+
do not replace these per-step evidence records.
|
|
11
12
|
|
|
12
13
|
## Report contract
|
|
13
14
|
|
|
14
15
|
Record:
|
|
15
16
|
|
|
17
|
+
- a Markdown title and the exact sections `Evidence`, `Specification updates`, and
|
|
18
|
+
`Decisions and unknowns`;
|
|
16
19
|
- scope and the decision the evidence informs;
|
|
17
20
|
- observed facts with source references and dates;
|
|
18
21
|
- verification commands or runtime evidence;
|
|
@@ -25,6 +28,7 @@ copying memory, code-graph payloads, or large source material into Ultra.
|
|
|
25
28
|
|
|
26
29
|
## Completion
|
|
27
30
|
|
|
28
|
-
Update the affected baseline specification,
|
|
29
|
-
evidence when material, and record unresolved work in
|
|
30
|
-
|
|
31
|
+
Update the affected baseline specification, record the report through `workflow.step`,
|
|
32
|
+
include it in `baseline.record` evidence when material, and record unresolved work in
|
|
33
|
+
the authoritative gap ledger. The final synthesis also binds the three specifications
|
|
34
|
+
and research distillate. Do not create a condensed duplicate of the baseline.
|
|
@@ -1,51 +1,54 @@
|
|
|
1
1
|
# Architecture Specification
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Describe
|
|
5
|
-
shape that the project does not use.
|
|
3
|
+
Define accepted system boundaries, authority, runtime paths, operational behavior, and
|
|
4
|
+
implementation constraints. Describe observed architecture before proposed changes.
|
|
6
5
|
|
|
7
6
|
## Scope
|
|
8
7
|
|
|
9
8
|
- Repository or system boundary:
|
|
10
9
|
- Product contracts supported:
|
|
11
|
-
- Revision
|
|
10
|
+
- Revision and environments inspected:
|
|
12
11
|
|
|
13
12
|
## Observed
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
constraints confirmed by source or runtime evidence.
|
|
17
|
-
|
|
18
|
-
| Architectural fact | Evidence reference | Consumer or impact |
|
|
14
|
+
| Architectural fact | Source or runtime evidence | Consumer or impact |
|
|
19
15
|
|---|---|---|
|
|
20
16
|
| | | |
|
|
21
17
|
|
|
22
18
|
## Decisions
|
|
23
19
|
|
|
24
|
-
|
|
25
|
-
only when a real choice was evaluated and the tradeoff matters for maintenance.
|
|
26
|
-
|
|
27
|
-
| Decision | Constraint or evidence | Consequence | Owner |
|
|
20
|
+
| Decision | Driver and evidence | Consequence and recovery | Owner |
|
|
28
21
|
|---|---|---|---|
|
|
29
22
|
| | | | |
|
|
30
23
|
|
|
31
24
|
## Unknowns
|
|
32
25
|
|
|
33
|
-
| Unknown |
|
|
26
|
+
| Unknown | Consequence | Blocking | Owner or next check |
|
|
34
27
|
|---|---|---|---|
|
|
35
28
|
| | | | |
|
|
36
29
|
|
|
37
|
-
##
|
|
30
|
+
## 30 Architecture Context
|
|
38
31
|
|
|
39
|
-
| Boundary | Responsibility | Inputs and outputs |
|
|
32
|
+
| Boundary or external system | Responsibility | Inputs and outputs | Trust or authority | Consumers |
|
|
40
33
|
|---|---|---|---|---|
|
|
41
34
|
| | | | | |
|
|
42
35
|
|
|
43
|
-
|
|
36
|
+
Record material quality goals, technical and organizational constraints, data
|
|
37
|
+
sensitivity, permissions, and compliance boundaries with evidence.
|
|
38
|
+
|
|
39
|
+
## 31 Solution Strategy
|
|
40
|
+
|
|
41
|
+
| Accepted direction | Existing pattern or constraint | Consequence | Compatibility or recovery |
|
|
42
|
+
|---|---|---|---|
|
|
43
|
+
| | | | |
|
|
44
|
+
|
|
45
|
+
## 32 Building Blocks and Runtime Paths
|
|
44
46
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
| Building block | Responsibility | Authority and contract | Dependencies | Consumers |
|
|
48
|
+
|---|---|---|---|---|
|
|
49
|
+
| | | | | |
|
|
47
50
|
|
|
48
|
-
|
|
|
51
|
+
| Runtime path | Entry point | State and side effects | Observable result | Failure and recovery |
|
|
49
52
|
|---|---|---|---|---|
|
|
50
53
|
| | | | | |
|
|
51
54
|
|
|
@@ -55,27 +58,24 @@ Include failure and recovery paths when they are part of the contract.
|
|
|
55
58
|
|---|---|---|---|---|
|
|
56
59
|
| | | | | |
|
|
57
60
|
|
|
58
|
-
##
|
|
61
|
+
## 40 Deployment and Operations
|
|
59
62
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
| Constraint | Source | Verification | Failure response |
|
|
64
|
-
|---|---|---|---|
|
|
65
|
-
| | | | |
|
|
66
|
-
|
|
67
|
-
## Security and Permissions
|
|
63
|
+
| Environment or operation | Entry point | Configuration or migration | Observation | Rollback or recovery |
|
|
64
|
+
|---|---|---|---|---|
|
|
65
|
+
| | | | | |
|
|
68
66
|
|
|
69
|
-
|
|
70
|
-
requirements that apply to this scope.
|
|
67
|
+
## 41 Quality Scenarios and Risks
|
|
71
68
|
|
|
72
|
-
|
|
69
|
+
| Trigger and condition | Expected response | Measurement | Failure response | Owner |
|
|
70
|
+
|---|---|---|---|---|
|
|
71
|
+
| | | | | |
|
|
73
72
|
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
| Risk or debt | Evidence | Consequence | Mitigation and verification | Status |
|
|
74
|
+
|---|---|---|---|---|
|
|
75
|
+
| | | | | |
|
|
76
76
|
|
|
77
77
|
## Product Traceability
|
|
78
78
|
|
|
79
|
-
| Product
|
|
80
|
-
|
|
81
|
-
| | | |
|
|
79
|
+
| Product requirement | Architecture path | Public seam | Verification evidence |
|
|
80
|
+
|---|---|---|---|
|
|
81
|
+
| | | | |
|
|
@@ -1,61 +1,74 @@
|
|
|
1
|
-
# Discovery
|
|
1
|
+
# Discovery Evidence
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
external payloads.
|
|
3
|
+
Record product evidence and accepted decisions. Link to durable sources instead of
|
|
4
|
+
copying provider payloads or research transcripts.
|
|
6
5
|
|
|
7
6
|
## Scope
|
|
8
7
|
|
|
9
|
-
- Repository or product
|
|
10
|
-
-
|
|
11
|
-
-
|
|
8
|
+
- Repository or product boundary:
|
|
9
|
+
- Baseline id and revision:
|
|
10
|
+
- Decision this evidence must unlock:
|
|
11
|
+
- Freshness boundary:
|
|
12
12
|
|
|
13
13
|
## Observed
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
facts. Identify the source and observation date.
|
|
17
|
-
|
|
18
|
-
| Evidence | Source or reference | Finding | Freshness |
|
|
15
|
+
| Fact or current behavior | Evidence reference | Observed at | Affected section |
|
|
19
16
|
|---|---|---|---|
|
|
20
17
|
| | | | |
|
|
21
18
|
|
|
22
19
|
## Decisions
|
|
23
20
|
|
|
24
|
-
|
|
25
|
-
or specification affected.
|
|
26
|
-
|
|
27
|
-
| Decision | Reason and evidence | Owner | Affected contract |
|
|
21
|
+
| Decision | Evidence and rationale | Owner | Affected contract |
|
|
28
22
|
|---|---|---|---|
|
|
29
23
|
| | | | |
|
|
30
24
|
|
|
31
25
|
## Unknowns
|
|
32
26
|
|
|
33
|
-
|
|
27
|
+
| Unknown | Consequence | Blocking | Owner or next evidence |
|
|
28
|
+
|---|---|---|---|
|
|
29
|
+
| | | | |
|
|
30
|
+
|
|
31
|
+
## 00 Problem Validation
|
|
34
32
|
|
|
35
|
-
|
|
33
|
+
- Problem and affected actor:
|
|
34
|
+
- Current workaround and consequence:
|
|
35
|
+
- Demand or usage evidence:
|
|
36
|
+
- Accepted problem boundary:
|
|
37
|
+
|
|
38
|
+
## 01 Opportunity Discovery
|
|
39
|
+
|
|
40
|
+
| Desired outcome | Opportunity | Evidence | Constraint or dependency |
|
|
36
41
|
|---|---|---|---|
|
|
37
42
|
| | | | |
|
|
38
43
|
|
|
39
|
-
##
|
|
44
|
+
## 02 Market Assessment
|
|
40
45
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
`unknown`, or `future_change`.
|
|
46
|
+
Record only market, regulatory, commercial, or operational facts that affect a
|
|
47
|
+
decision. Include source date, segment, geography, and assumptions when applicable.
|
|
44
48
|
|
|
45
|
-
|
|
46
|
-
|---|---|---|---|---|
|
|
47
|
-
| | | | | |
|
|
49
|
+
## 03 Alternatives
|
|
48
50
|
|
|
49
|
-
|
|
51
|
+
| Current alternative | Evidence | Meaningful difference | Strategy implication |
|
|
52
|
+
|---|---|---|---|
|
|
53
|
+
| | | | |
|
|
54
|
+
|
|
55
|
+
## 04 Product Strategy
|
|
56
|
+
|
|
57
|
+
- Intended actors and outcome:
|
|
58
|
+
- Value delivered through observable behavior:
|
|
59
|
+
- Accepted tradeoffs:
|
|
60
|
+
- Explicit constraints or exclusions:
|
|
61
|
+
|
|
62
|
+
## 05 Assumptions and Validation
|
|
50
63
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
64
|
+
| Assumption | Current evidence | Validation signal | Decision rule | Owner |
|
|
65
|
+
|---|---|---|---|---|
|
|
66
|
+
| | | | | |
|
|
54
67
|
|
|
55
|
-
##
|
|
68
|
+
## Baseline Gaps
|
|
56
69
|
|
|
57
|
-
|
|
70
|
+
Reference authoritative gap ids from `.ultra/state.db`.
|
|
58
71
|
|
|
59
|
-
|
|
|
60
|
-
|
|
61
|
-
| | | |
|
|
72
|
+
| Gap id | Category | Status | Evidence | Owner |
|
|
73
|
+
|---|---|---|---|---|
|
|
74
|
+
| | | | | |
|
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
# Product Specification
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
not a
|
|
3
|
+
Define accepted product behavior and scope. Keep current behavior distinct from
|
|
4
|
+
proposed behavior; this is not a transcript or task list.
|
|
5
5
|
|
|
6
6
|
## Scope
|
|
7
7
|
|
|
8
8
|
- Product or repository boundary:
|
|
9
9
|
- Intended outcome:
|
|
10
|
-
- Explicit non-goals:
|
|
10
|
+
- Explicit non-goals or constraints:
|
|
11
11
|
|
|
12
12
|
## Observed
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
| Behavior or constraint | Evidence reference | Status |
|
|
18
|
-
|---|---|---|
|
|
19
|
-
| | | |
|
|
14
|
+
| Current behavior or constraint | Evidence reference | Status | Affected requirement |
|
|
15
|
+
|---|---|---|---|
|
|
16
|
+
| | | | |
|
|
20
17
|
|
|
21
18
|
## Decisions
|
|
22
19
|
|
|
23
|
-
Record accepted product decisions and the evidence or owner decision behind them.
|
|
24
|
-
|
|
25
20
|
| Decision | Rationale | Acceptance impact | Owner |
|
|
26
21
|
|---|---|---|---|
|
|
27
22
|
| | | | |
|
|
@@ -32,36 +27,50 @@ Record accepted product decisions and the evidence or owner decision behind them
|
|
|
32
27
|
|---|---|---|---|
|
|
33
28
|
| | | | |
|
|
34
29
|
|
|
35
|
-
## Actors and
|
|
30
|
+
## 10 Actors and Jobs
|
|
36
31
|
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
| Actor or system | Job and context | Entry point | Constraints | Evidence |
|
|
33
|
+
|---|---|---|---|---|
|
|
34
|
+
| | | | | |
|
|
39
35
|
|
|
40
|
-
|
|
41
|
-
|---|---|---|---|
|
|
42
|
-
| | | | |
|
|
36
|
+
## 11 User Scenarios
|
|
43
37
|
|
|
44
|
-
|
|
38
|
+
| Scenario id | Actor and trigger | Flow | Observable outcome | Failure and recovery | Evidence |
|
|
39
|
+
|---|---|---|---|---|---|
|
|
40
|
+
| | | | | | |
|
|
45
41
|
|
|
46
|
-
|
|
47
|
-
result, failure behavior, and recovery where relevant.
|
|
42
|
+
## 20 Behavioral Requirements and Acceptance
|
|
48
43
|
|
|
49
|
-
###
|
|
44
|
+
### Requirement: pending
|
|
50
45
|
|
|
51
|
-
-
|
|
46
|
+
- Source scenario or constraint:
|
|
52
47
|
- Preconditions:
|
|
48
|
+
- Action:
|
|
53
49
|
- Observable result:
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
- Evidence or decision:
|
|
50
|
+
- Error behavior and recovery:
|
|
51
|
+
- Verification:
|
|
57
52
|
|
|
58
|
-
##
|
|
53
|
+
## 21 Capability and Scope Boundary
|
|
59
54
|
|
|
60
|
-
|
|
|
55
|
+
| Capability | Included requirements | Dependencies | Status and rationale |
|
|
61
56
|
|---|---|---|---|
|
|
62
57
|
| | | | |
|
|
63
58
|
|
|
59
|
+
Scope status must reflect an explicit decision. Do not infer a reduced product posture.
|
|
60
|
+
|
|
61
|
+
## 22 Outcomes and Measurements
|
|
62
|
+
|
|
63
|
+
| Outcome or guardrail | Definition | Evidence source | Decision use | Owner |
|
|
64
|
+
|---|---|---|---|---|
|
|
65
|
+
| | | | | |
|
|
66
|
+
|
|
64
67
|
## Documentation Impact
|
|
65
68
|
|
|
66
|
-
List maintained documents that must stay consistent
|
|
67
|
-
|
|
69
|
+
List maintained documents that must stay consistent, or record a specific no-change
|
|
70
|
+
rationale.
|
|
71
|
+
|
|
72
|
+
## Architecture Traceability
|
|
73
|
+
|
|
74
|
+
| Requirement | Public seam | Architecture path | Verification evidence |
|
|
75
|
+
|---|---|---|---|
|
|
76
|
+
| | | | |
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Research Traceability
|
|
2
|
+
|
|
3
|
+
This file is a navigation and convergence artifact. Do not duplicate the baseline
|
|
4
|
+
specifications' prose.
|
|
5
|
+
|
|
6
|
+
## Scope
|
|
7
|
+
|
|
8
|
+
- Baseline or change id:
|
|
9
|
+
- Research workflow id and mode:
|
|
10
|
+
- Repository revision:
|
|
11
|
+
- Completed step set:
|
|
12
|
+
|
|
13
|
+
## Observed
|
|
14
|
+
|
|
15
|
+
| Claim | Evidence reference | Specification anchor |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| | | |
|
|
18
|
+
|
|
19
|
+
## Decisions
|
|
20
|
+
|
|
21
|
+
| Decision | Owner and approval | Specification anchor |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| | | |
|
|
24
|
+
|
|
25
|
+
## Unknowns
|
|
26
|
+
|
|
27
|
+
| Unknown or gap id | Blocking | Owner or next action |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| | | |
|
|
30
|
+
|
|
31
|
+
## End-to-End Trace
|
|
32
|
+
|
|
33
|
+
| Problem or constraint | Actor and scenario | Requirement and acceptance | Architecture path | Verification |
|
|
34
|
+
|---|---|---|---|---|
|
|
35
|
+
| | | | | |
|
|
36
|
+
|
|
37
|
+
## Verification
|
|
38
|
+
|
|
39
|
+
| Command or observation | Result | Evidence location | Freshness |
|
|
40
|
+
|---|---|---|---|
|
|
41
|
+
| | | | |
|
|
42
|
+
|
|
43
|
+
## Planning Entry
|
|
44
|
+
|
|
45
|
+
- Accepted scope and posture:
|
|
46
|
+
- Required references:
|
|
47
|
+
- Blocking gaps:
|
|
48
|
+
- Exact next route:
|
|
@@ -1,36 +1,19 @@
|
|
|
1
|
-
<!--
|
|
1
|
+
<!-- The projector owns YAML frontmatter and the generated execution contract. -->
|
|
2
2
|
|
|
3
|
-
# Task
|
|
3
|
+
# Task Notes
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Use this body only for task-specific implementation discoveries that are not already
|
|
6
|
+
authoritative task fields. Stable specification learning must follow the change
|
|
7
|
+
approval workflow.
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
## Implementation Notes
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
- [Evidence-backed note with a source reference]
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
## Open Questions
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
- [Question, consequence, owner, and next evidence]
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
- Verification command: `[exact deterministic command]`
|
|
17
|
-
- Documentation impact: [required paths or a specific no-change rationale]
|
|
17
|
+
## Recovery Notes
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- [Confirmed constraint with its evidence source]
|
|
22
|
-
|
|
23
|
-
## Acceptance evidence
|
|
24
|
-
|
|
25
|
-
- [Expected behavior and the evidence that will verify it]
|
|
26
|
-
|
|
27
|
-
## Traceability
|
|
28
|
-
|
|
29
|
-
- Change: [change id or initial baseline]
|
|
30
|
-
- Specification: [project-relative section reference]
|
|
31
|
-
|
|
32
|
-
## Completion evidence
|
|
33
|
-
|
|
34
|
-
- Commit: [verified commit when applicable]
|
|
35
|
-
- Tests: [command and result]
|
|
36
|
-
- Summary: [delivered behavior]
|
|
19
|
+
- [Current safe resume point and any external prerequisite]
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.15.0] — 2026-07-22
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Added schema 15 typed semantic records for all seventeen research steps, including
|
|
15
|
+
step-specific attributes, stable ids, evidence links, source anchors, stored source
|
|
16
|
+
digests, synthesis trace validation, and current-source health checks.
|
|
17
|
+
- Added complete Change Contracts with executable acceptance, non-goals, public seams,
|
|
18
|
+
recovery, unresolved decisions, profile rationale/risk flags, and explicit bounded
|
|
19
|
+
research disposition.
|
|
20
|
+
- Added plan acceptance coverage and traceability gates, one-task enforcement for quick
|
|
21
|
+
changes, verified specification-learning application, and a published
|
|
22
|
+
`ultra-baseline-reconciliation-v1` schema.
|
|
23
|
+
- Added task/change/plan review modes and machine-validated worker selection or skip
|
|
24
|
+
provenance while preserving independent specification-fidelity and engineering axes.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Unified every greenfield, brownfield, migrated, and daily route through
|
|
29
|
+
`ultra-change` before planning. Initial planning can no longer bypass durable intent,
|
|
30
|
+
risk, research, recovery, or acceptance authority.
|
|
31
|
+
- Reworked the workflow Skills into compact host-neutral execution contracts with
|
|
32
|
+
focused references for research semantics, Change profiles, planning preflight,
|
|
33
|
+
review modes, and delivery reconciliation.
|
|
34
|
+
- Made context budgets advisory while keeping evidence, authority, acceptance,
|
|
35
|
+
specification freshness, review, and recovery gates deterministic and blocking.
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- Fixed research completion that previously stored prose and file hashes without a
|
|
40
|
+
machine-consumable semantic index or stale-source detection.
|
|
41
|
+
- Fixed planning that could complete without proving every Change acceptance criterion
|
|
42
|
+
had an executable owner or that each task traced to accepted evidence.
|
|
43
|
+
- Fixed approved learning and delivery reconciliation that could record status without
|
|
44
|
+
verifying the applied target, before/after content, source anchor, and archive replay
|
|
45
|
+
provenance.
|
|
46
|
+
- Fixed review artifacts that did not distinguish task, aggregate change, and plan
|
|
47
|
+
scope or preserve why each bounded worker was selected or skipped.
|
|
48
|
+
- Fixed host review-prompt adaptation across intentional Markdown line wrapping and
|
|
49
|
+
excluded tests, test fixtures, and generated Python bytecode from installed and
|
|
50
|
+
published plugin payloads.
|
|
51
|
+
|
|
10
52
|
## [0.14.0] — 2026-07-19
|
|
11
53
|
|
|
12
54
|
### Added
|
|
@@ -582,7 +624,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
582
624
|
skill manifest, CLI protocol + mapping table; 5 spec validators.
|
|
583
625
|
- **Phase 0 — skeleton**: multi-runtime installer scaffolding.
|
|
584
626
|
|
|
585
|
-
[Unreleased]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.
|
|
627
|
+
[Unreleased]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.15.0...HEAD
|
|
628
|
+
[0.15.0]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.14.0...v0.15.0
|
|
586
629
|
[0.14.0]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.13.0...v0.14.0
|
|
587
630
|
[0.13.0]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.12.1...v0.13.0
|
|
588
631
|
[0.12.1]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.12.0...v0.12.1
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ authoritative `.ultra/state.db`.
|
|
|
8
8
|
|
|
9
9
|
<div align="center">
|
|
10
10
|
|
|
11
|
-
[](./CHANGELOG.md)
|
|
12
12
|
[](#verification)
|
|
13
13
|
[](./LICENSE)
|
|
14
14
|
[](./package.json)
|
|
@@ -35,10 +35,13 @@ authoritative `.ultra/state.db`.
|
|
|
35
35
|
host derives task objects; `task.parse_prd` validates them → `lib/topo.cjs` waves →
|
|
36
36
|
`.ultra/execution-plan.json` → parallel worktree sessions → auto-merge back.
|
|
37
37
|
- **Keeps daily work convergent.** `/ultra-change` creates a bounded delta and
|
|
38
|
-
|
|
38
|
+
complete Change Contract, classifies risk, records whether bounded research is
|
|
39
|
+
required, and creates immutable Context Manifest v2 snapshots; the Context Spine assigns a role/gate, verifies required
|
|
39
40
|
references, reports fresh-context budget pressure as advisory warnings, exposes one DB-derived breadcrumb, and
|
|
40
|
-
routes a single next action.
|
|
41
|
-
|
|
41
|
+
routes a single next action. Research stores typed, source-digested semantic records;
|
|
42
|
+
planning proves Change acceptance coverage; `/ultra-deliver` requires applied specification
|
|
43
|
+
learning plus docs/test/mode-bound two-axis review evidence and a schema-validated
|
|
44
|
+
baseline reconciliation manifest before archive. `/ultra-doctor` reports incidents,
|
|
42
45
|
projection lag, orphan sessions, and backup-first mechanical recovery.
|
|
43
46
|
Incident changes additionally require a five-section `diagnosis.md` covering
|
|
44
47
|
reproduction, hypotheses, root cause, regression test, and recovery.
|
|
@@ -86,13 +89,22 @@ install or update.
|
|
|
86
89
|
See [`docs/RUNTIME-COMPAT-MATRIX.md`](./docs/RUNTIME-COMPAT-MATRIX.md)
|
|
87
90
|
for per-runtime capabilities.
|
|
88
91
|
|
|
89
|
-
Start with `ultra-init` in both new and existing projects.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
Start with `ultra-init` in both new and existing projects. Auto classification is
|
|
93
|
+
based on delivered-system evidence: application source, tests, deployment, or
|
|
94
|
+
persisted-state/schema signals make a repository brownfield; a Git repository,
|
|
95
|
+
manifest, README, or starter documentation alone remains greenfield. An empty project
|
|
96
|
+
opens a `draft` greenfield baseline and an existing system opens an `adopting`
|
|
97
|
+
brownfield baseline. Both execute all seventeen research steps before
|
|
98
|
+
`baseline.record` and explicit `baseline.converge`; initialization never treats blank
|
|
99
|
+
templates as a trusted baseline and never selects an MVP. Existing active work may
|
|
100
|
+
continue only when its durable change workflow was bound to a healthy ready baseline;
|
|
101
|
+
the expected HEAD, worktree, spec, and source-evidence drift created by that change is
|
|
102
|
+
advisory until delivery reconciliation. Loss of approved-ready status or structural
|
|
103
|
+
baseline evidence blocks ordinary work. An incident requires an explicit break-glass
|
|
104
|
+
approver and leaves a blocking reconciliation gap at archive; new ordinary work always
|
|
105
|
+
requires a healthy ready baseline. See
|
|
106
|
+
[`docs/WORKFLOW-LIFECYCLE.md`](./docs/WORKFLOW-LIFECYCLE.md) for exact write,
|
|
107
|
+
transition, invalidation, and recovery semantics.
|
|
96
108
|
|
|
97
109
|
## Three-layer architecture
|
|
98
110
|
|
|
@@ -105,7 +117,7 @@ new ordinary work always requires a healthy ready baseline.
|
|
|
105
117
|
The layers share one `.ultra/state.db`, but the CLI is not a mirror of every MCP
|
|
106
118
|
tool: continuous change mutations are MCP-only and fail closed. See
|
|
107
119
|
[`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md) for the full contract and
|
|
108
|
-
[`spec/cli-protocol.md`](./spec/cli-protocol.md) for the
|
|
120
|
+
[`spec/cli-protocol.md`](./spec/cli-protocol.md) for the 41 live contracts.
|
|
109
121
|
Review, impact discovery, skill resolution, and user interaction stay on each
|
|
110
122
|
Host's native surfaces; the generated Codex capability map documents those
|
|
111
123
|
replacements without advertising non-existent MCP tools.
|
|
@@ -138,10 +150,11 @@ ultra-tools task init-project --project-name myapp --mode auto
|
|
|
138
150
|
|
|
139
151
|
# Projection-only projects from prior releases use one backup-first import:
|
|
140
152
|
ultra-tools migrate --from=4.4 --to=4.5 --source-dir .
|
|
141
|
-
ultra-tools migrate --from=4.5 --to=
|
|
153
|
+
ultra-tools migrate --from=4.5 --to=15.0 --source-dir .
|
|
142
154
|
|
|
143
|
-
# 2.
|
|
144
|
-
#
|
|
155
|
+
# 2. Complete all 17 research steps, record current evidence, and obtain explicit
|
|
156
|
+
# baseline approval. Then open an initial change and persist its task contracts
|
|
157
|
+
# (normally driven by ultra-research/change/plan).
|
|
145
158
|
|
|
146
159
|
# 3. Run the plan — parallel sessions, auto-merge back to main on success
|
|
147
160
|
ubp-orchestrator run
|
|
@@ -154,10 +167,11 @@ ultra-tools system doctor
|
|
|
154
167
|
```
|
|
155
168
|
|
|
156
169
|
Or let the skills drive it. In Codex, invoke
|
|
157
|
-
`$ultra-builder-pro:ultra-init` → `$ultra-builder-pro:ultra-
|
|
158
|
-
`$ultra-builder-pro:ultra-
|
|
159
|
-
`$ultra-builder-pro:ultra-
|
|
160
|
-
|
|
170
|
+
`$ultra-builder-pro:ultra-init` → `$ultra-builder-pro:ultra-research` →
|
|
171
|
+
`$ultra-builder-pro:ultra-change` → `$ultra-builder-pro:ultra-plan` →
|
|
172
|
+
`$ultra-builder-pro:ultra-dev` → `$ultra-builder-pro:ultra-test` →
|
|
173
|
+
`$ultra-builder-pro:ultra-review` → `$ultra-builder-pro:ultra-deliver`; after the
|
|
174
|
+
baseline is delivered, daily work starts with `$ultra-builder-pro:ultra-change`, while
|
|
161
175
|
`$ultra-builder-pro:ultra-status` reads the compact authoritative breadcrumb.
|
|
162
176
|
Kimi uses the corresponding
|
|
163
177
|
`/ultra-builder-pro:ultra-*` namespace. Other runtimes retain their native
|
|
@@ -239,6 +253,7 @@ Individual suites: `test:state`, `test:orch`, `test:spec`, `test:rest`.
|
|
|
239
253
|
| [`docs/PLAN.zh-CN.md`](./docs/PLAN.zh-CN.md) | Historical 12-phase plan and decision log with a current-boundary overlay |
|
|
240
254
|
| [`docs/ROADMAP.md`](./docs/ROADMAP.md) | One-page English roadmap + phase status |
|
|
241
255
|
| [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md) | Single-page system architecture |
|
|
256
|
+
| [`docs/WORKFLOW-LIFECYCLE.md`](./docs/WORKFLOW-LIFECYCLE.md) | Baseline classification, DB writes, status machines, gates, invalidation, and recovery |
|
|
242
257
|
| [`docs/AGENT-CONTEXT.md`](./docs/AGENT-CONTEXT.md) | Canonical runtime context contract |
|
|
243
258
|
| [`docs/USER-HANDBOOK-CONTRACT.md`](./docs/USER-HANDBOOK-CONTRACT.md) | Shared user-handbook policy and host renderings |
|
|
244
259
|
| [`docs/RUNTIME-COMPAT-MATRIX.md`](./docs/RUNTIME-COMPAT-MATRIX.md) | Per-runtime capability matrix |
|
|
@@ -89,8 +89,8 @@ function replaceSlashCommand(text, command, replacement) {
|
|
|
89
89
|
function adaptCodexPrimaryText(input, skillName) {
|
|
90
90
|
let text = String(input);
|
|
91
91
|
if (skillName === 'ultra-review') {
|
|
92
|
-
text = text.
|
|
93
|
-
|
|
92
|
+
text = text.replace(
|
|
93
|
+
/the current host's native bounded-worker\s+mechanism/g,
|
|
94
94
|
'native Codex custom agents installed for the selected review workers',
|
|
95
95
|
);
|
|
96
96
|
}
|
|
@@ -396,6 +396,10 @@ main().catch((error) => {
|
|
|
396
396
|
path.join(repoRoot, 'mcp-server', 'breadcrumb.cjs'),
|
|
397
397
|
path.join(runtimeRoot, 'breadcrumb.cjs'),
|
|
398
398
|
);
|
|
399
|
+
fs.copyFileSync(
|
|
400
|
+
path.join(repoRoot, 'mcp-server', 'hook-event.cjs'),
|
|
401
|
+
path.join(runtimeRoot, 'hook-event.cjs'),
|
|
402
|
+
);
|
|
399
403
|
|
|
400
404
|
const sourceToolsFile = path.join(repoRoot, 'spec', 'mcp-tools.yaml');
|
|
401
405
|
const upstreamManifest = yaml.load(fs.readFileSync(sourceToolsFile, 'utf8'));
|