ultra-builder-pro-cli 0.25.0 → 0.26.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.
Files changed (241) hide show
  1. package/.ultra-template/contexts/TEMPLATE.md +87 -0
  2. package/.ultra-template/decisions/.gitkeep +1 -0
  3. package/.ultra-template/evidence/.gitkeep +1 -0
  4. package/.ultra-template/north-star.md +46 -0
  5. package/.ultra-template/research/.gitkeep +1 -0
  6. package/.ultra-template/specs/discovery.md +2 -2
  7. package/.ultra-template/tasks.json +3 -0
  8. package/.ultra-template/test-report.json +27 -0
  9. package/CHANGELOG.md +49 -0
  10. package/README.md +217 -579
  11. package/adapters/_shared/delegate-profiles/kimi-read-only.md +15 -0
  12. package/adapters/_shared/delegate-profiles/kimi-write.md +17 -0
  13. package/adapters/_shared/file-ops.cjs +76 -2
  14. package/adapters/_shared/host-profile.cjs +97 -0
  15. package/adapters/_shared/plugin-core.cjs +204 -0
  16. package/adapters/_shared/runtime-assets.cjs +31 -96
  17. package/adapters/claude.js +92 -291
  18. package/adapters/codex.js +309 -842
  19. package/adapters/grok.js +143 -1469
  20. package/adapters/kimi.js +124 -1053
  21. package/adapters/opencode.js +230 -742
  22. package/bin/delegate-worker.cjs +323 -0
  23. package/bin/delegate.cjs +456 -0
  24. package/bin/install.js +38 -11
  25. package/docs/ARCHITECTURE.md +122 -216
  26. package/docs/ARTIFACT-AUTHORITY.md +90 -268
  27. package/docs/DECISIONS.md +75 -87
  28. package/docs/PHILOSOPHY.md +177 -0
  29. package/docs/PLUGIN-ISOLATION-CONTRACT.md +62 -39
  30. package/docs/RUNTIME-COMPAT-MATRIX.md +99 -156
  31. package/docs/SKILL-AUTHORING.md +94 -73
  32. package/docs/WORKFLOW-LIFECYCLE.md +93 -189
  33. package/hooks/README.md +17 -37
  34. package/hooks/_common.py +113 -0
  35. package/hooks/adapters/codex.py +9 -16
  36. package/hooks/adapters/grok.py +5 -5
  37. package/hooks/adapters/kimi.py +8 -14
  38. package/hooks/block_dangerous_commands.py +95 -0
  39. package/hooks/compact_context.py +65 -0
  40. package/hooks/mid_workflow_recall.py +25 -0
  41. package/hooks/post_edit_guard.py +105 -0
  42. package/hooks/session_context.py +30 -0
  43. package/package.json +17 -52
  44. package/skills/ultra-change/SKILL.md +97 -50
  45. package/skills/ultra-change/references/change-contract.md +40 -1
  46. package/skills/ultra-delegate/SKILL.md +82 -0
  47. package/skills/ultra-delegate/references/delegation-contract.md +51 -0
  48. package/skills/ultra-delegate/scripts/delegate_wait.py +86 -0
  49. package/skills/ultra-deliver/SKILL.md +61 -42
  50. package/skills/ultra-deliver/references/baseline-reconciliation.md +39 -20
  51. package/skills/ultra-dev/SKILL.md +96 -62
  52. package/skills/ultra-dev/references/debugging.md +22 -0
  53. package/skills/ultra-domain-modeling/SKILL.md +79 -0
  54. package/skills/ultra-grilling/SKILL.md +79 -0
  55. package/skills/ultra-init/SKILL.md +94 -37
  56. package/skills/ultra-init/references/brownfield-adoption.md +33 -83
  57. package/skills/ultra-init/scripts/init_project.cjs +84 -0
  58. package/skills/ultra-plan/SKILL.md +88 -68
  59. package/skills/ultra-research/SKILL.md +62 -48
  60. package/skills/ultra-research/references/00-problem-validation.md +5 -5
  61. package/skills/ultra-research/references/01-opportunity-discovery.md +3 -3
  62. package/skills/ultra-research/references/02-market-assessment.md +5 -4
  63. package/skills/ultra-research/references/03-competitive-landscape.md +3 -3
  64. package/skills/ultra-research/references/04-product-strategy.md +3 -3
  65. package/skills/ultra-research/references/05-assumptions-validation.md +5 -5
  66. package/skills/ultra-research/references/10-user-personas.md +3 -2
  67. package/skills/ultra-research/references/11-user-scenarios.md +3 -3
  68. package/skills/ultra-research/references/20-user-stories.md +4 -3
  69. package/skills/ultra-research/references/21-features-scope.md +3 -2
  70. package/skills/ultra-research/references/22-success-metrics.md +3 -3
  71. package/skills/ultra-research/references/30-architecture-context.md +3 -3
  72. package/skills/ultra-research/references/31-solution-strategy.md +3 -3
  73. package/skills/ultra-research/references/32-building-blocks.md +3 -3
  74. package/skills/ultra-research/references/40-deployment.md +3 -3
  75. package/skills/ultra-research/references/41-quality-risks.md +3 -3
  76. package/skills/ultra-research/references/99-synthesis.md +7 -7
  77. package/skills/ultra-review/SKILL.md +59 -32
  78. package/skills/ultra-review/references/code.md +17 -0
  79. package/skills/ultra-review/references/comments.md +12 -0
  80. package/skills/ultra-review/references/design.md +12 -0
  81. package/skills/ultra-review/references/errors.md +13 -0
  82. package/skills/ultra-review/references/spec.md +13 -0
  83. package/skills/ultra-review/references/tests.md +12 -0
  84. package/skills/ultra-review/references/worker-packet.md +40 -0
  85. package/skills/ultra-review/scripts/review_wait.py +26 -15
  86. package/skills/ultra-status/SKILL.md +61 -36
  87. package/skills/ultra-tdd/SKILL.md +81 -0
  88. package/skills/ultra-tdd/references/templates/README.md +20 -0
  89. package/skills/ultra-tdd/references/templates/feature-flag-default-audit.sh +79 -0
  90. package/skills/ultra-tdd/references/templates/persistence-real.ts +78 -0
  91. package/skills/ultra-tdd/references/templates/testcontainer-postgres.py +78 -0
  92. package/skills/ultra-tdd/references/templates/testcontainer-postgres.ts +73 -0
  93. package/skills/ultra-tdd/references/templates/vertical-slice.ts +66 -0
  94. package/skills/ultra-tdd/references/test-execution.md +18 -0
  95. package/skills/ultra-test/SKILL.md +70 -30
  96. package/skills/ultra-test/references/export-syntax.md +18 -0
  97. package/skills/ultra-test/scripts/worktree_digest.cjs +54 -0
  98. package/skills/ultra-think/SKILL.md +49 -27
  99. package/skills/ultra-think/references/autonomy-boundary.md +48 -0
  100. package/skills/ultra-think/references/interaction-boundary.md +18 -33
  101. package/.ultra-template/docs/research/README.md +0 -55
  102. package/.ultra-template/reports/templates/delivery-report.json +0 -17
  103. package/.ultra-template/reports/templates/test-report.json +0 -18
  104. package/.ultra-template/tasks/tasks.json +0 -15
  105. package/.ultra-template/templates/task-context.md +0 -19
  106. package/adapters/_shared/codex-assets.cjs +0 -725
  107. package/adapters/_shared/codex-ultra-tools-entry.cjs +0 -11
  108. package/adapters/_shared/interaction-contract.cjs +0 -129
  109. package/adapters/_shared/path-rewrite.cjs +0 -79
  110. package/adapters/_shared/runtime-native.cjs +0 -132
  111. package/adapters/_shared/settings-merge.cjs +0 -76
  112. package/agents/code-reviewer.md +0 -42
  113. package/agents/debugger.md +0 -40
  114. package/agents/review-code.md +0 -49
  115. package/agents/review-comments.md +0 -38
  116. package/agents/review-coordinator.md +0 -56
  117. package/agents/review-design.md +0 -40
  118. package/agents/review-errors.md +0 -43
  119. package/agents/review-spec.md +0 -39
  120. package/agents/review-tests.md +0 -40
  121. package/agents/tdd-runner.md +0 -38
  122. package/bin/orchestrator.js +0 -383
  123. package/commands/ultra-change.md +0 -10
  124. package/commands/ultra-deliver.md +0 -10
  125. package/commands/ultra-dev.md +0 -10
  126. package/commands/ultra-doctor.md +0 -10
  127. package/commands/ultra-init.md +0 -10
  128. package/commands/ultra-plan.md +0 -10
  129. package/commands/ultra-research.md +0 -10
  130. package/commands/ultra-review.md +0 -10
  131. package/commands/ultra-status.md +0 -10
  132. package/commands/ultra-test.md +0 -10
  133. package/commands/ultra-think.md +0 -10
  134. package/docs/AGENT-CONTEXT.md +0 -191
  135. package/docs/COMMIT-HASH-BACKFILL.md +0 -51
  136. package/docs/LEGACY-CLI-CROSSWALK.md +0 -175
  137. package/docs/ROADMAP.md +0 -101
  138. package/docs/STATE-DB-ACCESS-POLICY.md +0 -161
  139. package/hooks/active_task_context.py +0 -152
  140. package/hooks/context_envelope.py +0 -100
  141. package/hooks/health_check.py +0 -196
  142. package/hooks/pre_stop_check.py +0 -66
  143. package/hooks/runtime_paths.py +0 -396
  144. package/hooks/subagent_tracker.py +0 -88
  145. package/hooks/workflow_checkpoint.py +0 -76
  146. package/hooks/workflow_context.py +0 -48
  147. package/hooks/workflow_resume.py +0 -84
  148. package/mcp-server/hook-context.cjs +0 -38
  149. package/mcp-server/hook-event.cjs +0 -34
  150. package/mcp-server/lib/archive-journal.cjs +0 -1119
  151. package/mcp-server/lib/archive-mutation-worker.py +0 -365
  152. package/mcp-server/lib/artifact-registry.cjs +0 -1232
  153. package/mcp-server/lib/baseline-workflow.cjs +0 -1193
  154. package/mcp-server/lib/canonical-json.cjs +0 -19
  155. package/mcp-server/lib/change-authority.cjs +0 -26
  156. package/mcp-server/lib/change-packet.cjs +0 -790
  157. package/mcp-server/lib/change-workflow.cjs +0 -65
  158. package/mcp-server/lib/context-envelope.cjs +0 -581
  159. package/mcp-server/lib/context-paths.cjs +0 -142
  160. package/mcp-server/lib/decision-records.cjs +0 -423
  161. package/mcp-server/lib/delivery-transaction.cjs +0 -471
  162. package/mcp-server/lib/doctor-backup-worker.cjs +0 -328
  163. package/mcp-server/lib/doctor.cjs +0 -627
  164. package/mcp-server/lib/git-bootstrap.cjs +0 -651
  165. package/mcp-server/lib/init-project.cjs +0 -1021
  166. package/mcp-server/lib/kernel-change-workflow.cjs +0 -2029
  167. package/mcp-server/lib/legacy-change-workflow.cjs +0 -3032
  168. package/mcp-server/lib/managed-file-write.cjs +0 -172
  169. package/mcp-server/lib/plan-checkpoint.cjs +0 -177
  170. package/mcp-server/lib/plan-publication-worker.cjs +0 -830
  171. package/mcp-server/lib/plan-store.cjs +0 -794
  172. package/mcp-server/lib/prd-parser.cjs +0 -83
  173. package/mcp-server/lib/pricing.cjs +0 -44
  174. package/mcp-server/lib/project-context.cjs +0 -178
  175. package/mcp-server/lib/projector.cjs +0 -386
  176. package/mcp-server/lib/provider-refs.cjs +0 -42
  177. package/mcp-server/lib/runtime-paths.cjs +0 -1687
  178. package/mcp-server/lib/runtime-state.cjs +0 -222
  179. package/mcp-server/lib/safe-project-file.cjs +0 -385
  180. package/mcp-server/lib/stage-checkpoints.cjs +0 -463
  181. package/mcp-server/lib/state-authority.cjs +0 -95
  182. package/mcp-server/lib/state-db.cjs +0 -1580
  183. package/mcp-server/lib/state-ops.cjs +0 -1428
  184. package/mcp-server/lib/task-contract.cjs +0 -404
  185. package/mcp-server/lib/task-expander.cjs +0 -105
  186. package/mcp-server/lib/task-ledger.cjs +0 -1964
  187. package/mcp-server/lib/telemetry.cjs +0 -85
  188. package/mcp-server/lib/topo.cjs +0 -131
  189. package/mcp-server/lib/ultra-facade.cjs +0 -2684
  190. package/mcp-server/lib/worker-packet.cjs +0 -358
  191. package/mcp-server/server.cjs +0 -437
  192. package/orchestrator/auto-merge.cjs +0 -128
  193. package/orchestrator/daemon.cjs +0 -264
  194. package/orchestrator/dispatch-rules.cjs +0 -78
  195. package/orchestrator/parallel-orchestrator.cjs +0 -903
  196. package/orchestrator/planner/plan-builder.cjs +0 -125
  197. package/orchestrator/recovery.cjs +0 -188
  198. package/orchestrator/session-close-journal-worker.cjs +0 -5
  199. package/orchestrator/session-close-journal.cjs +0 -1014
  200. package/orchestrator/session-runner.cjs +0 -1153
  201. package/orchestrator/worktree-manager.cjs +0 -282
  202. package/settings.json +0 -7
  203. package/skills/cc-collab/SKILL.md +0 -42
  204. package/skills/code-review-expert/SKILL.md +0 -43
  205. package/skills/code-review-expert/references/correctness-reliability.md +0 -30
  206. package/skills/code-review-expert/references/design-boundaries.md +0 -26
  207. package/skills/code-review-expert/references/removal-plan.md +0 -24
  208. package/skills/codex-collab/SKILL.md +0 -49
  209. package/skills/codex-collab/evals/evals.json +0 -35
  210. package/skills/integration-rules/SKILL.md +0 -32
  211. package/skills/security-rules/SKILL.md +0 -38
  212. package/skills/testing-rules/SKILL.md +0 -32
  213. package/skills/ultra-doctor/SKILL.md +0 -41
  214. package/skills/ultra-plan/references/semantic-preflight.md +0 -20
  215. package/skills/ultra-verify/SKILL.md +0 -46
  216. package/skills/ultra-verify/evals/evals.json +0 -46
  217. package/skills/ultra-verify/references/cross-verify-modes.md +0 -28
  218. package/skills/ultra-verify/references/evidence-status.md +0 -21
  219. package/skills/ultra-verify/scripts/verify_wait.py +0 -94
  220. package/spec/cli-protocol.md +0 -102
  221. package/spec/mcp-tools.yaml +0 -312
  222. package/spec/schemas/baseline-reconciliation.v1.schema.json +0 -73
  223. package/spec/schemas/change-delta.v1.schema.json +0 -153
  224. package/spec/schemas/command-manifest.schema.json +0 -29
  225. package/spec/schemas/context-file.v4.5.schema.json +0 -54
  226. package/spec/schemas/delivery-report.v1.schema.json +0 -66
  227. package/spec/schemas/documentation-reconciliation.v1.schema.json +0 -106
  228. package/spec/schemas/mcp-tools.schema.json +0 -136
  229. package/spec/schemas/skill-manifest.schema.json +0 -24
  230. package/spec/schemas/state-db.sql +0 -641
  231. package/spec/schemas/task-ledger.v2.schema.json +0 -296
  232. package/spec/schemas/tasks.v4.5.schema.json +0 -96
  233. package/spec/schemas/test-report.v1.schema.json +0 -225
  234. package/ultra-tools/cli.cjs +0 -129
  235. package/ultra-tools/commands/db.cjs +0 -226
  236. package/ultra-tools/commands/legacy-memory.cjs +0 -159
  237. package/ultra-tools/commands/migrate.cjs +0 -1386
  238. package/ultra-tools/commands/session.cjs +0 -213
  239. package/ultra-tools/commands/status.cjs +0 -559
  240. package/ultra-tools/commands/system.cjs +0 -498
  241. package/ultra-tools/commands/task.cjs +0 -105
@@ -1,312 +0,0 @@
1
- # Ultra Builder Pro — MCP tool contracts
2
- # Single source for tool name, schema, errors, and CLI mapping.
3
- # Validated by spec/schemas/mcp-tools.schema.json (run `npm run test:spec`).
4
- # Current authority boundary: docs/DECISIONS.md.
5
-
6
- version: '2.0'
7
-
8
- info:
9
- title: Ultra Builder Pro MCP tool contracts
10
- phase: '24'
11
- trace_to: 'docs/DECISIONS.md and mcp-server/server.cjs'
12
- notes: |
13
- This published contract contains only tools registered by the MCP server.
14
- Host-native review, impact, skill discovery, and human-interaction capabilities
15
- are documented by each adapter's capability map rather than advertised as MCP.
16
- Generators consume this YAML to derive types, validators, and CLI parsers.
17
- cli_subcommand values reserve stable names. Skills adapt semantic workflows;
18
- MCP persists facts, creates immutable checkpoints, and protects only transactional
19
- safety boundaries.
20
- Adding a tool requires: (a) update this file, (b) add valid+invalid
21
- fixture to spec/fixtures/{valid,invalid}/, (c) `npm run test:spec` green.
22
-
23
- families:
24
- - { name: ultra, description: 'model-facing persistence and safety kernel', phase: '24' }
25
-
26
- tools:
27
-
28
- # ───────────────────── public model-facing kernel ─────────────────────
29
- - name: ultra.context
30
- family: ultra
31
- description: Read one bounded canonical Context Envelope. This tool is side-effect free and reports diagnostics without choosing the next semantic action.
32
- phase: '24'
33
- readonly: true
34
- writer_role: mcp
35
- input_schema:
36
- type: object
37
- additionalProperties: false
38
- properties:
39
- stage: { type: string, enum: [project, research, plan, dev, test, review, deliver] }
40
- scope:
41
- type: object
42
- additionalProperties: false
43
- properties:
44
- change_id: { type: string, minLength: 1 }
45
- task_id: { type: string, minLength: 1 }
46
- detail: { type: string, enum: [summary, full] }
47
- output_schema: { type: object }
48
- errors:
49
- - { code: VALIDATION_ERROR, description: 'input failed structural validation' }
50
- - { code: STATE_CORRUPT, description: 'local authority cannot be read safely' }
51
- cli_subcommand: 'ultra context'
52
-
53
- - name: ultra.record
54
- family: ultra
55
- description: Record one or more typed draft facts or actions with per-entry idempotency. Entry data is checked against its kind/action contract so one invalid batch item can return a mutable diagnostic without hiding the other results.
56
- phase: '24'
57
- writer_role: mcp
58
- input_schema:
59
- type: object
60
- required: [entries]
61
- additionalProperties: false
62
- properties:
63
- entries:
64
- type: array
65
- minItems: 1
66
- items:
67
- type: object
68
- required: [kind, action, data, idempotency_key]
69
- additionalProperties: false
70
- properties:
71
- kind:
72
- type: string
73
- enum: [baseline, change_contract, decision, task_contract, task_outcome, artifact, event]
74
- description: Selects the entry data contract. Task contracts own durable intent; Task outcomes own status and post-commit attestation.
75
- action:
76
- type: string
77
- enum:
78
- - initialize
79
- - start
80
- - observe
81
- - accept
82
- - open
83
- - revise
84
- - cancel
85
- - supersede
86
- - define
87
- - remove
88
- - complete
89
- - block
90
- - reopen
91
- - attest_commit
92
- - bind
93
- - append
94
- description: Valid actions are checked with kind at runtime; task_outcome uses start, block, reopen, complete, or attest_commit.
95
- data:
96
- type: object
97
- description: |
98
- Every kind/action selects one exact data contract. Unknown fields,
99
- wrong scalar/container types, invalid closed mechanical enums,
100
- malformed digests, and mismatched authority references return an entry-level mutable
101
- VALIDATION_ERROR before SQLite or filesystem mutation.
102
-
103
- baseline uses mode greenfield|brownfield; spec kinds
104
- discovery|product|architecture|quality|delivery|other; evidence kinds
105
- source|docs|runtime|test|deploy|external; verification status
106
- pass|known_red|not_run; gap status open|accepted|resolved|deferred and
107
- category baseline_blocker|documentation_drift|known_defect|
108
- technical_debt|unknown|future_change. blocking and acceptance flags
109
- are booleans, never truthy strings.
110
-
111
- change_contract/open accepts a bounded caller-defined kind; quick,
112
- standard, major, and incident are recommended Skill-level profiles,
113
- docs_impact.status unknown|required|none, risk flags
114
- public_contract|schema_migration|data_migration|authorization|
115
- security|multi_module|external_integration|release_semantics are
116
- recommended Skill-level labels rather than a closed MCP vocabulary, and
117
- research status none|bounded|required with mode
118
- product|feature|architecture|custom are likewise recommended profiles;
119
- bounded repository-defined status, mode, and risk labels remain valid.
120
- revise uses {id, patch};
121
- cancel uses {id}. supersede uses an archived or cancelled source id,
122
- a successor_id, and optional title/kind/intent overrides. Draft
123
- semantic corrections remain reversible; immutable history creates a
124
- linked active successor instead of reopening in place.
125
-
126
- decision/accept has exact scope {baseline_id} or {change_id};
127
- applied_refs items are exactly {ref, field, digest?}. effects and
128
- provenance are JSON objects; non_goals is a string array.
129
-
130
- Task contracts are structurally exact. task_contract/define requires
131
- id, title, and bounded non-empty type and priority strings.
132
- architecture|feature|bugfix and P0|P1|P2|P3 are recommended
133
- Skill-level vocabulary, not SQLite business verdicts.
134
- id matches [A-Za-z0-9_-]+ and title has at least 3 characters.
135
- Optional complexity is integer 1..10, estimated_days is >0,
136
- slice_kind is an optional bounded caller-defined string; tracer_bullet,
137
- expand_contract, and integration_checkpoint are recommended profiles.
138
- deps/files_modified are non-empty-string arrays, and
139
- acceptance/context_refs are object arrays. task_contract/revise uses
140
- {id, patch} and permits contract fields, including corrected
141
- title/type, only. status, session_id, stale, tag, context_file, and
142
- completion_commit are runtime-owned and forbidden in Task Contracts.
143
- task_outcome start|block|reopen uses {id}. complete uses exactly
144
- {id, packet_digest} with a 64-hex packet digest; patch and
145
- completion_commit are forbidden.
146
- After durable completion is synced and committed, attest_commit uses
147
- exactly {id, completion_commit}; the commit is a full 40- or 64-hex
148
- Git object id recorded as checkout-local proof.
149
-
150
- artifact/bind uses owner_type project|baseline|change|task|workflow,
151
- status current|stale|terminal|archived, 64-lowercase-hex content
152
- digests, and exact reference items {type, id, relation}; type is
153
- artifact|project|baseline|change|task|workflow|external. Current
154
- public authority rejects workflow-owned legacy references.
155
-
156
- event/append is exactly {type, task_id?, change_id?, session_id?,
157
- runtime?, payload?}. Identifiers/runtime are strings or null and
158
- payload is a JSON object.
159
- idempotency_key: { type: string, minLength: 3 }
160
- output_schema: { type: object }
161
- errors:
162
- - { code: VALIDATION_ERROR, description: 'input failed structural validation' }
163
- - { code: STATE_CORRUPT, description: 'local authority cannot be updated safely' }
164
- - { code: PATH_AUTHORITY_VIOLATION, description: 'a requested write escapes managed authority' }
165
- cli_subcommand: 'ultra record'
166
- emits_events: [ultra_facade_call]
167
-
168
- - name: ultra.checkpoint
169
- family: ultra
170
- description: Commit one caller-declared stage checkpoint after validating scope, structure, idempotency, current file bytes, digests, and transactional publication. Semantic completeness remains a Skill/model judgment and is returned only as advisory diagnostics.
171
- phase: '24'
172
- writer_role: mcp
173
- input_schema:
174
- type: object
175
- required: [stage, scope, payload, idempotency_key]
176
- additionalProperties: false
177
- properties:
178
- stage: { type: string, enum: [research, plan, dev, test, review, deliver] }
179
- scope:
180
- type: object
181
- additionalProperties: false
182
- properties:
183
- change_id: { type: string, minLength: 1 }
184
- task_id: { type: string, minLength: 1 }
185
- payload:
186
- type: object
187
- description: |
188
- Stage-specific semantic fields remain model-owned. Kernel-owned evidence
189
- is an object array whose kind/ref/summary/digest/artifact_id values are
190
- strings when present. diagnostics is an exact object array with required
191
- string code and optional string severity/message plus JSON details.
192
- Evidence authority, current bytes, scope, checkpoint identity, and the
193
- accepted receipt are validated atomically.
194
- idempotency_key: { type: string, minLength: 3 }
195
- output_schema: { type: object }
196
- errors:
197
- - { code: VALIDATION_ERROR, description: 'input failed structural validation' }
198
- - { code: STATE_CORRUPT, description: 'local authority cannot be checkpointed safely' }
199
- - { code: PATH_AUTHORITY_VIOLATION, description: 'checkpoint evidence escapes managed authority' }
200
- - { code: CHECKPOINT_EVIDENCE_AUTHORITY_MISSING, description: 'declared checkpoint evidence is not current managed authority' }
201
- - { code: CHECKPOINT_EVIDENCE_DIGEST_MISMATCH, description: 'declared checkpoint evidence bytes changed' }
202
- - { code: CHECKPOINT_SCOPE_NOT_FOUND, description: 'the explicit Task or Change scope does not exist' }
203
- - { code: CHECKPOINT_SCOPE_MISMATCH, description: 'the explicit Task does not belong to the supplied Change scope' }
204
- cli_subcommand: 'ultra checkpoint'
205
- emits_events: [ultra_checkpoint_accepted, ultra_checkpoint_rejected]
206
-
207
- - name: ultra.sync
208
- family: ultra
209
- description: Inspect, import, or publish the Git team checkpoint while preserving local sessions and rejecting real concurrent team-state conflicts.
210
- phase: '24'
211
- writer_role: mcp
212
- input_schema:
213
- type: object
214
- required: [action]
215
- additionalProperties: false
216
- properties:
217
- action: { type: string, enum: [inspect, import, publish, migrate] }
218
- reason:
219
- type: string
220
- description: Allowed only for publish.
221
- idempotency_key:
222
- type: string
223
- minLength: 3
224
- description: Required only for publish; binds the exact request and ledger generation.
225
- output_schema: { type: object }
226
- errors:
227
- - { code: VALIDATION_ERROR, description: 'input failed structural validation' }
228
- - { code: TASK_LEDGER_HISTORY_CONFLICT, description: 'team checkpoint histories conflict' }
229
- - { code: TASK_LEDGER_TASK_CONFLICT, description: 'the same durable task changed concurrently' }
230
- cli_subcommand: 'ultra sync'
231
-
232
- - name: ultra.session
233
- family: ultra
234
- description: Acquire, inspect, heartbeat, or release the small execution lease that requires transactional concurrency control.
235
- phase: '24'
236
- writer_role: mcp
237
- input_schema:
238
- type: object
239
- required: [action]
240
- additionalProperties: false
241
- properties:
242
- action: { type: string, enum: [admission, acquire, get, list, heartbeat, release] }
243
- scope:
244
- type: object
245
- description: |
246
- admission/acquire/list use task_id (list may omit it); get/heartbeat/release
247
- use sid. Unknown scope fields are rejected.
248
- payload:
249
- type: object
250
- description: |
251
- admission/get/list/heartbeat accept no payload fields. acquire accepts only
252
- role, runtime, output_path, output_schema, evidence_refs, diff_range,
253
- changed_files, takeover, and worktree_base. release accepts status
254
- completed|crashed and optional boolean remove_worktree. Acquire, heartbeat,
255
- and release compensate Session, lease, Worker Packet, and worktree effects
256
- if their durable receipt fails.
257
- idempotency_key:
258
- type: string
259
- minLength: 3
260
- description: Required for acquire, heartbeat, and release.
261
- output_schema: { type: object }
262
- errors:
263
- - { code: VALIDATION_ERROR, description: 'input failed structural validation' }
264
- - { code: SESSION_STATUS_CONFLICT, description: 'a concurrent session transition won' }
265
- - { code: LEASE_EXPIRED, description: 'the execution lease already expired' }
266
- cli_subcommand: 'ultra session'
267
-
268
- - name: ultra.archive
269
- family: ultra
270
- description: Archive one caller-declared local Change handoff through a recoverable filesystem and database transaction. The kernel validates authority, paths, digests, reconciliation structure, and recovery safety without requiring a fixed semantic stage sequence.
271
- phase: '24'
272
- writer_role: mcp
273
- input_schema:
274
- type: object
275
- required: [change_id, payload, idempotency_key]
276
- additionalProperties: false
277
- properties:
278
- change_id: { type: string, minLength: 1 }
279
- payload:
280
- type: object
281
- additionalProperties: false
282
- properties:
283
- summary: { type: string }
284
- baseline_updates:
285
- type: array
286
- items: { type: string }
287
- no_baseline_change_reason: { type: string }
288
- reconciliation_path: { type: string }
289
- description: The payload cannot replace the caller-declared change_id.
290
- idempotency_key: { type: string, minLength: 3 }
291
- output_schema: { type: object }
292
- errors:
293
- - { code: VALIDATION_ERROR, description: 'input failed structural validation' }
294
- - { code: STATE_CORRUPT, description: 'archive authority cannot be trusted' }
295
- - { code: ARCHIVE_RUNTIME_UNAVAILABLE, description: 'safe archive primitives are unavailable' }
296
- cli_subcommand: 'ultra archive'
297
-
298
- - name: ultra.doctor
299
- family: ultra
300
- description: Inspect mechanical health and optionally apply only backup-first deterministic repairs. Semantic choices remain with the model and owner.
301
- phase: '24'
302
- writer_role: mcp
303
- input_schema:
304
- type: object
305
- additionalProperties: false
306
- properties:
307
- repair: { type: boolean }
308
- output_schema: { type: object }
309
- errors:
310
- - { code: STATE_CORRUPT, description: 'the state database cannot be inspected safely' }
311
- - { code: BACKUP_FAILED, description: 'a required recovery backup could not be created' }
312
- cli_subcommand: 'ultra doctor'
@@ -1,73 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://ultra-builder-pro.dev/schemas/baseline-reconciliation.v1.schema.json",
4
- "title": "Ultra baseline reconciliation v1",
5
- "type": "object",
6
- "required": [
7
- "$schema", "change_id", "baseline_id", "baseline_updates", "semantic_changes",
8
- "resolved_gap_ids", "resolved_unknowns", "verification"
9
- ],
10
- "additionalProperties": false,
11
- "properties": {
12
- "$schema": { "const": "ultra-baseline-reconciliation-v1" },
13
- "change_id": { "type": "string", "minLength": 1 },
14
- "baseline_id": { "type": ["string", "null"] },
15
- "baseline_updates": {
16
- "type": "array",
17
- "uniqueItems": true,
18
- "items": { "type": "string", "minLength": 1 }
19
- },
20
- "semantic_changes": {
21
- "type": "array",
22
- "items": {
23
- "type": "object",
24
- "required": ["id", "action", "source_ref", "before_digest", "after_digest"],
25
- "additionalProperties": false,
26
- "properties": {
27
- "id": { "type": "string", "pattern": "^[a-zA-Z0-9_-]+$" },
28
- "action": { "enum": ["add", "update"] },
29
- "source_ref": { "type": "string", "pattern": "^[^#]+#[^#]+$" },
30
- "before_digest": { "type": ["string", "null"], "pattern": "^[0-9a-f]{64}$" },
31
- "after_digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
32
- }
33
- }
34
- },
35
- "resolved_gap_ids": {
36
- "type": "array", "uniqueItems": true,
37
- "items": { "type": "string", "minLength": 1 }
38
- },
39
- "resolved_unknowns": {
40
- "type": "array", "uniqueItems": true,
41
- "items": { "type": "string", "minLength": 1 }
42
- },
43
- "verification": {
44
- "type": "array",
45
- "minItems": 1,
46
- "items": {
47
- "type": "object",
48
- "required": ["name", "command", "status", "evidence"],
49
- "additionalProperties": false,
50
- "properties": {
51
- "name": { "type": "string", "minLength": 1 },
52
- "command": { "type": "string", "minLength": 1 },
53
- "status": { "const": "pass" },
54
- "evidence": { "type": "string", "minLength": 1 }
55
- }
56
- }
57
- },
58
- "semantic_no_change_reason": { "type": ["string", "null"], "minLength": 3 }
59
- },
60
- "allOf": [
61
- {
62
- "if": { "properties": { "baseline_updates": { "maxItems": 0 } } },
63
- "then": {
64
- "required": ["semantic_no_change_reason"],
65
- "properties": {
66
- "semantic_changes": { "maxItems": 0 },
67
- "semantic_no_change_reason": { "type": "string", "minLength": 3 }
68
- }
69
- },
70
- "else": { "properties": { "semantic_changes": { "minItems": 1 } } }
71
- }
72
- ]
73
- }
@@ -1,153 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://ultra-builder-pro.dev/schemas/change-delta.v1.schema.json",
4
- "title": "Ultra Change delta v1",
5
- "type": "object",
6
- "required": [
7
- "$schema",
8
- "change_id",
9
- "baseline_anchor",
10
- "decisions",
11
- "non_goals",
12
- "acceptance",
13
- "documentation_impact",
14
- "unknowns",
15
- "mutations"
16
- ],
17
- "additionalProperties": false,
18
- "properties": {
19
- "$schema": { "const": "ultra-change-delta-v1" },
20
- "change_id": { "type": "string", "minLength": 1 },
21
- "baseline_anchor": {
22
- "type": "object",
23
- "required": ["baseline_id", "repository_revision", "specs"],
24
- "additionalProperties": false,
25
- "properties": {
26
- "baseline_id": { "type": "string", "minLength": 1 },
27
- "repository_revision": { "type": ["string", "null"] },
28
- "specs": {
29
- "type": "array",
30
- "uniqueItems": true,
31
- "items": {
32
- "type": "object",
33
- "required": ["path", "digest"],
34
- "additionalProperties": false,
35
- "properties": {
36
- "path": { "type": "string", "minLength": 1 },
37
- "digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
38
- }
39
- }
40
- }
41
- }
42
- },
43
- "decisions": {
44
- "type": "array",
45
- "items": {
46
- "type": "object",
47
- "required": ["id", "summary"],
48
- "additionalProperties": false,
49
- "properties": {
50
- "id": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-]+$" },
51
- "summary": { "type": "string", "minLength": 1 },
52
- "rationale": { "type": "string", "minLength": 1 }
53
- }
54
- }
55
- },
56
- "non_goals": {
57
- "type": "array",
58
- "uniqueItems": true,
59
- "items": { "type": "string", "minLength": 1 }
60
- },
61
- "acceptance": {
62
- "type": "array",
63
- "minItems": 1,
64
- "items": {
65
- "type": "object",
66
- "required": ["id", "criterion", "verification"],
67
- "additionalProperties": false,
68
- "properties": {
69
- "id": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-]+$" },
70
- "criterion": { "type": "string", "minLength": 1 },
71
- "verification": { "type": "string", "minLength": 1 }
72
- }
73
- }
74
- },
75
- "documentation_impact": {
76
- "type": "object",
77
- "required": ["status", "files", "rationale"],
78
- "additionalProperties": false,
79
- "properties": {
80
- "status": { "enum": ["none", "required"] },
81
- "files": {
82
- "type": "array",
83
- "uniqueItems": true,
84
- "items": { "type": "string", "minLength": 1 }
85
- },
86
- "rationale": { "type": "string", "minLength": 3 }
87
- }
88
- },
89
- "unknowns": {
90
- "type": "array",
91
- "items": {
92
- "type": "object",
93
- "required": ["id", "summary", "blocking"],
94
- "additionalProperties": false,
95
- "properties": {
96
- "id": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-]+$" },
97
- "summary": { "type": "string", "minLength": 1 },
98
- "blocking": { "type": "boolean" }
99
- }
100
- }
101
- },
102
- "no_semantic_change_reason": { "type": "string", "minLength": 3 },
103
- "mutations": {
104
- "type": "array",
105
- "items": {
106
- "type": "object",
107
- "required": [
108
- "id",
109
- "action",
110
- "target_path",
111
- "overlay_path",
112
- "before_digest",
113
- "after_digest",
114
- "acceptance_refs",
115
- "documentation_refs"
116
- ],
117
- "additionalProperties": false,
118
- "properties": {
119
- "id": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-]+$" },
120
- "action": { "enum": ["add", "update"] },
121
- "target_path": { "type": "string", "minLength": 1 },
122
- "overlay_path": { "type": "string", "minLength": 1 },
123
- "before_digest": {
124
- "type": ["string", "null"],
125
- "pattern": "^[0-9a-f]{64}$"
126
- },
127
- "after_digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
128
- "acceptance_refs": {
129
- "type": "array",
130
- "minItems": 1,
131
- "uniqueItems": true,
132
- "items": { "type": "string", "minLength": 1 }
133
- },
134
- "documentation_refs": {
135
- "type": "array",
136
- "uniqueItems": true,
137
- "items": { "type": "string", "minLength": 1 }
138
- }
139
- }
140
- }
141
- }
142
- },
143
- "allOf": [
144
- {
145
- "if": {
146
- "properties": {
147
- "mutations": { "maxItems": 0 }
148
- }
149
- },
150
- "then": { "required": ["no_semantic_change_reason"] }
151
- }
152
- ]
153
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://ultra-builder-pro.dev/spec/command-manifest.schema.json",
4
- "title": "Ultra command launcher frontmatter",
5
- "description": "Portable source contract for a thin command launcher. Runtime metadata and workflow procedure belong outside the command file.",
6
- "type": "object",
7
- "required": ["description", "workflow-ref"],
8
- "additionalProperties": false,
9
- "properties": {
10
- "description": {
11
- "type": "string",
12
- "minLength": 10,
13
- "maxLength": 240,
14
- "description": "Concise user-visible action description."
15
- },
16
- "argument-hint": {
17
- "oneOf": [
18
- { "type": "string" },
19
- { "type": "array", "items": { "type": "string" }, "minItems": 1 }
20
- ],
21
- "description": "Optional host launcher hint; it does not define argument semantics."
22
- },
23
- "workflow-ref": {
24
- "type": "string",
25
- "pattern": "^@skills/[a-z][a-z0-9\\-]*/SKILL\\.md$",
26
- "description": "The single Skill that owns this workflow."
27
- }
28
- }
29
- }
@@ -1,54 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://ultra-builder-pro.dev/spec/context-file.v4.5.schema.json",
4
- "title": "context-file projection (v4.5)",
5
- "description": "Schema for the parsed representation of .ultra/.runtime/projections/contexts/task-*.md. The file is regenerated by the projector from state.db and remains checkout-local. Authority boundary: docs/ARTIFACT-AUTHORITY.md.",
6
- "type": "object",
7
- "required": ["header", "body"],
8
- "additionalProperties": false,
9
- "properties": {
10
- "header": {
11
- "type": "object",
12
- "required": ["task_id", "title", "status", "schema_version"],
13
- "additionalProperties": false,
14
- "properties": {
15
- "task_id": { "type": "string" },
16
- "title": { "type": "string" },
17
- "status": {
18
- "type": "string",
19
- "enum": ["pending", "in_progress", "completed", "blocked", "expanded"],
20
- "x-derived": true,
21
- "description": "DERIVED from state.db tasks.status; written by projector, not by humans"
22
- },
23
- "priority": { "type": "string", "minLength": 1, "maxLength": 80 },
24
- "type": { "type": "string", "minLength": 1, "maxLength": 80 },
25
- "session_id": { "type": "string", "x-derived": true },
26
- "schema_version": { "const": "4.5" },
27
- "generated_at": { "type": "string", "format": "date-time" }
28
- }
29
- },
30
- "body": {
31
- "type": "object",
32
- "required": ["sections"],
33
- "additionalProperties": false,
34
- "properties": {
35
- "sections": {
36
- "type": "array",
37
- "items": {
38
- "type": "object",
39
- "required": ["heading", "content"],
40
- "additionalProperties": false,
41
- "properties": {
42
- "heading": {
43
- "type": "string",
44
- "not": { "pattern": "^[Ss]tatus" },
45
- "description": "body sections cannot be 'Status' — that lives only in header (D17)"
46
- },
47
- "content": { "type": "string" }
48
- }
49
- }
50
- }
51
- }
52
- }
53
- }
54
- }