ultra-builder-pro-cli 0.23.0 → 0.24.1

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 (95) hide show
  1. package/.ultra-template/docs/research/README.md +4 -4
  2. package/.ultra-template/tasks/tasks.json +4 -2
  3. package/CHANGELOG.md +72 -0
  4. package/README.md +55 -39
  5. package/adapters/_shared/codex-assets.cjs +121 -65
  6. package/adapters/_shared/interaction-contract.cjs +7 -1
  7. package/adapters/_shared/provenance.cjs +7 -2
  8. package/adapters/_shared/runtime-assets.cjs +3 -2
  9. package/adapters/_shared/runtime-native.cjs +132 -0
  10. package/adapters/claude.js +60 -30
  11. package/adapters/codex.js +178 -81
  12. package/adapters/grok.js +372 -0
  13. package/adapters/kimi.js +7 -3
  14. package/adapters/opencode.js +210 -32
  15. package/agents/code-reviewer.md +4 -2
  16. package/agents/debugger.md +4 -1
  17. package/agents/review-code.md +7 -3
  18. package/agents/review-comments.md +7 -4
  19. package/agents/review-coordinator.md +11 -7
  20. package/agents/review-design.md +8 -4
  21. package/agents/review-errors.md +8 -4
  22. package/agents/review-spec.md +8 -5
  23. package/agents/review-tests.md +7 -4
  24. package/agents/tdd-runner.md +5 -2
  25. package/bin/install.js +9 -4
  26. package/bin/orchestrator.js +4 -13
  27. package/docs/AGENT-CONTEXT.md +143 -229
  28. package/docs/ARCHITECTURE.md +205 -494
  29. package/docs/ARTIFACT-AUTHORITY.md +35 -28
  30. package/docs/LEGACY-CLI-CROSSWALK.md +1 -1
  31. package/docs/PLUGIN-ISOLATION-CONTRACT.md +12 -9
  32. package/docs/ROADMAP.md +85 -110
  33. package/docs/RUNTIME-COMPAT-MATRIX.md +139 -175
  34. package/docs/SKILL-AUTHORING.md +3 -3
  35. package/docs/STATE-DB-ACCESS-POLICY.md +13 -8
  36. package/docs/WORKFLOW-LIFECYCLE.md +189 -448
  37. package/hooks/README.md +11 -8
  38. package/hooks/active_task_context.py +16 -16
  39. package/hooks/adapters/grok.py +134 -0
  40. package/hooks/{context_spine.py → context_envelope.py} +26 -22
  41. package/hooks/health_check.py +29 -34
  42. package/hooks/pre_stop_check.py +22 -12
  43. package/hooks/subagent_tracker.py +1 -1
  44. package/hooks/workflow_checkpoint.py +14 -13
  45. package/hooks/workflow_context.py +11 -12
  46. package/hooks/workflow_resume.py +14 -13
  47. package/mcp-server/{breadcrumb.cjs → hook-context.cjs} +7 -9
  48. package/mcp-server/lib/baseline-workflow.cjs +108 -82
  49. package/mcp-server/lib/canonical-json.cjs +19 -0
  50. package/mcp-server/lib/change-authority.cjs +26 -0
  51. package/mcp-server/lib/change-workflow.cjs +630 -45
  52. package/mcp-server/lib/context-envelope.cjs +508 -0
  53. package/mcp-server/lib/decision-records.cjs +337 -0
  54. package/mcp-server/lib/doctor.cjs +91 -33
  55. package/mcp-server/lib/init-project.cjs +78 -39
  56. package/mcp-server/lib/managed-file-write.cjs +116 -0
  57. package/mcp-server/lib/plan-checkpoint.cjs +177 -0
  58. package/mcp-server/lib/project-context.cjs +178 -0
  59. package/mcp-server/lib/stage-checkpoints.cjs +309 -0
  60. package/mcp-server/lib/state-db.cjs +155 -24
  61. package/mcp-server/lib/state-ops.cjs +21 -3
  62. package/mcp-server/lib/task-ledger.cjs +522 -13
  63. package/mcp-server/lib/ultra-facade.cjs +757 -442
  64. package/mcp-server/lib/worker-packet.cjs +358 -0
  65. package/mcp-server/server.cjs +200 -1103
  66. package/orchestrator/daemon.cjs +27 -9
  67. package/orchestrator/parallel-orchestrator.cjs +111 -76
  68. package/orchestrator/session-runner.cjs +135 -34
  69. package/package.json +10 -3
  70. package/skills/ultra-change/SKILL.md +10 -8
  71. package/skills/ultra-deliver/SKILL.md +17 -19
  72. package/skills/ultra-dev/SKILL.md +20 -11
  73. package/skills/ultra-doctor/SKILL.md +4 -4
  74. package/skills/ultra-init/SKILL.md +6 -5
  75. package/skills/ultra-init/references/brownfield-adoption.md +20 -14
  76. package/skills/ultra-plan/SKILL.md +13 -9
  77. package/skills/ultra-research/SKILL.md +18 -9
  78. package/skills/ultra-review/SKILL.md +14 -9
  79. package/skills/ultra-review/references/unified-schema.md +2 -0
  80. package/skills/ultra-review/scripts/review_wait.py +8 -0
  81. package/skills/ultra-status/SKILL.md +2 -2
  82. package/skills/ultra-test/SKILL.md +10 -6
  83. package/skills/ultra-think/SKILL.md +8 -7
  84. package/skills/ultra-think/references/interaction-boundary.md +56 -0
  85. package/spec/cli-protocol.md +80 -199
  86. package/spec/mcp-tools.yaml +43 -2806
  87. package/spec/schemas/state-db.sql +107 -4
  88. package/spec/schemas/{task-ledger.v1.schema.json → task-ledger.v2.schema.json} +70 -6
  89. package/ultra-tools/commands/status.cjs +369 -243
  90. package/mcp-server/lib/context-spine.cjs +0 -1208
  91. package/mcp-server/lib/decision-dialogue.cjs +0 -1128
  92. package/mcp-server/lib/project-breadcrumb.cjs +0 -173
  93. package/mcp-server/lib/spec-learning.cjs +0 -284
  94. package/mcp-server/lib/workflow-state.cjs +0 -3129
  95. package/skills/ultra-think/references/decision-dialogue.md +0 -155
@@ -49,7 +49,7 @@ copying memory, code-graph payloads, or large source material into Ultra.
49
49
 
50
50
  ## Completion
51
51
 
52
- Update the affected baseline specification, record the report through `workflow.step`,
53
- include it in `baseline.record` evidence when material, and record unresolved work in
54
- the authoritative gap ledger. The final synthesis also binds the three specifications
55
- and research distillate. Do not create a condensed duplicate of the baseline.
52
+ Update the affected baseline specification, register the report through typed
53
+ `ultra.record`, reference it from the Research Stage Checkpoint, and record unresolved
54
+ work in the authoritative gap ledger. The final synthesis also binds the baseline
55
+ specifications and research distillate. Do not create a condensed duplicate.
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "kind": "ultra-team-task-ledger",
3
- "schema_version": "1.0",
3
+ "schema_version": "2.0",
4
4
  "generation": 0,
5
5
  "parent_digest": null,
6
6
  "ancestors": [],
7
- "state_digest": "5bf27fb3627b711c97abf72f0aad150ba693d35bcebdd57c2d80e325f495de6d",
7
+ "state_digest": "88098433d797125bb0f87068a01205cf378494169ca93ee2a9dcf15c1c83dd63",
8
8
  "published_at": null,
9
9
  "reason": "scaffold",
10
10
  "baseline": null,
11
11
  "changes": [],
12
+ "decisions": [],
13
+ "checkpoints": [],
12
14
  "tasks": []
13
15
  }
package/CHANGELOG.md CHANGED
@@ -7,6 +7,78 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.24.1] — 2026-07-31
11
+
12
+ ### Changed
13
+
14
+ - Kept semantic completeness, route selection, baseline sufficiency, and delivery
15
+ acceptance in Skills and the host model. The MCP kernel now records those conclusions
16
+ as advisory diagnostics while retaining hard failures only for structural authority,
17
+ current bytes, digests, scope ownership, concurrency, permissions, and recovery.
18
+ - Made local delivery follow the evidence required by the actual Change route. Explicit
19
+ omissions and their rationale are preserved without imposing a fixed
20
+ Plan/Dev/Test/Review sequence on every archive.
21
+ - Made completed Tasks explicitly reopenable without erasing their prior completion
22
+ commit or accepted history.
23
+
24
+ ### Fixed
25
+
26
+ - Fixed nonexistent or mismatched Task/Change checkpoint scopes creating ghost
27
+ checkpoint authority; invalid scopes now fail before any Context or checkpoint write.
28
+ - Fixed shallow or contradictory evidence declarations being accepted without checking
29
+ current managed artifact authority and stable file bytes.
30
+ - Fixed baseline semantic gaps, missing optional research, and `not_run` verification
31
+ being misrepresented as mechanical authority failures.
32
+ - Fixed installed Change revision paths depending on source-only semantic supervisor
33
+ modules excluded from the npm package.
34
+ - Fixed Hooks, Skills, templates, and packaged documentation disagreeing about advisory
35
+ diagnostics, adaptive delivery, and the persistence/safety-kernel boundary.
36
+
37
+ ## [0.24.0] — 2026-07-30
38
+
39
+ ### Added
40
+
41
+ - Added normalized Decision Records, reversible Stage Checkpoints, bounded Context
42
+ Envelopes, and immutable Worker Packets as the shared evidence and handoff model
43
+ across Skills, Hooks, agents, SQLite, and tracked `.ultra` artifacts.
44
+ - Added a native Grok Build plugin so Claude Code, Codex, OpenCode, Kimi Code, and
45
+ Grok Build share the same eleven explicit workflows and seven-tool MCP kernel.
46
+ - Added schema 22 backup-first migration and real-history compatibility for v4.4,
47
+ v4.5, v0.22, and v0.23 state and team-ledger formats.
48
+ - Added packaged `better-sqlite3` provenance, platform and Node ABI verification,
49
+ and durable Doctor and archive workers for every supported host.
50
+
51
+ ### Changed
52
+
53
+ - Completed the MCP boundary reduction: Skills own adaptive semantic procedure;
54
+ MCP owns persistence, identity, transactions, leases, paths, recovery, and
55
+ irreversible safety; Hooks only observe or inject bounded context; agents consume
56
+ immutable Worker Packets without writing SQLite authority.
57
+ - Folded Plan artifact publication into the accepted Plan checkpoint so a later
58
+ export cannot invalidate its own authority.
59
+ - Replaced semantic supervisor failures with mutable diagnostics and repairable
60
+ drafts. Only corruption, unsafe paths, concurrency conflicts, permission failures,
61
+ and irreversible external effects remain hard blockers.
62
+ - Made `ultra.context`, `ultra.sync`, and `ultra.doctor` own their inspection and
63
+ repair preflight so an older valid ledger cannot block the tools required to
64
+ migrate it.
65
+ - Reduced packaged and documented MCP contracts to the exact seven public tools;
66
+ removed the retired fine-grained schemas, fixtures, and command bypasses.
67
+
68
+ ### Fixed
69
+
70
+ - Fixed accepted or stale workflow runs becoming permanently self-locked after an
71
+ artifact changed, and made reversible stages reopenable without rewriting
72
+ immutable accepted history.
73
+ - Fixed v0.23 team ledgers using `research_run_id` being rejected under the newer
74
+ `research_checkpoint_id` digest contract.
75
+ - Fixed native SQLite drivers and Doctor workers being absent or unresolved in
76
+ installed plugins.
77
+ - Fixed session acquisition, archive recovery, Context identity, and Worker Packet
78
+ cleanup paths leaving partial authority after failure.
79
+ - Fixed installed interaction guidance failing to render each host's native question
80
+ surface while keeping canonical Skills host-neutral.
81
+
10
82
  ## [0.23.0] — 2026-07-30
11
83
 
12
84
  ### Added
package/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  **An adaptive delivery harness for AI coding agents.**
4
4
 
5
- Ultra Builder Pro helps Claude Code, Codex, OpenCode, and Kimi Code carry a
6
- software project from an unclear request to a verified, recoverable delivery.
5
+ Ultra Builder Pro helps Claude Code, Codex, OpenCode, Kimi Code, and Grok Build
6
+ carry a software project from an unclear request to a verified, recoverable delivery.
7
7
  It keeps the user and the agent aligned, preserves project authority across
8
8
  sessions, and prevents specifications from quietly drifting away from the code.
9
9
 
@@ -44,12 +44,14 @@ Ultra Builder Pro addresses those gaps with four ideas:
44
44
  and asks the user only for material intent, scope, risk, or authorization
45
45
  decisions—normally one dependent decision at a time.
46
46
  3. **Durable project authority.** `.ultra/.runtime/state.db` records checkout-local
47
- lifecycle, decisions, workflows, evidence digests, sessions, incidents, and
47
+ lifecycle facts, decisions, checkpoints, evidence digests, sessions, incidents, and
48
48
  recovery state across host sessions. Tracked semantic artifacts plus the
49
49
  MCP-published `.ultra/tasks/tasks.json` checkpoint carry reviewed project intent
50
50
  across Git checkouts without committing SQLite, leases, or telemetry.
51
- 4. **Convergent delivery.** Research, plans, implementation, tests, review, and
52
- specification updates must agree before a change is archived.
51
+ 4. **Adaptive delivery.** The host model evaluates the evidence produced by the
52
+ actual Change route, explicitly records any omitted capability and its rationale,
53
+ and asks the owner to accept the local handoff. MCP validates current managed
54
+ authority and archive integrity rather than requiring a fixed stage sequence.
53
55
 
54
56
  For example, if the user asks an agent to add organization SSO to an existing
55
57
  application, Ultra helps the agent inspect the real authentication path, capture
@@ -65,13 +67,13 @@ flowchart TB
65
67
  U["User<br/>goals, acceptance, trade-offs, risk, and external authorization"]
66
68
 
67
69
  subgraph HOST["Supported coding host"]
68
- UI["Host-native interaction<br/>Claude Code / Codex / OpenCode / Kimi Code"]
70
+ UI["Host-native interaction<br/>Claude Code / Codex / OpenCode / Kimi Code / Grok Build"]
69
71
  MODEL["Host agent<br/>inspect, recommend, implement, test, and review"]
70
72
  ADAPTER["Host adapter<br/>native questions, commands, tools, and lifecycle wiring"]
71
73
  end
72
74
 
73
75
  SKILLS["Eleven explicit Ultra Skills<br/>init / research / think / change / plan / dev<br/>test / review / deliver / status / doctor"]
74
- MCP["Ultra MCP safety kernel<br/>7 public tools; 60 hidden compatibility operations"]
76
+ MCP["Ultra MCP safety kernel<br/>exactly 7 public tools"]
75
77
  DB[(".ultra/.runtime/state.db<br/>SQLite lifecycle and index authority")]
76
78
  LEDGER[".ultra/tasks/tasks.json<br/>Git team checkpoint for portable baseline, Change, and task state"]
77
79
  VIEWS[".ultra/.runtime/projections<br/>checkout-local generated views"]
@@ -103,14 +105,14 @@ The responsibility split is deliberate:
103
105
  |---|---|
104
106
  | **User** | Product intent, semantic route selection, material scope and trade-offs, risk acceptance, destructive actions, publishing and deployment authorization |
105
107
  | **Host model** | Fact-finding, synthesis, research-coverage and route recommendations, reversible implementation decisions |
106
- | **Ultra MCP** | Durable checkpoints, evidence references, digests, team sync, leases, archive transactions, and mechanical recovery |
108
+ | **Ultra MCP** | Structure/current-byte validation, caller-declared checkpoints, evidence references, digests, team sync, leases, archive transactions, and mechanical recovery; never semantic completeness or route selection |
107
109
  | **Host adapter** | Native Skill discovery, user questions, tool invocation, installation, and runtime wiring |
108
110
  | **Hooks** | Fast lifecycle observation, current breadcrumb injection, and protection of MCP-owned checkpoint and generated projection paths |
109
111
 
110
- The MCP does not replace the model's judgment or pre-authorize a semantic route. It
111
- reports draft diagnostics and commits accepted checkpoints. A hook does not decide
112
- product strategy. A prompt does not become durable authority merely because it
113
- appeared in a conversation.
112
+ The MCP does not replace the model's judgment, judge completion, or pre-authorize a
113
+ semantic route. It reports diagnostics and safely commits the model's explicit
114
+ checkpoint/archive handoff. A hook does not decide product strategy. A prompt does not
115
+ become durable authority merely because it appeared in a conversation.
114
116
 
115
117
  ### The seven-tool MCP kernel
116
118
 
@@ -120,16 +122,15 @@ The public model-facing surface is intentionally small:
120
122
  |---|---|
121
123
  | `ultra.context` | Read the complete current spine without side effects |
122
124
  | `ultra.record` | Batch typed draft facts and events with idempotency |
123
- | `ultra.checkpoint` | Attempt one semantic stage checkpoint; rejection leaves the draft editable |
125
+ | `ultra.checkpoint` | Commit one caller-declared stage checkpoint after structural, byte, digest, and publication validation |
124
126
  | `ultra.sync` | Inspect, import, or publish the Git team checkpoint |
125
127
  | `ultra.session` | Own the transactional execution lease |
126
- | `ultra.archive` | Converge and archive through the recoverable filesystem/DB boundary |
128
+ | `ultra.archive` | Persist one explicit local delivery handoff through the recoverable filesystem/DB boundary |
127
129
  | `ultra.doctor` | Inspect or repair mechanical health, backup first |
128
130
 
129
- The 0.22 fine-grained tools remain callable but undiscoverable for one compatibility
130
- release. Skills and new sessions use only the seven tools above. Workflow prose stays
131
- in Skills, model judgment stays with the host, and SQLite records what happened rather
132
- than deciding what the model is allowed to think next.
131
+ Retired fine-grained operation names are neither discoverable nor callable. Workflow
132
+ prose stays in Skills, model judgment stays with the host, and SQLite records what
133
+ happened rather than deciding what the model is allowed to think next.
133
134
 
134
135
  The enforcement gradient is:
135
136
 
@@ -165,8 +166,9 @@ and effects—not chain-of-thought, raw prompts, transcripts, or UI receipts.
165
166
 
166
167
  ## What you get
167
168
 
168
- - Native plugins for **Claude Code**, **OpenCode**, **Codex**, and **Kimi Code**.
169
- - One workflow vocabulary across all four hosts.
169
+ - Native plugins for **Claude Code**, **OpenCode**, **Codex**, **Kimi Code**, and
170
+ **Grok Build**.
171
+ - One workflow vocabulary across all five hosts.
170
172
  - Deterministic initialization for new, existing, monorepo, and older Ultra
171
173
  projects.
172
174
  - Evidence-backed greenfield research and brownfield adoption.
@@ -218,6 +220,7 @@ npx --yes ultra-builder-pro-cli@latest --claude --global
218
220
  npx --yes ultra-builder-pro-cli@latest --opencode --global
219
221
  npx --yes ultra-builder-pro-cli@latest --codex --global
220
222
  npx --yes ultra-builder-pro-cli@latest --kimi --global
223
+ npx --yes ultra-builder-pro-cli@latest --grok --global
221
224
  ```
222
225
 
223
226
  Use `--local` instead of `--global` to install into the current project's host
@@ -282,7 +285,7 @@ resolves observable facts itself and asks for material product decisions as
282
285
  needed. Once the evidence and specifications are accurate, the user approves
283
286
  the baseline.
284
287
 
285
- The common path after baseline approval is:
288
+ One common full-depth path after baseline approval is:
286
289
 
287
290
  ```text
288
291
  ultra-change
@@ -294,11 +297,14 @@ ultra-change
294
297
  -> ultra-deliver
295
298
  ```
296
299
 
297
- Each public workflow is explicitly invoked rather than auto-chained. Thinking and
298
- research coverage are adaptive, and verification depth is risk-selected, but every
299
- Change reaches a current plan, DB-backed task contract, and role-scoped context before
300
- development. “Direct Build” skips Research only; it does not bypass Plan, Task, or
301
- Context authority.
300
+ Each public workflow is explicitly invoked rather than auto-chained. The example is a
301
+ recommended route for a normal implementation Change, not an archive state machine.
302
+ Thinking and research coverage are adaptive, verification depth is risk-selected, and
303
+ the host may omit or repeat a capability when the actual Change makes that appropriate,
304
+ provided the delivery handoff names the omission and its rationale. Any implementation
305
+ task still requires a current plan, DB-backed task contract, and role-scoped context.
306
+ “Direct Build” skips Research only; it does not bypass Plan, Task, or Context authority
307
+ when development is performed.
302
308
 
303
309
  ### 2. Adopt an existing project
304
310
 
@@ -364,9 +370,12 @@ must be reconciled against the current Change authority.
364
370
 
365
371
  ### 4. Deliver and continue
366
372
 
367
- `ultra-deliver` verifies that implementation, acceptance evidence, testing,
368
- review findings, specification learning, and baseline reconciliation agree. It
369
- then archives the local Ultra change authority.
373
+ `ultra-deliver` asks the host model to assess the current managed evidence for the
374
+ route the Change actually took. The handoff explicitly records any omitted capability
375
+ and its evidence-based rationale; the owner decides whether that semantic packet is
376
+ sufficient. MCP then validates paths, digests, reconciliation structure, idempotency,
377
+ and recoverability before archiving the local Ultra change authority. It does not
378
+ require every Change to pass through a fixed Research/Plan/Dev/Test/Review sequence.
370
379
 
371
380
  Delivery does **not** grant permission to commit, push, publish, tag, deploy, or
372
381
  perform another external effect. Those actions remain separate and require the
@@ -429,11 +438,16 @@ flowchart TD
429
438
  PLAN --> DEV["ultra-dev<br/>one dependency-ready vertical task"]
430
439
  DEV --> TASKS{"More executable tasks?"}
431
440
  TASKS -->|"Yes"| DEV
432
- TASKS -->|"No"| TEST["ultra-test<br/>risk-selected formal verification"]
441
+ TASKS -->|"No"| ASSESS{"What evidence does this Change still need?"}
442
+ ROUTE -->|"Accepted handoff already has sufficient evidence"| DELIVER["ultra-deliver"]
443
+ ASSESS -->|"Risk-selected verification"| TEST["ultra-test<br/>risk-selected formal verification"]
444
+ ASSESS -->|"Independent review"| REVIEW["ultra-review<br/>specification fidelity and engineering quality"]
445
+ ASSESS -->|"Caller accepts current evidence and explicit omissions"| DELIVER
433
446
  TEST -->|"Failed or incomplete"| DEV
434
- TEST -->|"Passing"| REVIEW["ultra-review<br/>specification fidelity and engineering quality"]
447
+ TEST -->|"Review is warranted"| REVIEW
448
+ TEST -->|"Caller accepts current evidence and explicit omissions"| DELIVER
435
449
  REVIEW -->|"Changes required"| DEV
436
- REVIEW -->|"Approved"| DELIVER["ultra-deliver"]
450
+ REVIEW -->|"Approved"| DELIVER
437
451
  DELIVER --> ARCHIVE["Reconcile specifications<br/>apply the Change overlay and archive evidence"]
438
452
  ARCHIVE --> NEXT{"Continue"}
439
453
  NEXT -->|"Next outcome"| CHANGE
@@ -454,7 +468,7 @@ health without selecting product intent.
454
468
  ```text
455
469
  .ultra/
456
470
  .runtime/ # local mutable state; ignored by Git
457
- state.db # lifecycle, index, transition, and freshness authority
471
+ state.db # facts, indexes, checkpoints, leases, CAS, and recovery
458
472
  checkpoint.json # advisory recovery projection
459
473
  projections/ # generated local task and task-context views
460
474
  backups/ # verified migration and recovery snapshots
@@ -463,17 +477,18 @@ health without selecting product intent.
463
477
  worktrees/ # registered local Git worktrees
464
478
  telemetry/ # local operational telemetry
465
479
  specs/ # digest-bound product and architecture baseline
480
+ decisions/baseline/ # normalized accepted baseline decisions
466
481
  changes/
467
482
  active/<id>/ # all current Change semantics and evidence
468
483
  intent.md # accepted Change Contract
469
- findings.md # durable Change findings
484
+ decisions/ # normalized accepted Change decisions
470
485
  progress.md # generated human-readable projection
471
486
  research/ # Change-only findings and research reports
472
487
  delta/ # typed baseline overlay and semantic payloads
473
488
  documentation/ # documentation overlay and reconciliation evidence
474
489
  plan.json # machine-readable task topology
475
490
  plan.md # deterministic human plan projection
476
- contexts/ # immutable role/task context snapshots
491
+ contexts/ # immutable canonical Context Envelopes
477
492
  test/ # Change-scoped test reports
478
493
  review/ # Change-scoped review workers and summary
479
494
  delivery/ # Change-scoped delivery evidence
@@ -584,9 +599,10 @@ host's existing model session.
584
599
  any real conflict. Never edit `.ultra/tasks/tasks.json` by hand.
585
600
  - **A generated view disagrees with MCP:** trust `.ultra/.runtime/state.db`; never edit
586
601
  `.ultra/.runtime/projections/` by hand.
587
- - **A draft checkpoint is rejected:** use `ultra-status` to read the exact warnings
588
- and blockers, fix the same mutable draft, and retry. Use `workflow.abandon` through
589
- `ultra.record` only when intentionally cancelling the attempt.
602
+ - **A draft checkpoint reports warnings:** the model keeps them visible and decides
603
+ whether to investigate, revise, defer with rationale, or accept. If a checkpoint is
604
+ rejected for a structural, digest, path, publication, or concurrency conflict, fix
605
+ the same mutable draft and retry; no hidden workflow state must be cancelled first.
590
606
  - **Kimi reports a native-module ABI error:** ensure an external Node.js 22+
591
607
  executable is available on `PATH`; the generated Kimi MCP launcher uses
592
608
  `env node`.
@@ -616,7 +632,7 @@ and `test:rest`.
616
632
  |---|---|
617
633
  | [Architecture](./docs/ARCHITECTURE.md) | Components, authority boundaries, and live integration paths |
618
634
  | [Workflow Lifecycle](./docs/WORKFLOW-LIFECYCLE.md) | Command ownership, transitions, invalidation, recovery, and convergence |
619
- | [Runtime Compatibility Matrix](./docs/RUNTIME-COMPAT-MATRIX.md) | Claude Code, OpenCode, Codex, and Kimi presentation details |
635
+ | [Runtime Compatibility Matrix](./docs/RUNTIME-COMPAT-MATRIX.md) | Claude Code, OpenCode, Codex, Kimi Code, and Grok Build presentation details |
620
636
  | [Legacy CLI Crosswalk](./docs/LEGACY-CLI-CROSSWALK.md) | What was preserved, strengthened, or replaced from the original Ultra Builder Pro |
621
637
  | [Agent Context](./docs/AGENT-CONTEXT.md) | Context Manifest and host-agent execution contract |
622
638
  | [Plugin Isolation Contract](./docs/PLUGIN-ISOLATION-CONTRACT.md) | Plugin ownership, explicit activation, idle behavior, and user-instruction isolation |