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.
- package/CHANGELOG.md +103 -3
- package/README.md +67 -478
- package/README.zh-CN.md +49 -422
- package/adapters/_shared/frontmatter.cjs +1 -18
- package/adapters/_shared/plugin-core.cjs +17 -83
- package/adapters/_shared/runtime-assets.cjs +6 -120
- package/adapters/claude.js +8 -24
- package/adapters/codex.js +13 -32
- package/bin/install.js +35 -57
- package/docs/PLUGIN-ISOLATION-CONTRACT.md +13 -101
- package/docs/examples/drive/claude-reviewer.sh +53 -0
- package/docs/examples/drive/claude-writer.sh +43 -0
- package/engine/FORMATS.md +1051 -0
- package/engine/checks.cjs +139 -0
- package/engine/cli.cjs +148 -0
- package/engine/completion.cjs +48 -0
- package/engine/context.cjs +94 -0
- package/engine/drive.cjs +220 -0
- package/engine/expect-worker.cjs +5 -0
- package/engine/expect.cjs +33 -0
- package/engine/formats.cjs +189 -0
- package/engine/git-state.cjs +112 -0
- package/engine/ledger.cjs +205 -0
- package/engine/loading.cjs +28 -0
- package/engine/merge.cjs +273 -0
- package/engine/milestone.cjs +89 -0
- package/engine/plan.cjs +232 -0
- package/engine/project.cjs +5 -0
- package/engine/signals.cjs +3 -0
- package/engine/states.cjs +175 -0
- package/hooks/session-start.cjs +54 -0
- package/package.json +17 -52
- package/skills/ultra/SKILL.md +395 -0
- package/.ultra-template/changes/abandoned/.gitkeep +0 -0
- package/.ultra-template/changes/active/.gitkeep +0 -1
- package/.ultra-template/changes/archive/.gitkeep +0 -1
- package/.ultra-template/contexts/TEMPLATE.md +0 -135
- package/.ultra-template/decisions/.gitkeep +0 -1
- package/.ultra-template/evidence/.gitkeep +0 -1
- package/.ultra-template/north-star.md +0 -52
- package/.ultra-template/project-brief.md +0 -28
- package/.ultra-template/research/.gitkeep +0 -1
- package/.ultra-template/specs/architecture.md +0 -81
- package/.ultra-template/specs/discovery.md +0 -74
- package/.ultra-template/specs/product.md +0 -80
- package/.ultra-template/specs/research-distillate.md +0 -57
- package/.ultra-template/tasks.json +0 -4
- package/.ultra-template/test-report.json +0 -44
- package/adapters/_shared/host-profile.cjs +0 -5
- package/adapters/grok.js +0 -242
- package/adapters/kimi.js +0 -232
- package/adapters/opencode.js +0 -408
- package/adapters/zcode.js +0 -375
- package/bin/delegate-worker.cjs +0 -5
- package/bin/delegate.cjs +0 -5
- package/docs/ARCHITECTURE.md +0 -274
- package/docs/ARTIFACT-AUTHORITY.md +0 -305
- package/docs/DECISIONS.md +0 -229
- package/docs/PHILOSOPHY.md +0 -261
- package/docs/RUNTIME-COMPAT-MATRIX.md +0 -316
- package/docs/SKILL-AUTHORING.md +0 -113
- package/docs/WORKFLOW-LIFECYCLE.md +0 -350
- package/docs/evals/adversarial-review-2026-08-14.md +0 -84
- package/docs/evals/ultra-5-0-journey-results.md +0 -62
- package/docs/evals/ultra-5-0-live-acp-conformance.md +0 -93
- package/docs/evals/ultra-5-0-route-journeys.md +0 -145
- package/docs/evals/zcode-automation-2026-08-14.md +0 -103
- package/hooks/README.md +0 -52
- package/hooks/_common.py +0 -1779
- package/hooks/adapters/codex.py +0 -295
- package/hooks/adapters/grok.py +0 -134
- package/hooks/adapters/kimi.py +0 -156
- package/hooks/adapters/zcode.py +0 -227
- package/hooks/block_dangerous_commands.py +0 -201
- package/hooks/compact_context.py +0 -224
- package/hooks/mid_workflow_recall.py +0 -47
- package/hooks/post_edit_guard.py +0 -215
- package/hooks/session_context.py +0 -741
- package/skills/ultra-change/SKILL.md +0 -165
- package/skills/ultra-change/references/change-contract.md +0 -199
- package/skills/ultra-change/references/execution-grant.md +0 -109
- package/skills/ultra-change/references/primary-transfer.md +0 -273
- package/skills/ultra-change/scripts/validate_primary_transfer.cjs +0 -1928
- package/skills/ultra-delegate/SKILL.md +0 -195
- package/skills/ultra-delegate/patches/zcode-acp-0.1.0-zcode-0.16.5.patch +0 -184
- package/skills/ultra-delegate/references/delegation-contract.md +0 -138
- package/skills/ultra-delegate/scripts/acp-conformance.cjs +0 -287
- package/skills/ultra-delegate/scripts/acp-driver.cjs +0 -762
- package/skills/ultra-delegate/scripts/agent-execution-driver.cjs +0 -320
- package/skills/ultra-delegate/scripts/cli-driver.cjs +0 -61
- package/skills/ultra-delegate/scripts/delegate-profiles/kimi-read-only.md +0 -15
- package/skills/ultra-delegate/scripts/delegate-profiles/kimi-write.md +0 -17
- package/skills/ultra-delegate/scripts/delegate-worker.cjs +0 -328
- package/skills/ultra-delegate/scripts/delegate.cjs +0 -690
- package/skills/ultra-delegate/scripts/delegate_wait.py +0 -86
- package/skills/ultra-delegate/scripts/host-profile.cjs +0 -267
- package/skills/ultra-deliver/SKILL.md +0 -194
- package/skills/ultra-deliver/references/baseline-reconciliation.md +0 -41
- package/skills/ultra-dev/SKILL.md +0 -265
- package/skills/ultra-dev/references/debugging.md +0 -22
- package/skills/ultra-domain-modeling/SKILL.md +0 -79
- package/skills/ultra-grilling/SKILL.md +0 -121
- package/skills/ultra-grilling/references/reframing.md +0 -76
- package/skills/ultra-init/SKILL.md +0 -143
- package/skills/ultra-init/references/brownfield-adoption.md +0 -32
- package/skills/ultra-init/scripts/init_project.cjs +0 -1031
- package/skills/ultra-plan/SKILL.md +0 -160
- package/skills/ultra-plan/references/task-evidence-v2.md +0 -300
- package/skills/ultra-plan/scripts/validate_task_evidence.cjs +0 -859
- package/skills/ultra-research/SKILL.md +0 -167
- package/skills/ultra-research/references/00-problem-validation.md +0 -36
- package/skills/ultra-research/references/01-opportunity-discovery.md +0 -33
- package/skills/ultra-research/references/02-market-assessment.md +0 -31
- package/skills/ultra-research/references/03-alternatives.md +0 -31
- package/skills/ultra-research/references/04-product-strategy.md +0 -41
- package/skills/ultra-research/references/05-assumptions-validation.md +0 -31
- package/skills/ultra-research/references/10-user-personas.md +0 -30
- package/skills/ultra-research/references/11-user-scenarios.md +0 -28
- package/skills/ultra-research/references/20-user-stories.md +0 -31
- package/skills/ultra-research/references/21-features-scope.md +0 -38
- package/skills/ultra-research/references/22-success-metrics.md +0 -33
- package/skills/ultra-research/references/30-architecture-context.md +0 -30
- package/skills/ultra-research/references/31-solution-strategy.md +0 -28
- package/skills/ultra-research/references/32-building-blocks.md +0 -28
- package/skills/ultra-research/references/40-deployment.md +0 -29
- package/skills/ultra-research/references/41-quality-risks.md +0 -28
- package/skills/ultra-research/references/99-synthesis.md +0 -59
- package/skills/ultra-research/references/north-star-v2.md +0 -168
- package/skills/ultra-research/references/wayfinding.md +0 -50
- package/skills/ultra-research/scripts/validate_north_star.cjs +0 -1174
- package/skills/ultra-review/SKILL.md +0 -275
- package/skills/ultra-review/references/adversarial-evaluation.md +0 -31
- package/skills/ultra-review/references/code.md +0 -17
- package/skills/ultra-review/references/comments.md +0 -12
- package/skills/ultra-review/references/design.md +0 -12
- package/skills/ultra-review/references/errors.md +0 -13
- package/skills/ultra-review/references/review-modes.md +0 -29
- package/skills/ultra-review/references/spec.md +0 -18
- package/skills/ultra-review/references/tests.md +0 -12
- package/skills/ultra-review/references/unified-schema.md +0 -284
- package/skills/ultra-review/references/worker-packet.md +0 -183
- package/skills/ultra-review/scripts/review_wait.py +0 -2943
- package/skills/ultra-status/SKILL.md +0 -209
- package/skills/ultra-status/references/route-contract.md +0 -100
- package/skills/ultra-tdd/SKILL.md +0 -91
- package/skills/ultra-tdd/references/templates/README.md +0 -20
- package/skills/ultra-tdd/references/templates/feature-flag-default-audit.sh +0 -79
- package/skills/ultra-tdd/references/templates/persistence-real.ts +0 -78
- package/skills/ultra-tdd/references/templates/testcontainer-postgres.py +0 -78
- package/skills/ultra-tdd/references/templates/testcontainer-postgres.ts +0 -73
- package/skills/ultra-tdd/references/templates/vertical-slice.ts +0 -66
- package/skills/ultra-tdd/references/test-execution.md +0 -23
- package/skills/ultra-test/SKILL.md +0 -244
- package/skills/ultra-test/references/export-syntax.md +0 -18
- package/skills/ultra-test/scripts/validate_review_transport.cjs +0 -549
- package/skills/ultra-test/scripts/worktree_digest.cjs +0 -576
- package/skills/ultra-think/SKILL.md +0 -56
- package/skills/ultra-think/references/autonomy-boundary.md +0 -48
- package/skills/ultra-think/references/interaction-boundary.md +0 -42
package/docs/SKILL-AUTHORING.md
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# Skill authoring contract
|
|
2
|
-
|
|
3
|
-
Ultra Skills are portable model-facing methods. They describe outcomes, evidence, and
|
|
4
|
-
owner boundaries; host-specific discovery and invocation policy belong in adapters.
|
|
5
|
-
|
|
6
|
-
## Role selection
|
|
7
|
-
|
|
8
|
-
Choose exactly one role before writing:
|
|
9
|
-
|
|
10
|
-
- **public workflow**: an owner-invocable workflow with one or more declared modes and
|
|
11
|
-
a durable outcome;
|
|
12
|
-
- **model-invoked**: a reusable discipline used by at least two canonical workflows;
|
|
13
|
-
- **router**: read-only diagnosis that recommends the smallest next public route.
|
|
14
|
-
|
|
15
|
-
Every public mode is `explicit-entry` or `grant-continuable`. A public workflow may
|
|
16
|
-
continue to another public mode only when a currently valid Execution Grant covers the
|
|
17
|
-
same Change, exact mode, effects, and stop conditions, and only after showing the Route
|
|
18
|
-
Card. Otherwise it stops and recommends the owner-invoked route. Host metadata never
|
|
19
|
-
substitutes for that in-Skill check. A discipline with only one real caller should be
|
|
20
|
-
inlined.
|
|
21
|
-
|
|
22
|
-
## Portable frontmatter
|
|
23
|
-
|
|
24
|
-
Source `SKILL.md` frontmatter contains only:
|
|
25
|
-
|
|
26
|
-
```yaml
|
|
27
|
-
---
|
|
28
|
-
name: lower-case-hyphen-name
|
|
29
|
-
description: What this produces and the concrete situations that trigger it.
|
|
30
|
-
---
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Adapters generate Claude/Grok/Kimi invocation flags, Codex `agents/openai.yaml`, and
|
|
34
|
-
ZCode-native plugin metadata.
|
|
35
|
-
Do not put host paths, dependency declarations, plugin policy, or release history in
|
|
36
|
-
source frontmatter.
|
|
37
|
-
|
|
38
|
-
## Required shape
|
|
39
|
-
|
|
40
|
-
Every Skill has one outcome-led title and these semantic sections:
|
|
41
|
-
|
|
42
|
-
```text
|
|
43
|
-
## Before you start
|
|
44
|
-
## Definition of done
|
|
45
|
-
## <workflow-specific process>
|
|
46
|
-
## When the owner decides
|
|
47
|
-
## References
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Every public workflow and router also has `## Route modes` with a `Mode | Entry |
|
|
51
|
-
Observable exit | Next` table and references the canonical
|
|
52
|
-
`ultra-status/references/route-contract.md`. Shared card fields, material checkpoints,
|
|
53
|
-
continuation, and degraded recovery live only in that reference; each Skill owns only
|
|
54
|
-
its modes and workflow-specific facts.
|
|
55
|
-
|
|
56
|
-
User workflows first resolve at most one active `change_id`, then read only matching
|
|
57
|
-
rows from `.ultra/tasks.json`, the frontier task's `context_file` and Resume Note,
|
|
58
|
-
`CONTEXT.md`, and relevant decisions. Historical or abandoned rows never become current
|
|
59
|
-
from status alone. They name the files they write and read them back. Completion
|
|
60
|
-
criteria must be observable without a semantic validator.
|
|
61
|
-
|
|
62
|
-
Use positive leading words consistently: tracer bullet, seam, deep module, red,
|
|
63
|
-
frontier, and research boundary. Explain a branch by its checkable result, not the
|
|
64
|
-
model's reason for choosing it.
|
|
65
|
-
|
|
66
|
-
## Progressive disclosure
|
|
67
|
-
|
|
68
|
-
Keep resident `SKILL.md` short enough to load on every invocation. Move focused detail
|
|
69
|
-
into `references/` and deterministic validation or waiting into `scripts/`.
|
|
70
|
-
|
|
71
|
-
- Load one research step or review lens at a time.
|
|
72
|
-
- Keep Research's semantic lenses and optional Wayfinding map inside
|
|
73
|
-
`ultra-research/references/`; they are stages of that public workflow, not reusable
|
|
74
|
-
model-invoked Skills.
|
|
75
|
-
- Keep one canonical copy of grilling, TDD, review, domain language, and autonomy rules.
|
|
76
|
-
- Cross-reference another model-invoked Skill by relative path.
|
|
77
|
-
- Do not hide the primary workflow in a script.
|
|
78
|
-
- A script may check paths, schemas, counts, hashes, process status, or other mechanical
|
|
79
|
-
facts; it may not decide semantic completeness.
|
|
80
|
-
|
|
81
|
-
Rule-side executable examples live with the consuming Skill. They are never copied
|
|
82
|
-
wholesale into project authority.
|
|
83
|
-
|
|
84
|
-
## Language and host neutrality
|
|
85
|
-
|
|
86
|
-
Model-facing Skills, references, scripts, comments, and identifiers are English.
|
|
87
|
-
Shared Skills never mention `.claude`, `.codex`, `.opencode`, `.kimi`, `.grok`, `.zcode`, or a
|
|
88
|
-
host-only question surface. Use “host-native question surface” and put the translation
|
|
89
|
-
in the adapter.
|
|
90
|
-
|
|
91
|
-
## Safety boundary
|
|
92
|
-
|
|
93
|
-
The owner decides intent, acceptance, reductions, material risk, irreversible actions,
|
|
94
|
-
and external effects. The model owns investigation, design, decomposition, evidence
|
|
95
|
-
interpretation, reversible implementation detail, and final expression.
|
|
96
|
-
|
|
97
|
-
Semantic gaps are diagnostics. A Skill must not invent a hard gate based on counters,
|
|
98
|
-
regexes, similarity, context estimates, or workflow position. Every real hard effect
|
|
99
|
-
guard names its invariant, authoritative input, blocked effect, and reachable repair.
|
|
100
|
-
|
|
101
|
-
## Validation
|
|
102
|
-
|
|
103
|
-
For every changed Skill:
|
|
104
|
-
|
|
105
|
-
1. run the Skill Creator validator;
|
|
106
|
-
2. resolve every relative reference in the source and installed artifact;
|
|
107
|
-
3. verify its role metadata on all six hosts;
|
|
108
|
-
4. test the accepted workflow with representative valid and adversarial inputs;
|
|
109
|
-
5. confirm no retired runtime vocabulary or host-specific path entered portable text.
|
|
110
|
-
6. run the Route Contract structural test and inspect the applicable owner journey.
|
|
111
|
-
|
|
112
|
-
The repository's `tests/skill-authoring.test.cjs` and
|
|
113
|
-
`tests/v026-contract.test.cjs` mechanize the portable parts of this contract.
|
|
@@ -1,350 +0,0 @@
|
|
|
1
|
-
# Ultra Builder Pro workflow lifecycle
|
|
2
|
-
|
|
3
|
-
Ultra 5.0 has no fixed runtime state machine. Skills define checkable entry and exit
|
|
4
|
-
criteria; repository files record facts; the host model chooses the route.
|
|
5
|
-
|
|
6
|
-
## Capability flow
|
|
7
|
-
|
|
8
|
-
```text
|
|
9
|
-
ultra-init/create|recover ──raw Project Brief──► ultra-research/baseline
|
|
10
|
-
│
|
|
11
|
-
▼
|
|
12
|
-
ultra-change/intake
|
|
13
|
-
│
|
|
14
|
-
┌── ultra-research/change-scoped ◄──┤ evidence-needed
|
|
15
|
-
└── ultra-change/reconcile ─────────┘
|
|
16
|
-
│ accepted
|
|
17
|
-
▼
|
|
18
|
-
|
|
19
|
-
ultra-change ─► ultra-plan ─► ultra-dev (per task) ─► ultra-test ─► ultra-deliver
|
|
20
|
-
▲ │ │
|
|
21
|
-
└── replan ◄──────┘ └── findings return to owner/model
|
|
22
|
-
|
|
23
|
-
ultra-status read-only router at any point
|
|
24
|
-
ultra-delegate orthogonal bounded execution on another CLI
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Arrows are recommendations unless a live owner-activated Execution Grant authorizes the
|
|
28
|
-
exact next mode. Public modes are either `explicit-entry`, `grant-continuable`, or
|
|
29
|
-
read-only `router`; model-only methods are `model-discipline`. Scoped Research,
|
|
30
|
-
same-Change reconciliation, Plan, Dev, Test, and Deliver reconciliation may continue
|
|
31
|
-
only when the grant covers the same `change_id`, mode, effects, and stop conditions.
|
|
32
|
-
Init, Change intake/evidence/acceptance/abandonment/primary transfer, Delegate, Deliver
|
|
33
|
-
finalization, archive, and every external effect remain explicit-entry. Status remains
|
|
34
|
-
owner-invoked, read-only, and supplies no continuation authority. Delivery archives one stable
|
|
35
|
-
`change_id`; the next request opens a new active id while prior task rows remain in the
|
|
36
|
-
append-only ledger.
|
|
37
|
-
|
|
38
|
-
## Topology and checkpoints
|
|
39
|
-
|
|
40
|
-
The owner chooses the Agent topology at every stage: one Agent or several, which
|
|
41
|
-
providers, which write scopes, serial or parallel. The unspecified default is the
|
|
42
|
-
current Agent continuing alone — no automatic spawning, delegation, or control-plane
|
|
43
|
-
enablement, and no provider permanently bound to a role. One primary writer owns the
|
|
44
|
-
canonical `.ultra` files in a worktree; parallel source writes use isolated worktrees
|
|
45
|
-
with explicit integration. Moving the primary-writer role itself to another Agent is
|
|
46
|
-
an owner-granted primary transfer — OFFER, verified ACK, sole-writer execution,
|
|
47
|
-
frozen terminal RESULT — and never a widened delegation
|
|
48
|
-
(`skills/ultra-change/references/primary-transfer.md`).
|
|
49
|
-
|
|
50
|
-
Every owner-facing checkpoint — a WIP at a stop, a closing Resume Note, a delivery
|
|
51
|
-
report — carries the eight fixed semantics defined in
|
|
52
|
-
[artifact authority](ARTIFACT-AUTHORITY.md#owner-checkpoint-semantics): why, outcome,
|
|
53
|
-
accepted boundary, delta, reality, decision needed, next bounded action, and not-done.
|
|
54
|
-
The shared [Route Contract](../skills/ultra-status/references/route-contract.md) adds
|
|
55
|
-
Route, Mode, Position, and Exit condition as navigation around those semantics. Every
|
|
56
|
-
public Skill shows the card at entry, a material checkpoint, pause/blocked exit, normal
|
|
57
|
-
exit, and before a public transition. Cards are derived observations, not stage markers,
|
|
58
|
-
permission, or persisted route state; alignment failure stops work until the owner
|
|
59
|
-
re-accepts an outcome.
|
|
60
|
-
|
|
61
|
-
## Common mode-aware entry contract
|
|
62
|
-
|
|
63
|
-
Every user-invoked Skill reads, in order:
|
|
64
|
-
|
|
65
|
-
1. zero or one `.ultra/changes/active/<change_id>/intent.md`; more than one is a conflict;
|
|
66
|
-
2. `.ultra/tasks.json`, selecting only tasks whose `change_id` matches that active id
|
|
67
|
-
and treating its v2 row as the sole task-status authority;
|
|
68
|
-
3. the matching frontier task's `context_file` and closing `## Resume Note`;
|
|
69
|
-
4. `.ultra/project-brief.md`, the accepted `.ultra/north-star.md`, `CONTEXT.md`, and
|
|
70
|
-
relevant `.ultra/decisions/`, where those artifacts already exist;
|
|
71
|
-
5. the active Change, specifications, evidence, maintained documentation, and Git state
|
|
72
|
-
relevant to its scope.
|
|
73
|
-
|
|
74
|
-
Missing files produce a precise recovery or initialization recommendation. They do not
|
|
75
|
-
cause the Skill to invent a state transition.
|
|
76
|
-
|
|
77
|
-
After reading these facts, the Skill chooses only one mode declared in its own Route
|
|
78
|
-
table and emits the entry Route Card. If model-selected, it revalidates that this mode is
|
|
79
|
-
grant-continuable and that the grant covers the same Change and effects. Host metadata
|
|
80
|
-
is only coarse discovery; it never substitutes for this runtime check.
|
|
81
|
-
|
|
82
|
-
## Initialization
|
|
83
|
-
|
|
84
|
-
Init writes the raw Project Brief and stable empty skeleton. `ultra-init` preserves the
|
|
85
|
-
owner's one-line request, broad outline, explicit inputs, and open questions without
|
|
86
|
-
turning them into validated product truth. It initializes Git when absent and may
|
|
87
|
-
preserve repository-observable brownfield facts as Research inputs. It does not define
|
|
88
|
-
success, establish the North Star, create `CONTEXT.md`, populate specifications, or
|
|
89
|
-
launch another workflow.
|
|
90
|
-
|
|
91
|
-
## Research
|
|
92
|
-
|
|
93
|
-
Research has two modes. `baseline` explicitly turns the brief into an accepted North
|
|
94
|
-
Star and evidence-backed baseline. `change-scoped` answers only one active Change's
|
|
95
|
-
recorded Research Disposition and returns named evidence to that same Change for
|
|
96
|
-
reconciliation. `ultra-research` uses Wayfinding only when a multi-lens path is unclear,
|
|
97
|
-
then records entry question, selected lenses, omissions, dependencies, source plan,
|
|
98
|
-
material checkpoints, observable stop condition, and return route before mapping the
|
|
99
|
-
question to the smallest useful subset of seventeen focused references. The first six
|
|
100
|
-
are semantic lenses with real dependencies: `00` precedes `01`; conditional `02` and
|
|
101
|
-
`03` may fan out after the boundary is known; `04` consumes their relevant conclusions
|
|
102
|
-
and is the first owner checkpoint; `05` extracts assumptions from `00` through `04`.
|
|
103
|
-
Grilling controls how missing owner inputs are asked, Think tests one consequential
|
|
104
|
-
decision, and Domain Modeling writes settled vocabulary; none owns the Research route.
|
|
105
|
-
The baseline synthesis promotes accepted conclusions into the North Star, `CONTEXT.md`,
|
|
106
|
-
three specifications, and a source-hash-bound distillate. A change-scoped run updates
|
|
107
|
-
only its mapped sections and never changes Change acceptance on its own. Lens counts are
|
|
108
|
-
navigation facts, not semantic progress or a completion signal.
|
|
109
|
-
|
|
110
|
-
## Change reconciliation
|
|
111
|
-
|
|
112
|
-
Change updates only the touched baseline rather than rebuilding it. Its visible modes
|
|
113
|
-
are `intake`, `evidence-needed`, `reconcile`, and `accepted`. `ultra-change` first
|
|
114
|
-
compares requested behavior with accepted product truth and current code. It classifies
|
|
115
|
-
changes by the resulting commitments:
|
|
116
|
-
|
|
117
|
-
- expansion and correction may proceed inside accepted intent;
|
|
118
|
-
- a reduction waits for explicit owner authority.
|
|
119
|
-
|
|
120
|
-
The output is one active Change intent with observable outcome, acceptance, seams,
|
|
121
|
-
non-goals, trace anchors, and an explicit Research Disposition. `none` cites sufficient
|
|
122
|
-
existing evidence; `bounded` or `required` names the exact question, lenses, and exit
|
|
123
|
-
evidence. Unsatisfied exit evidence routes to Research, then back through Change
|
|
124
|
-
reconciliation before planning when the accepted contract needs an update.
|
|
125
|
-
|
|
126
|
-
Draft intent is mutable. Revising a consequential accepted answer creates a superseding
|
|
127
|
-
decision record so Status can reconstruct history without treating an event log as
|
|
128
|
-
authority. Only same-Change, non-material `reconcile` may continue under a valid grant;
|
|
129
|
-
opening or accepting a boundary, abandoning it, reducing a commitment, or changing the
|
|
130
|
-
canonical writer is an explicit owner checkpoint.
|
|
131
|
-
|
|
132
|
-
If the owner rejects the offered options as inadequate, Change preserves that answer,
|
|
133
|
-
keeps the draft unresolved, and returns to evidence or materially different options. It
|
|
134
|
-
never selects the closest rejected option or advances to Plan by default.
|
|
135
|
-
|
|
136
|
-
A micro edit that makes no specification sentence false stays outside the Ultra
|
|
137
|
-
lifecycle and uses ordinary repository TDD/verification. Once an active Change exists,
|
|
138
|
-
Plan creates the smallest graph justified by the real seams, evidence, review, and
|
|
139
|
-
recovery needs so delivery remains bound to its id; a profile never fixes task count. A
|
|
140
|
-
separate request cannot open a second active Change: finish or deliver the current one,
|
|
141
|
-
abandon it with owner authority, or explicitly reconcile the new request into the same
|
|
142
|
-
stable id.
|
|
143
|
-
|
|
144
|
-
## Planning
|
|
145
|
-
|
|
146
|
-
`ultra-plan` confirms a material scope posture and records public seams, then appends a
|
|
147
|
-
current-Change task graph and one context file per task without deleting historical
|
|
148
|
-
rows. The model chooses ordinary technical seams; the owner is asked only when a seam
|
|
149
|
-
changes a public contract, accepted risk, or another material trade-off. Every task
|
|
150
|
-
stores the stable `change_id`; dependencies stay inside that Change and ids remain
|
|
151
|
-
globally unique. Feature tasks are tracer bullets. A contract task precedes dependent
|
|
152
|
-
implementations when a shared contract must remain valid across independently changed
|
|
153
|
-
boundaries; integration checkpoints appear where slices first compose or observed
|
|
154
|
-
coupling and recovery risk justify a whole-path check. Cycles and broken trace paths are
|
|
155
|
-
repaired before handoff. Complexity, file, task, line, and context counts are
|
|
156
|
-
observations rather than plan-quality gates.
|
|
157
|
-
|
|
158
|
-
Plan names the earliest executable tracer bullet's real consumer, real data path, and
|
|
159
|
-
owner-visible observation. A product or contract evidence gap returns to
|
|
160
|
-
`ultra-change/reconcile`; Change decides whether bounded Research is required. Ordinary
|
|
161
|
-
technical uncertainty remains model-owned or becomes a bounded spike/tracer task, so
|
|
162
|
-
Plan never bypasses Change by opening product Research directly.
|
|
163
|
-
|
|
164
|
-
## Task development
|
|
165
|
-
|
|
166
|
-
`ultra-dev` writes the implementation plan into the task context before code. It uses
|
|
167
|
-
`ultra-tdd` on confirmed seams and records `ultra-task-evidence-v2`: typed acceptance,
|
|
168
|
-
six evidence dimensions, subject/context identity, limitations, and task-review
|
|
169
|
-
provenance. `.ultra/tasks.json` is the sole task-status authority; a new context has no
|
|
170
|
-
Status field, while legacy Status/Complexity values are migration diagnostics and the
|
|
171
|
-
ledger wins. The closing Resume Note is rewritten even when work stops early.
|
|
172
|
-
Before publishing that record, Dev hashes bounded stable repository-contained bytes for
|
|
173
|
-
every command or external `raw_evidence_ref` into `raw_evidence_sha256` and reads both
|
|
174
|
-
the raw receipt and written record back. Structural validation checks ref/digest shape
|
|
175
|
-
without dereferencing the receipt.
|
|
176
|
-
|
|
177
|
-
Task review selects lenses by risk and touched seams while the ledger row remains `in_progress`.
|
|
178
|
-
Its first admission binds the ledger, task context, immutable packet scope, and actual
|
|
179
|
-
pre-review evidence. It does not require a final v2 record or claim a task worktree
|
|
180
|
-
digest that Worker Packet v1 does not carry.
|
|
181
|
-
Findings move through stable JSON artifacts, not intermediate worker chatter. Verdicts
|
|
182
|
-
are terminal for the current subject: `APPROVE` ends the task review even when P2/P3
|
|
183
|
-
findings are retained — they become report entries or owner-selected backlog, never a
|
|
184
|
-
fresh review of the same subject. `REQUEST_CHANGES` routes only the exact current
|
|
185
|
-
P0/P1 findings as one in-scope repair set followed by one affected-lens delta review
|
|
186
|
-
per repair set inside the active review budget — an exact current owner grant
|
|
187
|
-
overrides the versioned product default of one initial review plus at most two
|
|
188
|
-
P0/P1 delta reviews per package; a `REQUEST_CHANGES` that would exceed the active
|
|
189
|
-
budget is an owner checkpoint, not another automatic repair, and the same root
|
|
190
|
-
surviving three failed fixes stops point-patching and reports an architecture
|
|
191
|
-
problem. Lens selection follows the review kind, never a fixed count: an initial task
|
|
192
|
-
review selects `review-spec` plus the lenses justified by risk and touched seams, a
|
|
193
|
-
delta review reruns only the affected lenses, and an aggregate Change review may
|
|
194
|
-
default to all six only when cross-task wiring justifies it. Budget exhaustion keeps the row `in_progress` and returns
|
|
195
|
-
`owner checkpoint` / `budget_exhausted` without any semantic verdict.
|
|
196
|
-
After the final summary validates, Dev independently captures the `subject`
|
|
197
|
-
as a completion-snapshot freshness observation and immediately writes the one canonical
|
|
198
|
-
v2 record; its `task_review` separately binds the retained strict summary, which does not
|
|
199
|
-
prove the subject worktree digest. Only then may the primary model write `completed` to
|
|
200
|
-
the ledger. Refactoring happens
|
|
201
|
-
when evidence makes real duplication, coupling, or a boundary defect visible, never
|
|
202
|
-
because a slice, finding, file, or repair-round count crossed a threshold.
|
|
203
|
-
|
|
204
|
-
If later work invalidates completed evidence, Dev records the affected criterion IDs and reason in the context Change Log and Resume Note before changing the
|
|
205
|
-
ledger-authoritative row from `completed` to `in_progress`; there is no silent demotion.
|
|
206
|
-
The old frozen review remains historical evidence while the reopened task refreshes the
|
|
207
|
-
affected observations, obtains a new final review, and captures a new completion subject.
|
|
208
|
-
|
|
209
|
-
## Whole-system audit
|
|
210
|
-
|
|
211
|
-
`ultra-test` runs once after tasks for the active Change are completed in the ledger
|
|
212
|
-
with current v2 evidence and retained task-review provenance. Historical v1 evidence is
|
|
213
|
-
a migration diagnostic, not current Test input. It checks anti-patterns, coverage,
|
|
214
|
-
wiring, E2E behavior, performance, and security. It names the exact Git commit and
|
|
215
|
-
binds the report to `change_id`, exact current task ids, intent SHA-256, and the
|
|
216
|
-
product-worktree digest for the current whole Change. Each task evidence subject remains
|
|
217
|
-
its independently captured completion-snapshot freshness observation rather than being
|
|
218
|
-
rebound to this aggregate identity. Test independently rechecks current Acceptance bytes,
|
|
219
|
-
criterion IDs and verification types, retained task-review summary, durable owner record,
|
|
220
|
-
and cited affected artifacts. For command and external evidence it independently takes
|
|
221
|
-
the bounded stable non-symlink raw bytes, recomputes `raw_evidence_sha256`, then recomputes
|
|
222
|
-
the containing record's `evidence_digest`. `.ultra/evidence/**` is excluded from the
|
|
223
|
-
product-worktree digest, so these separate exact bindings prevent a self-referential
|
|
224
|
-
receipt. An invalidated task returns to the explicit Dev reopen
|
|
225
|
-
path. `passed: true` implies complete current tasks and no required
|
|
226
|
-
area left `not_run`; task completion does not force a pass, and dispositioned gaps stay
|
|
227
|
-
visible. It never turns an orphan,
|
|
228
|
-
failed command, stub, or omission into permission to alter scope.
|
|
229
|
-
|
|
230
|
-
## Delivery
|
|
231
|
-
|
|
232
|
-
`ultra-deliver` uses two observable passes. The first reconciles actual outcome,
|
|
233
|
-
specifications, documentation, aggregate review, omissions, and rollback; if semantic
|
|
234
|
-
or product files change, it stops and recommends a fresh Test. The second begins only
|
|
235
|
-
when report Change/task/intent/HEAD/product identities match, applies the changed-export
|
|
236
|
-
gate, runs build and non-publishing package inspection, records version impact, writes
|
|
237
|
-
delivery metadata, and archives the same stable id with `git mv`. Delivery metadata and
|
|
238
|
-
the directory move do not invalidate their own product snapshot. Producing a release
|
|
239
|
-
package remains blocked while a changed export has neither a non-test consumer nor an
|
|
240
|
-
owner disposition. That disposition is recorded against the finding in the current
|
|
241
|
-
test report without changing the finding or `passed`, then carried into `delivery.md`.
|
|
242
|
-
|
|
243
|
-
Commit, push, tag, publication, release, and deployment are independent external
|
|
244
|
-
effects. Readiness grants none automatically.
|
|
245
|
-
|
|
246
|
-
## Status routing
|
|
247
|
-
|
|
248
|
-
`ultra-status` infers the smallest next route from observable files:
|
|
249
|
-
|
|
250
|
-
- no healthy skeleton or usable raw brief → init;
|
|
251
|
-
- raw brief without an accepted baseline → baseline research;
|
|
252
|
-
- requested outcome without active Change → change;
|
|
253
|
-
- draft or blocking active intent → change;
|
|
254
|
-
- unsatisfied Research Disposition → change-scoped research, then the same Change reconciliation;
|
|
255
|
-
- active Change without matching executable tasks → plan;
|
|
256
|
-
- the unique matching `in_progress` task → dev;
|
|
257
|
-
- only `pending` tasks remaining → report them as frontier candidates and recommend
|
|
258
|
-
one exact task id for an explicit owner invocation of dev;
|
|
259
|
-
- a completed ledger row with missing, stale, or invalid v2 evidence/task review → dev
|
|
260
|
-
to record affected criteria and reason, explicitly reopen, and repair provenance;
|
|
261
|
-
- completed current-Change tasks with current v2 evidence and no matching fresh report → test;
|
|
262
|
-
- false report → route by finding and owner disposition, not by the boolean alone;
|
|
263
|
-
- fresh, dispositioned report and unarchived Change → deliver.
|
|
264
|
-
|
|
265
|
-
It also checks installation provenance, unresolved markers, broken resume paths, and
|
|
266
|
-
report freshness by root Change identity, exact ordered v2 task-evidence/review
|
|
267
|
-
identities, and strict aggregate Review packet/admission/subject/summary bindings. It
|
|
268
|
-
replays the existing structural validators; they observe transport and freshness but
|
|
269
|
-
never decide semantic acceptance. Age, complexity, and file/task counts may be reported
|
|
270
|
-
as context but never decide staleness or quality. It does not mutate artifacts.
|
|
271
|
-
|
|
272
|
-
Status outputs the Route Card by default and expands `history`, `installation`,
|
|
273
|
-
`delegation`, or `recovery` on request. An ambiguous or malformed active authority stops
|
|
274
|
-
semantic routing and writes, but not diagnosis: recovery mode reports the typed fact,
|
|
275
|
-
safe Git/directory observations, and the cheapest repair/retry/cancel/abandon path
|
|
276
|
-
without selecting an ambiguous intent as truth.
|
|
277
|
-
|
|
278
|
-
## Delegation
|
|
279
|
-
|
|
280
|
-
`ultra-delegate` is orthogonal to the lifecycle and requires explicit owner authority.
|
|
281
|
-
Its immutable instruction selects task execution/continuation, scoped Research evidence,
|
|
282
|
-
or aggregate Change review/verification. Task execution reads one matching task context;
|
|
283
|
-
the latter two may be read-only and do not require a task, so both pre-Plan evidence and
|
|
284
|
-
post-task review remain reachable. Every scope still binds the one active `change_id`, a
|
|
285
|
-
clean isolated worktree, strict permission/result schemas, and primary-host inspection.
|
|
286
|
-
The worker cannot write canonical `.ultra` files or perform external effects.
|
|
287
|
-
Delegation itself is explicit-entry. Tool calls, plans, usage, permissions, process
|
|
288
|
-
output, ACP updates, and terminal transport state remain execution observations; only
|
|
289
|
-
the primary writer interprets the validated result against Research, task, review, or
|
|
290
|
-
Test acceptance and selects the semantic route.
|
|
291
|
-
|
|
292
|
-
## Artifact closure
|
|
293
|
-
|
|
294
|
-
Every durable output has a later reader:
|
|
295
|
-
|
|
296
|
-
- init's Project Brief is consumed by Research, Status, and the pre-baseline session
|
|
297
|
-
Hook fallback; its empty skeleton supplies stable paths rather than product claims;
|
|
298
|
-
- Research's accepted North Star and domain/specification baseline are read by every
|
|
299
|
-
later workflow, while selected reports trace into Change reconciliation, planning,
|
|
300
|
-
and delivery;
|
|
301
|
-
- active Change intent and its touched specification deltas are consumed through
|
|
302
|
-
planning, development, audit, review, status, and delivery; an abandoned intent has
|
|
303
|
-
an exact `## Abandonment` closure consumed by future Change reconciliation and Status;
|
|
304
|
-
- the append-only task ledger and contexts are the common resume input after filtering
|
|
305
|
-
by active `change_id`, while typed v2 task evidence and retained task-review
|
|
306
|
-
provenance feed review, whole-system audit, and delivery;
|
|
307
|
-
- the current test report is consumed by status and delivery;
|
|
308
|
-
- delivery moves with the Change into archive and remains historical evidence.
|
|
309
|
-
|
|
310
|
-
`ultra-status` intentionally writes nothing. Review, Hook, compact, and delegation
|
|
311
|
-
files are derived observations rather than semantic authority. A current strict review
|
|
312
|
-
session contains `WORKER-PACKET.json`, `ADMISSION.json`, every selected specialist
|
|
313
|
-
artifact, and `SUMMARY.json`; retain it until aggregate Test and Deliver have both consumed it
|
|
314
|
-
successfully, then it may be garbage-collected. Premature loss requires a fresh Review
|
|
315
|
-
and Test; never reconstruct the old receipt. Other derived observations keep their
|
|
316
|
-
explicit rebuild or rerun paths. No route creates an unowned drift log, parallel planning file,
|
|
317
|
-
technical-debt report, or second delivery summary.
|
|
318
|
-
|
|
319
|
-
## Interruption and cross-host continuation
|
|
320
|
-
|
|
321
|
-
There is one primary writer for canonical `.ultra` files. Review workers are read-only;
|
|
322
|
-
delegated source edits use isolated worktrees and return results for explicit
|
|
323
|
-
integration. Parallel canonical writes are unsupported because silently merging intent,
|
|
324
|
-
task, evidence, or report authority would lose meaning.
|
|
325
|
-
|
|
326
|
-
Before stopping, the active task context records current facts, exact verification,
|
|
327
|
-
open questions, Completion, and a closing Resume Note. The next session or host repeats
|
|
328
|
-
the common entry contract, compares the working tree with those claims, and derives a
|
|
329
|
-
fresh Route Card. It does not rerun completed Research merely because conversation
|
|
330
|
-
memory is gone. When context pressure threatens a reliable continuation, the current
|
|
331
|
-
Agent finishes the nearest safe write, refreshes the Resume Note, shows a stop card, and
|
|
332
|
-
recommends a fresh session; context size does not become route authority.
|
|
333
|
-
|
|
334
|
-
This path remains valid when hooks and `ubp` are disabled. A compact snapshot may be
|
|
335
|
-
used as a hint, then checked against canonical files and Git.
|
|
336
|
-
|
|
337
|
-
Continuing on a different Agent — not merely a different host — additionally
|
|
338
|
-
requires a primary transfer: an exact owner grant, a derived OFFER binding the
|
|
339
|
-
canonical refs, HEAD, and worktree digest, the receiver's stable-read ACK, and a
|
|
340
|
-
frozen terminal RESULT (`skills/ultra-change/references/primary-transfer.md`).
|
|
341
|
-
Receipts are derived state; when they are lost, the owner confirms and a fresh
|
|
342
|
-
handoff id is issued rather than reconstructing an old ACK. The post-review
|
|
343
|
-
task closeout never refreshes that RESULT or opens a handoff for itself: beside
|
|
344
|
-
a newest completed v2 RESULT it publishes the handoff's CLOSEOUT receipt — the
|
|
345
|
-
one prescribed, uncommitted, review-and-handoff-free closeout transition of the
|
|
346
|
-
same contract.
|
|
347
|
-
|
|
348
|
-
An authenticated Claude-to-Codex continuation using this path passed on 2026-08-03;
|
|
349
|
-
the exact scope, provenance, results, and limitations are recorded in the
|
|
350
|
-
[runtime compatibility matrix](RUNTIME-COMPAT-MATRIX.md#authenticated-cross-host-continuation-evidence).
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
# 对抗性审查盲测记录 — 2026-08-14
|
|
2
|
-
|
|
3
|
-
## 结论
|
|
4
|
-
|
|
5
|
-
本轮证据不支持增加永久第七个 `premise` lens。当前 `review-spec` 在明确要求校验
|
|
6
|
-
North Star 因果贡献后,已经覆盖候选 lens 的五类已知缺陷;候选 lens 没有稳定找到
|
|
7
|
-
当前 roster 漏掉的 consequential defect class。
|
|
8
|
-
|
|
9
|
-
因此保留六 lens roster,把 premise challenge 固化到 `review-spec`,并把独立
|
|
10
|
-
`premise` 角色保留为 Plan 与 aggregate Test 的 blind cross-family probe。这个 probe
|
|
11
|
-
是隔离采样,不参与投票,也不能用无效结果替代六 lens findings。
|
|
12
|
-
|
|
13
|
-
## 评估边界
|
|
14
|
-
|
|
15
|
-
- Fixture revision: `37c07dc8596cda64a93aac260917b3c091ad1b58`
|
|
16
|
-
- Hidden seeds: `tests/evals/adversarial-review-seeds.json`
|
|
17
|
-
- Current prompt: `tests/evals/prompts/current-spec-lens.md`
|
|
18
|
-
- Candidate prompt: `tests/evals/prompts/candidate-premise-lens.md`
|
|
19
|
-
- Six-lens probe: `tests/evals/prompts/current-six-lens-probe.md`
|
|
20
|
-
- Permission: read-only、无 external effects、独立 Git worktree
|
|
21
|
-
- Claude Code: `2.1.232`
|
|
22
|
-
- Kimi Code: `0.31.1`,显式模型 `kimi-code/k3`
|
|
23
|
-
- Grok Build: `1.0.3 (1a29d5bc12d4)`
|
|
24
|
-
- ZCode CLI: `0.16.3`,临时非持久化 provider 配置,GLM-5.3
|
|
25
|
-
|
|
26
|
-
Seed manifest 从所有 Worker Packet 中隐藏。所有有效结果都通过
|
|
27
|
-
`ultra-delegation-result-v1`、packet digest、只读 diff 和 launcher strict validation;
|
|
28
|
-
模型陈述“未修改文件”本身不算权限证据。
|
|
29
|
-
|
|
30
|
-
## Seed 映射
|
|
31
|
-
|
|
32
|
-
| Run | Premise | Correctness | Test coverage | Recovery | Documentation | 可计分 |
|
|
33
|
-
|---|---:|---:|---:|---:|---:|---:|
|
|
34
|
-
| `spec-claude` / current spec | yes | yes | yes | yes | yes | yes |
|
|
35
|
-
| `premise-claude` / candidate | yes | yes | yes | yes | yes | yes |
|
|
36
|
-
| `six-kimi` / current six concerns | yes | yes | yes | yes | yes | yes |
|
|
37
|
-
| `spec-zcode-3` / current spec | yes | yes | yes | yes | yes | yes |
|
|
38
|
-
| `spec-grok-4` / current spec | partial raw text | partial raw text | partial | no stable result | partial | no |
|
|
39
|
-
| `premise-grok-4` / candidate | partial raw text | partial raw text | partial | partial | partial | no |
|
|
40
|
-
|
|
41
|
-
Claude 的 candidate 产生了比 current spec 更多的表述和风险拆分,但没有新增 seed class。
|
|
42
|
-
Kimi 的完整六关注面与 ZCode 的 current spec 都再次找到五类 seed,说明 premise/causal
|
|
43
|
-
挑战可以被最窄地放进 specification fidelity,而不必增加一个永久 lens。
|
|
44
|
-
|
|
45
|
-
Grok 四轮尝试均以 exit code 0 结束,但输出被 host wrapper 截断或混入重复、畸形 JSON,
|
|
46
|
-
launcher 正确发布 `failure_type: missing_result`。原始片段里出现若干真实缺陷不能算成功
|
|
47
|
-
findings;这证明的是 Grok 1.0.3 的 structured-result conformance 缺口,不是 lens 语义结论。
|
|
48
|
-
|
|
49
|
-
## 原始观察
|
|
50
|
-
|
|
51
|
-
原始 receipt、worker spec、stdout、stderr 与 terminal result 保存在可重建观察区:
|
|
52
|
-
|
|
53
|
-
`.ultra/.runtime/adversarial-eval/2026-08-14/delegations/`
|
|
54
|
-
|
|
55
|
-
关键 terminal result SHA-256:
|
|
56
|
-
|
|
57
|
-
- `spec-claude/result.json`: `14156c2fd86936a725fe5e9e42b90e8cb9e80e2d3045304046bd9791baa5caaf`
|
|
58
|
-
- `premise-claude/result.json`: `bf39a38b5893f53a18f95f55932b28e381edbf2f4a8bae9b1dd1180b61267bbd`
|
|
59
|
-
- `six-kimi/result.json`: `ca523134aa30f2ad39ebf539dd2b31b74b06c966c37d4cee4feae17574bf6aaf`
|
|
60
|
-
- `spec-zcode-3/result.json`: `f9409cdd62a5e41a5b183cbed155e25e097ec9a27d0d0bfae0f9e74d87468956`
|
|
61
|
-
- `spec-grok-4/result.json`: `0d33a9f5f4a80d75b0ebb908d30f6d12d9e26be1f3122b976dfd126fba8a34de`
|
|
62
|
-
- `premise-grok-4/result.json`: `6e33fd9fc6a17313151a640717ad257efbfb780417044f8b9d92cc46acd128b5`
|
|
63
|
-
|
|
64
|
-
该目录是 disposable evidence,不是项目语义权威;可由 tracked fixture、prompts 和当前
|
|
65
|
-
delegate launcher 重建。
|
|
66
|
-
|
|
67
|
-
## 产品决定
|
|
68
|
-
|
|
69
|
-
1. 六 lens roster 不变。
|
|
70
|
-
2. `review-spec` 必须同时验证 accepted behavior、North Star Trace、因果链、contradiction
|
|
71
|
-
disposition,以及“全部 acceptance 通过但 outcome 仍失败”的路径。
|
|
72
|
-
3. Plan review 与 aggregate Test review 必须产出六 lens session;没有 findings artifact
|
|
73
|
-
不得声称阶段完成。
|
|
74
|
-
4. 可用不同 model family 时追加一次 blind premise probe;不可用时记录缺失,不伪造独立性。
|
|
75
|
-
5. `execution_mode` 和每个 worker 的 coverage refs 必须落盘。顺序角色扮演只能记录为
|
|
76
|
-
`sequential_fallback`,不能声称 isolated multi-agent。
|
|
77
|
-
6. 只有 fresh blind fixture 反复证明 current roster 漏掉独立 consequential class 时,
|
|
78
|
-
才重新讨论第七 lens。
|
|
79
|
-
|
|
80
|
-
## 最便宜复测
|
|
81
|
-
|
|
82
|
-
先运行 `node --test tests/adversarial-review-eval.test.cjs`,确认 green-test trap 与五个
|
|
83
|
-
hidden seed 仍存在;然后在新的隔离上下文中用相同 permission 分别运行 current spec 与
|
|
84
|
-
candidate premise prompts。不得向 worker 暴露 seed manifest 或本报告。
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Ultra Builder Pro 5.0 journey 验收结果 — 2026-08-26
|
|
2
|
-
|
|
3
|
-
## 结论
|
|
4
|
-
|
|
5
|
-
14 条已接受 journey 都有可观察结果并全部为 `PASS`。2026-08-25 的初始候选曾把
|
|
6
|
-
ZCode ACP promotion 记为诚实 `STOP`;2026-08-26 的 live activation 先复现并修复
|
|
7
|
-
ZCode 0.16.5 runtime-preferences handshake,再通过国内 BigModel provider 完成真实
|
|
8
|
-
receipt,因此该行已经由新证据取代。之后六 Host real user-HOME install/Doctor、
|
|
9
|
-
Windows descendant cleanup 和 same-commit 三平台 CI 也分别完成;公共 registry 与
|
|
10
|
-
GitHub Release 仍由最后的 release task 独立验证。
|
|
11
|
-
|
|
12
|
-
这里的证据分为三类,不能互相冒充:
|
|
13
|
-
|
|
14
|
-
- `source-contract`:验证 Skill 得到一致、可到达、可停止的导航合同,不断言任一模型的
|
|
15
|
-
实际表达质量;
|
|
16
|
-
- `isolated-runtime`:运行真实 installer/Doctor/runner 代码,但只使用临时 config、fake
|
|
17
|
-
Codex registration 或 fake ACP/CLI target;
|
|
18
|
-
- `live-provider`:六个 Host 分别完成 one bounded read-only ACP provider session;
|
|
19
|
-
receipt 只保留协议/result/进程/Git 事实和 digest,不保留 prompt 或 provider text。
|
|
20
|
-
|
|
21
|
-
## Journey register
|
|
22
|
-
|
|
23
|
-
| ID | Journey | Result | Observable success or stop | Executed evidence | Deliberate gap |
|
|
24
|
-
|---|---|---|---|---|---|
|
|
25
|
-
| J1 | Greenfield | PASS | `init/create` 停在 raw brief,`research/baseline` 以 selected coverage 与 stop condition 产出 accepted baseline,再推荐首个 Change | `tests/route-contract.test.cjs`; `docs/evals/ultra-5-0-route-journeys.md#j1--greenfield-baseline` | source-contract;六 Host live output 未跑 |
|
|
26
|
-
| J2 | Existing project | PASS | 新请求先进入 Change;有界证据问题经 change-scoped Research 回到同一 `change_id`,accepted 后才进入 Plan | `tests/route-contract.test.cjs`; route journey J2 | source-contract;不把模型语义质量机械化 |
|
|
27
|
-
| J3 | Micro edit | PASS | 不使 specification 失真的 edit 明确退出 Change lifecycle,使用 ordinary repository TDD/verification | `skills/ultra-change/SKILL.md`; `docs/WORKFLOW-LIFECYCLE.md#change-reconciliation` | source inspection;实际 edit 由调用项目验证 |
|
|
28
|
-
| J4 | Owner revision | PASS | draft 原地修订;accepted consequential answer 以 `supersedes` record 保留旧 authority;拒绝现有选项不会默认进入 Plan | route journey J3;`skills/ultra-change/SKILL.md`; `skills/ultra-status/SKILL.md` | source-contract;owner judgment 不由 fixture 代替 |
|
|
29
|
-
| J5 | Fresh session | PASS | 从 root/HEAD、唯一 active Change、matching ledger/context/Resume、baseline 与 Git 重建 Route Card,不重跑已完成 Research | `tests/ultra-5-journeys.test.cjs`; README;`docs/WORKFLOW-LIFECYCLE.md#interruption-and-cross-host-continuation` | 本地 artifact route;本轮未做六 Host live output 对比 |
|
|
30
|
-
| J6 | Early value | PASS | Plan 的第一个 slice 必须穿过真实 consumer 与 data path,并命名 owner-visible observation | `tests/ultra-5-journeys.test.cjs`; `skills/ultra-plan/SKILL.md`; lifecycle | source-contract;真实产品 observation 由调用项目提供 |
|
|
31
|
-
| J7 | Degraded state | PASS | 两个 active Change 产生 `active_change_ambiguous`;不读任一 intent body,不写 progress,并给出显式保留/archive/abandon/retry 路径 | `tests/ultra-5-journeys.test.cjs` 真实 SessionStart Hook scenario;Status/Review source | Review 在 ambiguity 时停在 packet write 前;不会制造 current scope |
|
|
32
|
-
| J8 | Clean install delegation | PASS | isolated install 后从 loaded `ultra-delegate/scripts/delegate.cjs` 直接运行;不依赖 global `ubp`,Doctor 可见 runner;六个真实 Host home 的最终 Doctor 也都选择 ACP | `tests/install.test.cjs`; `tests/package-smoke.test.cjs`; migration fixture;`.ultra/evidence/v50-real-home-activation/` | published-registry consumer install 由 public-release task 验证 |
|
|
33
|
-
| J9 | ACP happy path | PASS | stable v1 initialize -> session/new -> bounded derived updates -> exact Ultra terminal result | `tests/acp-driver.test.cjs`; `tests/delegate.test.cjs`; fake ACP agent | synthetic executable protocol evidence,不是 Host/provider conformance |
|
|
34
|
-
| J10 | Permission denial | PASS | envelope 内写请求仅 `allow_once`;scope widening 立即拒绝,不能转成 successful Ultra result | `tests/acp-driver.test.cjs`; `tests/delegate.test.cjs` | fake agent;没有真实 provider permission UI |
|
|
35
|
-
| J11 | Cancellation | PASS | cancel/timeout 到 typed terminal result,释放 delegation lock,POSIX process group 无 descendant orphan;`windows-latest` 的 cancel 与 timeout 也都终止真实 grandchild,可用 fresh id 重试 | `tests/delegate.test.cjs`; `tests/acp-driver.test.cjs`; GitHub Actions run `32935138736` | 若 Windows `taskkill` 不可用,fallback 只能保证 direct child cleanup |
|
|
36
|
-
| J12 | CLI fallback | PASS | 六个 Host 都只在自己的 current receipt、stable ACP v1 和 executable 同时成立时选择 ACP;任一条件缺失仍选择 result-compatible CliDriver,并在 receipt/result/Doctor 显示 typed reason | `tests/acp-driver.test.cjs`; `tests/install.test.cjs`; six live receipts;migration Doctor scenario | provider retry 与 fallback 不自动改变 credential 或语义 authority |
|
|
37
|
-
| J13 | ZCode bridge | PASS | installed ZCode 0.16.5 通过 `zcode-acp` v0.1.0 + digest-bound compatibility patch 接入 ACP v1,并用国内 BigModel provider 返回 exact Ultra result、clean Git 与 terminal worker | `skills/ultra-delegate/patches/zcode-acp-0.1.0-zcode-0.16.5.patch`; bridge receipt;`host-zcode.json`; live conformance report | transport maturity 仍为 `experimental`,因为 `app-server` 没有公开稳定性合同;缺 bridge/executable 时仍 typed fallback |
|
|
38
|
-
| J14 | 3.x migration | PASS | 18 个 seeded project-owned files(覆盖 baseline、spec、active/archive Change、decision、task/context、Research、evidence、test report 与 binary bytes)在 install -> update -> Doctor -> uninstall 前后 mode、length 与 SHA-256 全相同;六 Host Doctor healthy 且显示 driver health | `tests/ultra-5-journeys.test.cjs` before/after digest 与 Doctor diagnostic | fixture 证明 updater 的真实文件边界,不声称覆盖未知第三方 artifact 语义 |
|
|
39
|
-
|
|
40
|
-
## 可复现命令
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
node --test tests/ultra-5-journeys.test.cjs \
|
|
44
|
-
tests/route-contract.test.cjs \
|
|
45
|
-
tests/acp-driver.test.cjs \
|
|
46
|
-
tests/delegate.test.cjs \
|
|
47
|
-
tests/install.test.cjs \
|
|
48
|
-
tests/package-smoke.test.cjs
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
其中 migration case 会在临时目录执行六 Host install、第二次 install(update)、JSON
|
|
52
|
-
Doctor 与 uninstall,并在 TAP diagnostic 中打印 canonical before/update/uninstall digest
|
|
53
|
-
和每个 Host 的 selected driver/fallback reason。
|
|
54
|
-
|
|
55
|
-
## 尚待 public-release task 完成的验证
|
|
56
|
-
|
|
57
|
-
- 六个真实 Host 对同一 route fixture 的 Route Card 输出质量对比;
|
|
58
|
-
- `v5.0.0` annotated tag、npm trusted publication、GitHub Release 与 published-package
|
|
59
|
-
consumer install 的同源性。
|
|
60
|
-
|
|
61
|
-
六个 live ACP provider receipt、real-HOME activation、Windows cleanup 和三平台 CI
|
|
62
|
-
已经完成;剩余 registry/release 缺口属于 public-release task,不会被本报告冒充完成。
|