ultra-builder-pro-cli 0.25.1 → 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 +40 -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 -1714
  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,10 +0,0 @@
1
- ---
2
- description: Report authoritative Ultra health, evidence freshness, and valid capability transitions
3
- argument-hint: "[task-or-change-id]"
4
- workflow-ref: "@skills/ultra-status/SKILL.md"
5
- ---
6
-
7
- # Report Ultra status
8
-
9
- Read and follow `@skills/ultra-status/SKILL.md`, using `$ARGUMENTS` to select a specific task or change.
10
- Treat the referenced skill as the only workflow definition.
@@ -1,10 +0,0 @@
1
- ---
2
- description: Run independent, risk-selected verification and record current acceptance evidence
3
- argument-hint: "[scope]"
4
- workflow-ref: "@skills/ultra-test/SKILL.md"
5
- ---
6
-
7
- # Verify delivery readiness
8
-
9
- Read and follow `@skills/ultra-test/SKILL.md`, using `$ARGUMENTS` to bound the verification scope.
10
- Treat the referenced skill as the only workflow definition.
@@ -1,10 +0,0 @@
1
- ---
2
- description: Resolve a consequential question through evidence or one-decision-at-a-time alignment
3
- argument-hint: "[question]"
4
- workflow-ref: "@skills/ultra-think/SKILL.md"
5
- ---
6
-
7
- # Align on a consequential question
8
-
9
- Read and follow `@skills/ultra-think/SKILL.md`, treating `$ARGUMENTS` as the question to resolve.
10
- Treat the referenced skill as the only workflow definition.
@@ -1,191 +0,0 @@
1
- # Ultra Builder Pro agent context contract
2
-
3
- This is the shared runtime contract for Claude Code, Codex, OpenCode, Kimi Code,
4
- and Grok Build.
5
-
6
- ## Ownership
7
-
8
- Ultra owns:
9
-
10
- - eleven explicit workflow Skills: `ultra-init`, `ultra-research`, `ultra-think`,
11
- `ultra-change`, `ultra-plan`, `ultra-dev`, `ultra-test`, `ultra-review`,
12
- `ultra-deliver`, `ultra-status`, and `ultra-doctor`;
13
- - four internal worker-rule Skills;
14
- - bounded evidence-only review/debug workers;
15
- - deterministic workflow Hooks;
16
- - exactly seven public MCP tools;
17
- - `.ultra` project authority, team sync, recovery, and the portable installer.
18
-
19
- Ultra does not own general memory, code graphs, browser or deployment providers,
20
- framework guidance, global user instructions, or unrelated Skills.
21
-
22
- ## Runtime model
23
-
24
- ```text
25
- explicit Skill
26
- -> canonical Context Envelope
27
- -> host model reasoning and owner interaction
28
- -> typed ultra.record
29
- -> mutable Stage Checkpoint draft
30
- -> accepted immutable revision
31
- -> evidence / team sync / archive
32
- ```
33
-
34
- The host model recommends semantic routes. The user selects material intent and
35
- external effects. MCP persists facts and enforces mechanical safety. A Hook may
36
- observe or inject context, but cannot create a decision or accept a checkpoint.
37
-
38
- ## Seven public tools
39
-
40
- | Tool | Use |
41
- |---|---|
42
- | `ultra.context` | Read bounded current authority without mutation |
43
- | `ultra.record` | Persist typed facts, decisions, tasks, artifacts, outcomes, and observations |
44
- | `ultra.checkpoint` | Save or accept a stage-level revision |
45
- | `ultra.sync` | Inspect, migrate, import, or publish the Git checkpoint |
46
- | `ultra.session` | Acquire/release execution authority and create a Worker Packet |
47
- | `ultra.archive` | Perform recoverable local delivery convergence |
48
- | `ultra.doctor` | Diagnose or backup-first repair mechanical health |
49
-
50
- Retired operation names are not callable. Semantic incompleteness is returned as
51
- diagnostics and leaves the draft editable. Hard errors are limited to corruption,
52
- unsafe paths, digest/CAS/lease conflicts, missing runtime prerequisites, permissions,
53
- and irreversible external effects.
54
-
55
- A rejected semantic attempt is appended as `ultra_kernel_attempt` audit history and
56
- appears alongside the next `ultra.context` envelope without changing its semantic
57
- digest. It never creates the rejected semantic row or claims that authority was
58
- committed. `_ultra.projection_commit` reports only the post-call generated-view cycle;
59
- it is not a semantic acceptance receipt.
60
-
61
- Every public input has one exact kind/action contract. Unknown fields, wrong scalar or
62
- container types, invalid enums, malformed digests, and mismatched scopes are diagnosed
63
- before SQLite affinity, filesystem writers, or host adapters can coerce them. A
64
- correctable rejection returns `accepted: false`, `mutable: true`, typed diagnostics,
65
- and bounded audit history; it is not an MCP transport failure. Reusing an idempotency
66
- key for a different request follows that same repairable path, while retrying the exact
67
- request returns the original result.
68
-
69
- Every accepted mutation and its idempotency receipt are one logical commit. DB-only
70
- writes share one immediate transaction. A write that also owns a managed file, team
71
- checkpoint, worktree, Worker Packet, or archive journal either publishes both sides or
72
- restores the prior bytes and rows. If compensation itself cannot be proven, the kernel
73
- returns a typed recovery requirement instead of reporting partial success.
74
-
75
- ## Context Envelope
76
-
77
- Every Skill begins by reading `ultra.context` for the relevant stage and scope. The
78
- same content-addressed generator supplies Hook breadcrumbs, compact recovery, Session
79
- handoff, and Worker Packets. It includes:
80
-
81
- - project/host identity and health;
82
- - Git head, scope digest, and drift classification;
83
- - accepted baseline and evidence references;
84
- - current Change and Task contracts;
85
- - accepted normalized Decision Records;
86
- - typed evidence references and freshness;
87
- - current execution lease/worktree/packet;
88
- - warnings, `needs_attention`, and hard conflicts.
89
-
90
- Summary output stays within 16 KiB. Selected full output stays within 64 KiB. Large
91
- file bodies remain lazy references. Identical authority must reuse one digest and
92
- snapshot.
93
-
94
- ## Interaction
95
-
96
- ```text
97
- inspect -> suggest -> host-native ask when needed -> normalize
98
- -> persist -> apply -> read back
99
- ```
100
-
101
- Do not ask again when the current user message already resolves the decision. Persist
102
- only the normalized question, recommendation, selection, effects, non-goals,
103
- provenance, applied references, status, digest, and supersession. Never persist raw
104
- conversation, chain-of-thought, full prompts, or UI receipts.
105
-
106
- Host question surfaces:
107
-
108
- - Claude Code and Kimi Code: `AskUserQuestion`;
109
- - Codex: `request_user_input` when available;
110
- - OpenCode: `question`;
111
- - Grok Build: its native structured question surface when available, otherwise one
112
- concise conversational question.
113
-
114
- If the host mode forbids interaction, leave the decision unresolved.
115
-
116
- ## Stage Checkpoints
117
-
118
- Skills describe adaptive evidence expectations and decide semantic sufficiency;
119
- SQLite does not authorize a fixed step sequence or reinterpret the supplied verdict.
120
- A stage has a mutable draft and immutable accepted revisions:
121
-
122
- ```text
123
- draft N -> accepted N -> superseded by accepted N+1
124
- ```
125
-
126
- Warnings and semantic gaps do not reject explicit acceptance. Structural, digest,
127
- path, publication, and concurrency conflicts leave the draft mutable. An accepted
128
- revision can be replaced by a later accepted revision without rewriting history.
129
-
130
- ## Worker handoff
131
-
132
- Every worker must receive one immutable Worker Packet generated from current authority.
133
- The packet binds:
134
-
135
- - role, runtime, Change/Task scope, and output schema;
136
- - Context Envelope path/digest;
137
- - accepted Decision Records and digest;
138
- - Git head/diff/changed files;
139
- - Task contract, acceptance, and digest;
140
- - evidence references;
141
- - exact output path;
142
- - `packet_digest`.
143
-
144
- Workers may inspect the assigned checkout and write only the declared evidence output.
145
- They do not edit source, write SQLite, accept checkpoints, modify another worker's
146
- result, or decide final delivery. Output must echo `packet_digest`; the primary host
147
- verifies it, performs any source repair, and records the resulting evidence.
148
-
149
- ## Hook boundary
150
-
151
- The canonical Hook bundle uses `context_envelope.py`, not a parallel context reader.
152
- Hooks may:
153
-
154
- - report health and inject a compact envelope;
155
- - protect MCP-owned team checkpoints and generated projections;
156
- - save/restore minimal compact recovery state;
157
- - append minimal lifecycle identifiers;
158
- - report an advisory Stop summary.
159
-
160
- Hooks may not select a route, manufacture a semantic record, capture prompts or
161
- transcripts, block ordinary work for semantic incompleteness, or claim an ignored
162
- stdout channel was injected. Every Skill still reads authoritative Context at entry.
163
-
164
- ## Five host presentations
165
-
166
- | Host | Entry | Worker surface | Context behavior |
167
- |---|---|---|---|
168
- | Claude Code | `/ultra-builder-pro:ultra-*` | native agents | SessionStart compact + Skill full |
169
- | Codex | `$ultra-builder-pro:ultra-*` | managed TOML agents | session/prompt compact + Skill full |
170
- | OpenCode | `/ultra-*` | native agents | system transform + Skill full |
171
- | Kimi Code | `/ultra-builder-pro:ultra-*` | Agent/AgentSwarm templates | native compact where supported + Skill full |
172
- | Grok Build | native Ultra commands/Skills | plugin agent templates | Skill full is authoritative; Hook stdout limitations are explicit |
173
-
174
- Adapters own only translation and wiring. The active host remains primary; optional
175
- cross-host collaboration is explicit and read-only.
176
-
177
- ## Storage
178
-
179
- Tracked `.ultra` files carry inspectable intent, specifications, plans, Decision
180
- Records, test/review/delivery evidence, and archives. `.ultra/tasks/tasks.json` is a
181
- digest-chained team checkpoint. `.ultra/.runtime/` is ignored and contains SQLite,
182
- generated projections, Sessions, worktrees, recovery, backups, telemetry, and debug
183
- state.
184
-
185
- Every semantic file must have one writer, owner, consumer, digest, promotion gate, and
186
- archive rule as defined in `ARTIFACT-AUTHORITY.md`.
187
-
188
- The production Change API has one Kernel behavior and exposes no legacy/current mode
189
- switch. Pre-v0.24 workflow and dialogue rows remain read-only migration/audit history:
190
- the public kernel cannot create workflow-owned artifacts or mutate those rows during
191
- current invalidation.
@@ -1,51 +0,0 @@
1
- # Commit-hash backfill
2
-
3
- `tasks.completion_commit` is checkout-local integration evidence. It lives in
4
- `.ultra/.runtime/state.db` and may appear in checkout-local projections, but it is
5
- deliberately absent from the Git-facing team ledger.
6
-
7
- This removes the old self-referential two-commit loop. Recording a commit hash no
8
- longer changes any tracked file.
9
-
10
- ## Direct task completion
11
-
12
- After implementation, verification, and review are current:
13
-
14
- 1. Record `task_outcome / complete { id, packet_digest }`. Completion validates the
15
- assigned Worker Packet and durable output, and accepts neither an arbitrary `patch`
16
- nor any commit hash.
17
- 2. Publish the completed durable status and Task contract with `ultra.sync`.
18
- 3. Create one local integration commit containing the implementation, semantic Ultra
19
- artifacts, and `.ultra/tasks/tasks.json`.
20
- 4. Read the resulting full `HEAD` and record
21
- `task_outcome / attest_commit { id, completion_commit }`.
22
- 5. Verify the task worktree head, integration ancestry, review evidence, and public
23
- seam; then release the session.
24
-
25
- Attestation requires an already completed Task and a real commit integrated into the
26
- current checkout. It changes only ignored runtime state, does not republish team
27
- authority, and is idempotent for the same hash. Git remains clean, so no bookkeeping
28
- commit is permitted.
29
-
30
- If sync or the integration commit fails after completion, record
31
- `task_outcome / block { id }`, preserve the still-session-owned worktree, and record the
32
- failure. This recovery transition is accepted only while `completion_commit` is absent.
33
- An attested Task cannot use this block recovery; an explicit later reopen records the
34
- prior attestation in event history before clearing the current local proof.
35
-
36
- ## Parent-supervised workers
37
-
38
- A worker records evidence and exits without finalizing the parent-owned Task. The
39
- primary host validates and stages the worker result, records durable completion,
40
- publishes the team checkpoint, creates the single authoritative integration commit,
41
- attests that integrated hash locally, and settles the lease.
42
-
43
- ## Why the hash is local
44
-
45
- - A Git file cannot contain the hash of the commit that contains that same file.
46
- - Runtime integration evidence is checkout-specific and does not belong in a shared
47
- semantic merge surface.
48
- - The team ledger needs the durable task outcome and status, not a self-referential
49
- commit identifier.
50
- - Baseline freshness uses scoped content plus Git ancestry, so a metadata-only Ultra
51
- checkpoint commit does not invalidate an otherwise unchanged baseline.
@@ -1,175 +0,0 @@
1
- # Original Ultra Builder Pro to CLI crosswalk
2
-
3
- This document is the compatibility contract between the original
4
- [`rocky2431/ultra-builder-pro`](https://github.com/rocky2431/ultra-builder-pro)
5
- Claude Code harness and this multi-runtime CLI/MCP implementation. Comparisons and
6
- migration rationale live here, not in runtime Skill prompts.
7
-
8
- ## Provenance
9
-
10
- - Original baseline inspected at
11
- [`a82a9d73efe14a2a94a6ac6aa1fd44ba905b2159`](https://github.com/rocky2431/ultra-builder-pro/tree/a82a9d73efe14a2a94a6ac6aa1fd44ba905b2159).
12
- - The CLI repository was bootstrapped from the original harness at `6deca47`.
13
- - The original delivery spine is six stages:
14
- `init -> research -> plan -> dev -> test -> deliver`.
15
- - `status` and `think` support that spine. The original review Skill is a mandatory
16
- development/release gate even though it was not a separate slash command.
17
-
18
- The compatibility target is semantic, not file-for-file. Host-specific Claude Code
19
- mechanics are replaced only when the replacement preserves the observable workflow
20
- contract and adds stronger authority, recovery, or portability.
21
-
22
- ## What the CLI preserves and strengthens
23
-
24
- | Original capability | Current implementation | Compatibility result |
25
- |---|---|---|
26
- | Init gathers project facts, creates Ultra files, and establishes Git | `task.init_project` performs deterministic classification, scaffold, schema, Git bootstrap, read-back verification, and then stops | Preserved and strengthened. Init has its own completion boundary and never starts research implicitly. |
27
- | Complete product and architecture research | `ultra-research` retains the semantic reference catalog while the model recommends evidence-relevant coverage and the owner selects, modifies, delegates, or defers the route | Preserved without questionnaire overload. Accepted dispositions, necessary reports, typed semantic records, source digests, and optional material decision checkpoints add durable evidence. |
28
- | Planning converts accepted research into executable work with dependencies | `ultra-plan` persists complete change-owned task contracts and an exact dependency graph | Preserved and strengthened with topology, acceptance coverage, public seams, verification commands, and plan digests. |
29
- | Development uses isolated Git work, TDD, verification, review, commit, and integration | `ultra-dev`, `session.*`, and the session runner create real worktrees and retain task/review/commit evidence | Preserved and strengthened. Process exit cannot complete a task; uncommitted or unintegrated worktrees cannot be deleted. |
30
- | Test checks wiring, acceptance, regression, build, performance, security, and failures | `ultra-test` emits a change-bound immutable report covering each applicable dimension | Preserved and strengthened with HEAD, context, task-set, and report-digest validation. |
31
- | Review challenges specification fidelity and engineering quality | `ultra-review` is a first-class stage with independent specification and engineering axes | Strengthened. A coordinated summary cannot replace either complete axis. |
32
- | Delivery verifies clean readiness, documentation, build, and evidence | `ultra-deliver` assesses the explicitly accepted evidence packet for the actual Change route, records deliberate omissions, reconciles current managed authority, and creates a recoverable local archive and immutable report | Preserved without a fixed stage gate and strengthened by path, digest, reconciliation, idempotency, and recovery validation. Publish, deploy, push, and other external effects remain separate explicitly authorized operations. |
33
- | Status restores the current workflow position | `ultra-status` reads DB authority, Git, sessions, artifacts, decisions, allowed transitions, and any hard recovery requirement | Strengthened. The host recommends the semantic route; projections and Prompt prose cannot override state. |
34
- | Thinking synchronizes owner and Agent intent | `ultra-think` plus `decision.*` persists one-question dialogue, non-ceremonial completion, and optional artifact checkpoints | Strengthened. Observable facts are resolved first; only load-bearing owner choices block. |
35
-
36
- ## CLI-original capabilities
37
-
38
- The following are deliberate extensions built on the original spine:
39
-
40
- 1. `.ultra/.runtime/state.db` as the only lifecycle and index authority; registered
41
- digest-bound Markdown and JSON carry semantic or evidence bodies, while generated
42
- views remain projections.
43
- 2. Typed MCP transitions for baseline, change, decision, workflow, task, session,
44
- incident, projection, and evidence state.
45
- 3. Greenfield, brownfield, monorepo-scope, migrated, restore, and rebaseline paths.
46
- 4. `ultra-change` as the continuous post-baseline delta and convergence unit.
47
- 5. `ultra-doctor` plus backup-first migration, projection repair, incident reporting,
48
- orphan recovery, and installed-asset provenance.
49
- 6. Context Manifest v3, Change/task authority digests, DB-derived breadcrumbs,
50
- adaptive transitions, advisory context budgets, and fresh-context handoffs.
51
- 7. Approval-gated specification learning and baseline reconciliation.
52
- 8. Independent two-axis review and immutable test/review/delivery evidence.
53
- 9. Native adapters for Claude Code, OpenCode, Codex, and Kimi Code.
54
- 10. Explicit worktree admission, leases, heartbeats, crash evidence, circuit breaking,
55
- dependency waves, and optional verified cleanup.
56
- 11. A digest-chained Git team checkpoint that keeps the original shareable task-ledger
57
- benefit without committing SQLite, leases, sessions, or live `in_progress`
58
- ownership.
59
-
60
- ## Intentionally retired original baggage
61
-
62
- These items are not compatibility losses:
63
-
64
- - embedded prompt, transcript, observation journal, session summary, or general
65
- conversational cross-session memory;
66
- - an internal code graph or memory store;
67
- - retired model runtimes and their prompts;
68
- - retired command-proxy integrations;
69
- - imported browser, deployment, framework, discovery, or third-party Skills;
70
- - model-tier routing, confidence percentages, forced option counts, forced task
71
- counts, automatic MVP selection, or silent scope reduction;
72
- - handwritten `tasks.json` authority or direct specification dual-write;
73
- - unsafe automatic push, release, merge, or worktree deletion.
74
-
75
- External memory and graph providers own their content. Ultra may store only bounded
76
- metadata references.
77
-
78
- ## Reference capability paths and gates
79
-
80
- These paths show common capability order and hard prerequisites. They are not a
81
- single mandatory pipeline: the model recommends among MCP-reported allowed
82
- transitions, while the owner selects or delegates the semantic route. MCP requires one
83
- route only for a unique mechanical recovery invariant.
84
-
85
- ### New repository
86
-
87
- ```text
88
- task.init_project
89
- -> greenfield classification
90
- -> Git bootstrap when absent
91
- -> empty or imported team checkpoint
92
- -> init read-back and completion
93
- -> explicit full research with a model-recommended, owner-selected route
94
- -> selected execute/verify/reuse work and synthesis
95
- -> owner-authorized local checkpoint commit when Git is unborn
96
- -> baseline.record
97
- -> baseline.converge
98
- -> ultra-change
99
- -> optional bounded research/plan -> dev tasks -> test -> review -> local deliver
100
- ```
101
-
102
- ### Existing repository
103
-
104
- ```text
105
- task.init_project
106
- -> brownfield classification and selected scope
107
- -> preserve current Git HEAD and dirty-state evidence
108
- -> import portable team state and require local baseline revalidation when cloned
109
- -> init read-back and completion
110
- -> explicit adoption research with a model-recommended, owner-selected route
111
- -> characterization verification + known-red/gap ledger
112
- -> baseline.record + owner approval
113
- -> baseline.converge
114
- -> first ultra-change
115
- ```
116
-
117
- ### Earlier Ultra authority
118
-
119
- ```text
120
- doctor/migrate with backup
121
- -> migrated compatibility row
122
- -> explicit brownfield re-adoption
123
- -> current research and evidence convergence
124
- -> normal change loop
125
- ```
126
-
127
- ### Daily change
128
-
129
- ```text
130
- status
131
- -> checkpoint condition + change intent capture
132
- -> material alignment only when unresolved
133
- -> model-recommended, owner-selected or delegated bounded research, plan,
134
- current dev work, think, or status
135
- -> session.spawn creates the real task worktree
136
- -> red/green/verify/review
137
- -> durable task checkpoint + one local task commit + local hash backfill
138
- -> safe session close
139
- -> aggregate test -> review -> deliver
140
- -> atomic baseline reconciliation
141
- ```
142
-
143
- ## Breakpoint closure
144
-
145
- | Prior breakpoint | Required invariant |
146
- |---|---|
147
- | Init was incorrectly held open until research and baseline convergence | Init completes only after classification, Git/scaffold setup, state creation, and read-back verification; research starts explicitly and owns baseline convergence. |
148
- | A fresh project had `.ultra` but no Git | Auto init creates `main`, adds the symlink-safe `.ultra` ignore rule, and exposes `initial_commit_required`. |
149
- | Initialized Git had no HEAD but baseline used a workspace hash | `unborn` is a persisted state; `baseline.record` fails with `BASELINE_GIT_HEAD_REQUIRED`. |
150
- | Resume preserved an incorrect project name/type/stack | In-progress resume refreshes corrected metadata and records the change. |
151
- | MCP session reservation and runner session were separate | `session.spawn` creates the actual worktree and the single authoritative session row. |
152
- | Process exit zero marked a task completed | Exit success leaves the task `in_progress` until dev/test/review evidence converges. |
153
- | Dependency waves advanced after transport exit | The plan pauses at the first non-terminal wave and resumes only after its DB tasks converge. |
154
- | A crafted or merely exported plan could bypass current plan authority | Change-owned dispatch requires a healthy completed plan workflow and the exact current DB graph; malformed, cyclic, stale, duplicate-task, or cross-change plans fail before session creation. |
155
- | Direct session or daemon spawn bypassed the current plan | Every change-owned admission and spawn revalidates current task-contract digests, task set, dependencies, and staleness before takeover or worktree creation. |
156
- | A worker launched inside a worktree could create a second `.ultra/.runtime/state.db` | Every session checkout links its ignored `.ultra` entry to central authority and receives non-overridable DB/root bindings; legacy repositories get a local `info/exclude` rule without tracked drift, while unsafe ignore or link state rolls back before worker launch. |
157
- | Plan authority could drift between wave admission and actual spawn | The spawn-time gate converts this race into an authority pause without task-failure or circuit-breaker evidence. |
158
- | Explicit auto-merge could integrate before workflow gates | A change-owned auto-merge requires the exact completion commit, ready dev evidence, a current task review, and clean committed Git work; otherwise the worktree is preserved. |
159
- | Session close or auto-merge could delete uncommitted work | Close preserves by default; explicit cleanup verifies clean and integrated Git ancestry. |
160
- | Daemon could create a worktree with no worker | Dispatch refuses to start without an explicit executable command. |
161
- | Failure returned a task to pending without recovery evidence | Exit and spawn failures become `blocked` and record session-linked circuit-breaker evidence. |
162
- | A late resume failure could leave refreshed DB metadata behind | Resume snapshots DB authority and generated projections, then restores both together with Git rollback. |
163
- | A legacy schema migrated before a later resume failure | Resume restores the pre-migration backup, not the partially completed upgraded intermediate state. |
164
- | Tracked `tasks.json` made every Ultra write dirty and every metadata commit stale the baseline | Live projections moved below ignored `.ultra/.runtime/projections/`; the tracked file became a low-frequency MCP checkpoint, and baseline freshness excludes `.ultra` while still checking scoped source bytes plus Git ancestry. |
165
- | A local SQLite DB could not hand baseline, Change, and task authority to another checkout | The Git checkpoint carries portable records with per-record digests and ancestry; import fast-forwards clean records, rejects concurrency, and revalidates every ready baseline locally. |
166
- | A completed task needed a second commit to record its own commit hash | Durable task outcome enters the same task commit; the resulting hash is backfilled only into local SQLite/projections, so no self-referential metadata commit is created. |
167
-
168
- ## Advancement rule
169
-
170
- A stage advances only when its DB workflow definition reports every required step
171
- current and the stage-specific verifier accepts the referenced outputs. A Prompt,
172
- child-process exit, generated projection, or old document can never advance a stage.
173
- On interruption, resume the same non-terminal workflow and current step. On authority
174
- damage, route to doctor; on missing owner authority, route to think. Never open a
175
- parallel run to escape a blocker.
package/docs/ROADMAP.md DELETED
@@ -1,101 +0,0 @@
1
- # Ultra Builder Pro roadmap
2
-
3
- The current product is a five-host adaptive delivery harness with a seven-tool
4
- persistence and safety kernel. `docs/DECISIONS.md` defines durable decisions;
5
- schemas, source, and contract tests define executable behavior.
6
-
7
- ## Current release boundary
8
-
9
- - First-class hosts: Claude Code, OpenCode, Codex, Kimi Code, and Grok Build.
10
- - Distribution: npm package plus host-native generated plugins.
11
- - Public semantic workflows: 11 explicit Skills.
12
- - Public MCP surface: exactly 7 tools.
13
- - Local authority: `.ultra/.runtime/state.db`.
14
- - Team handoff: `.ultra/tasks/tasks.json` and tracked semantic/evidence artifacts.
15
- - General memory, code graph, browser, deployment, and framework guidance: external.
16
-
17
- ## Current repository
18
-
19
- ```text
20
- spec/
21
- ├── mcp-tools.yaml
22
- ├── cli-protocol.md
23
- ├── schemas/
24
- └── fixtures/
25
-
26
- mcp-server/
27
- ├── server.cjs
28
- ├── hook-context.cjs
29
- └── lib/
30
- ├── ultra-facade.cjs
31
- ├── context-envelope.cjs
32
- ├── decision-records.cjs
33
- ├── stage-checkpoints.cjs
34
- ├── worker-packet.cjs
35
- ├── task-ledger.cjs
36
- ├── state-db.cjs
37
- ├── state-ops.cjs
38
- ├── artifact-registry.cjs
39
- ├── baseline-workflow.cjs
40
- ├── change-workflow.cjs
41
- ├── doctor.cjs
42
- └── projector.cjs
43
-
44
- adapters/
45
- ├── claude.js
46
- ├── opencode.js
47
- ├── codex.js
48
- ├── kimi.js
49
- └── grok.js
50
-
51
- hooks/
52
- ├── active_task_context.py
53
- ├── context_envelope.py
54
- ├── health_check.py
55
- ├── pre_stop_check.py
56
- ├── runtime_paths.py
57
- ├── subagent_tracker.py
58
- ├── workflow_checkpoint.py
59
- ├── workflow_context.py
60
- └── workflow_resume.py
61
-
62
- skills/ # 11 public, 4 internal, explicit collab companions
63
- agents/ # bounded Worker Packet consumers
64
- ultra-tools/ # CLI diagnostics, migration, and recovery
65
- orchestrator/ # optional approved Worker Packet dispatch
66
- ```
67
-
68
- Retired semantic-supervisor modules remain only in source migration/regression history
69
- and are excluded from the npm package. They do not authorize current Stage
70
- Checkpoints, Sessions, Skills, or archive.
71
-
72
- ## Completed product invariants
73
-
74
- - MCP does not select semantic routes or pre-authorize reasoning steps.
75
- - Draft Stage Checkpoints are mutable; accepted revisions are immutable and
76
- supersedable.
77
- - Context, accepted decisions, and evidence are visible across sessions and Git
78
- checkout sync.
79
- - Every delegated worker receives an immutable Worker Packet.
80
- - All five host installers stage, preflight, and atomically swap complete native
81
- runtimes.
82
- - v4.4/v4.5 and v0.22/v0.23 authority migrates backup-first.
83
- - Hooks are observation/injection/protection only.
84
- - `.runtime` stays local while reviewed intent and evidence remain team-trackable.
85
-
86
- ## Verification
87
-
88
- ```bash
89
- npm run verify:release
90
- npm pack --dry-run --json
91
- node bin/install.js --all --global --doctor --json
92
- ```
93
-
94
- The release gate also installs the tarball into a clean consumer and exercises public
95
- write/read/backup/reopen through every generated host launcher.
96
-
97
- ## Deferred product directions
98
-
99
- A web dashboard or TUI, a collaboration server, Homebrew/pip distribution, and an
100
- independent marketplace remain uncommitted product directions. They must enter through
101
- a new explicit decision and Change rather than this roadmap silently promising them.