ultra-builder-pro-cli 0.26.1 → 3.0.2

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 (75) hide show
  1. package/.ultra-template/contexts/TEMPLATE.md +64 -29
  2. package/.ultra-template/north-star.md +36 -30
  3. package/.ultra-template/project-brief.md +28 -0
  4. package/.ultra-template/specs/product.md +4 -0
  5. package/.ultra-template/specs/research-distillate.md +8 -0
  6. package/.ultra-template/tasks.json +1 -0
  7. package/.ultra-template/test-report.json +18 -1
  8. package/CHANGELOG.md +227 -1
  9. package/README.md +161 -59
  10. package/adapters/_shared/host-profile.cjs +68 -12
  11. package/adapters/_shared/plugin-core.cjs +4 -5
  12. package/adapters/_shared/runtime-assets.cjs +11 -2
  13. package/adapters/zcode.js +375 -0
  14. package/bin/delegate-worker.cjs +20 -0
  15. package/bin/delegate.cjs +94 -25
  16. package/bin/install.js +11 -6
  17. package/docs/ARCHITECTURE.md +109 -25
  18. package/docs/ARTIFACT-AUTHORITY.md +204 -30
  19. package/docs/DECISIONS.md +141 -10
  20. package/docs/PHILOSOPHY.md +61 -8
  21. package/docs/PLUGIN-ISOLATION-CONTRACT.md +6 -0
  22. package/docs/RUNTIME-COMPAT-MATRIX.md +106 -13
  23. package/docs/SKILL-AUTHORING.md +14 -9
  24. package/docs/WORKFLOW-LIFECYCLE.md +211 -53
  25. package/docs/evals/adversarial-review-2026-08-14.md +84 -0
  26. package/docs/evals/zcode-automation-2026-08-14.md +103 -0
  27. package/hooks/README.md +31 -3
  28. package/hooks/_common.py +1699 -33
  29. package/hooks/adapters/zcode.py +227 -0
  30. package/hooks/compact_context.py +176 -17
  31. package/hooks/mid_workflow_recall.py +27 -5
  32. package/hooks/post_edit_guard.py +133 -23
  33. package/hooks/session_context.py +722 -11
  34. package/package.json +6 -3
  35. package/skills/ultra-change/SKILL.md +84 -64
  36. package/skills/ultra-change/references/change-contract.md +130 -32
  37. package/skills/ultra-change/references/execution-grant.md +109 -0
  38. package/skills/ultra-change/references/primary-transfer.md +273 -0
  39. package/skills/ultra-change/scripts/validate_primary_transfer.cjs +1928 -0
  40. package/skills/ultra-delegate/SKILL.md +38 -5
  41. package/skills/ultra-delegate/references/delegation-contract.md +21 -1
  42. package/skills/ultra-deliver/SKILL.md +123 -44
  43. package/skills/ultra-deliver/references/baseline-reconciliation.md +5 -3
  44. package/skills/ultra-dev/SKILL.md +173 -43
  45. package/skills/ultra-grilling/SKILL.md +19 -16
  46. package/skills/ultra-grilling/references/reframing.md +7 -3
  47. package/skills/ultra-init/SKILL.md +99 -87
  48. package/skills/ultra-init/references/brownfield-adoption.md +23 -40
  49. package/skills/ultra-init/scripts/init_project.cjs +968 -21
  50. package/skills/ultra-plan/SKILL.md +83 -46
  51. package/skills/ultra-plan/references/task-evidence-v2.md +300 -0
  52. package/skills/ultra-plan/scripts/validate_task_evidence.cjs +859 -0
  53. package/skills/ultra-research/SKILL.md +119 -68
  54. package/skills/ultra-research/references/{03-competitive-landscape.md → 03-alternatives.md} +6 -6
  55. package/skills/ultra-research/references/04-product-strategy.md +11 -2
  56. package/skills/ultra-research/references/21-features-scope.md +8 -0
  57. package/skills/ultra-research/references/22-success-metrics.md +9 -4
  58. package/skills/ultra-research/references/99-synthesis.md +25 -1
  59. package/skills/ultra-research/references/north-star-v2.md +168 -0
  60. package/skills/ultra-research/references/wayfinding.md +50 -0
  61. package/skills/ultra-research/scripts/validate_north_star.cjs +1174 -0
  62. package/skills/ultra-review/SKILL.md +201 -24
  63. package/skills/ultra-review/references/adversarial-evaluation.md +31 -0
  64. package/skills/ultra-review/references/spec.md +5 -0
  65. package/skills/ultra-review/references/unified-schema.md +146 -11
  66. package/skills/ultra-review/references/worker-packet.md +151 -8
  67. package/skills/ultra-review/scripts/review_wait.py +2653 -63
  68. package/skills/ultra-status/SKILL.md +146 -32
  69. package/skills/ultra-tdd/SKILL.md +14 -4
  70. package/skills/ultra-tdd/references/test-execution.md +6 -1
  71. package/skills/ultra-test/SKILL.md +157 -15
  72. package/skills/ultra-test/scripts/validate_review_transport.cjs +549 -0
  73. package/skills/ultra-test/scripts/worktree_digest.cjs +551 -29
  74. package/skills/ultra-think/SKILL.md +5 -10
  75. package/skills/ultra-think/references/interaction-boundary.md +2 -1
@@ -1,10 +1,5 @@
1
1
  # Task {id}: {title}
2
2
 
3
- > **Status**: pending | **Priority**: {priority} | **Complexity**: {complexity}
4
-
5
- <!-- Status here and in tasks.json must always match. Both are written together, then both
6
- are read back to confirm. A single-sided write breaks cross-host resume. -->
7
-
8
3
  ## Context
9
4
 
10
5
  **What**: [what to build or change]
@@ -17,30 +12,48 @@
17
12
 
18
13
  ## Implementation
19
14
 
20
- **Target Files**:
21
- - `path/to/file.ts` (create)
22
- - `path/to/existing.ts` (modify: description)
23
-
24
- **Layers touched**: [entry point / use case / domain / persistence — must be ≥2]
15
+ **Layers touched**: [entry point / use case / domain / persistence]
25
16
 
26
17
  **Pattern**: [existing code to follow]
27
18
 
28
19
  **Tech Notes**: [framework or library specifics]
29
20
 
21
+ ## Planned Path Inventory
22
+
23
+ `MODIFY`:
24
+
25
+ - `path/to/existing.ts`
26
+
27
+ `CREATE`:
28
+
29
+ - `path/to/file.ts`
30
+
31
+ Any later addition, removal, or rename in this inventory or the Public Seams below is
32
+ plan-critical and requires a rebuilt Execution Packet plus owner reapproval before
33
+ implementation continues.
34
+
35
+ ## Public Seams
36
+
37
+ - `[entry point, schema, file contract, or other externally observable seam]`
38
+
39
+ ## Narrow Verification
40
+
41
+ - `exact command for the smallest relevant contract suite`
42
+ - `[inspection, owner record, or external observation required by the typed criteria]`
43
+
30
44
  ## Acceptance Criteria
31
45
 
32
- <!-- The verifiable definition of done. Read by mid_workflow_recall and session_context, and
33
- injected into agent context — keep every line testable and keep noise out. -->
46
+ <!-- The typed definition of done. Readers inject this section into agent context; keep
47
+ every criterion observable and keep noise out. The ledger is the sole Status source. -->
34
48
 
35
49
  **Change Acceptance IDs**: [`AC-1`, `AC-3`, or `none` for task-local-only work]
36
50
 
37
- - [ ] `exact test command`
38
- - [ ] Pass: [scenario 1]
39
- - [ ] Pass: [scenario 2]
40
- - [ ] Integration: [the one test proving this connects to its upstream/downstream boundary]
41
-
42
- <!-- Manual verification, deliberately outside the injected section:
43
- curl -X POST localhost:3000/api/example -->
51
+ | ID | Criterion | Verification type | Required evidence |
52
+ |---|---|---|---|
53
+ | A-01 | [observable criterion] | `command` | exact command, cwd, exit code, raw evidence ref, and freshness identity |
54
+ | A-02 | [observable criterion] | `inspection` | source/path, observed fact, and revision |
55
+ | A-03 | [owner decision when genuinely required] | `owner-judgment` | durable owner statement or explicit disposition |
56
+ | A-04 | [external fact when genuinely required] | `external-observation` | provider, run id, timestamp, raw evidence ref, and observation |
44
57
 
45
58
  ## Definition of Drift
46
59
 
@@ -53,10 +66,17 @@
53
66
 
54
67
  **Source**: `.ultra/specs/product.md#section-id`
55
68
 
56
- **Hard Constraints**: [`HC-1`, `HC-3`, or `none` — the north-star constraints this
57
- task could plausibly violate. Read them before the first edit and again before
58
- marking complete. Crossing one stops the work and goes to the owner, however good
59
- the argument.]
69
+ **First principles**: [`FP-1`, or every accepted principle this task relies on]
70
+
71
+ **Serves**: [`NS-1`, or every accepted outcome this task causally advances]
72
+
73
+ **Causal contribution**: [one task-local sentence connecting the planned seam to the
74
+ listed outcome through the listed principles; reference IDs and do not copy North Star
75
+ prose]
76
+
77
+ **Hard constraints**: [`HC-1`, `HC-3`, or `none` — the accepted constraints this task
78
+ could plausibly violate. Read them before the first edit and again before marking
79
+ complete. Crossing one stops the work and goes to the owner, however good the argument.]
60
80
 
61
81
  **Decisions**: [relevant `.ultra/decisions/<id>.md` entries, or `none`]
62
82
 
@@ -77,18 +97,33 @@ the argument.]
77
97
 
78
98
  ## Resume Note
79
99
 
80
- <!-- The single most important line for cross-session and cross-host continuation.
81
- Overwrite it whenever work pauses. Say where to pick up, not what was done. -->
100
+ <!-- Navigational state only: the current checkpoint, the next action a higher
101
+ authority has already allowed, unresolved prerequisites, and the cheapest
102
+ safe resume command or path. It cannot override current owner authority,
103
+ approved scope/budget, task acceptance, or a validated Review verdict, it
104
+ cannot promote P2/P3 findings into blockers, and it never requires a fresh
105
+ zero-finding review after a current APPROVE. It never carries or re-issues
106
+ an execution grant: continuing under a durable work-package grant requires
107
+ the consuming Agent to re-verify the recorded grant itself. Overwrite it
108
+ whenever work pauses. Say where to pick up, not what was done. When the
109
+ pause is owner-facing, the note answers the checkpoint semantics: why,
110
+ outcome, accepted boundary, delta, reality, decision needed, next bounded
111
+ action, and not-done. -->
82
112
 
83
113
  _(not started)_
84
114
 
85
115
  ## Completion
86
116
 
87
- > _Fill when the task is complete._
117
+ _Not completed._
118
+
119
+ ## Task Review
88
120
 
89
- - **Completed**: {date}
90
- - **Commit**: {hash}
91
- - **Summary**: {what was delivered}
121
+ - Execution Packet state/digest/limitation: `not_run`
122
+ - Review session identity and summary digest: `not_run`
123
+ - Blocking findings with resolution/disposition/evidence refresh refs: `not_run`
124
+ - Retention: retain the current strict review session until both aggregate Test and
125
+ Deliver consume it. Premature loss requires a fresh Review and Test; never reconstruct
126
+ the old receipt.
92
127
 
93
128
  ---
94
129
  *Generated by ultra-plan*
@@ -1,46 +1,52 @@
1
1
  # Project North Star
2
2
 
3
- > **Authority**: the owner's literal intent for this project, kept short enough to re-inject every
4
- > session. Every task must trace back here.
3
+ > **Authority**: `ultra-research` is the first semantic writer. This placeholder is
4
+ > owner-readable structure only; it is not an accepted direction, metric, or boundary.
5
5
  >
6
- > **Scope**: only what cannot be derived from `specs/product.md`. Success metrics,
7
- > excluded features, actors and scenarios stay in that file — do not copy them here.
6
+ > **Adoption**: Init creates this file with status `unresearched` and no semantic IDs.
7
+ > Research replaces it only after evidence collection and explicit owner acceptance.
8
8
 
9
- ---
9
+ ## Acceptance and Revision
10
10
 
11
- ## One-line
11
+ - Schema: `north-star-v2`
12
+ - Status: `unresearched`
13
+ - Revision: `none`
14
+ - Owner acceptance source: `none`
15
+ - Acceptance time: `not-recorded`
16
+ - Supersedes: `none`
12
17
 
13
- <!-- ONE sentence, in the owner's own words, describing what they want.
14
- Captured by ultra-init, or from the owner's first request.
15
- Do not paraphrase into product-speak: specs/product.md holds the processed version.
16
- The value of this line is that it is the unprocessed baseline you check the
17
- processed version against. -->
18
+ ## Problem Reality
18
19
 
19
- _(not yet defined — run `ultra-init`, or the first owner request will populate this)_
20
+ - Reality: [NEEDS RESEARCH]
21
+ - Evidence: [NEEDS RESEARCH]
22
+ - Unknowns: [NEEDS RESEARCH]
20
23
 
21
- ---
24
+ ## First-Principle Propositions
25
+
26
+ [NEEDS RESEARCH: Research creates stable proposition IDs only after owner acceptance.]
27
+
28
+ ## Value Causal Chain
29
+
30
+ [NEEDS RESEARCH: map accepted principles through capability and behavior to outcomes.]
31
+
32
+ ## North Star Outcomes
33
+
34
+ [NEEDS RESEARCH: do not create an outcome ID or metric during Init.]
22
35
 
23
36
  ## Hard Constraints
24
37
 
25
- <!-- What must never happen, even when convenient. These are prohibitions, not technical
26
- constraints — architecture.md holds those. Examples:
27
- - Never store plaintext passwords
28
- - Cannot break backwards compatibility with API v1
29
- - Bundle stays under 500 KB
30
- - External API cost stays under $X/month -->
38
+ [NEEDS RESEARCH: do not create a constraint ID during Init.]
39
+
40
+ ## Explicit Exclusions
31
41
 
32
- _(not yet defined)_
42
+ - [NEEDS RESEARCH]
33
43
 
34
- ---
44
+ ## Uncertainties and Revisit Triggers
35
45
 
36
- ## Notes for agents
46
+ - [NEEDS RESEARCH]
37
47
 
38
- 1. Re-anchor on the One-line — that is the literal owner request. When the spec and this line
39
- disagree, the spec drifted.
40
- 2. Check Hard Constraints before any "improvement". An improvement that violates a constraint is
41
- a regression.
42
- 3. If your current work does not trace back here, **stop and ask**. You may be building the
43
- wrong thing.
48
+ ## Research Trace
44
49
 
45
- The One-line is injected by `session_context` at SessionStart. `mid_workflow_recall`
46
- re-injects the active task acceptance before relevant tool use. See PHILOSOPHY C1.
50
+ - Project Brief: `project-brief.md`
51
+ - Research runs: none
52
+ - Sources and decisions: none
@@ -0,0 +1,28 @@
1
+ # Project Brief
2
+
3
+ > **Authority**: raw owner intake captured by `ultra-init`. It preserves what the owner
4
+ > initially asked for and the broad outline needed to begin research. It is not an
5
+ > evidence-backed product baseline.
6
+ >
7
+ > **Lifecycle**: `ultra-research` reads this seed and promotes accepted conclusions into
8
+ > the North Star, specifications, domain language, or decisions. It does not rewrite the
9
+ > brief to make later conclusions look inevitable.
10
+
11
+ ## One-line
12
+
13
+ [NEEDS CLARIFICATION]
14
+
15
+ ## Initial Outline
16
+
17
+ - What it is: [NEEDS CLARIFICATION]
18
+ - Broadly for whom or what: [NEEDS CLARIFICATION]
19
+ - Intended result: [NEEDS CLARIFICATION]
20
+ - Broad boundary: [NEEDS CLARIFICATION]
21
+
22
+ ## Explicit Inputs
23
+
24
+ - [NEEDS CLARIFICATION]
25
+
26
+ ## Open Questions for Research
27
+
28
+ - [NEEDS CLARIFICATION]
@@ -60,6 +60,10 @@ Scope status must reflect an explicit decision. Do not infer a reduced product p
60
60
 
61
61
  ## 22 Outcomes and Measurements
62
62
 
63
+ The accepted project direction and any single North Star outcome or metric live in
64
+ `.ultra/north-star.md`. Record supporting outcomes, measures, and guardrails here; do
65
+ not force one metric when an observable outcome plus guardrails is the honest contract.
66
+
63
67
  | Outcome or guardrail | Definition | Evidence source | Decision use | Owner |
64
68
  |---|---|---|---|---|
65
69
  | | | | | |
@@ -28,6 +28,14 @@ specifications' prose.
28
28
  |---|---|---|
29
29
  | | | |
30
30
 
31
+ ## Source Revisions
32
+
33
+ | Canonical source | Git blob hash from `git hash-object` | Status |
34
+ |---|---|---|
35
+ | `.ultra/specs/product.md` | | current or stale |
36
+ | `.ultra/specs/architecture.md` | | current or stale |
37
+ | `.ultra/specs/discovery.md` | | current or stale |
38
+
31
39
  ## End-to-End Trace
32
40
 
33
41
  | Problem or constraint | Actor and scenario | Requirement and acceptance | Architecture path | Verification |
@@ -1,3 +1,4 @@
1
1
  {
2
+ "$schema": "ultra-task-ledger-v2",
2
3
  "tasks": []
3
4
  }
@@ -1,8 +1,10 @@
1
1
  {
2
- "$schema": "ultra-test-report-v1",
2
+ "$schema": "ultra-test-report-v2",
3
3
  "change_id": null,
4
4
  "task_ids": [],
5
+ "task_evidence": [],
5
6
  "git_commit": null,
7
+ "intent_digest": null,
6
8
  "worktree": {
7
9
  "dirty": null,
8
10
  "diff_digest": null
@@ -16,6 +18,21 @@
16
18
  "performance": {"status": "not_run", "evidence_refs": [], "omissions": ["Not yet run"]},
17
19
  "security": {"status": "not_run", "evidence_refs": [], "omissions": ["Not yet run"]}
18
20
  },
21
+ "review": {
22
+ "session": null,
23
+ "packet_digest": null,
24
+ "admission_digest": null,
25
+ "subject_digest": null,
26
+ "execution_mode": null,
27
+ "finding_schema": "ultra-review-findings-v4",
28
+ "summary_ref": null,
29
+ "summary_digest": null,
30
+ "context_digest": null,
31
+ "worktree_digest": null,
32
+ "verdict": "INCOMPLETE",
33
+ "coverage_refs": [],
34
+ "limitations": ["Not yet run"]
35
+ },
19
36
  "verified_seams": [],
20
37
  "findings": [],
21
38
  "omissions": ["Not yet run"],
package/CHANGELOG.md CHANGED
@@ -7,6 +7,230 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.0.2] — 2026-08-18
11
+
12
+ ### Added
13
+
14
+ - Implemented the r3 North Star projection under a verified primary transfer:
15
+ North Star revision `north-star-v2-r3` with the new `FP-8` (Agent handover is
16
+ exclusive, verified, and recoverable), a new acceptance decision and immutable
17
+ snapshot, and the exact ZCode sole-writer durable grant
18
+ `ubp3-r3-zcode-2026-08-17` recorded in `.ultra/decisions/`.
19
+ - Added the primary-transfer contract between Agents
20
+ (`skills/ultra-change/references/primary-transfer.md`): an owner-granted
21
+ OFFER → verified ACK → sole-writer execution → frozen terminal RESULT protocol
22
+ over canonical files and Git, mutually exclusive with delegated workers,
23
+ with derived receipts under `.ultra/.runtime/handoffs/` and a mechanical
24
+ validator (`skills/ultra-change/scripts/validate_primary_transfer.cjs`) plus
25
+ authority, permission, effect, stale/revoke/interrupt/resume/cancel, and
26
+ missing-receipt recovery regressions (`tests/primary-transfer.test.cjs`).
27
+ `ultra-change`, `ultra-status`, and `ultra-delegate` consume the contract.
28
+ - Added the versioned closeout-transition contract
29
+ (`ultra-primary-transfer-closeout-v1` in
30
+ `skills/ultra-change/references/primary-transfer.md`): the immutable
31
+ reviewed subject of a newest completed v2 RESULT is separated from exactly
32
+ one uncommitted prescribed post-review closeout (final evidence record,
33
+ task-context closeout sections, ledger `completed`) through a CLOSEOUT
34
+ receipt that starts no review or handoff and never commits, while
35
+ implementation, Acceptance, PPI, pre-review-evidence, and unrelated-ledger
36
+ drift stays typed-stale; owner-authorized continuations between freeze and
37
+ closeout are recorded, bounded, and pinned. The closed task's ledger row is
38
+ bound ex-status (unique, `in_progress` → `completed`, every other field
39
+ structure-equivalent, re-read live), and `authorized_by` binds the existing
40
+ `ultra-external-review-receipt-v1` semantics (read-only reviewer, exact
41
+ task/change identity, authority and reviewed-contract refs by stable bytes,
42
+ subject equal to the closeout start, `approve` with no P0/P1). Regressions
43
+ cover the terminal
44
+ green path without RESULT edit or commit, structural and citation
45
+ rejections, drift during/after closeout (including current-row field drift),
46
+ continuation bounds, and preserved
47
+ history (`tests/primary-transfer.test.cjs`).
48
+ - Repaired the contract in the owner-authorized Round 1 pass
49
+ (`ubp3-r3-zcode-desktop-r1`): transfer validation is now phase-correct (an
50
+ ACK is a pre-write boundary record, so expected receiver edits never
51
+ self-invalidate an active or completed transfer; a superseded or v1 terminal
52
+ receipt stays historical), all receipt and bound-input reads are bounded
53
+ ordinary-file no-follow identity-checked reads (typed rejection for symlinks,
54
+ FIFOs, directories, oversize, and replacement), and a v2 terminal RESULT
55
+ binds the recomputed final HEAD, product worktree digest, exact full product
56
+ path inventory, and final frozen-input digests. Review-budget precedence is
57
+ one rule — an exact current owner grant overrides the versioned product
58
+ default (one initial review plus at most two P0/P1 delta reviews); P2/P3
59
+ never auto-extend, and the same root surviving three failed fixes stops
60
+ point-patching as an architecture problem. The ZCode delegate transport now
61
+ requires visible `--ack-experimental` acknowledgment and stamps
62
+ `transport_maturity`/`transport_surface` truth on every receipt and result,
63
+ so an app-internal CLI run can never be presented as the documented ZCode
64
+ Desktop interactive surface.
65
+ - Closed the two Round 2 misses on the same roots: transfer validation is now
66
+ fail-closed (an unobservable HEAD/Git is a typed `git_unavailable` error
67
+ instead of a green warning) and every read goes through the worktree-digest
68
+ tool's one shared stable snapshot primitive with parent-chain walks, exact
69
+ handoff-directory replay, same-subject supersession, and one finite coherent
70
+ digest×manifest terminal observation; every delegated ZCode terminal result
71
+ (finished, failed, cancelled, interrupted) now mechanically carries
72
+ `experimental_ack: true` when `--ack-experimental` authorized the run.
73
+ - Closed the final Round 3 miss on the same root: repo-wide handoff-root
74
+ discovery reuses the one stable directory observation — a symlinked,
75
+ unreadable, malformed, drifting, or oversize handoffs root (or entry) fails
76
+ typed and closed instead of silently reading as zero handoffs with
77
+ `valid: true`, while an absent root still legitimately means no transfers.
78
+ - Implemented the accepted Ultra Builder Pro 3.0 design as one Mode B durable
79
+ work-package projection: North Star revision `north-star-v2-r2` with seven first
80
+ principles, five observable outcomes (`NS-01`-`NS-05`), and eight hard constraints;
81
+ the provider-neutral Ultra Core Protocol naming across public docs; the
82
+ owner-facing checkpoint contract (why, outcome, accepted boundary, delta, reality,
83
+ decision needed, next bounded action, not-done); the per-fact artifact-authority
84
+ matrix with an explicit Execution Grant row and four effect classes; and the
85
+ optional Graph/Loop control-plane boundary documented as not integrated.
86
+ - Added dual-mode execution grants: session-local by default, `durable work-package`
87
+ by exact owner record, with stable verification, invalidation, and portable
88
+ handoff semantics in `skills/ultra-change/references/execution-grant.md`;
89
+ Status reports a recorded durable grant as inactive data awaiting verification.
90
+ - Added work-package review convergence bounded by an owner-visible budget: the
91
+ released default is at most one initial Review plus two P0/P1 delta Reviews per
92
+ coherent package, with explicit terminal outcomes, no self-extended budget, and
93
+ mandatory stop signals when repairs expose distinct root causes. Exact defaults
94
+ live in the versioned product contract; exact overrides in owner grants.
95
+ - Added ZCode as a sixth native host with fourteen Skills, five hook registrations, a
96
+ managed local marketplace, inline-plugin activation, Doctor, update, uninstall, and
97
+ bounded source/target delegation profiles. The App-bundled headless CLI transport
98
+ is recorded `experimental` in the shared host profile until official documentation
99
+ plus a full recovery drill meet the support bar.
100
+ - Added canonical North Star traces from Research through Change, Plan, review, Test,
101
+ and delivery, plus adversarial challenges at Research checkpoints 04, 21, and 99.
102
+ - Added review coverage references, recorded isolated-versus-sequential execution mode,
103
+ mandatory Plan and aggregate Test reviews, blind cross-family probes, and a seeded
104
+ adversarial evaluation fixture.
105
+
106
+ ### Changed
107
+
108
+ - Made review topology owner-selected per stage with a one-reviewer default: initial
109
+ task review selects `review-spec` plus risk/touched-seam lenses, delta reviews rerun
110
+ only affected lenses, and the aggregate full-roster default applies only when
111
+ cross-task wiring justifies it — never a mandatory count or a quality proxy.
112
+ - Split `ultra-deliver` entry by invocation kind: a model-selected Deliver run under a
113
+ grant may reconcile, review, and report, then stops before finalization; writing
114
+ `delivery.md`, version/package posture, and archiving require a current explicit
115
+ owner invocation in every grant mode.
116
+ - Replaced the Change-scoped same-session Autonomy Envelope (superseded name,
117
+ historical) with the dual-mode
118
+ Execution Grant contract (`## Execution Grant` in every intent, `session-local`
119
+ default); renamed `AUTONOMY_CONTINUABLE_SKILLS` to `GRANT_CONTINUABLE_SKILLS` and
120
+ removed the unused `requiresAutonomyEnvelope` policy field.
121
+ - Closed the superseded `chg-v027-lifecycle-closure` Change with an exact
122
+ abandonment record citing the Mode B grant and successor `chg-ultra-3-0-mode-b`;
123
+ its pending v0.27 task rows remain inert append-only history.
124
+ - Made `validate_repo_path` in the review waiter reject symlink and non-directory
125
+ path components at validation time (Python 3.13 `resolve(strict=False)` no longer
126
+ raises on symlink loops).
127
+ - Made the task-evidence audit and review-wait fixtures derive the repository
128
+ North Star decision, snapshot, revision, and trace IDs dynamically instead of
129
+ locking revision r1.
130
+ - Raised the Grok delegation turn ceiling to twelve and retained launcher-side strict
131
+ result validation; Kimi delegation can now select a model explicitly.
132
+ - Made Claude delegation rely on strict launcher validation instead of a native schema
133
+ option rejected by current Claude Code.
134
+ - Embedded each digest-bound instruction and permission packet in the worker prompt so
135
+ OpenCode can keep external-directory access denied, and projected a Codex-compatible
136
+ native result schema while retaining stronger launcher validation.
137
+
138
+ ### Fixed
139
+
140
+ - Replaced the release gate's load-sensitive fixed delay for strict Review
141
+ admission pinning with an explicit subprocess read handshake, so a slow clean
142
+ CI checkout cannot capture the already-mutated receipt and falsely pass the
143
+ polling invariant.
144
+ - Made the release gate reproducible from a clean checkout: installer integration
145
+ tests use an isolated Codex CLI fixture, and completed-task audits consume canonical
146
+ evidence after Review and Handoff receipts have reached their documented GC boundary.
147
+ - Made no-op ZCode hook adapters emit an actually empty stdout response, matching the
148
+ host's strict hook parser instead of intermittently failing a benign tool call on `{}`.
149
+ - Shared the macOS App-bundled ZCode CLI fallback between native plugin lifecycle
150
+ checks and delegated target launches when `zcode` is not available on `PATH`.
151
+ - Removed a delegated-result prompt contradiction by listing `$schema` in the exact
152
+ required field set, matching the launcher's fail-closed result validator.
153
+ - Added a resident entry guard to every implicitly discoverable public workflow so a
154
+ missing live execution grant stops before workflow work begins: a session-local grant
155
+ requires current conversation activation, and a durable work-package grant requires
156
+ stable verification by the consuming Agent.
157
+ - Raised the direct `js-yaml` floor to 4.3.1 so the release dependency audit no longer
158
+ includes the high-severity `!!omap` quadratic-consumption advisory.
159
+
160
+ ### Verified
161
+
162
+ - Completed authenticated read-only target delegation with Claude Code, Codex,
163
+ OpenCode, Kimi Code, and ZCode; Grok Build's malformed terminal output failed closed.
164
+ - Re-ran ZCode target delegation without a binary override on a machine where `zcode`
165
+ is absent from `PATH`; the App-bundled fallback returned a validated empty-diff result.
166
+ - Completed one bounded ZCode automatic-coding run through Plan, adversarial reviews,
167
+ TDD, and Test with 3/3 tests passing, then stopped before ungranted delivery, commit,
168
+ push, publication, or deployment.
169
+
170
+ ## [0.26.2] — 2026-08-04
171
+
172
+ ### Added
173
+
174
+ - Added `.ultra/project-brief.md` as the raw owner-intake artifact and optional
175
+ Research `wayfinding.md` navigation for unclear multi-lens paths, without adding a
176
+ fifteenth Skill or another semantic authority.
177
+ - Expanded Research alternatives beyond direct competitors and made a single North
178
+ Star metric optional when an observable outcome plus guardrails is more honest.
179
+
180
+ ### Changed
181
+
182
+ - Narrowed `ultra-init` to the Project Brief and empty skeleton, made
183
+ `ultra-research` own the first accepted North Star, domain language, and
184
+ specification baseline, and limited `ultra-change` to touched baseline sections.
185
+ - Made the first six Research lenses dependency-aware and kept Grilling, Think, and
186
+ Domain Modeling as caller-bounded reusable methods rather than Research stages or
187
+ owner routes.
188
+ - Routed `ultra-status` from semantic file contents instead of a Research completion
189
+ bit or any single unresolved marker.
190
+ - Gave every Change one stable id across active, archive, and abandoned positions;
191
+ made the task ledger append-only and every current reader active-id scoped.
192
+ - Added explicit `none`, `bounded`, and `required` Research Disposition contracts,
193
+ one-task planning for quick Changes, and two-pass delivery against a fresh semantic
194
+ plus product snapshot.
195
+ - Gave the exact Change Contract explicit Profile rationale and Risk flags fields so
196
+ its required blast-radius decision has one stable representation.
197
+ - Kept ordinary technical seam selection model-owned and made delegation reachable for
198
+ task execution, scoped Research evidence, and aggregate Change review without
199
+ manufacturing task rows.
200
+
201
+ ### Fixed
202
+
203
+ - Made session context prefer the accepted North Star, fall back to the Project Brief
204
+ before Research, retain legacy one-line compatibility, and always append active task
205
+ acceptance when present.
206
+ - Bound Research distillates to the actual `git hash-object` value of all three
207
+ baseline specifications so staleness is mechanically observable.
208
+ - Prevented archived or abandoned unfinished tasks, invalid Change ids, blocked
209
+ dependencies, and ambiguous multiple `in_progress` rows from being injected as the
210
+ current Hook acceptance.
211
+ - Made canonical `change_id` override a conflicting legacy `change_ref`, so migration
212
+ compatibility cannot revive a historical task.
213
+ - Bound Test reports to exact Change id, ordered task ids, intent digest, HEAD, and a
214
+ product-worktree digest that excludes the report and Change-directory metadata while
215
+ binding current intent separately, so product reconciliation requires retest while
216
+ delivery metadata and archive finalization do not self-invalidate.
217
+ - Prevented a separate request from opening a second active Change, and gave abandoned
218
+ intents an exact owner decision, reason, reusable-evidence, and recovery closure read
219
+ by future Change and Status workflows.
220
+ - Kept non-publishing package inspection diagnostic while the explicit Deliver gate
221
+ blocks release-package creation only for an undispositioned changed export with no
222
+ non-test consumer.
223
+ - Made that gate's authorization path use the finding disposition in the current Test
224
+ report and carry the accepted decision into `delivery.md`.
225
+ - Aligned `.npmignore` with the explicit package allowlist and locked all eight
226
+ maintained product documents into the tarball smoke contract.
227
+
228
+ ### Verified
229
+
230
+ - Passed 119 Node tests, 21 Hook tests, 14 Skill Creator validations, five isolated
231
+ host install/Doctor/uninstall lifecycles, a 115-entry package dry-run inspection, and
232
+ an audit with zero vulnerabilities.
233
+
10
234
  ## [0.26.1] — 2026-08-03
11
235
 
12
236
  ### Added
@@ -1222,7 +1446,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1222
1446
  skill manifest, CLI protocol + mapping table; 5 spec validators.
1223
1447
  - **Phase 0 — skeleton**: multi-runtime installer scaffolding.
1224
1448
 
1225
- [Unreleased]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.26.1...HEAD
1449
+ [Unreleased]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v3.0.2...HEAD
1450
+ [3.0.2]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.26.2...v3.0.2
1451
+ [0.26.2]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.26.1...v0.26.2
1226
1452
  [0.26.1]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.26.0...v0.26.1
1227
1453
  [0.26.0]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.25.1...v0.26.0
1228
1454
  [0.25.1]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.25.0...v0.25.1