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
package/spec/mcp-tools.yaml
CHANGED
|
@@ -20,6 +20,7 @@ info:
|
|
|
20
20
|
fixture to spec/fixtures/{valid,invalid}/, (c) `npm run test:spec` green.
|
|
21
21
|
|
|
22
22
|
families:
|
|
23
|
+
- { name: ultra, description: 'narrow model-facing persistence and safety kernel', phase: '23' }
|
|
23
24
|
- { name: task, description: 'authoritative task lifecycle on state.db', phase: '2' }
|
|
24
25
|
- { name: session, description: 'execution-unit lifecycle with single-active-lease admission (D33)', phase: '4.5' }
|
|
25
26
|
- { name: plan, description: 'execution-plan artifact export and query (D34)', phase: '8a' }
|
|
@@ -32,6 +33,164 @@ families:
|
|
|
32
33
|
|
|
33
34
|
tools:
|
|
34
35
|
|
|
36
|
+
# ───────────────────── public model-facing kernel ─────────────────────
|
|
37
|
+
- name: ultra.context
|
|
38
|
+
family: ultra
|
|
39
|
+
description: Read the complete current Ultra spine and optionally compile one stage-scoped Context Manifest. This tool reports warnings and blockers without choosing the next semantic action.
|
|
40
|
+
phase: '23'
|
|
41
|
+
readonly: true
|
|
42
|
+
writer_role: mcp
|
|
43
|
+
input_schema:
|
|
44
|
+
type: object
|
|
45
|
+
additionalProperties: false
|
|
46
|
+
properties:
|
|
47
|
+
stage: { type: string, enum: [project, research, plan, dev, test, review, deliver] }
|
|
48
|
+
scope:
|
|
49
|
+
type: object
|
|
50
|
+
additionalProperties: false
|
|
51
|
+
properties:
|
|
52
|
+
change_id: { type: string, minLength: 1 }
|
|
53
|
+
task_id: { type: string, minLength: 1 }
|
|
54
|
+
detail: { type: string, enum: [summary, full] }
|
|
55
|
+
output_schema: { type: object }
|
|
56
|
+
errors:
|
|
57
|
+
- { code: VALIDATION_ERROR, description: 'input failed structural validation' }
|
|
58
|
+
- { code: STATE_CORRUPT, description: 'local authority cannot be read safely' }
|
|
59
|
+
cli_subcommand: 'ultra context'
|
|
60
|
+
|
|
61
|
+
- name: ultra.record
|
|
62
|
+
family: ultra
|
|
63
|
+
description: Record one or more typed draft facts or actions with per-entry idempotency. Semantic rejections are returned as mutable diagnostics rather than transport errors.
|
|
64
|
+
phase: '23'
|
|
65
|
+
writer_role: mcp
|
|
66
|
+
input_schema:
|
|
67
|
+
type: object
|
|
68
|
+
required: [entries]
|
|
69
|
+
additionalProperties: false
|
|
70
|
+
properties:
|
|
71
|
+
entries:
|
|
72
|
+
type: array
|
|
73
|
+
minItems: 1
|
|
74
|
+
items:
|
|
75
|
+
type: object
|
|
76
|
+
required: [operation, data, idempotency_key]
|
|
77
|
+
additionalProperties: false
|
|
78
|
+
properties:
|
|
79
|
+
operation: { type: string, minLength: 3 }
|
|
80
|
+
data: { type: object }
|
|
81
|
+
idempotency_key: { type: string, minLength: 3 }
|
|
82
|
+
output_schema: { type: object }
|
|
83
|
+
errors:
|
|
84
|
+
- { code: VALIDATION_ERROR, description: 'input failed structural validation' }
|
|
85
|
+
- { code: STATE_CORRUPT, description: 'local authority cannot be updated safely' }
|
|
86
|
+
- { code: PATH_AUTHORITY_VIOLATION, description: 'a requested write escapes managed authority' }
|
|
87
|
+
cli_subcommand: 'ultra record'
|
|
88
|
+
emits_events: [ultra_facade_call]
|
|
89
|
+
|
|
90
|
+
- name: ultra.checkpoint
|
|
91
|
+
family: ultra
|
|
92
|
+
description: Attempt one semantic stage checkpoint. Failed semantic checks return blockers and leave the draft mutable; accepted checkpoints commit durable authority once.
|
|
93
|
+
phase: '23'
|
|
94
|
+
writer_role: mcp
|
|
95
|
+
input_schema:
|
|
96
|
+
type: object
|
|
97
|
+
required: [stage, scope, payload, idempotency_key]
|
|
98
|
+
additionalProperties: false
|
|
99
|
+
properties:
|
|
100
|
+
stage: { type: string, enum: [research, plan, dev, test, review, deliver] }
|
|
101
|
+
scope:
|
|
102
|
+
type: object
|
|
103
|
+
additionalProperties: false
|
|
104
|
+
properties:
|
|
105
|
+
change_id: { type: string, minLength: 1 }
|
|
106
|
+
task_id: { type: string, minLength: 1 }
|
|
107
|
+
payload: { type: object }
|
|
108
|
+
idempotency_key: { type: string, minLength: 3 }
|
|
109
|
+
output_schema: { type: object }
|
|
110
|
+
errors:
|
|
111
|
+
- { code: VALIDATION_ERROR, description: 'input failed structural validation' }
|
|
112
|
+
- { code: STATE_CORRUPT, description: 'local authority cannot be checkpointed safely' }
|
|
113
|
+
- { code: PATH_AUTHORITY_VIOLATION, description: 'checkpoint evidence escapes managed authority' }
|
|
114
|
+
cli_subcommand: 'ultra checkpoint'
|
|
115
|
+
emits_events: [ultra_checkpoint_accepted, ultra_checkpoint_rejected]
|
|
116
|
+
|
|
117
|
+
- name: ultra.sync
|
|
118
|
+
family: ultra
|
|
119
|
+
description: Inspect, import, or publish the Git team checkpoint while preserving local sessions and rejecting real concurrent team-state conflicts.
|
|
120
|
+
phase: '23'
|
|
121
|
+
writer_role: mcp
|
|
122
|
+
input_schema:
|
|
123
|
+
type: object
|
|
124
|
+
required: [action]
|
|
125
|
+
additionalProperties: false
|
|
126
|
+
properties:
|
|
127
|
+
action: { type: string, enum: [inspect, import, publish] }
|
|
128
|
+
reason: { type: string }
|
|
129
|
+
idempotency_key: { type: string }
|
|
130
|
+
output_schema: { type: object }
|
|
131
|
+
errors:
|
|
132
|
+
- { code: VALIDATION_ERROR, description: 'input failed structural validation' }
|
|
133
|
+
- { code: TASK_LEDGER_HISTORY_CONFLICT, description: 'team checkpoint histories conflict' }
|
|
134
|
+
- { code: TASK_LEDGER_TASK_CONFLICT, description: 'the same durable task changed concurrently' }
|
|
135
|
+
cli_subcommand: 'ultra sync'
|
|
136
|
+
|
|
137
|
+
- name: ultra.session
|
|
138
|
+
family: ultra
|
|
139
|
+
description: Acquire, inspect, heartbeat, or release the small execution lease that requires transactional concurrency control.
|
|
140
|
+
phase: '23'
|
|
141
|
+
writer_role: mcp
|
|
142
|
+
input_schema:
|
|
143
|
+
type: object
|
|
144
|
+
required: [action]
|
|
145
|
+
additionalProperties: false
|
|
146
|
+
properties:
|
|
147
|
+
action: { type: string, enum: [admission, acquire, get, list, heartbeat, release] }
|
|
148
|
+
scope: { type: object }
|
|
149
|
+
payload: { type: object }
|
|
150
|
+
idempotency_key: { type: string }
|
|
151
|
+
output_schema: { type: object }
|
|
152
|
+
errors:
|
|
153
|
+
- { code: VALIDATION_ERROR, description: 'input failed structural validation' }
|
|
154
|
+
- { code: SESSION_STATUS_CONFLICT, description: 'a concurrent session transition won' }
|
|
155
|
+
- { code: LEASE_EXPIRED, description: 'the execution lease already expired' }
|
|
156
|
+
cli_subcommand: 'ultra session'
|
|
157
|
+
|
|
158
|
+
- name: ultra.archive
|
|
159
|
+
family: ultra
|
|
160
|
+
description: Converge and archive one accepted Change through the recoverable filesystem and database transaction boundary.
|
|
161
|
+
phase: '23'
|
|
162
|
+
writer_role: mcp
|
|
163
|
+
input_schema:
|
|
164
|
+
type: object
|
|
165
|
+
required: [change_id, payload, idempotency_key]
|
|
166
|
+
additionalProperties: false
|
|
167
|
+
properties:
|
|
168
|
+
change_id: { type: string, minLength: 1 }
|
|
169
|
+
payload: { type: object }
|
|
170
|
+
idempotency_key: { type: string, minLength: 3 }
|
|
171
|
+
output_schema: { type: object }
|
|
172
|
+
errors:
|
|
173
|
+
- { code: VALIDATION_ERROR, description: 'input failed structural validation' }
|
|
174
|
+
- { code: STATE_CORRUPT, description: 'archive authority cannot be trusted' }
|
|
175
|
+
- { code: ARCHIVE_RUNTIME_UNAVAILABLE, description: 'safe archive primitives are unavailable' }
|
|
176
|
+
cli_subcommand: 'ultra archive'
|
|
177
|
+
|
|
178
|
+
- name: ultra.doctor
|
|
179
|
+
family: ultra
|
|
180
|
+
description: Inspect mechanical health and optionally apply only backup-first deterministic repairs. Semantic choices remain with the model and owner.
|
|
181
|
+
phase: '23'
|
|
182
|
+
writer_role: mcp
|
|
183
|
+
input_schema:
|
|
184
|
+
type: object
|
|
185
|
+
additionalProperties: false
|
|
186
|
+
properties:
|
|
187
|
+
repair: { type: boolean }
|
|
188
|
+
output_schema: { type: object }
|
|
189
|
+
errors:
|
|
190
|
+
- { code: STATE_CORRUPT, description: 'the state database cannot be inspected safely' }
|
|
191
|
+
- { code: BACKUP_FAILED, description: 'a required recovery backup could not be created' }
|
|
192
|
+
cli_subcommand: 'ultra doctor'
|
|
193
|
+
|
|
35
194
|
# ─────────────────────────── task family ────────────────────────────────
|
|
36
195
|
- name: task.create
|
|
37
196
|
family: task
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
},
|
|
61
61
|
"family": {
|
|
62
62
|
"type": "string",
|
|
63
|
-
"enum": ["task", "memory", "review", "impact", "skill", "session", "ask", "plan", "baseline", "change", "decision", "workflow", "artifact", "system"]
|
|
63
|
+
"enum": ["ultra", "task", "memory", "review", "impact", "skill", "session", "ask", "plan", "baseline", "change", "decision", "workflow", "artifact", "system"]
|
|
64
64
|
},
|
|
65
65
|
"description": { "type": "string", "minLength": 10 },
|
|
66
66
|
"phase": {
|