ultra-builder-pro-cli 0.22.0 → 0.23.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/CHANGELOG.md +38 -0
- package/README.md +55 -25
- package/adapters/_shared/codex-assets.cjs +8 -3
- package/adapters/_shared/interaction-contract.cjs +13 -6
- package/adapters/_shared/runtime-assets.cjs +1 -1
- package/adapters/claude.js +1 -1
- package/adapters/kimi.js +1 -1
- package/adapters/opencode.js +1 -1
- package/docs/AGENT-CONTEXT.md +38 -40
- package/docs/ARCHITECTURE.md +29 -33
- package/docs/ARTIFACT-AUTHORITY.md +15 -16
- package/docs/ROADMAP.md +2 -2
- package/docs/RUNTIME-COMPAT-MATRIX.md +7 -6
- package/docs/STATE-DB-ACCESS-POLICY.md +14 -14
- package/docs/WORKFLOW-LIFECYCLE.md +39 -33
- package/mcp-server/lib/artifact-registry.cjs +25 -1
- package/mcp-server/lib/change-workflow.cjs +42 -6
- package/mcp-server/lib/ultra-facade.cjs +646 -0
- package/mcp-server/lib/workflow-state.cjs +166 -2
- package/mcp-server/server.cjs +73 -21
- package/package.json +1 -1
- package/skills/ultra-change/SKILL.md +38 -98
- package/skills/ultra-deliver/SKILL.md +42 -65
- package/skills/ultra-dev/SKILL.md +34 -88
- package/skills/ultra-doctor/SKILL.md +35 -57
- package/skills/ultra-init/SKILL.md +37 -78
- package/skills/ultra-plan/SKILL.md +52 -132
- package/skills/ultra-research/SKILL.md +41 -100
- package/skills/ultra-review/SKILL.md +25 -46
- package/skills/ultra-status/SKILL.md +21 -44
- package/skills/ultra-test/SKILL.md +25 -61
- package/skills/ultra-think/SKILL.md +29 -48
- package/skills/ultra-think/references/decision-dialogue.md +6 -4
- package/spec/cli-protocol.md +12 -0
- package/spec/mcp-tools.yaml +159 -0
- package/spec/schemas/mcp-tools.schema.json +1 -1
|
@@ -1,118 +1,59 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-research
|
|
3
|
-
description: Build or refresh an evidence-backed product and architecture baseline through recommended, user-selected semantic coverage
|
|
3
|
+
description: Build or refresh an evidence-backed product and architecture baseline through recommended, user-selected semantic coverage. Use when initialization, brownfield adoption, or an active Change has a real evidence gap.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Research with adaptive coverage
|
|
7
7
|
|
|
8
|
-
The model owns investigation
|
|
9
|
-
MCP
|
|
8
|
+
The model owns investigation and synthesis. The owner controls material scope and
|
|
9
|
+
deferrals. MCP records the accepted draft and commits one durable checkpoint; it is
|
|
10
|
+
not a questionnaire or a step-by-step supervisor.
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
## Bind current context
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
1. Call `ultra.context { stage: research, detail: full }`.
|
|
15
|
+
2. If the team checkpoint is newer, call `ultra.sync { action: import }`. Stop only
|
|
16
|
+
on a real ancestry or same-record conflict.
|
|
17
|
+
3. Inspect code, docs, tests, runtime, accepted intent, decisions, and existing
|
|
18
|
+
research. Reuse current evidence and the matching mutable draft.
|
|
19
|
+
4. Recommend the smallest sufficient coverage. Offer the adaptive set, the full
|
|
20
|
+
catalog, and a focused Change-bound set only when all are credible.
|
|
21
|
+
5. Use the host-native question surface only for a material unresolved route. Reuse an
|
|
22
|
+
explicit owner choice without asking again.
|
|
14
23
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
descendant team checkpoint before binding coverage; stop on a typed merge conflict.
|
|
18
|
-
2. Resume the matching active, blocked, or ready run. Do not create parallel authority.
|
|
19
|
-
3. If none exists, use `full` for greenfield, `adoption` for brownfield, or a bounded
|
|
20
|
-
mode only for a recorded active-Change disposition. Focused baseline coverage
|
|
21
|
-
remains `full` or `adoption`; `custom` is Change-bound only.
|
|
22
|
-
4. Before `workflow.start`, inspect current code, docs, tests, runtime, and prior
|
|
23
|
-
artifacts. Recommend the smallest sufficient set of applicable catalog areas.
|
|
24
|
-
Explain the net effect without dumping all 17 areas. Offer at most three credible
|
|
25
|
-
routes: the recommended adaptive set, the full catalog, and a focused or custom set.
|
|
26
|
-
5. If current user intent does not already select a route, use the host's native
|
|
27
|
-
structured question surface. The user selects, modifies, delegates, or defers.
|
|
28
|
-
Treat a dismissal as unanswered, stop, and perform no route-dependent write.
|
|
29
|
-
6. Normalize the answer and persist the accepted coverage through `workflow.start`.
|
|
30
|
-
Use `execute` for fresh evidence, `verify_existing` for source validation, `reuse`
|
|
31
|
-
for current evidence, `not_applicable` with evidence and rationale, or `deferred`
|
|
32
|
-
with consequence and owner acceptance when scope or material risk changes.
|
|
33
|
-
7. Pass the evidence-based coverage rationale as `metadata.selection_reason`. Omitted
|
|
34
|
-
catalog areas create no DB step and need no ceremonial disposition.
|
|
35
|
-
8. Read back the created workflow and accepted coverage. When a durable decision thread
|
|
36
|
-
recorded the route, complete it with the workflow reference in `applied_refs`.
|
|
24
|
+
Read `../ultra-think/references/decision-dialogue.md` before asking. Load only the
|
|
25
|
+
reference files for research areas that actually apply.
|
|
37
26
|
|
|
38
|
-
|
|
27
|
+
## Investigate
|
|
39
28
|
|
|
40
|
-
|
|
29
|
+
For each selected area:
|
|
41
30
|
|
|
42
|
-
|
|
31
|
+
- separate `Observed`, `Verified`, `Decided`, and `Unknown`;
|
|
32
|
+
- resolve observable facts yourself and use primary sources where needed;
|
|
33
|
+
- update the smallest baseline or Change-owned research artifact;
|
|
34
|
+
- never store transcripts, hidden reasoning, raw provider payloads, or copied prompts;
|
|
35
|
+
- record evidence, specification updates, decisions, deferrals, and consequences.
|
|
43
36
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
| `04-product-strategy` | `references/04-product-strategy.md` | `05-assumptions-validation` | `references/05-assumptions-validation.md` |
|
|
49
|
-
| `10-user-personas` | `references/10-user-personas.md` | `11-user-scenarios` | `references/11-user-scenarios.md` |
|
|
50
|
-
| `20-user-stories` | `references/20-user-stories.md` | `21-features-scope` | `references/21-features-scope.md` |
|
|
51
|
-
| `22-success-metrics` | `references/22-success-metrics.md` | `30-architecture-context` | `references/30-architecture-context.md` |
|
|
52
|
-
| `31-solution-strategy` | `references/31-solution-strategy.md` | `32-building-blocks` | `references/32-building-blocks.md` |
|
|
53
|
-
| `40-deployment` | `references/40-deployment.md` | `41-quality-risks` | `references/41-quality-risks.md` |
|
|
54
|
-
| `99-synthesis` | `references/99-synthesis.md` | | |
|
|
37
|
+
Use one `ultra.record` batch for durable facts such as `artifact.record`,
|
|
38
|
+
`decision.*`, `baseline.*`, `change.update`, or `change.delta`. Every entry needs a
|
|
39
|
+
stable idempotency key. A rejected entry is a mutable diagnostic: fix the draft and
|
|
40
|
+
retry; use `workflow.abandon` only when intentionally discarding that attempt.
|
|
55
41
|
|
|
56
|
-
##
|
|
42
|
+
## Commit one research checkpoint
|
|
57
43
|
|
|
58
|
-
|
|
44
|
+
Call exactly one `ultra.checkpoint` with `stage: research`. Put the selected research areas
|
|
45
|
+
and their report outputs in `payload.steps`; include only work actually performed,
|
|
46
|
+
verified, reused, deferred with owner authority, or proved not applicable. Synthesis
|
|
47
|
+
must always be present.
|
|
59
48
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
available. Present the recommendation and effect; avoid a questionnaire or a dump
|
|
65
|
-
of the hidden research queue.
|
|
66
|
-
3. Process dependent decisions one at a time. A small group of independent,
|
|
67
|
-
low-cognitive-load facts may be asked together when the host UI supports it.
|
|
68
|
-
4. Normalize explicit user intent without redundant confirmation. Create durable
|
|
69
|
-
decision state only when a project-bound decision must survive interruption.
|
|
70
|
-
5. Update the smallest relevant baseline specification or active-change research
|
|
71
|
-
artifact. Do not copy prompts, transcripts, provider payloads, or internal chain of
|
|
72
|
-
thought.
|
|
49
|
+
For baseline research, record and converge the accepted baseline through
|
|
50
|
+
`ultra.record`, then publish the team checkpoint with `ultra.sync { action: publish }`.
|
|
51
|
+
For Change-bound research, keep all findings and delta artifacts below the Change
|
|
52
|
+
root and never edit accepted baseline specs directly.
|
|
73
53
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
`<change-root>/research/<workflow-id>/<step-id>.md` for an active Change.
|
|
54
|
+
If the checkpoint returns `accepted: false`, keep the same draft mutable, repair the
|
|
55
|
+
reported evidence, and retry. Do not manufacture evidence or open a replacement run.
|
|
77
56
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
research, keep `findings.md` and every semantic output inside the same Change root and
|
|
82
|
-
register them through workflow outputs; do not write baseline specifications.
|
|
83
|
-
|
|
84
|
-
At synthesis, bind the current `discovery.md`, `product.md`, `architecture.md`, and
|
|
85
|
-
`research-distillate.md` only for initial/adoption research. Change-bound synthesis
|
|
86
|
-
updates the Change findings and specification overlay, then records or refreshes
|
|
87
|
-
`change.delta`. It never mutates the accepted baseline.
|
|
88
|
-
|
|
89
|
-
## Baseline convergence
|
|
90
|
-
|
|
91
|
-
After `workflow.complete`, initial or adoption research calls `baseline.record` with
|
|
92
|
-
the current repository scope and revision, specification refs, evidence, real
|
|
93
|
-
verification results, unknowns, gap ledger, classification, and external provider
|
|
94
|
-
metadata references.
|
|
95
|
-
|
|
96
|
-
If Git is initialized but unborn, present the exact local checkpoint paths and purpose
|
|
97
|
-
for user authorization, then create only that local commit. Never create a remote,
|
|
98
|
-
tag, or push through research. If authorization or identity is missing, preserve the
|
|
99
|
-
run as blocked with `BASELINE_GIT_HEAD_REQUIRED`.
|
|
100
|
-
|
|
101
|
-
Call `baseline.converge` only when the user has accepted the exact baseline snapshot,
|
|
102
|
-
known failures, blocking gaps, and scope. Reuse an unambiguous current approval; do not
|
|
103
|
-
ask twice. MCP must reject stale research, drift, missing evidence, and unaccepted
|
|
104
|
-
failures. Successful convergence publishes the portable baseline, Changes, and tasks
|
|
105
|
-
to the Git team checkpoint; the receiving checkout must still revalidate a ready
|
|
106
|
-
baseline against its own HEAD and files.
|
|
107
|
-
|
|
108
|
-
Reuse the final research acceptance or current artifact checkpoint during baseline
|
|
109
|
-
convergence; do not ask for an equivalent approval again. After initial or adoption
|
|
110
|
-
convergence, `ultra-change` becomes an available transition. Bounded change research
|
|
111
|
-
returns to its owning Change authority; the next route is still `ultra-plan`, never
|
|
112
|
-
direct implementation.
|
|
113
|
-
|
|
114
|
-
Return a compact coverage summary by disposition, current evidence or decision blocker, baseline state, gaps, and allowed transitions.
|
|
115
|
-
Recommend a semantic next action from those transitions. If current intent does not already select it, present the recommendation
|
|
116
|
-
and credible alternatives through the interaction protocol, then wait. MCP supplies only valid and required transitions.
|
|
117
|
-
|
|
118
|
-
Never invoke the recommended capability here; wait for an explicit user invocation.
|
|
57
|
+
Return coverage, decisive evidence, remaining gaps, durable artifact paths, and a
|
|
58
|
+
model recommendation for the next explicit capability, such as `ultra-change` after a
|
|
59
|
+
ready baseline. Never invoke it automatically.
|
|
@@ -1,62 +1,41 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-review
|
|
3
|
-
description: Independently review one current Ultra plan, task diff, or aggregate
|
|
3
|
+
description: Independently review one current Ultra plan, task diff, or aggregate Change on specification fidelity and engineering standards. Use when current evidence needs review or focused risk analysis.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Review one bounded scope
|
|
7
7
|
|
|
8
8
|
Keep two independent verdict axes:
|
|
9
9
|
|
|
10
|
-
- `spec_fidelity`: accepted intent, behavior,
|
|
11
|
-
- `engineering_standards`: correctness, safety, tests, integration,
|
|
12
|
-
observability, and recovery.
|
|
10
|
+
- `spec_fidelity`: accepted intent, behavior, docs, and public seams;
|
|
11
|
+
- `engineering_standards`: correctness, safety, tests, integration,
|
|
12
|
+
maintainability, observability, and recovery.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## Bind and review
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
1. Read `references/review-modes.md`.
|
|
17
|
+
2. Call `ultra.context { stage: review, scope: { change_id, task_id? }, detail: full }`.
|
|
18
|
+
3. Import a newer team checkpoint with `ultra.sync`; stop on a real conflict.
|
|
19
|
+
4. Bind one explicit diff or Plan, full HEAD, worktree digest, task set, acceptance,
|
|
20
|
+
decisions, and current evidence. Empty or stale scope cannot pass.
|
|
21
|
+
5. Always run `review-spec`. Select the smallest engineering worker set that covers
|
|
22
|
+
actual risk; record selected and excluded roles with rationale.
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
3. Bind one explicit diff or plan artifact, full HEAD, worktree digest, task set,
|
|
23
|
-
acceptance, breadcrumb `accepted_intent`, and current decision state.
|
|
24
|
-
4. Resume or start the review workflow and record `bind-diff`.
|
|
25
|
-
5. Compile `change.context` for `review` and record the immutable manifest under
|
|
26
|
-
`compile-context`.
|
|
24
|
+
Workers are read-only and use the host-native bounded-worker mechanism. Validate their
|
|
25
|
+
artifacts with `scripts/review_wait.py` and
|
|
26
|
+
`references/unified-schema.md`. Preserve every finding unchanged in `SUMMARY.json`;
|
|
27
|
+
group duplicates only in the human summary.
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
Register specialist and summary artifacts through one `ultra.record` batch.
|
|
29
30
|
|
|
30
|
-
##
|
|
31
|
+
## Checkpoint
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
Call `ultra.checkpoint` once with `stage: review`, exact scope, evidence, and outputs
|
|
34
|
+
tagged `spec_review`, `engineering_review`, or summary. The checkpoint compiles or
|
|
35
|
+
reuses review context and derives both axes from registered artifacts.
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
not decide owner choices or edit source.
|
|
37
|
+
A rejected checkpoint leaves the draft mutable. Fix stale scope or evidence and retry;
|
|
38
|
+
do not open a replacement run or suppress a finding.
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
`scripts/review_wait.py`. Store all specialist artifacts and `SUMMARY.json` below
|
|
43
|
-
`.ultra/changes/active/<change-id>/review/<workflow-id>/`. Record outputs under
|
|
44
|
-
`review-specification`, `review-engineering`, and `coordinate-findings`.
|
|
45
|
-
|
|
46
|
-
The coordinator preserves every finding unchanged in `SUMMARY.json`; it may group
|
|
47
|
-
duplicate root causes only in the human summary. A new material owner choice remains a
|
|
48
|
-
finding and routes to the interaction protocol.
|
|
49
|
-
|
|
50
|
-
## Complete
|
|
51
|
-
|
|
52
|
-
Recheck HEAD, worktree, context digest, diff, task set, acceptance, artifact schemas,
|
|
53
|
-
and both axes. Record `verify-review-gate`, then call `workflow.complete`. MCP derives
|
|
54
|
-
the durable verdict and rejects missing specialists, lossy coordination, stale
|
|
55
|
-
artifacts, or prompt-supplied conclusions.
|
|
56
|
-
|
|
57
|
-
Any relevant code, test, specification, or contract edit invalidates the affected
|
|
58
|
-
review evidence through registered provenance edges; unrelated evidence remains
|
|
59
|
-
current. Return both verdict axes, blocking findings, reviewed scope, worker selection
|
|
60
|
-
rationale, artifact digests, and allowed transitions.
|
|
61
|
-
|
|
62
|
-
Never invoke the recommended capability here; wait for an explicit user invocation.
|
|
40
|
+
Return both axes, findings, reviewed scope, worker rationale, digests, and the model's
|
|
41
|
+
recommended next explicit capability. Do not invoke it automatically.
|
|
@@ -1,63 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-status
|
|
3
|
-
description: Read authoritative Ultra health, workflows, decisions, changes, tasks, evidence freshness, and
|
|
3
|
+
description: Read authoritative Ultra health, workflows, decisions, changes, tasks, evidence freshness, and team checkpoint state. Use when the user asks what is complete, blocked, stale, or currently possible.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Report authoritative state
|
|
7
7
|
|
|
8
|
-
This Skill is read-only.
|
|
9
|
-
JSON, prose, or context frontmatter when checkout-local DB authority is missing or
|
|
10
|
-
degraded.
|
|
8
|
+
This Skill is read-only.
|
|
11
9
|
|
|
12
10
|
## Read
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
4. Read current decision state and breadcrumb `accepted_intent` without exposing hidden
|
|
20
|
-
future questions.
|
|
21
|
-
5. Read active, blocked, and ready workflows and their current steps.
|
|
22
|
-
6. Read the active Change root, typed delta, plan, deterministic progress projection,
|
|
23
|
-
documentation reconciliation, findings, tasks, sessions, and current Git state.
|
|
24
|
-
7. Read test, review, and delivery artifacts only through DB references and verify
|
|
25
|
-
their digests and revisions.
|
|
26
|
-
|
|
27
|
-
If authority is unreadable, report the unavailable panel and the required doctor or
|
|
28
|
-
init transition. Do not mutate, compile context, repair, or release.
|
|
29
|
-
|
|
30
|
-
## Interpret transitions
|
|
31
|
-
|
|
32
|
-
MCP reports:
|
|
33
|
-
|
|
34
|
-
- `allowed_transitions`: mechanically valid capabilities;
|
|
35
|
-
- `required_transition`: the sole recovery route only when a hard invariant permits no
|
|
36
|
-
safe alternative.
|
|
37
|
-
|
|
38
|
-
The host model recommends among allowed transitions using the user's current goal,
|
|
39
|
-
workflow evidence, and cost of interruption. Do not present the recommendation as DB
|
|
40
|
-
authority. A healthy project may validly allow research, change, thinking, or status at
|
|
41
|
-
the same time.
|
|
12
|
+
Call `ultra.context { stage: project, detail: full }`. Use `ultra.sync { action:
|
|
13
|
+
inspect }` only when the user needs team-checkpoint detail. Do not import, publish,
|
|
14
|
+
repair, compile context, or mutate state.
|
|
15
|
+
Never fall back to the Git team checkpoint, generated task JSON, or report files as
|
|
16
|
+
live authority when `ultra.context` reports missing or unhealthy local state.
|
|
42
17
|
|
|
43
18
|
Report:
|
|
44
19
|
|
|
45
20
|
```text
|
|
46
|
-
Ultra: <healthy|degraded> · <branch>@<head|unborn|non-git>
|
|
47
|
-
Baseline: <mode>/<status> ·
|
|
48
|
-
Workflow: <
|
|
49
|
-
|
|
50
|
-
Change: <id/status|none> · delta=<fresh|stale|missing> · docs=<fresh|stale|missing>
|
|
21
|
+
Ultra: <healthy|degraded> · <branch>@<head|unborn|non-git>
|
|
22
|
+
Baseline: <mode>/<status> · gaps=<open>/<blocking>
|
|
23
|
+
Workflow drafts: <active|blocked|ready> · accepted checkpoints=<current|stale>
|
|
24
|
+
Change: <id/status|none> · delta/docs=<state>
|
|
51
25
|
Task: <id/status|none> · Sessions: <active>
|
|
52
26
|
Evidence: plan=<state> · test=<state> · review=<axes> · delivery=<state>
|
|
53
|
-
Team checkpoint: <current|drifted|revalidation_required|missing|invalid>
|
|
54
|
-
Blockers: <
|
|
55
|
-
Warnings: <
|
|
56
|
-
Allowed transitions: <capabilities>
|
|
57
|
-
Required transition: <capability or none>
|
|
27
|
+
Team checkpoint: <current|drifted|revalidation_required|missing|invalid>
|
|
28
|
+
Blockers: <hard mechanical blockers or none>
|
|
29
|
+
Warnings: <advisory semantic diagnostics or none>
|
|
58
30
|
Host recommendation: <capability and concise rationale>
|
|
59
31
|
```
|
|
60
32
|
|
|
61
|
-
|
|
33
|
+
Treat warnings and failed draft checks as information, not mechanical orders. Only
|
|
34
|
+
corruption, unsafe paths, real concurrency conflicts, permissions, or irreversible
|
|
35
|
+
external effects are hard blockers.
|
|
62
36
|
|
|
63
|
-
|
|
37
|
+
The host model recommends the next useful capability from accepted intent, current
|
|
38
|
+
evidence, cost of interruption, and owner goal. SQLite does not choose the route.
|
|
39
|
+
Separate verified facts, model inference, and unavailable evidence. Never invoke the
|
|
40
|
+
recommendation automatically.
|
|
@@ -1,74 +1,38 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-test
|
|
3
|
-
description: Independently verify an Ultra task set or
|
|
3
|
+
description: Independently verify an Ultra task set or Change with an evidence-backed, risk-selected test profile. Use when implementation or current acceptance and recovery evidence needs independent verification.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Verify current behavior
|
|
7
7
|
|
|
8
|
-
Testing
|
|
9
|
-
projections
|
|
8
|
+
Testing independently checks the current checkout. Implementation conclusions and
|
|
9
|
+
generated projections are not evidence.
|
|
10
10
|
|
|
11
|
-
## Bind
|
|
11
|
+
## Bind and execute
|
|
12
12
|
|
|
13
|
-
1.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
1. Call `ultra.context { stage: test, scope: { change_id, task_id? }, detail: full }`.
|
|
14
|
+
2. Import a newer team checkpoint with `ultra.sync`; stop on a real conflict.
|
|
15
|
+
3. Bind exact acceptance, task set, HEAD, worktree, decisions, dev evidence, and public
|
|
16
|
+
seams.
|
|
17
|
+
4. Select a risk-based profile from acceptance, regression, integration, static
|
|
18
|
+
analysis, build, performance, security, and recovery. Acceptance is mandatory;
|
|
19
|
+
explain every material exclusion.
|
|
20
|
+
5. Run repository-native commands and real boundaries. A bug or incident needs one
|
|
21
|
+
deterministic red-to-green regression signal.
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
Write an `ultra-test-report-v1` report below the owning Change. Bind exact acceptance
|
|
24
|
+
ids, task ids, HEAD, worktree/context digests, commands, seams, failures, recovery,
|
|
25
|
+
profile, timestamp, blockers, and evidence-derived verdict. Register it with
|
|
26
|
+
`ultra.record` using `artifact.record`.
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
## Checkpoint
|
|
25
29
|
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
- static analysis;
|
|
30
|
-
- build;
|
|
31
|
-
- performance;
|
|
32
|
-
- security;
|
|
33
|
-
- recovery.
|
|
30
|
+
Call `ultra.checkpoint` once with `stage: test`, exact scope, evidence, and an output
|
|
31
|
+
for the report (`kind: test-report`). The checkpoint compiles or reuses checking
|
|
32
|
+
context and derives the verdict from the registered report.
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
`verification_profile`; omission without a rationale is invalid. A selected dimension
|
|
38
|
-
must be `pass`, `fail`, or `not_run`; `not_run` cannot support a passing gate.
|
|
34
|
+
If rejected, keep the same draft, repair evidence, and retry. Never weaken an
|
|
35
|
+
assertion, hide a skip, or turn a warning into proof.
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
explains the preserved contract. Do not weaken assertions, hide skips, or validate
|
|
43
|
-
unconsumed code.
|
|
44
|
-
|
|
45
|
-
For an incident or bugfix, record one deterministic red-to-green `regression_signal`.
|
|
46
|
-
When evidence reveals a material product or recovery choice, use the host's native
|
|
47
|
-
question UI and decision protocol; testing must not choose the desired outcome.
|
|
48
|
-
|
|
49
|
-
## Report
|
|
50
|
-
|
|
51
|
-
Write
|
|
52
|
-
`.ultra/changes/active/<change-id>/test/<workflow-id>/report.json` with
|
|
53
|
-
`ultra-test-report-v1`, binding:
|
|
54
|
-
|
|
55
|
-
- change, exact task ids, current Change acceptance ids, HEAD, worktree digest, and
|
|
56
|
-
checking-context digest;
|
|
57
|
-
- acceptance mapping, commands, public seams, failures, and recovery evidence;
|
|
58
|
-
- `verification_profile` and the selected `verification_dimensions`;
|
|
59
|
-
- regression signal when required;
|
|
60
|
-
- run count, timestamp, blockers, and evidence-derived `passed`.
|
|
61
|
-
|
|
62
|
-
Record `execute-checks`, `verify-public-seam`, and `write-report`, then re-read the
|
|
63
|
-
report and current checkout before `verify-test-gate`. `workflow.complete` derives its
|
|
64
|
-
summary from the report and rejects stale, malformed, contradictory, out-of-Change,
|
|
65
|
-
or acceptance-incomplete evidence.
|
|
66
|
-
|
|
67
|
-
Return the profile, exact results, verified seams, blockers, report digest, workflow
|
|
68
|
-
state, and allowed transitions. Recommend broader review, more implementation, or
|
|
69
|
-
delivery from those transitions. If current intent does not already select the
|
|
70
|
-
semantic next action, use
|
|
71
|
-
`../ultra-think/references/decision-dialogue.md` and wait for the user to select,
|
|
72
|
-
modify, delegate, or defer it.
|
|
73
|
-
|
|
74
|
-
Never invoke the recommended capability here; wait for an explicit user invocation.
|
|
37
|
+
Return the profile, exact results, verified seams, blockers, report digest, and the
|
|
38
|
+
model's recommended next explicit capability. Do not invoke it automatically.
|
|
@@ -3,55 +3,36 @@ name: ultra-think
|
|
|
3
3
|
description: Resolve a consequential product, architecture, or recovery question through evidence-first reasoning and adaptive user alignment. Use when a material decision cannot be derived safely from accepted intent and current evidence.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Align without suppressing
|
|
6
|
+
# Align without suppressing judgment
|
|
7
7
|
|
|
8
|
-
Thinking is
|
|
9
|
-
|
|
10
|
-
project-bound choice must survive interruption or gate later work.
|
|
8
|
+
Thinking is optional. Answer self-contained questions directly. Persist only a
|
|
9
|
+
project-bound decision that must survive interruption or control later work.
|
|
11
10
|
|
|
12
|
-
## Reason
|
|
11
|
+
## Reason and interact
|
|
13
12
|
|
|
14
|
-
1.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
asking the
|
|
18
|
-
|
|
13
|
+
1. Call `ultra.context` for the relevant project or Change scope.
|
|
14
|
+
2. Define the real decision and the constraints that can change its answer.
|
|
15
|
+
3. Inspect source, runtime, tests, accepted artifacts, and primary documentation
|
|
16
|
+
before asking the owner for facts.
|
|
17
|
+
4. Separate verified fact, evidence-backed inference, accepted intent, delegated
|
|
19
18
|
implementation judgment, and unresolved owner choice.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Apply any resulting change through its owning baseline, change, workflow, task, or
|
|
41
|
-
semantic artifact operation, read it back, and pass typed `applied_refs` to
|
|
42
|
-
`decision.complete`. If the decision record itself is the complete durable authority,
|
|
43
|
-
the list may be empty. Completion is not another owner approval.
|
|
44
|
-
|
|
45
|
-
Prepare and confirm a checkpoint only when the decision changes a durable contract or
|
|
46
|
-
artifact and a checkpoint is needed for recovery. Do not add a ceremonial approval
|
|
47
|
-
gate to an already explicit user instruction or a reversible implementation detail.
|
|
48
|
-
|
|
49
|
-
## Return control
|
|
50
|
-
|
|
51
|
-
Return the conclusion, decisive evidence, material uncertainty, and affected
|
|
52
|
-
contracts. Re-read the invoking workflow or breadcrumb and recommend one of its
|
|
53
|
-
`allowed_transitions`; follow `required_transition` only when a hard invariant leaves
|
|
54
|
-
no alternative. Thinking does not implement code, mutate unrelated state, or invent a
|
|
55
|
-
canonical next action.
|
|
56
|
-
|
|
57
|
-
Never invoke the recommended capability here; wait for an explicit user invocation.
|
|
19
|
+
5. Stress-test the leading answer with its strongest failure path and recovery.
|
|
20
|
+
|
|
21
|
+
Read `references/decision-dialogue.md`. Reuse a clear decision already present in the
|
|
22
|
+
request. Decide reversible delegated implementation details yourself. When owner
|
|
23
|
+
authority is necessary, ask one dependent decision through the host-native question
|
|
24
|
+
surface with a recommendation, decisive evidence, and the effect of the answer.
|
|
25
|
+
|
|
26
|
+
## Persist only the normalized result
|
|
27
|
+
|
|
28
|
+
Use one `ultra.record` batch for `decision.thread_start`, `decision.open`, the
|
|
29
|
+
appropriate resolve/delegate/defer/supersede operation, the owning artifact mutation,
|
|
30
|
+
and `decision.complete` when they are all known. Store normalized decisions and
|
|
31
|
+
artifact references, never transcripts or internal reasoning.
|
|
32
|
+
|
|
33
|
+
A semantic rejection remains a mutable diagnostic. Correct the record or intentionally
|
|
34
|
+
abandon the draft; do not invent a new decision merely to satisfy a state machine.
|
|
35
|
+
|
|
36
|
+
Return the conclusion, decisive evidence, uncertainty, affected authority, and the
|
|
37
|
+
model's recommended next explicit capability. Thinking never performs unrelated
|
|
38
|
+
implementation or an external effect. Do not invoke the next capability automatically.
|
|
@@ -147,7 +147,9 @@ exists; that exception does not create interaction proof.
|
|
|
147
147
|
|
|
148
148
|
## Return to the capability graph
|
|
149
149
|
|
|
150
|
-
After alignment, re-read the invoking
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
After alignment, re-read `ultra.context` for the invoking scope. The host model
|
|
151
|
+
recommends the next explicit capability from the user's goal, accepted intent,
|
|
152
|
+
evidence, recovery cost, and current warnings or blockers. MCP diagnostics describe
|
|
153
|
+
mechanical facts; they do not encode a semantic route or persist the recommendation
|
|
154
|
+
as authority. Only corruption, unsafe paths, true concurrency conflicts, permissions,
|
|
155
|
+
or irreversible external effects are hard blockers.
|
package/spec/cli-protocol.md
CHANGED
|
@@ -81,6 +81,13 @@ as a fallback unless `ultra-tools <family> --help` lists it.
|
|
|
81
81
|
|
|
82
82
|
| MCP tool | CLI subcommand | Phase | Writer |
|
|
83
83
|
|---------------------------|-----------------------------|------:|---------|
|
|
84
|
+
| `ultra.context` | `ultra context` | 23 | mcp |
|
|
85
|
+
| `ultra.record` | `ultra record` | 23 | mcp |
|
|
86
|
+
| `ultra.checkpoint` | `ultra checkpoint` | 23 | mcp |
|
|
87
|
+
| `ultra.sync` | `ultra sync` | 23 | mcp |
|
|
88
|
+
| `ultra.session` | `ultra session` | 23 | mcp |
|
|
89
|
+
| `ultra.archive` | `ultra archive` | 23 | mcp |
|
|
90
|
+
| `ultra.doctor` | `ultra doctor` | 23 | mcp |
|
|
84
91
|
| `task.create` | `task create` | 2 | mcp |
|
|
85
92
|
| `task.update` | `task update` | 2 | mcp |
|
|
86
93
|
| `task.list` | `task list` | 2 | any |
|
|
@@ -142,6 +149,11 @@ as a fallback unless `ultra-tools <family> --help` lists it.
|
|
|
142
149
|
| `plan.export` | `plan export` | 8a | mcp |
|
|
143
150
|
| `plan.get` | `plan get` | 8a | any |
|
|
144
151
|
|
|
152
|
+
The seven `ultra.*` rows are the public model-facing MCP surface. The remaining
|
|
153
|
+
rows are one-release compatibility operations and CLI naming reservations; they
|
|
154
|
+
are callable by an already-running 0.22 session but are not returned by
|
|
155
|
+
`tools/list`.
|
|
156
|
+
|
|
145
157
|
Current executable maintenance surfaces are `task init-project`,
|
|
146
158
|
`session close|get|list|admission|heartbeat|subscribe|reap`, `status`, `db`,
|
|
147
159
|
`migrate`, `system doctor|restore|rebaseline`, and `legacy-memory`. In particular, `task create|update|list|get`
|