ultra-builder-pro-cli 0.10.0 → 0.12.1
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/specs/architecture.md +54 -223
- package/.ultra-template/specs/discovery.md +34 -231
- package/.ultra-template/specs/product.md +44 -200
- package/.ultra-template/tasks/contexts/TEMPLATE.md +36 -0
- package/.ultra-template/tasks/tasks.json +6 -0
- package/CHANGELOG.md +86 -1
- package/README.md +21 -9
- package/adapters/_shared/codex-assets.cjs +24 -342
- package/adapters/_shared/handbook.cjs +4 -3
- package/adapters/_shared/runtime-assets.cjs +24 -0
- package/adapters/_shared/tests/handbook.test.cjs +4 -0
- package/adapters/_shared/tests/runtime-assets.test.cjs +11 -4
- package/adapters/claude.js +28 -5
- package/adapters/kimi.js +15 -138
- package/adapters/opencode.js +22 -49
- package/adapters/tests/claude.test.cjs +22 -8
- package/adapters/tests/codex.test.cjs +21 -8
- package/adapters/tests/kimi-hook.test.cjs +1 -1
- package/adapters/tests/kimi.test.cjs +11 -11
- package/adapters/tests/opencode.test.cjs +47 -8
- package/agents/code-reviewer.md +24 -85
- package/agents/debugger.md +30 -132
- package/agents/review-code.md +24 -104
- package/agents/review-comments.md +20 -83
- package/agents/review-coordinator.md +40 -137
- package/agents/review-design.md +21 -118
- package/agents/review-errors.md +22 -70
- package/agents/review-spec.md +36 -0
- package/agents/review-tests.md +20 -76
- package/agents/tdd-runner.md +26 -84
- package/commands/learn.md +5 -36
- package/commands/ultra-change.md +5 -43
- package/commands/ultra-deliver.md +4 -46
- package/commands/ultra-dev.md +4 -48
- package/commands/ultra-doctor.md +4 -30
- package/commands/ultra-init.md +5 -47
- package/commands/ultra-plan.md +5 -48
- package/commands/ultra-research.md +5 -54
- package/commands/ultra-status.md +5 -44
- package/commands/ultra-test.md +5 -45
- package/commands/ultra-think.md +5 -40
- package/docs/AGENT-CONTEXT.md +16 -8
- package/docs/ARCHITECTURE.md +32 -5
- package/docs/PLAN.zh-CN.md +8 -6
- package/docs/ROADMAP.md +5 -3
- package/docs/RUNTIME-COMPAT-MATRIX.md +8 -5
- package/docs/SKILL-AUTHORING.md +75 -0
- package/docs/STATE-DB-ACCESS-POLICY.md +17 -11
- package/docs/USER-HANDBOOK-CONTRACT.md +8 -5
- package/hooks/README.md +4 -3
- package/hooks/adapters/codex.py +1 -1
- package/hooks/adapters/kimi.py +1 -1
- package/hooks/context_spine.py +120 -16
- package/hooks/health_check.py +11 -0
- package/hooks/pre_stop_check.py +6 -5
- package/mcp-server/lib/baseline-workflow.cjs +415 -0
- package/mcp-server/lib/baseline-workflow.test.cjs +225 -0
- package/mcp-server/lib/change-workflow.cjs +24 -27
- package/mcp-server/lib/change-workflow.test.cjs +202 -6
- package/mcp-server/lib/context-spine.cjs +74 -9
- package/mcp-server/lib/context-spine.test.cjs +15 -0
- package/mcp-server/lib/doctor.cjs +14 -0
- package/mcp-server/lib/doctor.test.cjs +25 -1
- package/mcp-server/lib/init-project.cjs +49 -14
- package/mcp-server/lib/provider-refs.cjs +42 -0
- package/mcp-server/lib/spec-learning.test.cjs +5 -0
- package/mcp-server/lib/state-db.cjs +63 -4
- package/mcp-server/lib/state-db.test.cjs +8 -3
- package/mcp-server/server.cjs +48 -3
- package/mcp-server/tests/init-project.test.cjs +54 -8
- package/mcp-server/tests/server-contract.test.cjs +99 -2
- package/mcp-server/tests/state-db.test.cjs +11 -2
- package/package.json +3 -2
- package/skills/cc-collab/SKILL.md +16 -18
- package/skills/code-review-expert/SKILL.md +39 -114
- package/skills/code-review-expert/references/correctness-reliability.md +30 -0
- package/skills/code-review-expert/references/design-boundaries.md +26 -0
- package/skills/code-review-expert/references/removal-plan.md +17 -45
- package/skills/codex-collab/SKILL.md +23 -28
- package/skills/codex-collab/evals/evals.json +18 -23
- package/skills/integration-rules/SKILL.md +28 -67
- package/skills/learn/SKILL.md +46 -106
- package/skills/security-rules/SKILL.md +34 -56
- package/skills/testing-rules/SKILL.md +28 -52
- package/skills/ultra-change/SKILL.md +68 -114
- package/skills/ultra-deliver/SKILL.md +58 -86
- package/skills/ultra-dev/SKILL.md +46 -105
- package/skills/ultra-doctor/SKILL.md +45 -72
- package/skills/ultra-init/SKILL.md +62 -147
- package/skills/ultra-init/references/brownfield-adoption.md +65 -0
- package/skills/ultra-plan/SKILL.md +56 -89
- package/skills/ultra-research/SKILL.md +64 -152
- package/skills/ultra-research/references/architecture.md +38 -0
- package/skills/ultra-research/references/problem-product.md +39 -0
- package/skills/ultra-research/references/quality-delivery.md +34 -0
- package/skills/ultra-research/references/synthesis.md +38 -0
- package/skills/ultra-research/references/users-scope.md +40 -0
- package/skills/ultra-review/SKILL.md +54 -98
- package/skills/ultra-review/references/unified-schema.md +76 -101
- package/skills/ultra-review/scripts/review_wait.py +242 -77
- package/skills/ultra-status/SKILL.md +41 -56
- package/skills/ultra-test/SKILL.md +37 -72
- package/skills/ultra-think/SKILL.md +43 -102
- package/skills/ultra-verify/SKILL.md +44 -84
- package/skills/ultra-verify/evals/evals.json +24 -27
- package/spec/cli-protocol.md +4 -0
- package/spec/mcp-tools.yaml +223 -4
- package/spec/schemas/command-manifest.schema.json +7 -25
- package/spec/schemas/mcp-tools.schema.json +1 -1
- package/spec/schemas/skill-manifest.schema.json +9 -79
- package/spec/schemas/state-db.sql +33 -2
- package/ultra-tools/commands/status.cjs +20 -2
- package/ultra-tools/commands/task.cjs +4 -1
- package/ultra-tools/status-command.test.cjs +20 -0
- package/ultra-tools/system-command.test.cjs +5 -0
- package/skills/code-review-expert/references/code-quality-checklist.md +0 -112
- package/skills/code-review-expert/references/integration-checklist.md +0 -46
- package/skills/code-review-expert/references/security-checklist.md +0 -100
- package/skills/code-review-expert/references/solid-checklist.md +0 -65
- package/skills/ultra-research/steps/step-00-problem-validation.md +0 -154
- package/skills/ultra-research/steps/step-01-opportunity-discovery.md +0 -172
- package/skills/ultra-research/steps/step-02-market-assessment.md +0 -195
- package/skills/ultra-research/steps/step-03-competitive-landscape.md +0 -197
- package/skills/ultra-research/steps/step-04-product-strategy.md +0 -196
- package/skills/ultra-research/steps/step-05-assumptions-validation.md +0 -234
- package/skills/ultra-research/steps/step-10-user-personas.md +0 -169
- package/skills/ultra-research/steps/step-11-user-scenarios.md +0 -181
- package/skills/ultra-research/steps/step-20-user-stories.md +0 -156
- package/skills/ultra-research/steps/step-21-features-scope.md +0 -157
- package/skills/ultra-research/steps/step-22-success-metrics.md +0 -195
- package/skills/ultra-research/steps/step-30-architecture-context.md +0 -154
- package/skills/ultra-research/steps/step-31-solution-strategy.md +0 -172
- package/skills/ultra-research/steps/step-32-building-blocks.md +0 -188
- package/skills/ultra-research/steps/step-40-deployment.md +0 -123
- package/skills/ultra-research/steps/step-41-quality-risks.md +0 -135
- package/skills/ultra-research/steps/step-99-synthesis.md +0 -188
- package/skills/ultra-review/scripts/review_verdict_update.py +0 -99
|
@@ -1,122 +1,76 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-change
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: true
|
|
5
|
-
runtime: all
|
|
6
|
-
mcp_tools_required:
|
|
7
|
-
- change.create
|
|
8
|
-
- change.update
|
|
9
|
-
- change.get
|
|
10
|
-
- change.list
|
|
11
|
-
- change.context
|
|
12
|
-
- change.breadcrumb
|
|
13
|
-
- change.learning_propose
|
|
14
|
-
- change.learning_resolve
|
|
15
|
-
- task.create
|
|
16
|
-
- task.list
|
|
3
|
+
description: Open or resume a bounded continuous change and connect its intent, delta, decisions, context, and executable tasks. Use when maintaining or extending an Ultra project after its baseline exists.
|
|
17
4
|
---
|
|
18
5
|
|
|
19
|
-
#
|
|
6
|
+
# Open or resume a continuous change
|
|
20
7
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
→ learn → converge loop.
|
|
8
|
+
Keep post-delivery work aligned through a delta, implementation, learning, and
|
|
9
|
+
convergence loop.
|
|
24
10
|
|
|
25
11
|
## Authority boundary
|
|
26
12
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
##
|
|
32
|
-
|
|
33
|
-
Call `
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
{
|
|
92
|
-
"id": "<change-id>",
|
|
93
|
-
"task_id": "<task-id>",
|
|
94
|
-
"role": "plan",
|
|
95
|
-
"gate": "planning",
|
|
96
|
-
"context_refs": [{"ref":"<path>","kind":"spec","reason":"defines acceptance","required":true}],
|
|
97
|
-
"budget": {"max_tokens":12000,"max_files":12},
|
|
98
|
-
"execution_contract": {
|
|
99
|
-
"slice_kind":"tracer_bullet",
|
|
100
|
-
"public_seam":"<reachable boundary>",
|
|
101
|
-
"verification_command":"<exact command>",
|
|
102
|
-
"context_budget_percent":40
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Include only files needed for the current role and gate. Missing required references,
|
|
108
|
-
digest drift, file-count overflow, or a fresh-context budget over 40% blocks readiness.
|
|
109
|
-
Use `expand_contract` only for an explicitly approved wider slice.
|
|
110
|
-
|
|
111
|
-
## 5. Handle discoveries without silent spec drift
|
|
112
|
-
|
|
113
|
-
When implementation reveals a stable requirement, invariant, or public behavior not
|
|
114
|
-
in the baseline, call `change.learning_propose` with evidence and target document.
|
|
115
|
-
It is a candidate, not an automatic edit. A human/primary-agent decision must approve
|
|
116
|
-
or reject it; approved learning is marked applied only after the baseline was updated.
|
|
117
|
-
|
|
118
|
-
## Exit contract
|
|
119
|
-
|
|
120
|
-
Call `change.breadcrumb` and report the compiled task, readiness, blockers, and its
|
|
121
|
-
single next action. Do not claim alignment while documentation impact is unknown,
|
|
122
|
-
context is stale, or a material decision remains unresolved.
|
|
13
|
+
Use Ultra MCP tools for change and task lifecycle writes. Do not write raw SQLite or
|
|
14
|
+
mutate generated task and context projections. External memory or code-graph systems
|
|
15
|
+
own their payloads; Ultra stores only provider references supplied by the user or host.
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
1. Call `baseline.get`. State integrity failure routes to `ultra-doctor`. When no
|
|
20
|
+
change is active, a missing, incomplete, or stale baseline routes to `ultra-init`.
|
|
21
|
+
An urgent or already active bounded change may proceed with that condition recorded
|
|
22
|
+
as a warning. `change.converge` requires an approved `ready` baseline; repository
|
|
23
|
+
revision and tracked-spec drift created by the change are reconciled at archive.
|
|
24
|
+
2. Call `change.list` and `change.breadcrumb`.
|
|
25
|
+
- Resume the single change that matches the requested outcome.
|
|
26
|
+
- Require an explicit id when several changes could match.
|
|
27
|
+
- Create a new change only when no existing packet represents the same outcome.
|
|
28
|
+
3. Capture the observable outcome, acceptance, non-goals, affected public seam,
|
|
29
|
+
documentation impact, and unresolved decisions.
|
|
30
|
+
4. Classify the change as `quick`, `standard`, `major`, or `incident`. Ask only for a
|
|
31
|
+
material product, risk, or recovery decision that repository evidence cannot answer.
|
|
32
|
+
5. Call `change.create` with a stable kebab-case id, or `change.update` when resuming.
|
|
33
|
+
6. Write the minimum artifact set required by the classification:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
.ultra/changes/active/<change-id>/
|
|
37
|
+
intent.md
|
|
38
|
+
delta/ # standard and major
|
|
39
|
+
plan.md # standard and major
|
|
40
|
+
diagnosis.md # incident
|
|
41
|
+
context-manifest.json # generated projection
|
|
42
|
+
spec-learning.json # generated projection
|
|
43
|
+
verification.md # generated projection
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Delta files describe differences from the baseline, not a second copy of it.
|
|
47
|
+
Incident diagnosis records the symptom, earliest bad state, falsifiable
|
|
48
|
+
hypotheses, evidence, root cause, and recovery boundary.
|
|
49
|
+
7. Create the smallest executable vertical slice with `task.create`. Each task needs
|
|
50
|
+
one outcome, bounded ownership, dependencies, a live public seam, an exact
|
|
51
|
+
verification command, and documentation impact.
|
|
52
|
+
8. Compile `change.context` for the next role and gate. Include only required
|
|
53
|
+
references and the task execution contract. Missing required references, digest or
|
|
54
|
+
HEAD drift, an absent public seam or verification command, and unknown
|
|
55
|
+
documentation impact are blockers. File count, token estimate, and context-share
|
|
56
|
+
thresholds are advisory warnings: narrow reads or split the slice when useful, but
|
|
57
|
+
never raise a threshold merely to make the warning disappear or refuse necessary
|
|
58
|
+
incident context.
|
|
59
|
+
9. Call `change.breadcrumb` and return its single next action.
|
|
60
|
+
|
|
61
|
+
## Specification learning
|
|
62
|
+
|
|
63
|
+
When implementation uncovers a stable requirement, invariant, or public behavior
|
|
64
|
+
missing from the baseline, call `change.learning_propose` with evidence and a target
|
|
65
|
+
document. The proposal does not edit the baseline. It must be approved or rejected,
|
|
66
|
+
and an approved item is marked applied only after the target document is updated and
|
|
67
|
+
verified.
|
|
68
|
+
|
|
69
|
+
## Completion gate
|
|
70
|
+
|
|
71
|
+
Do not claim alignment while a material decision is unresolved, documentation impact
|
|
72
|
+
is unknown, context is stale, or the next task is not executable. `change.converge`
|
|
73
|
+
also requires a `ready` baseline, so incomplete adoption must be resolved before
|
|
74
|
+
convergence. Normal HEAD or tracked-spec drift caused by the active change is not a
|
|
75
|
+
convergence blocker. Declare every baseline update at archive; archive fails and rolls
|
|
76
|
+
back when revision or digest health remains stale after reconciliation.
|
|
@@ -1,111 +1,83 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-deliver
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: true
|
|
5
|
-
runtime: all
|
|
6
|
-
mcp_tools_required:
|
|
7
|
-
- change.list
|
|
8
|
-
- change.get
|
|
9
|
-
- change.context
|
|
10
|
-
- change.breadcrumb
|
|
11
|
-
- change.learning_resolve
|
|
12
|
-
- change.converge
|
|
13
|
-
- change.archive
|
|
14
|
-
cli_fallback: "direct user interaction"
|
|
3
|
+
description: Converge verified implementation, specification learning, review evidence, and release artifacts into a recoverable baseline. Use when an initial baseline or active change has current passing evidence and is ready to archive or release.
|
|
15
4
|
---
|
|
16
5
|
|
|
17
|
-
#
|
|
6
|
+
# Converge and deliver
|
|
18
7
|
|
|
19
|
-
Deliver
|
|
20
|
-
|
|
21
|
-
evidence artifacts.
|
|
8
|
+
Deliver one baseline or continuous change. Change lifecycle writes use MCP; test,
|
|
9
|
+
review, and delivery reports are evidence artifacts.
|
|
22
10
|
|
|
23
|
-
##
|
|
11
|
+
## Bind current evidence
|
|
24
12
|
|
|
25
|
-
1. Call `change.list
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
13
|
+
1. Call `baseline.get`, then `change.list`. Bind exactly one relevant change, or the
|
|
14
|
+
current draft/adopting baseline when this is the initial delivery.
|
|
15
|
+
2. Call `change.breadcrumb`. Context-size warnings are advisory, but delivery blocks
|
|
16
|
+
on incomplete baseline adoption, stale execution context, incomplete linked tasks,
|
|
17
|
+
or unresolved readiness. HEAD and tracked-spec drift caused by the current change
|
|
18
|
+
remain visible warnings until archive reconciliation.
|
|
19
|
+
3. Require a passing test report for the current full HEAD and at least one declared
|
|
20
|
+
public seam.
|
|
21
|
+
4. Require current independent `spec_fidelity` and `engineering_standards` review
|
|
22
|
+
verdicts. Evidence from another checkout, commit, task set, or change is invalid.
|
|
33
23
|
|
|
34
|
-
|
|
24
|
+
## Reconcile the baseline
|
|
35
25
|
|
|
36
|
-
|
|
26
|
+
Call `change.get` for authoritative learning candidates.
|
|
37
27
|
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
- Resolve every proposed item as approved or rejected.
|
|
29
|
+
- Apply each approved item to its declared baseline target, verify the edit, then mark
|
|
30
|
+
it applied.
|
|
31
|
+
- Preserve rejection reasons as decision evidence.
|
|
32
|
+
- Confirm previously applied items remain represented in the target document.
|
|
40
33
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
- `applied`: verify the target still contains the accepted behavior.
|
|
34
|
+
Reconcile accepted delta content and documentation impact into baseline documents.
|
|
35
|
+
Record updated paths or a specific no-change reason. Unknown documentation impact,
|
|
36
|
+
unresolved placeholders, and behavior that exists only in the delta block convergence.
|
|
45
37
|
|
|
46
|
-
|
|
47
|
-
|
|
38
|
+
For an initial baseline without a change, call `baseline.record`, obtain explicit owner
|
|
39
|
+
approval, and call `baseline.converge`. Do not simulate initial delivery through a null
|
|
40
|
+
change record.
|
|
48
41
|
|
|
49
|
-
|
|
50
|
-
documents. Record `baseline_updates`, or a specific no-change reason. No unresolved
|
|
51
|
-
placeholder, unknown docs impact, or delivered-only-in-delta behavior may remain.
|
|
42
|
+
## Verify the release candidate
|
|
52
43
|
|
|
53
|
-
|
|
44
|
+
Use a clean, reviewed release commit. Show any remaining diff and obtain explicit
|
|
45
|
+
authorization before staging or committing. Never stage unrelated user changes.
|
|
54
46
|
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
Run the exact repository commands needed for focused regression, relevant full tests,
|
|
48
|
+
static checks, production build, package/install/doctor smoke when distributed, the
|
|
49
|
+
public seam, and rollback or recovery sanity. Any post-verification edit invalidates
|
|
50
|
+
the affected evidence.
|
|
57
51
|
|
|
58
|
-
|
|
52
|
+
Compile final change context at the release commit with the convergence gate. It must
|
|
53
|
+
be ready before calling `change.converge`.
|
|
59
54
|
|
|
60
|
-
|
|
61
|
-
2. full relevant tests;
|
|
62
|
-
3. static checks and production build;
|
|
63
|
-
4. package/install/doctor smoke where the product is distributed;
|
|
64
|
-
5. public-seam acceptance and rollback/recovery sanity.
|
|
55
|
+
## Converge and archive
|
|
65
56
|
|
|
66
|
-
|
|
67
|
-
|
|
57
|
+
Submit structured evidence for the reviewed diff and seam, test signals, baseline and
|
|
58
|
+
delta, documentation, both independent review axes, and incident diagnosis when
|
|
59
|
+
applicable. Do not collapse review axes or replace exact signal fields with prose.
|
|
68
60
|
|
|
69
|
-
|
|
61
|
+
Resolve named blockers, rerun invalidated gates, then call `change.archive` with the
|
|
62
|
+
summary and baseline updates. Archive reconciliation refreshes the authoritative
|
|
63
|
+
baseline revision and digests. The archive transaction rechecks baseline health and
|
|
64
|
+
rolls back the state row, artifacts, and reconciliation events if any tracked digest
|
|
65
|
+
or repository revision remains stale. Verify the result with `baseline.get` before
|
|
66
|
+
release.
|
|
70
67
|
|
|
71
|
-
|
|
72
|
-
current required refs/digests, the public seam, exact verification command, and the
|
|
73
|
-
single next action `Archive the converged change`. Readiness must be `ready`.
|
|
68
|
+
## Optional release
|
|
74
69
|
|
|
75
|
-
|
|
70
|
+
Only when release authorization is in scope:
|
|
76
71
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
- `diff`: reviewed release diff and public seam;
|
|
80
|
-
- `tests`: exact signal object (`command`, expected/observed red, observed green,
|
|
81
|
-
deterministic, duration when known) and seam;
|
|
82
|
-
- `spec`: baseline/delta and applied learning evidence;
|
|
83
|
-
- `docs`: updated paths or explicit non-applicability;
|
|
84
|
-
- `review`, `axis=spec_fidelity`;
|
|
85
|
-
- `review`, `axis=engineering_standards`;
|
|
86
|
-
- `diagnosis` for incidents.
|
|
87
|
-
|
|
88
|
-
Do not collapse the two review axes or substitute prose for the signal fields. If
|
|
89
|
-
convergence returns blockers, fix the named source and rerun the invalidated gates.
|
|
90
|
-
|
|
91
|
-
## 6. Archive and release
|
|
92
|
-
|
|
93
|
-
After `ready=true`, call `change.archive` with summary and `baseline_updates` (or the
|
|
94
|
-
validated no-change reason). Then:
|
|
95
|
-
|
|
96
|
-
1. determine the semantic version from user-visible compatibility;
|
|
72
|
+
1. determine the semantic version from compatibility impact;
|
|
97
73
|
2. update version and changelog;
|
|
98
|
-
3. rerun
|
|
99
|
-
4. create a non-force commit
|
|
100
|
-
5.
|
|
101
|
-
6. verify the remote tag
|
|
102
|
-
|
|
103
|
-
Write `.ultra/delivery-report.json` with change id, archived status, commit, version,
|
|
104
|
-
commands, package/release identifiers, baseline updates, rollback notes, and timestamp.
|
|
74
|
+
3. rerun checks invalidated by version changes;
|
|
75
|
+
4. create a non-force commit and tag;
|
|
76
|
+
5. push and publish through the repository's authenticated workflow;
|
|
77
|
+
6. independently verify the remote commit, tag, release, and registry version.
|
|
105
78
|
|
|
106
|
-
|
|
79
|
+
Write the delivery report with the change id, archive status, commit, version, exact
|
|
80
|
+
commands, release identifiers, baseline updates, rollback notes, and timestamp.
|
|
107
81
|
|
|
108
|
-
Delivery is complete only when
|
|
109
|
-
|
|
110
|
-
unexplained scope. Report the outcome first, exact evidence next, and residual risks
|
|
111
|
-
last. Never say “published” based only on a local version bump.
|
|
82
|
+
Delivery is complete only when local and remote evidence agree and the worktree has no
|
|
83
|
+
unexplained scope. A local version bump is not publication evidence.
|
|
@@ -1,120 +1,61 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-dev
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: true
|
|
5
|
-
runtime: all
|
|
6
|
-
mcp_tools_required:
|
|
7
|
-
- task.update
|
|
8
|
-
- task.get
|
|
9
|
-
- task.list
|
|
10
|
-
- change.get
|
|
11
|
-
- change.context
|
|
12
|
-
- change.breadcrumb
|
|
13
|
-
- change.learning_propose
|
|
3
|
+
description: Execute one authoritative Ultra task through a bounded fresh context, a red-green feedback loop, live-path verification, and review. Use when a dependency-ready planned slice is ready for implementation.
|
|
14
4
|
---
|
|
15
5
|
|
|
16
|
-
#
|
|
6
|
+
# Execute one vertical slice
|
|
17
7
|
|
|
18
|
-
Drive one task from `pending` to `completed
|
|
19
|
-
`.ultra/state.db`; generated task JSON and context frontmatter are read-only.
|
|
8
|
+
Drive one task from `pending` to `completed` without widening its contract silently.
|
|
20
9
|
|
|
21
10
|
## Authority and recovery
|
|
22
11
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
`
|
|
12
|
+
Task state changes use `task.update`. Never write raw SQLite, generated task JSON, or
|
|
13
|
+
projected status fields. If task MCP access fails, stop and route state health to
|
|
14
|
+
`ultra-doctor`.
|
|
26
15
|
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
Read `change.breadcrumb` when a change is active. Stale context, blocked readiness,
|
|
17
|
+
unknown documentation impact, or a HEAD mismatch blocks implementation.
|
|
18
|
+
Baseline-adoption and context-size warnings do not block an active slice. Address
|
|
19
|
+
them when practical without dropping required evidence or arbitrarily changing a
|
|
20
|
+
threshold. Approved baseline availability is enforced at convergence; revision and
|
|
21
|
+
tracked-spec health are reconciled and verified at archive.
|
|
29
22
|
|
|
30
|
-
|
|
31
|
-
task, branch, current step, status, and timestamp; do not copy prompts, codebase
|
|
32
|
-
summaries, or provider memory into it.
|
|
33
|
-
|
|
34
|
-
## 1. Select and compile the slice
|
|
23
|
+
## Workflow
|
|
35
24
|
|
|
36
25
|
1. Select the requested task, otherwise the first dependency-ready pending task.
|
|
37
|
-
2. Call `task.get
|
|
38
|
-
verification command.
|
|
39
|
-
3.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
an unproven hypothesis.
|
|
68
|
-
|
|
69
|
-
## 3. Implement the minimum complete path
|
|
70
|
-
|
|
71
|
-
- Trace entry point → domain rule → side effect → public seam.
|
|
72
|
-
- Search for existing utilities and dependencies before adding helpers.
|
|
73
|
-
- Keep IO at boundaries and domain behavior testable.
|
|
74
|
-
- Include required validation, errors, observability, recovery, and documentation.
|
|
75
|
-
- Preserve unrelated dirty worktree changes and stay within allowed paths.
|
|
76
|
-
- Verify each meaningful increment through the same feedback loop.
|
|
77
|
-
|
|
78
|
-
If implementation reveals a stable invariant or public behavior absent from the
|
|
79
|
-
baseline, call `change.learning_propose` with its evidence and target document. Do not
|
|
80
|
-
edit the baseline silently and do not store the discovery as Ultra memory.
|
|
81
|
-
|
|
82
|
-
## 4. Establish green and inspect reachability
|
|
83
|
-
|
|
84
|
-
Run, in order:
|
|
85
|
-
|
|
86
|
-
1. the exact red command until the observed failure becomes green;
|
|
87
|
-
2. adjacent focused tests;
|
|
88
|
-
3. type check/lint/build proportionate to the change;
|
|
89
|
-
4. the live public-seam acceptance path;
|
|
90
|
-
5. final diff and worktree scope inspection.
|
|
91
|
-
|
|
92
|
-
Record exact commands and zero-failure results. “Compiled” or “unit tests pass” is not
|
|
93
|
-
enough when the new module is not connected to a consumer.
|
|
94
|
-
|
|
95
|
-
## 5. Review gate
|
|
96
|
-
|
|
97
|
-
Checkpoint `status=pre_review`, then invoke `/ultra-review all`. The review must produce
|
|
98
|
-
independent `spec_fidelity` and `engineering_standards` verdicts. Fix all P0/P1 issues,
|
|
99
|
-
rerun affected tests, and recheck until both axes pass. The primary host owns final
|
|
100
|
-
verification; review workers never mutate durable Ultra state.
|
|
101
|
-
|
|
102
|
-
## 6. Complete the task
|
|
103
|
-
|
|
104
|
-
First call `task.update` with `status=completed` and completion commit/evidence
|
|
105
|
-
supported by the task contract. Then, for a linked change, recompile
|
|
106
|
-
`change.context` at the final HEAD with:
|
|
107
|
-
|
|
108
|
-
- `role=implement`, `gate=verification`;
|
|
109
|
-
- exact required references and current digests;
|
|
110
|
-
- the public seam and verification command;
|
|
111
|
-
- a single next action, normally `Run ultra-test for this change`.
|
|
112
|
-
|
|
113
|
-
This ordering ensures the snapshot records the completed task state. Clear the active
|
|
114
|
-
workflow checkpoint, call `change.breadcrumb`, and report exactly one next action.
|
|
26
|
+
2. Call `task.get` and verify acceptance, dependencies, ownership, public seam, and
|
|
27
|
+
exact verification command.
|
|
28
|
+
3. For a linked change, call `change.get`, then compile `change.context` for the
|
|
29
|
+
implementation role and gate with the smallest required references.
|
|
30
|
+
4. Mark the task `in_progress` only after the context is ready.
|
|
31
|
+
5. Establish the feedback-loop baseline before changing production logic:
|
|
32
|
+
- reproduce the smallest observable symptom at the declared seam;
|
|
33
|
+
- add or identify the contract or regression test;
|
|
34
|
+
- record the exact command, expected signal, and observed result.
|
|
35
|
+
|
|
36
|
+
A feature starts with an assertion for missing behavior. A refactor starts from a
|
|
37
|
+
green characterization baseline. Documentation or configuration work may use a
|
|
38
|
+
structural validator when no logic test applies.
|
|
39
|
+
6. Implement the minimum complete path from entry point to public seam. Reuse existing
|
|
40
|
+
utilities, keep IO at boundaries, include required errors and recovery, and preserve
|
|
41
|
+
unrelated worktree changes.
|
|
42
|
+
7. If the work reveals a stable requirement or public behavior absent from the
|
|
43
|
+
baseline, call `change.learning_propose`. Do not edit the baseline silently or store
|
|
44
|
+
the discovery as private Ultra memory.
|
|
45
|
+
8. Verify in this order:
|
|
46
|
+
- the original feedback-loop command;
|
|
47
|
+
- adjacent focused tests;
|
|
48
|
+
- proportionate static checks and build;
|
|
49
|
+
- the live public-seam acceptance path;
|
|
50
|
+
- final diff and worktree scope.
|
|
51
|
+
9. Run `ultra-review` against the current diff. Fix blocking findings, rerun invalidated
|
|
52
|
+
checks, and require independent specification-fidelity and engineering verdicts.
|
|
53
|
+
10. Call `task.update` with `status=completed` and exact evidence. For a linked change,
|
|
54
|
+
recompile the verification context at the final HEAD, then call
|
|
55
|
+
`change.breadcrumb`.
|
|
115
56
|
|
|
116
57
|
## Completion evidence
|
|
117
58
|
|
|
118
|
-
Report task
|
|
119
|
-
review session,
|
|
120
|
-
|
|
59
|
+
Report the task and change ids, changed paths, baseline signal, passing commands,
|
|
60
|
+
public-seam result, review session, specification-learning candidates, and one next
|
|
61
|
+
action. Leave the task in progress or blocked when required evidence is missing.
|