ultra-builder-pro-cli 0.26.2 → 5.0.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 (82) hide show
  1. package/.ultra-template/contexts/TEMPLATE.md +70 -29
  2. package/.ultra-template/north-star.md +35 -18
  3. package/.ultra-template/tasks.json +1 -0
  4. package/.ultra-template/test-report.json +17 -1
  5. package/CHANGELOG.md +235 -1
  6. package/README.md +210 -50
  7. package/README.zh-CN.md +440 -0
  8. package/adapters/_shared/host-profile.cjs +3 -95
  9. package/adapters/_shared/plugin-core.cjs +61 -5
  10. package/adapters/_shared/runtime-assets.cjs +66 -5
  11. package/adapters/zcode.js +375 -0
  12. package/bin/delegate-worker.cjs +2 -325
  13. package/bin/delegate.cjs +3 -461
  14. package/bin/install.js +11 -6
  15. package/docs/ARCHITECTURE.md +133 -31
  16. package/docs/ARTIFACT-AUTHORITY.md +185 -24
  17. package/docs/DECISIONS.md +153 -18
  18. package/docs/PHILOSOPHY.md +58 -7
  19. package/docs/PLUGIN-ISOLATION-CONTRACT.md +34 -12
  20. package/docs/RUNTIME-COMPAT-MATRIX.md +195 -23
  21. package/docs/SKILL-AUTHORING.md +19 -6
  22. package/docs/WORKFLOW-LIFECYCLE.md +196 -44
  23. package/docs/evals/adversarial-review-2026-08-14.md +84 -0
  24. package/docs/evals/ultra-5-0-journey-results.md +62 -0
  25. package/docs/evals/ultra-5-0-live-acp-conformance.md +93 -0
  26. package/docs/evals/ultra-5-0-route-journeys.md +145 -0
  27. package/docs/evals/zcode-automation-2026-08-14.md +103 -0
  28. package/hooks/README.md +27 -4
  29. package/hooks/_common.py +1678 -61
  30. package/hooks/adapters/zcode.py +227 -0
  31. package/hooks/compact_context.py +176 -17
  32. package/hooks/mid_workflow_recall.py +27 -5
  33. package/hooks/post_edit_guard.py +133 -23
  34. package/hooks/session_context.py +707 -22
  35. package/package.json +7 -3
  36. package/skills/ultra-change/SKILL.md +69 -12
  37. package/skills/ultra-change/references/change-contract.md +93 -27
  38. package/skills/ultra-change/references/execution-grant.md +109 -0
  39. package/skills/ultra-change/references/primary-transfer.md +273 -0
  40. package/skills/ultra-change/scripts/validate_primary_transfer.cjs +1928 -0
  41. package/skills/ultra-delegate/SKILL.md +103 -8
  42. package/skills/ultra-delegate/patches/zcode-acp-0.1.0-zcode-0.16.5.patch +184 -0
  43. package/skills/ultra-delegate/references/delegation-contract.md +80 -1
  44. package/skills/ultra-delegate/scripts/acp-conformance.cjs +287 -0
  45. package/skills/ultra-delegate/scripts/acp-driver.cjs +762 -0
  46. package/skills/ultra-delegate/scripts/agent-execution-driver.cjs +320 -0
  47. package/skills/ultra-delegate/scripts/cli-driver.cjs +61 -0
  48. package/skills/ultra-delegate/scripts/delegate-worker.cjs +328 -0
  49. package/skills/ultra-delegate/scripts/delegate.cjs +690 -0
  50. package/skills/ultra-delegate/scripts/host-profile.cjs +267 -0
  51. package/skills/ultra-deliver/SKILL.md +98 -11
  52. package/skills/ultra-dev/SKILL.md +188 -42
  53. package/skills/ultra-grilling/SKILL.md +10 -7
  54. package/skills/ultra-grilling/references/reframing.md +7 -3
  55. package/skills/ultra-init/SKILL.md +56 -7
  56. package/skills/ultra-init/scripts/init_project.cjs +968 -21
  57. package/skills/ultra-plan/SKILL.md +91 -47
  58. package/skills/ultra-plan/references/task-evidence-v2.md +300 -0
  59. package/skills/ultra-plan/scripts/validate_task_evidence.cjs +859 -0
  60. package/skills/ultra-research/SKILL.md +70 -14
  61. package/skills/ultra-research/references/04-product-strategy.md +11 -2
  62. package/skills/ultra-research/references/21-features-scope.md +8 -0
  63. package/skills/ultra-research/references/22-success-metrics.md +4 -3
  64. package/skills/ultra-research/references/99-synthesis.md +19 -2
  65. package/skills/ultra-research/references/north-star-v2.md +168 -0
  66. package/skills/ultra-research/references/wayfinding.md +8 -0
  67. package/skills/ultra-research/scripts/validate_north_star.cjs +1174 -0
  68. package/skills/ultra-review/SKILL.md +201 -27
  69. package/skills/ultra-review/references/adversarial-evaluation.md +31 -0
  70. package/skills/ultra-review/references/spec.md +5 -0
  71. package/skills/ultra-review/references/unified-schema.md +146 -11
  72. package/skills/ultra-review/references/worker-packet.md +151 -8
  73. package/skills/ultra-review/scripts/review_wait.py +2653 -63
  74. package/skills/ultra-status/SKILL.md +129 -15
  75. package/skills/ultra-status/references/route-contract.md +100 -0
  76. package/skills/ultra-tdd/SKILL.md +11 -4
  77. package/skills/ultra-tdd/references/test-execution.md +6 -1
  78. package/skills/ultra-test/SKILL.md +161 -18
  79. package/skills/ultra-test/scripts/validate_review_transport.cjs +549 -0
  80. package/skills/ultra-test/scripts/worktree_digest.cjs +518 -30
  81. /package/{adapters/_shared → skills/ultra-delegate/scripts}/delegate-profiles/kimi-read-only.md +0 -0
  82. /package/{adapters/_shared → skills/ultra-delegate/scripts}/delegate-profiles/kimi-write.md +0 -0
package/README.md CHANGED
@@ -1,12 +1,57 @@
1
1
  # Ultra Builder Pro
2
2
 
3
+ **English** | [简体中文](README.zh-CN.md)
4
+
3
5
  Ultra Builder Pro is a file-first engineering workflow for Claude Code, Codex,
4
- OpenCode, Kimi Code, and Grok Build. It keeps product intent, specifications, task
5
- contracts, evidence, decisions, and recovery notes in the repository, so a different
6
- session or host can continue by reading files and Git.
6
+ OpenCode, Kimi Code, Grok Build, and ZCode. It implements the provider-neutral
7
+ **Ultra Core Protocol**: owner–agent cognitive alignment, per-fact canonical
8
+ authority, explicit session-local or durable work-package grants, exclusive
9
+ verified handover between Agents, typed evidence with recovery, and review that
10
+ terminates within an owner-visible budget. It keeps product
11
+ intent, specifications, task contracts, evidence, decisions, and recovery notes
12
+ in the repository, so a different session or host can continue by reading files
13
+ and Git.
7
14
 
8
15
  The host model remains the engineer. Ultra supplies reusable methods and checkable
9
- artifacts; it does not replace reasoning with a workflow engine.
16
+ artifacts; it does not replace reasoning with a workflow engine. Agent topology —
17
+ one Agent or several, which providers — is the owner's choice at every stage; the
18
+ default is the current Agent continuing alone, and handing the work package's
19
+ writing authority to a different Agent requires an explicit verified transfer
20
+ (OFFER → ACK → RESULT over the repository files and Git).
21
+
22
+ ## Ultra Builder Pro 5.0
23
+
24
+ Version `5.0.0` is the current implementation of Ultra as a cognitive-alignment harness
25
+ for real software engineering. It preserves the accepted 3.0 file-first and model-agency
26
+ constitution, then makes workflow position, recovery, and cross-Agent execution directly
27
+ observable. It is not a decentralized multi-agent platform and it does not prescribe one
28
+ Agent topology. Instead, it keeps five promises:
29
+
30
+ - establish the owner-accepted North Star before Research becomes a plan or code;
31
+ - let the owner choose one Agent or several, and the provider, at every stage;
32
+ - carry canonical intent, decisions, tasks, evidence, and recovery through files
33
+ under `.ultra/` plus Git so another session or host can resume from the same facts;
34
+ - automate mechanically verifiable authority, permissions, external effects,
35
+ evidence, physical limits, and recovery while leaving meaning and strategy to the
36
+ model and owner; and
37
+ - bound Review and repair so delivery converges instead of turning every observation
38
+ into another automatic implementation loop.
39
+
40
+ 5.0 expresses those promises through one Route Contract, explicit Init/Research/Change/
41
+ Plan responsibilities, file-only fresh-session recovery, an installed Skill-local
42
+ delegation runtime, and a replaceable `AgentExecutionDriver`. Stable ACP v1 is preferred
43
+ only after the exact Host has passed a recorded conformance drill; otherwise the same
44
+ result contract uses a reported CLI fallback. The portable protocol and native
45
+ installation cover Claude Code, Codex, OpenCode, Kimi Code, Grok Build, and ZCode. All
46
+ six profiles expose stable ACP v1 candidates and have their own current real-provider
47
+ receipt. Each selects ACP only while its recorded executable and candidate identity
48
+ still match; otherwise it returns a typed CLI fallback. ZCode uses an independently
49
+ installed, source-pinned bridge and remains `experimental`.
50
+
51
+ 5.0 deliberately does not add a daemon, workflow service, semantic state machine, A2A
52
+ network, Team Pack, remote marketplace, or shared authority store. Package publication
53
+ and real user installation remain independently verifiable effects; a source version
54
+ alone never proves either one occurred.
10
55
 
11
56
  ## Why it exists
12
57
 
@@ -51,14 +96,22 @@ The package installs exactly fourteen Skills in three roles.
51
96
  `ultra-status` is the single router. It infers the current route from project files,
52
97
  Git, and installation health without mutating the workflow.
53
98
 
54
- Public workflows are explicitly selected by the owner. One public workflow can
55
- recommend the next one, but does not launch it. Model-invoked disciplines remain
56
- available to the host model and are not separate user routes. The model selects one
57
- when the active task presents its trigger: incomplete intent uses grilling, competing
58
- terms use domain modeling, an accepted seam uses TDD, review-ready evidence uses
59
- review, and a consequential unresolved decision uses think. A host with native bounded
60
- subagents may parallelize review lenses; another host runs the same lens assets
61
- sequentially.
99
+ Public workflows are explicitly selected by the owner by default. Outside a live,
100
+ owner-activated execution grant (session-local, or a durable work-package grant), one public workflow can recommend the
101
+ next one but does not launch it. Inside that grant, the host model may select only
102
+ the covered change-scoped Research, same-Change reconciliation, Plan, Dev, Test, and
103
+ reconcile-only Deliver routes. Init, Change intake/evidence/acceptance/abandonment or
104
+ primary transfer, Delegate, Deliver finalization, archive, and every external effect
105
+ remain owner-selected; Status also remains owner-selected, read-only, and grants no continuation.
106
+ Every public transition first displays the derived `UBP Route Card`; Host invocation
107
+ metadata is only coarse discovery, and the loaded Skill revalidates its exact mode and
108
+ grant without creating route state.
109
+ Model-invoked disciplines remain available to the host model and are not separate user
110
+ routes. The model selects one when the active task presents its trigger: incomplete
111
+ intent uses grilling, competing terms use domain modeling, an accepted seam uses TDD,
112
+ review-ready evidence uses review, and a consequential unresolved decision uses think.
113
+ A host with native bounded subagents may parallelize review lenses; another host runs
114
+ the same lens assets sequentially.
62
115
 
63
116
  Inside `ultra-research`, the first six references are six semantic lenses, not six
64
117
  extra Skills: problem validation, opportunity discovery, market assessment,
@@ -70,12 +123,12 @@ map, evidence convergence, owner checkpoints, and baseline promotion.
70
123
 
71
124
  ### What happened to the original Agents
72
125
 
73
- v0.26 does not install a custom `agents/` projection. The old review workers became the
126
+ Version 5.0.0 does not install a custom `agents/` projection. The old review workers became the
74
127
  six focused files under `ultra-review/references/`; review coordination and synthesis
75
128
  belong to the parent `ultra-review` Skill. The old debugger procedure lives under
76
129
  `ultra-dev/references/debugging.md`, and test execution lives under
77
130
  `ultra-tdd/references/test-execution.md`. These are assets of their Skills and therefore
78
- travel to all five hosts. They preserve a bounded role without pretending that every
131
+ travel to all six hosts. They preserve a bounded role without pretending that every
79
132
  host exposes the same custom-agent API.
80
133
 
81
134
  ## Project authority
@@ -101,7 +154,7 @@ CONTEXT.md
101
154
  │ ├── active/<change-id>/{intent.md,delivery.md}
102
155
  │ ├── archive/<change-id>/{intent.md,delivery.md}
103
156
  │ └── abandoned/<change-id>/intent.md # includes exact Abandonment closure
104
- ├── contexts/<task-id>.md
157
+ ├── contexts/task-<task-id>.md
105
158
  ├── decisions/<decision-id>.md
106
159
  ├── evidence/<task-id>/...
107
160
  └── research/<run-id>/{brief.md,<step-id>.md}
@@ -110,7 +163,7 @@ CONTEXT.md
110
163
  The optional `brief.md` is derived navigation; the selected step reports are cited
111
164
  evidence, and promoted semantic facts live in the other canonical files. Git provides
112
165
  history, comparison, rollback, and archive moves. The following additional paths are
113
- derived and can be deleted or rebuilt:
166
+ derived:
114
167
 
115
168
  ```text
116
169
  .ultra/.runtime/
@@ -118,6 +171,12 @@ derived and can be deleted or rebuilt:
118
171
  .ultra/reviews/
119
172
  ```
120
173
 
174
+ `.ultra/.runtime/` and `.ultra/progress/` can be deleted or rebuilt from current
175
+ authority. Retain the exact current strict review session until both Test and Deliver
176
+ have successfully consumed it; only then may that session be garbage-collected. If it
177
+ is lost before both consumers finish, run a fresh Review and Test and never reconstruct
178
+ the old receipt.
179
+
121
180
  See [Artifact Authority](docs/ARTIFACT-AUTHORITY.md) for writer, reader, promotion,
122
181
  staleness, and recovery rules.
123
182
 
@@ -129,7 +188,7 @@ staleness, and recovery rules.
129
188
  | `ultra-research` | accepted North Star, first domain baseline, selected cited reports, reconciled specifications, and distillate | change, plan, and delivery |
130
189
  | `ultra-change` | one active `intent.md` with stable `change_id`, Research Disposition, and only the accepted baseline sections touched by that delta; or an exact Abandonment closure before an owner-authorized move | active: research through delivery; abandoned: future Change history and status |
131
190
  | `ultra-plan` | append-only `tasks.json` rows for the active `change_id`, one context per task, and Planning Posture in the active intent | dev and every resume path |
132
- | `ultra-dev` | source/tests, task evidence, synchronized task/context status, Completion and Resume Note | review, test, status, delivery |
191
+ | `ultra-dev` | source/tests, typed task evidence, ledger-only task status, Completion, Task Review, and Resume Note | review, test, status, delivery |
133
192
  | `ultra-test` | the one current `test-report.json` bound to Change id, current task ids, intent digest, HEAD, and product-worktree digest | status and delivery |
134
193
  | `ultra-deliver` | first reconciled specs/docs, then after a fresh Test snapshot one `delivery.md` and the archived Change directory | owner and future Change history |
135
194
  | `ultra-status` | none | recommends the smallest explicit route from current files |
@@ -145,18 +204,53 @@ Node.js 22 or newer is required.
145
204
 
146
205
  ```bash
147
206
  # Current project, one host
148
- npx ultra-builder-pro-cli --claude --local
149
- npx ultra-builder-pro-cli --codex --local
207
+ npx ultra-builder-pro-cli@5.0.0 --claude --local
208
+ npx ultra-builder-pro-cli@5.0.0 --codex --local
150
209
 
151
210
  # Global installation
152
- npx ultra-builder-pro-cli --opencode --global
153
- npx ultra-builder-pro-cli --kimi --global
154
- npx ultra-builder-pro-cli --grok --global
211
+ npx ultra-builder-pro-cli@5.0.0 --opencode --global
212
+ npx ultra-builder-pro-cli@5.0.0 --kimi --global
213
+ npx ultra-builder-pro-cli@5.0.0 --grok --global
214
+ npx ultra-builder-pro-cli@5.0.0 --zcode --global
155
215
 
156
216
  # All supported hosts
157
- npx ultra-builder-pro-cli --all --global
217
+ npx ultra-builder-pro-cli@5.0.0 --all --global
218
+ ```
219
+
220
+ ZCode ACP delegation additionally requires the independently built bridge and an
221
+ installed ZCode Desktop runtime. Ultra ships the small source patch needed by ZCode
222
+ CLI 0.16.5, but installs neither dependency and never records provider credentials:
223
+
224
+ ```bash
225
+ git clone https://github.com/jpalmae/zcode-acp
226
+ git -C zcode-acp checkout 42fe149d4b501469343c01f23ba3801832306d53
227
+ git -C zcode-acp apply \
228
+ /path/to/installed/ultra-delegate/patches/zcode-acp-0.1.0-zcode-0.16.5.patch
229
+ cargo test --locked --manifest-path zcode-acp/Cargo.toml
230
+ cargo install --locked --path zcode-acp
158
231
  ```
159
232
 
233
+ The base commit, patch SHA-256
234
+ `174dfd0feafe84320556a84b5ae08b10e44c5515fea4992fd1d58af54cee4e3d`, locked tests,
235
+ fake E2E, release build, and real ZCode 0.16.5 session were verified for 5.0. Keep the
236
+ binary on `PATH`; its `--version` must report
237
+ `zcode-acp 0.1.0+ultra.zcode.0.16.5`. Use the platform's installed ZCode CLI path
238
+ outside macOS.
239
+
240
+ Provider identity is separate from the Host: ZCode Desktop is the runtime, while the
241
+ model account may be domestic 智谱 BigModel or international Z.AI. A domestic BigModel
242
+ Coding Plan config uses the official Anthropic-compatible endpoint
243
+ `https://open.bigmodel.cn/api/anthropic` and a BigModel API key in
244
+ `~/.zcode/cli/config.json`; it must not use the Z.AI OAuth login. The live 5.0 drill used
245
+ `builtin:bigmodel-coding-plan/GLM-5.2`. See the
246
+ [official BigModel Claude API compatibility guide](https://docs.bigmodel.cn/cn/guide/develop/claude/introduction).
247
+
248
+ These pinned `npx` commands resolve the immutable registry version after publication.
249
+ Source-tree verification uses `node bin/install.js --config-dir <isolated-path>` when
250
+ it must not mutate the real user installation; the separate 5.0 release drill also
251
+ verified an ownership-safe install, Doctor, ZCode uninstall, and reinstall in all six
252
+ real Host homes.
253
+
160
254
  Use the host's native Skill picker or invocation syntax to select an owner workflow.
161
255
  Codex exposes namespaced entries such as `$ultra-builder-pro:ultra-init`. The installed
162
256
  frontmatter and metadata keep user routes explicit and model disciplines implicit.
@@ -167,13 +261,13 @@ Installation is managed, atomic, and provenance-checked.
167
261
 
168
262
  ```bash
169
263
  # Re-running install updates the managed artifact
170
- npx ultra-builder-pro-cli --codex --global
264
+ npx ultra-builder-pro-cli@5.0.0 --codex --global
171
265
 
172
266
  # Read-only diagnosis
173
- npx ultra-builder-pro-cli --all --global --doctor --json
267
+ npx ultra-builder-pro-cli@5.0.0 --all --global --doctor --json
174
268
 
175
269
  # Remove only managed Ultra assets
176
- npx ultra-builder-pro-cli --all --global --uninstall
270
+ npx ultra-builder-pro-cli@5.0.0 --all --global --uninstall
177
271
  ```
178
272
 
179
273
  `--config-dir <path>` isolates both the primary config and host-owned sidecars. It is
@@ -185,13 +279,19 @@ Uninstall removes the managed plugin and prunes only empty config shells that we
185
279
  absent before the first install. Pre-existing registries, directories, symlinks, and
186
280
  any path containing owner data are preserved.
187
281
 
188
- Kimi Code and Grok Build currently expose user-scoped plugins only, so `--local`
282
+ Kimi Code, Grok Build, and ZCode currently expose user-scoped plugins only, so `--local`
189
283
  rejects them before mutation. Claude Code, Codex, and OpenCode support project-local
190
- installation; all five support managed global installation and isolated
284
+ installation; all six support managed global installation and isolated
191
285
  `--config-dir` verification.
192
286
 
193
287
  ## Typical workflow
194
288
 
289
+ For day-to-day work on an existing project, a new request starts with `ultra-change`,
290
+ not an open-ended Research run. Enter `ultra-research` directly only to establish the
291
+ first baseline, or to answer the bounded evidence question recorded by the same active
292
+ Change. Every public transition shows a derived Route Card with its current Mode,
293
+ Position, observable Exit condition, material checkpoint, and Next route.
294
+
195
295
  1. Select `ultra-init` once. It writes the skeleton, preserves the owner's raw one-line
196
296
  request and broad outline in the Project Brief, initializes Git when needed, and
197
297
  stops before product research.
@@ -203,26 +303,49 @@ installation; all five support managed global installation and isolated
203
303
  the delta touches before planning; it does not rebuild the project baseline. Its
204
304
  Research Disposition either cites sufficient evidence or names the bounded question
205
305
  and exit evidence that must return through Research. A micro edit that makes no
206
- specification sentence false stays outside Ultra; an accepted quick Change still
207
- receives one Plan task. While that Change remains active, reconcile its same stable
208
- id; never open a second active Change for a separate request.
306
+ specification sentence false stays outside Ultra; every accepted Change receives the
307
+ smallest Plan graph justified by its real seams, evidence, review, and recovery needs.
308
+ A profile never fixes task count. While that Change remains active, reconcile its
309
+ same stable id; never open a second active Change for a separate request.
209
310
  4. Select `ultra-plan` to record public seams and produce resumable tracer-bullet tasks.
210
- The model owns ordinary technical seams; the owner decides only a seam that changes
211
- the public contract or another material trade-off.
212
- 5. Select `ultra-dev` for one task at a time. Each task leaves a Completion entry,
213
- evidence, and a closing Resume Note.
214
- 6. Select `ultra-test` once tasks for the active Change are complete. Historical ledger
215
- rows do not enter this audit. Local green tests do not substitute for wiring and E2E proof.
311
+ Its earliest observable slice must cross a real consumer and real data path and name
312
+ the owner-visible observation. The model owns ordinary technical seams; the owner
313
+ decides only a seam that changes the public contract or another material trade-off.
314
+ 5. Select `ultra-dev` for one task at a time. `.ultra/tasks.json` is the sole task-status
315
+ authority. Dev records typed v2 evidence and completes task review while the row is
316
+ still `in_progress`; only after blocking findings and affected evidence are resolved
317
+ does it write `completed`, add Completion, and rewrite the Resume Note.
318
+ 6. Select `ultra-test` once tasks for the active Change are completed with current v2
319
+ evidence and retained task-review provenance. Historical ledger rows and legacy
320
+ context Status fields do not enter this audit. Local green tests do not substitute
321
+ for wiring and E2E proof.
216
322
  7. Select `ultra-deliver` to run aggregate review and reconcile documentation. If that
217
323
  changes product or semantic files, rerun Test; re-enter Deliver on the fresh snapshot
218
324
  to write delivery metadata and archive the stable Change id. Commit, push, tag,
219
325
  publication, and deployment remain separately authorized effects.
220
326
 
221
- At any point, `ultra-status` can reconstruct the current position. A fresh session or
222
- different host resumes by reading `.ultra/tasks.json`, the selected `context_file`, its
223
- `## Resume Note`, `CONTEXT.md`, relevant decisions, the active Change, and Git. It first
224
- filters the append-only ledger to tasks whose `change_id` matches the unique active
225
- Change; archived and abandoned unfinished rows are history, not the frontier.
327
+ For one accepted Change, the owner may activate its exact `Execution Grant` in either
328
+ mode. A `session-local` grant lives only in the current conversation: when that
329
+ activation is lost — a fresh session, another host, or compaction — the work stops and
330
+ waits for a new owner activation. A `durable work-package` grant lets a fresh Agent or
331
+ host continue one exact work package, but only after the Agent stably verifies the
332
+ recorded grant itself. In both modes the model may select the covered change-scoped
333
+ Research, same-Change reconciliation, Plan, Dev, Test, and reconcile-only Deliver
334
+ routes until the next semantic stop or declared budget, and neither mode grants
335
+ finalization or archive: writing `delivery.md`, version
336
+ or package posture, and archiving always require a current explicit owner invocation,
337
+ as do commit, push, publication, deployment, installation, and every other external
338
+ effect.
339
+
340
+ At any point, `ultra-status` can reconstruct the current position. A fresh session
341
+ starts from repository root and `HEAD`, resolves exactly one active Change, then reads
342
+ `.ultra/tasks.json`, the matching `context_file` and its `## Resume Note`, `CONTEXT.md`,
343
+ relevant decisions, specifications, evidence, and the current Git diff. It never reruns
344
+ completed Research merely because conversation memory is gone. If active authority is
345
+ ambiguous or unreadable, Status switches to read-only recovery, names the unsafe fact,
346
+ and gives the cheapest repair, retry, cancel, abandon, or fresh-session path without
347
+ choosing an intent or writing semantic files. Archived and abandoned unfinished rows
348
+ remain history, not the frontier.
226
349
 
227
350
  ## Three independent integration defences
228
351
 
@@ -249,33 +372,52 @@ Five optional hooks accelerate file reading and protect a narrow effect boundary
249
372
  | `post_edit_guard.py` | Record mechanical evidence observations after edits |
250
373
  | `block_dangerous_commands.py` | Advise on additive protected-branch publication; deny history rewrites and named destructive shell effects until the exact command is authorized |
251
374
 
252
- All five exit silently when `.ultra/` is absent. Details are in
375
+ All five hooks exit silently when `.ultra/` is absent. Details are in
253
376
  [Plugin Isolation](docs/PLUGIN-ISOLATION-CONTRACT.md).
254
377
 
255
378
  ## Delegation
256
379
 
257
- Delegation writes an immutable instruction and permission envelope, then starts the
258
- selected CLI in the background. Empty writable roots select native read-only mode;
380
+ Delegation writes an immutable instruction and permission envelope, then selects one
381
+ Host-local `AgentExecutionDriver` and starts it in the background. ACP is selected only
382
+ for an executable stdio endpoint that negotiates stable v1 and has a passed per-Host
383
+ conformance record with evidence; otherwise the same result contract uses `CliDriver`
384
+ and reports the exact fallback reason. All six current Host rows have their own passing
385
+ real-provider receipt; a missing executable, candidate-identity mismatch, or
386
+ stale/missing receipt still returns the typed CLI fallback. An ACP authentication error
387
+ detected before `session/prompt` runs the bounded CLI path once and records
388
+ `acp_auth_required`; no other ACP failure is retried, so Ultra cannot duplicate a
389
+ provider task. Empty
390
+ writable roots select native read-only mode;
259
391
  declared roots select bounded write mode. The model returns one schema-constrained final
260
392
  response; the launcher extracts it from native structured output, validates the actual
261
393
  Git diff, and atomically publishes a terminal `finished`, `blocked`, or `failed` result
262
- beside the instruction.
394
+ beside the instruction. The digest-bound packet is embedded in the worker prompt, so a
395
+ strict host need not read instruction files outside its isolated worktree.
263
396
 
264
397
  ```bash
265
- ubp delegate run --to codex \
398
+ node <loaded-ultra-delegate-skill-dir>/scripts/delegate.cjs run --to codex \
266
399
  --instruction .ultra/.runtime/delegations/D-01/instruction.md \
267
400
  --permission .ultra/.runtime/delegations/D-01/permission.json \
268
401
  --worktree .ultra/.runtime/worktrees/D-01
269
402
  ```
270
403
 
271
- Use `skills/ultra-delegate/scripts/delegate_wait.py` to wait for `result.json` without
272
- loading intermediate worker output into the parent context. Delegation grants no new
404
+ The loaded Skill path is canonical and works after a clean `npx` plugin install without
405
+ a global `ubp` or another `npx` lookup for Ultra; the pinned Claude/Codex ACP adapters
406
+ may themselves run through `npx`. `ubp delegate` remains a one-release compatibility
407
+ wrapper. Use the installed Skill's `scripts/delegate_wait.py` to wait for `result.json`
408
+ without loading intermediate worker output into the parent context. Delegation grants no new
273
409
  authority; writable roots remain inside the worktree, and its permission file must
274
410
  declare zero external effects without widening the host sandbox.
275
411
  The immutable instruction names task execution/continuation, scoped Research evidence,
276
412
  or aggregate Change review/verification. The latter two may be read-only and do not
277
413
  require a task row, keeping pre-Plan Research and post-task cross-family review
278
414
  reachable without inventing ledger work.
415
+ ZCode resolves only the installed Desktop runtime through the independently installed
416
+ `zcode-acp` bridge and remains `experimental`. Its capability, read-only,
417
+ permission, cancellation/no-orphan, cwd/diff, result-parity, and redaction drills pass;
418
+ promotion still requires an official stability contract for the App-internal runtime.
419
+ Doctor reports runner health, ACP capability, candidate identity, selected driver,
420
+ fallback reason, and ZCode maturity independently.
279
421
 
280
422
  ## Host support
281
423
 
@@ -286,6 +428,7 @@ reachable without inventing ledger work.
286
428
  | OpenCode | 14 | 5 through native JS plugin | bundle + skill directories |
287
429
  | Kimi Code | 14 | 5 through wire adapter | managed plugin registry |
288
430
  | Grok Build | 14 | 5 through wire adapter | native plugin registration when available |
431
+ | ZCode | 14 | 5 through wire adapter | inline plugin + local marketplace + reversible config registration |
289
432
 
290
433
  See [Runtime Compatibility](docs/RUNTIME-COMPAT-MATRIX.md) for exact paths and host
291
434
  limitations.
@@ -308,10 +451,25 @@ npm pack --dry-run --json
308
451
 
309
452
  Every changed Skill is also validated with the Codex Skill Creator validator. A changed
310
453
  Codex manifest is validated against the Plugin Creator schema. No release effect is
311
- implied by a green verification run.
454
+ implied by a green verification run, and validator success establishes structural
455
+ conformance rather than semantic acceptance.
312
456
 
313
457
  ## Documentation
314
458
 
459
+ - [5.0 design and acceptance contract](docs/ULTRA-BUILDER-PRO-5.0.zh-CN.md) —
460
+ Route, Skill ownership, continuation, ACP/CLI execution, migration, and journey
461
+ boundaries implemented by 5.0.0.
462
+ - [5.0 journey results](docs/evals/ultra-5-0-journey-results.md) — observable source,
463
+ isolated-runtime, real-provider, real-HOME, and cross-platform outcomes plus the
464
+ deliberately excluded service-deployment boundary.
465
+ - [Current authority](.ultra/north-star.md) — this repository's accepted
466
+ North Star, revision `north-star-v2-r3`, is the canonical current authority;
467
+ `.ultra/tasks.json` and the stable Change under `.ultra/changes/active/` or
468
+ `.ultra/changes/archive/` record the current or delivered work frontier.
469
+ - Frozen design history (immutable accepted records, not live status):
470
+ [3.0 North Star R3](docs/ULTRA-BUILDER-PRO-3.0-NORTH-STAR-R3.zh-CN.md) —
471
+ the hash-bound accepted r3 design — and
472
+ [3.0 design](docs/ULTRA-BUILDER-PRO-3.0.zh-CN.md), superseded by r3.
315
473
  - [Philosophy](docs/PHILOSOPHY.md)
316
474
  - [Architecture](docs/ARCHITECTURE.md)
317
475
  - [Artifact Authority](docs/ARTIFACT-AUTHORITY.md)
@@ -319,6 +477,8 @@ implied by a green verification run.
319
477
  - [Skill Authoring](docs/SKILL-AUTHORING.md)
320
478
  - [Plugin Isolation](docs/PLUGIN-ISOLATION-CONTRACT.md)
321
479
  - [Runtime Compatibility](docs/RUNTIME-COMPAT-MATRIX.md)
480
+ - [Adversarial Review Evaluation](docs/evals/adversarial-review-2026-08-14.md)
481
+ - [ZCode Automation Evaluation](docs/evals/zcode-automation-2026-08-14.md)
322
482
 
323
483
  ## License
324
484