ultra-builder-pro-cli 5.0.1 → 6.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 (159) hide show
  1. package/CHANGELOG.md +103 -3
  2. package/README.md +67 -478
  3. package/README.zh-CN.md +49 -422
  4. package/adapters/_shared/frontmatter.cjs +1 -18
  5. package/adapters/_shared/plugin-core.cjs +17 -83
  6. package/adapters/_shared/runtime-assets.cjs +6 -120
  7. package/adapters/claude.js +8 -24
  8. package/adapters/codex.js +13 -32
  9. package/bin/install.js +35 -57
  10. package/docs/PLUGIN-ISOLATION-CONTRACT.md +13 -101
  11. package/docs/examples/drive/claude-reviewer.sh +53 -0
  12. package/docs/examples/drive/claude-writer.sh +43 -0
  13. package/engine/FORMATS.md +1051 -0
  14. package/engine/checks.cjs +139 -0
  15. package/engine/cli.cjs +148 -0
  16. package/engine/completion.cjs +48 -0
  17. package/engine/context.cjs +94 -0
  18. package/engine/drive.cjs +220 -0
  19. package/engine/expect-worker.cjs +5 -0
  20. package/engine/expect.cjs +33 -0
  21. package/engine/formats.cjs +189 -0
  22. package/engine/git-state.cjs +112 -0
  23. package/engine/ledger.cjs +205 -0
  24. package/engine/loading.cjs +28 -0
  25. package/engine/merge.cjs +273 -0
  26. package/engine/milestone.cjs +89 -0
  27. package/engine/plan.cjs +232 -0
  28. package/engine/project.cjs +5 -0
  29. package/engine/signals.cjs +3 -0
  30. package/engine/states.cjs +175 -0
  31. package/hooks/session-start.cjs +54 -0
  32. package/package.json +17 -52
  33. package/skills/ultra/SKILL.md +395 -0
  34. package/.ultra-template/changes/abandoned/.gitkeep +0 -0
  35. package/.ultra-template/changes/active/.gitkeep +0 -1
  36. package/.ultra-template/changes/archive/.gitkeep +0 -1
  37. package/.ultra-template/contexts/TEMPLATE.md +0 -135
  38. package/.ultra-template/decisions/.gitkeep +0 -1
  39. package/.ultra-template/evidence/.gitkeep +0 -1
  40. package/.ultra-template/north-star.md +0 -52
  41. package/.ultra-template/project-brief.md +0 -28
  42. package/.ultra-template/research/.gitkeep +0 -1
  43. package/.ultra-template/specs/architecture.md +0 -81
  44. package/.ultra-template/specs/discovery.md +0 -74
  45. package/.ultra-template/specs/product.md +0 -80
  46. package/.ultra-template/specs/research-distillate.md +0 -57
  47. package/.ultra-template/tasks.json +0 -4
  48. package/.ultra-template/test-report.json +0 -44
  49. package/adapters/_shared/host-profile.cjs +0 -5
  50. package/adapters/grok.js +0 -242
  51. package/adapters/kimi.js +0 -232
  52. package/adapters/opencode.js +0 -408
  53. package/adapters/zcode.js +0 -375
  54. package/bin/delegate-worker.cjs +0 -5
  55. package/bin/delegate.cjs +0 -5
  56. package/docs/ARCHITECTURE.md +0 -274
  57. package/docs/ARTIFACT-AUTHORITY.md +0 -305
  58. package/docs/DECISIONS.md +0 -229
  59. package/docs/PHILOSOPHY.md +0 -261
  60. package/docs/RUNTIME-COMPAT-MATRIX.md +0 -316
  61. package/docs/SKILL-AUTHORING.md +0 -113
  62. package/docs/WORKFLOW-LIFECYCLE.md +0 -350
  63. package/docs/evals/adversarial-review-2026-08-14.md +0 -84
  64. package/docs/evals/ultra-5-0-journey-results.md +0 -62
  65. package/docs/evals/ultra-5-0-live-acp-conformance.md +0 -93
  66. package/docs/evals/ultra-5-0-route-journeys.md +0 -145
  67. package/docs/evals/zcode-automation-2026-08-14.md +0 -103
  68. package/hooks/README.md +0 -52
  69. package/hooks/_common.py +0 -1779
  70. package/hooks/adapters/codex.py +0 -295
  71. package/hooks/adapters/grok.py +0 -134
  72. package/hooks/adapters/kimi.py +0 -156
  73. package/hooks/adapters/zcode.py +0 -227
  74. package/hooks/block_dangerous_commands.py +0 -201
  75. package/hooks/compact_context.py +0 -224
  76. package/hooks/mid_workflow_recall.py +0 -47
  77. package/hooks/post_edit_guard.py +0 -215
  78. package/hooks/session_context.py +0 -741
  79. package/skills/ultra-change/SKILL.md +0 -165
  80. package/skills/ultra-change/references/change-contract.md +0 -199
  81. package/skills/ultra-change/references/execution-grant.md +0 -109
  82. package/skills/ultra-change/references/primary-transfer.md +0 -273
  83. package/skills/ultra-change/scripts/validate_primary_transfer.cjs +0 -1928
  84. package/skills/ultra-delegate/SKILL.md +0 -195
  85. package/skills/ultra-delegate/patches/zcode-acp-0.1.0-zcode-0.16.5.patch +0 -184
  86. package/skills/ultra-delegate/references/delegation-contract.md +0 -138
  87. package/skills/ultra-delegate/scripts/acp-conformance.cjs +0 -287
  88. package/skills/ultra-delegate/scripts/acp-driver.cjs +0 -762
  89. package/skills/ultra-delegate/scripts/agent-execution-driver.cjs +0 -320
  90. package/skills/ultra-delegate/scripts/cli-driver.cjs +0 -61
  91. package/skills/ultra-delegate/scripts/delegate-profiles/kimi-read-only.md +0 -15
  92. package/skills/ultra-delegate/scripts/delegate-profiles/kimi-write.md +0 -17
  93. package/skills/ultra-delegate/scripts/delegate-worker.cjs +0 -328
  94. package/skills/ultra-delegate/scripts/delegate.cjs +0 -690
  95. package/skills/ultra-delegate/scripts/delegate_wait.py +0 -86
  96. package/skills/ultra-delegate/scripts/host-profile.cjs +0 -267
  97. package/skills/ultra-deliver/SKILL.md +0 -194
  98. package/skills/ultra-deliver/references/baseline-reconciliation.md +0 -41
  99. package/skills/ultra-dev/SKILL.md +0 -265
  100. package/skills/ultra-dev/references/debugging.md +0 -22
  101. package/skills/ultra-domain-modeling/SKILL.md +0 -79
  102. package/skills/ultra-grilling/SKILL.md +0 -121
  103. package/skills/ultra-grilling/references/reframing.md +0 -76
  104. package/skills/ultra-init/SKILL.md +0 -143
  105. package/skills/ultra-init/references/brownfield-adoption.md +0 -32
  106. package/skills/ultra-init/scripts/init_project.cjs +0 -1031
  107. package/skills/ultra-plan/SKILL.md +0 -160
  108. package/skills/ultra-plan/references/task-evidence-v2.md +0 -300
  109. package/skills/ultra-plan/scripts/validate_task_evidence.cjs +0 -859
  110. package/skills/ultra-research/SKILL.md +0 -167
  111. package/skills/ultra-research/references/00-problem-validation.md +0 -36
  112. package/skills/ultra-research/references/01-opportunity-discovery.md +0 -33
  113. package/skills/ultra-research/references/02-market-assessment.md +0 -31
  114. package/skills/ultra-research/references/03-alternatives.md +0 -31
  115. package/skills/ultra-research/references/04-product-strategy.md +0 -41
  116. package/skills/ultra-research/references/05-assumptions-validation.md +0 -31
  117. package/skills/ultra-research/references/10-user-personas.md +0 -30
  118. package/skills/ultra-research/references/11-user-scenarios.md +0 -28
  119. package/skills/ultra-research/references/20-user-stories.md +0 -31
  120. package/skills/ultra-research/references/21-features-scope.md +0 -38
  121. package/skills/ultra-research/references/22-success-metrics.md +0 -33
  122. package/skills/ultra-research/references/30-architecture-context.md +0 -30
  123. package/skills/ultra-research/references/31-solution-strategy.md +0 -28
  124. package/skills/ultra-research/references/32-building-blocks.md +0 -28
  125. package/skills/ultra-research/references/40-deployment.md +0 -29
  126. package/skills/ultra-research/references/41-quality-risks.md +0 -28
  127. package/skills/ultra-research/references/99-synthesis.md +0 -59
  128. package/skills/ultra-research/references/north-star-v2.md +0 -168
  129. package/skills/ultra-research/references/wayfinding.md +0 -50
  130. package/skills/ultra-research/scripts/validate_north_star.cjs +0 -1174
  131. package/skills/ultra-review/SKILL.md +0 -275
  132. package/skills/ultra-review/references/adversarial-evaluation.md +0 -31
  133. package/skills/ultra-review/references/code.md +0 -17
  134. package/skills/ultra-review/references/comments.md +0 -12
  135. package/skills/ultra-review/references/design.md +0 -12
  136. package/skills/ultra-review/references/errors.md +0 -13
  137. package/skills/ultra-review/references/review-modes.md +0 -29
  138. package/skills/ultra-review/references/spec.md +0 -18
  139. package/skills/ultra-review/references/tests.md +0 -12
  140. package/skills/ultra-review/references/unified-schema.md +0 -284
  141. package/skills/ultra-review/references/worker-packet.md +0 -183
  142. package/skills/ultra-review/scripts/review_wait.py +0 -2943
  143. package/skills/ultra-status/SKILL.md +0 -209
  144. package/skills/ultra-status/references/route-contract.md +0 -100
  145. package/skills/ultra-tdd/SKILL.md +0 -91
  146. package/skills/ultra-tdd/references/templates/README.md +0 -20
  147. package/skills/ultra-tdd/references/templates/feature-flag-default-audit.sh +0 -79
  148. package/skills/ultra-tdd/references/templates/persistence-real.ts +0 -78
  149. package/skills/ultra-tdd/references/templates/testcontainer-postgres.py +0 -78
  150. package/skills/ultra-tdd/references/templates/testcontainer-postgres.ts +0 -73
  151. package/skills/ultra-tdd/references/templates/vertical-slice.ts +0 -66
  152. package/skills/ultra-tdd/references/test-execution.md +0 -23
  153. package/skills/ultra-test/SKILL.md +0 -244
  154. package/skills/ultra-test/references/export-syntax.md +0 -18
  155. package/skills/ultra-test/scripts/validate_review_transport.cjs +0 -549
  156. package/skills/ultra-test/scripts/worktree_digest.cjs +0 -576
  157. package/skills/ultra-think/SKILL.md +0 -56
  158. package/skills/ultra-think/references/autonomy-boundary.md +0 -48
  159. package/skills/ultra-think/references/interaction-boundary.md +0 -42
@@ -1,275 +0,0 @@
1
- ---
2
- name: ultra-review
3
- description: Review one task diff or aggregate Change through owner-selected independent lenses, synthesize file-backed findings, and perform evidence-justified refactoring. Use when another skill needs task-level or delivery-level review without loading worker investigation into the main context.
4
- ---
5
-
6
- # Review through selected lenses without polluting the main context
7
-
8
- The parent owns scope and synthesis. Lens workers are read-only sensors. Refactoring
9
- happens here, after several slices make a useful structure visible, not inside TDD.
10
-
11
- ## Before you start
12
-
13
- 1. Resolve the review scope first. For task or active-Change review, read
14
- `../ultra-change/references/change-contract.md` and apply its **Active Change
15
- authority resolution** before reading any active `intent.md`, resolving the current
16
- `change_id` or task, reading context or acceptance, or creating a packet. A stable
17
- zero result stops with no current review scope; any typed diagnostic, including
18
- non-unique authority, stops with its repair before any `.ultra/reviews` packet write.
19
- After one valid authority, read its intent and `.ultra/tasks.json`, select only
20
- matching tasks, then read the scoped task's `context_file` and `## Resume Note`.
21
- Historical review must name its archived Change explicitly and never infer scope
22
- from unfinished status.
23
- 2. Read `CONTEXT.md`, relevant `.ultra/decisions/`, acceptance, evidence and exact diff.
24
- Task-review admission comes from the ledger `in_progress` row, task context,
25
- immutable packet, and actual pre-review evidence such as retained command output,
26
- inspected source, owner records, and external receipts. The first task review must
27
- not require the final `ultra-task-evidence-v2` record that it helps produce. For an
28
- aggregate Change review, require every completed task's current v2 record. Treat any
29
- legacy context Status, Complexity, or v1 evidence as a migration diagnostic rather
30
- than current completion truth. The ledger remains the sole task-status authority.
31
- Resolve the scope's `FP-*`, `NS-*`, and `HC-*` IDs against the accepted North Star
32
- revision; pass IDs and causal evidence, never a copied North Star prose mirror.
33
- 3. Create `.ultra/reviews/<session>/` and one immutable packet naming HEAD, scope,
34
- output path, acceptance and public seams. Follow `references/worker-packet.md` and
35
- record the exact ordered v2 `subject_observations` for the validated Change,
36
- acceptance sources, and canonical validator decision/snapshot sources. Then compute
37
- the SHA-256 of the exact packet bytes and do not edit it.
38
- 4. Before launching a lens, run `scripts/review_wait.py <session> packet
39
- --packet-digest <digest>`. A typed subject or byte mismatch requires a corrected new
40
- session; never repair the frozen packet in place. Success atomically writes the
41
- derived packet-bound `ADMISSION.json`; do not launch from copied stdout alone. This
42
- publication is create-once: the exact existing bytes are an idempotent success, while
43
- different existing bytes are an `admission_conflict` requiring a fresh session.
44
-
45
- ## Definition of done
46
-
47
- - The complete six-worker roster is dispositioned; every selected lens artifact and one
48
- summary exist, while skipped or failed lenses are explicit.
49
- - Each selected lens preserves every evidence-backed finding it can establish inside
50
- the authorized physical resource budget. A finding or file count never decides what
51
- is included, whether quality is sufficient, or whether the review has converged.
52
- - Findings preserve independent `spec_fidelity` and `engineering_standards` axes.
53
- - Every v4 finding carries `north_star_trace.first_principles`, `.serves`, and `.touches`
54
- arrays preserving the applicable `FP-*`/`NS-*`/`HC-*` trace and identifies a stale or
55
- contradictory trace without mechanically deciding semantic alignment.
56
- - `SUMMARY.json` records `execution_mode: isolated | sequential-shared-context`.
57
- - A task review's validated final summary precedes publication of its one canonical v2
58
- evidence record; review admission never invents a second evidence or status authority.
59
- - Refactors are justified by observed duplication or coupling and all affected checks rerun.
60
-
61
- ## Run the lenses
62
-
63
- Use the host's native bounded subagents, in the background where available; otherwise
64
- run them sequentially. The owner chooses the review topology per stage — one reviewer
65
- or several, which providers, which write scopes; the default is one reviewer, the
66
- current Agent. Lens selection follows the review kind, never a fixed count:
67
-
68
- - An **initial task review** always selects `review-spec` plus only the lenses
69
- justified by the current risk and the touched seams; a major or high-risk task may
70
- select the full six-lens roster only with recorded owner approval.
71
- - A **delta review** reruns only the lenses the exact blocking repair set can affect;
72
- it never re-audits the whole task and runs only inside the active review budget.
73
- - An **aggregate Change review** may default to all six only when the cross-task
74
- wiring justifies it; that is a selection reason, never a mandatory count or a
75
- quality proxy, and it never writes non-blocking refactor findings back into a
76
- completed task.
77
-
78
- Skipping a lens requires a stated reason recorded in `SUMMARY.json`; the rationale is
79
- evidence for the selection actually made, never a way to run less work. Give each
80
- worker the packet path and digest, `references/unified-schema.md`, and exactly one lens:
81
-
82
- - `references/code.md`
83
- - `references/design.md`
84
- - `references/errors.md`
85
- - `references/tests.md`
86
- - `references/spec.md`
87
- - `references/comments.md`
88
-
89
- Apply **Zero Context Pollution**: start the workers, immediately run
90
- `scripts/review_wait.py <session> agents --packet-digest <digest> <selected-stems>`,
91
- then read only the stable JSON files it returns. Validate `SUMMARY.json` with
92
- `scripts/review_wait.py <session> summary --packet-digest <digest>`. Do not read
93
- intermediate worker output or treat background notifications as completion. The sole
94
- information path is wait script to JSON artifact. These guards prevent partial results
95
- from becoming a semantic verdict.
96
-
97
- For v4, the waiter verifies the exact packet bytes, binds every requested stem to the
98
- packet worker and scope, resolves each finding trace as a packet subset, reloads all
99
- completed specialist artifacts in packet order, and rejects a summary that omits,
100
- rewrites, reorders, or injects any finding. It also verifies axis evidence refs and
101
- derives axis and overall verdicts from that immutable evidence. These are provenance and
102
- transport checks, never a replacement for a specialist's semantic judgment.
103
- Validator success therefore means only that the immutable transport and exact schemas
104
- agree. It never supplies a specialist finding, accepts an `owner-judgment`, or decides
105
- semantic pass.
106
- The `packet` command is the one admission boundary that checks current Git HEAD and
107
- reads current context, the exact active/archive/abandoned Change path already validated
108
- from `north_star_trace.path`, acceptance-source, and North Star bytes.
109
- It sends the already captured North Star bytes through the canonical Research
110
- validator's native stdin seam and requires that report to receipt the identical input;
111
- it does not implement a second Markdown grammar or interpret Change/acceptance prose.
112
- Admission atomically records those observations in `ADMISSION.json`. Strict v4 `agents`
113
- and `summary` require that packet-bound receipt. Every current specialist artifact and
114
- `SUMMARY.json` records the SHA-256 of the receipt's exact bytes as `admission_digest`
115
- plus its exact `subject_digest`; the waiters pin both values across every poll and final reload.
116
- They then reread only the exact packet and its frozen artifacts, so later task
117
- completion, Change archival, or North Star revision cannot erase historical review
118
- evidence. Packet, receipt, artifact, and canonical
119
- summary inputs are bounded stable regular-file snapshots; a fresh root rewalk verifies
120
- every recorded path-component and file identity after reading. A special file,
121
- replacement, oversize input, skipped admission, or invalid UTF-8/JSON returns typed
122
- repairable `incomplete` output rather than becoming evidence. Canonical validator stdout
123
- and stderr share one incremental byte ceiling; exceeding it terminates and reaps that
124
- attempt immediately.
125
- `ADMISSION.json` is derived and non-authoritative, but it is retained mechanical
126
- evidence until the session has completed its Test and Deliver consumption. If it is
127
- lost after any specialist artifact or `SUMMARY.json` exists, the strict session is
128
- `INCOMPLETE`; start a fresh review session instead of reconstructing or replacing the
129
- receipt. Before any output exists, packet mode may recreate a missing v2 receipt only
130
- when every packet-recorded byte length and SHA-256 still matches. A retained strict v1
131
- packet is read-compatible only with its exact existing receipt; packet mode never creates
132
- or recreates a v1 receipt. A newly published receipt is accepted only after a fresh
133
- canonical root rewalk confirms the session and exact receipt identity. When publication itself succeeded but
134
- one or more durability operations did not, packet mode returns `status: complete` with
135
- a typed `durability_warning`; multiple unresolved warnings are preserved together, and
136
- a temporary cleanup failure resolved by the final retry is not reported.
137
- It resolves the repository only from the canonical session path; packet paths and
138
- artifact file scope cannot be absolute, non-normalized, symlink-escaping, or broader
139
- than `diff_files`. Worker Packet v1 summaries use the packet-derived context digest and
140
- an explicit `worktree_digest: null` because v1 binds no exact worktree observation.
141
-
142
- Those commands require admission-contract v2 artifacts for every new session. Use `--legacy-v4`
143
- immediately after the packet digest only to read an immutable v4 session created before
144
- admission receipts and therefore lacking the current packet `admission_contract`
145
- marker. Use `--legacy-v3` only for an immutable historical v3 session. Either legacy
146
- flag rejects every packet marked strict v1 or v2; only truly historical unmarked
147
- packets, or packet-absent v3 history, enter compatibility mode.
148
- Neither flag permits new legacy artifacts, automatically falls back, or mutates history.
149
-
150
- Record `isolated` only when selected lenses had separate native contexts; otherwise
151
- record `sequential-shared-context`. A zero-finding artifact must cite real coverage or
152
- an explicit limitation; without either, record the review as `INCOMPLETE`.
153
- When an axis has no completed artifact, keep its exact evidence union as `[]` and mark it
154
- `INCOMPLETE`; never invent a placeholder artifact merely to satisfy the summary shape.
155
-
156
- ## Synthesize, repair and recheck
157
-
158
- Preserve findings unchanged in `SUMMARY.json`; group duplicates by root cause only in
159
- the human summary.
160
-
161
- Verdicts are terminal for the current subject. `APPROVE` ends the current task review
162
- even when P2 or P3 findings are retained — they stay in the report and go to the
163
- owner-selected backlog, and no fresh review of the same subject may be opened after a
164
- current `APPROVE`. `REQUEST_CHANGES` routes only the exact current P0/P1 finding ids
165
- (or a P2 the owner explicitly promoted); repair them as one in-scope repair set, then
166
- run one affected-lens delta review of that exact repair set inside the active review
167
- budget. When another `REQUEST_CHANGES` would exceed the active budget — or a delta
168
- that returns `INCOMPLETE` on evidence the budget cannot cover — return to the owner
169
- checkpoint: report the exact blocking set and stop instead of starting another
170
- automatic repair. When evidence proves a P2 actually blocks
171
- acceptance, reclassify it as P1 in the current review rather than routing a P2 label
172
- as a blocker. A finding outside the packet's `diff_files` is a scope-change proposal:
173
- record it, do not edit that path, and return it to the owner or Plan as a new subject.
174
-
175
- Resource budgets — time, tools, cost, review counts — stop execution only. Budget
176
- exhaustion returns `owner checkpoint` / `budget_exhausted` and keeps the task
177
- `in_progress` without disposing findings.
178
- It never yields `APPROVE`, `REQUEST_CHANGES`, `INCOMPLETE`, pass, fail, accept, or
179
- abandon, and a round, count, or budget number never measures semantic quality.
180
-
181
- ### Work-package convergence
182
-
183
- Review budget precedence is one rule: an exact current owner grant for this work
184
- package overrides the versioned product default; the released default is one initial
185
- review plus at most two P0/P1 delta reviews per coherent work package. Both are
186
- finite, owner-visible budgets, never a semantic quality measure.
187
-
188
- Only actual P0/P1 findings — or a P2 the owner explicitly promoted as a direct North
189
- Star blocker — trigger a delta review; P2/P3 findings are reported and never
190
- auto-repair or auto-extend any budget. Zero findings is never the completion
191
- condition — completion is the owner accepting the real result. A finding outside the
192
- current subject is a scope-change proposal for the owner or a future Change, never a
193
- reason to enlarge this package.
194
-
195
- When the same root cause survives three failed repair attempts, stop point-patching
196
- and report an architecture boundary problem. A remaining blocker at budget
197
- exhaustion returns the choice to the owner with the exact blocking set; never open
198
- an automatic round beyond the active grant, and never extend a budget yourself. The
199
- legal terminal outcomes are: owner risk acceptance, owner scope reduction or reset,
200
- a new explicitly authorized work package, an external blocker, a budget stop, or
201
- abandonment.
202
-
203
- Stop repairing and return to the owner when three repairs expose three distinct
204
- root causes, the same path keeps gaining validators, counters, mirrors, or
205
- replays, a formal terminal verdict conflicts with Resume/Hook/Status suggestions,
206
- the owner-visible outcome has materially drifted, the reviewer contract and the
207
- reviewed subject are the same changing thing, or you cannot name the concrete
208
- harm the next round would remove.
209
-
210
- The parent model judges `stalled` from the actual repair/evidence history, not
211
- from repair rounds, finding counts, or the number of files involved. Zero findings is
212
- never a completion condition: a zero-finding artifact must cite real coverage or an
213
- explicit limitation, and convergence is judged by evidence, never by an empty findings
214
- array. When repair is no longer justified, preserve an unresolved report that
215
- separates a possibly over-tight constraint, an insufficient fix, unavailable evidence,
216
- and an observed shared structural root. Return the reachable repair, retry,
217
- owner-disposition, or abandon path.
218
-
219
- Report both axes, exact scope, checks, residual findings and any refactor performed.
220
-
221
- ## Self-hosting review boundary
222
-
223
- Touching any of these paths makes the reviewed subject self-hosting:
224
-
225
- - `skills/ultra-review/**`, including `scripts/review_wait.py`;
226
- - review routing inside `skills/ultra-dev/**`, Review consumption inside
227
- `skills/ultra-test/**`, or Review/Test bounce inside `skills/ultra-deliver/**`;
228
- - the Review packet, schema, and transport tests;
229
- - Hook route or Resume authority under `hooks/`.
230
-
231
- A self-hosting review must pin its semantic baseline — the owner-accepted contract
232
- digest — and use a stable external reviewer boundary instead of judging its own
233
- changes with the changing reviewer. During the v0.27 H0 closure that boundary is one
234
- read-only external manual review by the owner-named reviewer; never use the local
235
- changing `ultra-review` implementation to approve itself, and treat a released tag
236
- only as a historical behavior reference, never as the current verdict authority.
237
-
238
- ## Recheck across model families
239
-
240
- Six lenses are six angles from one model family, so they share blind spots: what all
241
- six miss, a seventh angle from the same family misses too. Independence comes from a
242
- different model, not from another lens.
243
-
244
- When concrete effects make authorization, payments, personal data, migrations, or
245
- another accepted risk material, recommend a cross-family recheck and wait for the
246
- owner's decision. A profile label alone is not a semantic risk verdict. Do not
247
- invoke `ultra-delegate` unless the owner has explicitly asked for another model or host
248
- for this review. Once that authority exists, follow `../ultra-delegate/SKILL.md`.
249
-
250
- - For a **finding audit**, send `SUMMARY.json` plus the diff and ask which findings lack
251
- support. For a **blind adversarial probe**, send the Worker Packet, North Star Trace,
252
- and diff without `SUMMARY.json`, and ask what the local review missed.
253
- - Ask two things: which findings the evidence does not actually support, and what this
254
- diff gets wrong that no finding mentions. The second question is why the recheck is
255
- worth its cost.
256
- - A worker finding no local lens raised is a candidate, not a verdict. Verify it
257
- against the source exactly as a lens finding is verified, and record its origin.
258
- - Disagreement is information, not a tie to break. `ultra-delegate` already forbids
259
- turning a vote or a score into truth; record both readings with their evidence.
260
-
261
- ## When the owner decides
262
-
263
- The owner chooses risk acceptance, a scope reduction, or which stuck path to take.
264
- Workers never edit source, task state or another lens artifact.
265
-
266
- ## References
267
-
268
- - `../ultra-change/references/change-contract.md` — canonical Active Change authority resolution.
269
- - `references/unified-schema.md` — JSON contract shared by all lenses.
270
- - `references/worker-packet.md` — exact immutable input packet and digest procedure.
271
- - `references/review-modes.md` — choose task, Change, full, or delta scope.
272
- - `references/adversarial-evaluation.md` — use before adding or removing a review lens.
273
- - `../ultra-plan/references/task-evidence-v2.md` — current task evidence and task-review provenance.
274
- - `../ultra-delegate/SKILL.md` — read after the owner authorizes a cross-family recheck.
275
- - `../ultra-think/references/autonomy-boundary.md` — read before a fix reduces intent.
@@ -1,31 +0,0 @@
1
- # Adversarial review evaluation
2
-
3
- Use this protocol before changing the permanent lens roster. A plausible blind spot is
4
- a hypothesis; admit a new lens only when a blind evaluation shows unique useful coverage.
5
-
6
- ## Prepare a blind fixture
7
-
8
- Create or select a small repository snapshot containing known defects across acceptance,
9
- premise, executable behavior, tests, recovery, design, and maintained documentation.
10
- Keep the seed manifest outside every Worker Packet. Record the snapshot revision,
11
- accepted intent, North Star Trace, public seams, and commands available to workers.
12
-
13
- ## Compare equal runs
14
-
15
- Run the current six-lens roster first. Then run the candidate lens with the same packet,
16
- tool authority, model family, and bounded effort. Use isolated contexts where the host
17
- supports them and record the actual execution mode. Do not reveal seed ids, expected
18
- findings, earlier outputs, or the admission decision to either run.
19
-
20
- After artifacts are stable, map evidence-backed findings to the hidden seeds. Preserve
21
- misses, false positives, unavailable evidence, and disagreements; a vote or score does
22
- not decide truth. Repeat any claimed unique catch against a fresh context so leaked
23
- context or sampling noise is not mistaken for a durable capability.
24
-
25
- ## Admission decision
26
-
27
- Add a permanent lens only when it repeatedly finds a consequential, reproducible defect
28
- class the current roster misses and its question cannot be folded into an existing lens
29
- without losing independence. Otherwise strengthen the narrowest existing lens or keep
30
- the candidate as an occasional blind cross-family probe. Record the fixture revision,
31
- raw artifact paths, mapping rationale, decision, and cheapest future retest.
@@ -1,17 +0,0 @@
1
- # Code lens
2
-
3
- Review the exact diff plus only the callers, contracts, tests and configuration needed
4
- to establish a finding. Trace changed behavior from a production entry point to its
5
- consumer. Check correctness, trust boundaries, state consistency, recovery,
6
- observability, compatibility and reachability.
7
-
8
- Resolve the exact HEAD, range, intended outcome, and repository guidance from the
9
- Worker Packet. Report an empty or ambiguous scope instead of expanding it silently.
10
- Trace each candidate through entry point, state, side effect, failure and real consumer;
11
- discard it if no plausible trigger and observable impact survive that trace.
12
-
13
- Report only evidence-backed defects with a plausible trigger and concrete impact.
14
- Deduplicate by root cause, keep line ranges tight, and propose the smallest complete
15
- repair. Use `axis: engineering_standards` and the shared findings schema.
16
-
17
- The worker is read-only. Its only write is the assigned JSON artifact.
@@ -1,12 +0,0 @@
1
- # Comments lens
2
-
3
- Inspect changed comments, docstrings, examples, annotations and API documentation
4
- against the associated implementation and public contract. Report factual
5
- contradictions, stale names or behavior, unsafe operational advice, and an omission
6
- only when it makes a public or non-obvious contract materially misleading.
7
-
8
- TODO, FIXME, HACK and implementation narration are evidence to investigate, not
9
- automatic defects. Ignore wording preferences and harmless redundancy. Use `axis:
10
- engineering_standards`, category `comments`, and the shared findings schema.
11
-
12
- The worker is read-only. Its only write is the assigned JSON artifact.
@@ -1,12 +0,0 @@
1
- # Design lens
2
-
3
- Trace changed types and modules through constructors, callers, state, side effects and
4
- consumers. Look for bypassable invariants, ambiguous ownership, leaking boundaries and
5
- coupling that makes an accepted change unsafe.
6
-
7
- Treat length, nesting, parameter count and primitive data as investigation signals,
8
- not defects. Report complexity only when it creates a concrete correctness, testing,
9
- recovery or maintenance cost. Prefer a focused before/after repair over a speculative
10
- framework. Use `axis: engineering_standards` and the shared findings schema.
11
-
12
- The worker is read-only. Its only write is the assigned JSON artifact.
@@ -1,13 +0,0 @@
1
- # Error lens
2
-
3
- Trace changed exceptions, error results, retries, fallbacks, cancellation, timeouts and
4
- asynchronous work from trigger to caller-visible state. Find swallowed required
5
- failures, false success, lost diagnostic context, unsafe retry, sensitive detail leaks
6
- and inconsistent recovery state.
7
-
8
- Confirm the language and framework propagation contract before reporting. Empty
9
- catches, null fallbacks, optional chaining, fire-and-forget work and generic messages
10
- are signals only. Severity follows reachable impact. Use `axis:
11
- engineering_standards` and the shared findings schema.
12
-
13
- The worker is read-only. Its only write is the assigned JSON artifact.
@@ -1,29 +0,0 @@
1
- # Review modes and worker selection
2
-
3
- Select one mode before creating review artifacts.
4
-
5
- ## Task
6
-
7
- Review one completed task and its bounded diff. Require specification fidelity and the
8
- engineering roles implicated by the task's code, tests, errors, comments, or design.
9
- The result supports `review-slice`; it does not replace aggregate change review.
10
-
11
- ## Change
12
-
13
- Review the current full change, accepted task set, test report, documentation impact,
14
- and convergence boundary. Run specification fidelity plus every engineering role that
15
- can materially affect delivery. This is the delivery-facing review.
16
-
17
- ## Plan
18
-
19
- Review accepted intent, task coverage, seams, dependencies, recovery, and verification
20
- before implementation. Use a plan artifact as the bounded scope; code-diff-only roles
21
- may be skipped with a concrete rationale.
22
-
23
- ## Selection record
24
-
25
- Disposition the complete specialist roster: `review-spec`, `review-code`,
26
- `review-tests`, `review-errors`, `review-design`, and `review-comments`. Record each as
27
- `selected` or `skipped` with a rationale tied to the mode, changed paths, public seam,
28
- and risk flags. A role is applicable when its evidence could change either verdict
29
- axis. Tool availability alone is not a selection reason.
@@ -1,18 +0,0 @@
1
- # Specification lens
2
-
3
- Keep this axis independent from general engineering quality. Map every accepted
4
- criterion to current executable or source evidence. Check for omitted behavior,
5
- unintended scope, stale specification or operational documentation, and incompatible
6
- public contracts.
7
-
8
- Read the packet's `North Star Trace`. Verify that its ids and recorded revision resolve,
9
- then challenge whether the Change's claimed causal contribution has supporting evidence
10
- and survives the diff. A stale revision is a freshness limitation, not automatic proof
11
- of semantic misalignment.
12
-
13
- Report only a concrete mismatch between accepted intent and delivered behavior. Style,
14
- generic maintainability and a preferred architecture do not belong on this axis.
15
- Calibrate severity to user-visible or delivery impact. Use `axis: spec_fidelity` and
16
- the shared findings schema.
17
-
18
- The worker is read-only. Its only write is the assigned JSON artifact.
@@ -1,12 +0,0 @@
1
- # Test lens
2
-
3
- Map each changed behavior and acceptance claim to executable evidence. Check the
4
- functional, persistence, protocol, UI and failure boundaries material to this diff.
5
- Inspect doubles for contract fidelity: report one only when it bypasses the behavior
6
- under review or diverges from production semantics.
7
-
8
- Find missing state transitions, ineffective assertions, hidden skips, flaky
9
- assumptions and tests that never reach changed code. Calibrate severity to escaped
10
- product risk. Use `axis: engineering_standards` and the shared findings schema.
11
-
12
- The worker is read-only. Its only write is the assigned JSON artifact.