release(v8.6.0): ultracode orchestration opt-in (uc=on) - #94
Merged
Conversation
…el dispatch + run-scoped continuity
Add an opt-in `uc=on` invocation argument that routes the /impl Step 15
exhaustive 3-spawn eval panel through the Workflow tool (parallel + forced
StructuredOutput schema + deterministic JS merge) instead of three Agent-tool
spawns — closing UCGAP-09 (typed returns replace prose-grep parsing),
determinism-aligned. Additive + opt-in: absent uc / uc=off is byte-identical to
v8.5.0.
Activation + propagation (invocation arg -> run-scoped continuity, never a
permanent policy flag):
- /impl uc=on: Step 1a parses+strips uc= (like rounds=N); Step 3a resolves
UC_ORCH + emits [UC-ORCH-MODE]; Step 15 dispatches via
${CLAUDE_PLUGIN_ROOT}/skills/impl/workflows/eval-panel.mjs only when
UC_ORCH==on AND VERIFICATION_DEPTH==exhaustive; Step 16 consumes the typed
EVAL_SCHEMA return (skips the prose-envelope grep). uc=metric-only logs intent
and falls through to the Agent path.
- /autopilot uc=on: parses uc=, writes ultracode_mode: to autopilot-state.yaml
at Phase 2 init, re-reads it on resume (Phase 1 Step 5, via parse_yaml_scalar)
so uc survives auto-compact/resume until the run completes, and forwards
uc={UC_ORCH} to each per-ticket /impl. session-start.sh / autopilot-continue.sh
unchanged (they read state wholesale).
- /brief chain=on uc=on: parses uc= (chain=on only; chain=off + uc=on warns and
ignores), forwards uc into the chained /autopilot {slug} uc=.
New committed PRODUCT-Workflow skills/impl/workflows/eval-panel.mjs: meta +
EVAL_SCHEMA (faithful/loose: only status+acs required) + 3 evidence-mode lenses +
inline mergeAcVerdicts (refute-then-synthesize, majority kill-switch, quorum<2 =>
FAIL_CRITICAL, CRITICAL-not-voted-away). Model selected by agentType (twin
files), not opts.model. Each evaluator still persists its eval-round-{n}-v{i}.md
from inside the Workflow, so the accept-set-verify PostToolUse hook fires
unchanged. mergeAcVerdicts is mirrored verbatim in the unit test.
Tests: tests/test-eval-panel-merge.mjs (merge unit, 23/23); CT-UC-ORCH-1/2/3 in
test-skill-contracts.sh (852 -> 855). All green: test-skill-contracts 855/855,
test-accept-set-verify 32/32, test-path-consistency 144/144, node --check
eval-panel.mjs, ShellCheck clean, ac-evaluator twins byte-identical,
CT-DECONTAM-1 clean.
Phase 1 of .docs/sw-x-ultracode-integration-plan-2026-06-20.md (gitignored).
Runtime residual, dogfood-gated (NOT yet verified): the Workflow result-capture
mechanism from within /impl Step 15 (trailing completion value vs return; the
Workflow tool runs in the background and returns via notification + output file)
— the merge logic and EVAL_SCHEMA are settled and unit-tested; only the Step
15<->Workflow consumption plumbing awaits this dogfood.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019irBw7wTgiT1YG3rUy5T5a
…ferral + widen ultracode to M-size (Form B)
dogfood54 surfaced two Workflow-path bugs in the uc=on eval-panel dispatch, and the
user asked to widen uc=on beyond exhaustive to M-size tickets. Both addressed:
1. args marshalling (opus->sonnet downgrade) — /impl Step 15 can reach eval-panel.mjs
with `args` serialised to a JSON STRING; the script's `const a = args || {}` then
saw a string, a.evaluator_model was undefined, and agentType fell back to
ac-evaluator (sonnet) even on exhaustive (which MUST be opus per M5). Fix:
eval-panel.mjs defensively JSON.parse a string `args` + warn if evaluator_model
stays unresolved.
2. partition deferral — the Workflow dispatch gate lacked an AC_COUNT check, so an
exhaustive ticket with AC_COUNT>=30 took the 3-spawn Workflow instead of the Agent
2-way partition (which takes precedence per ac-evaluator-orchestration.md). Fix:
Step 15 gate now requires AC_COUNT < 30; >=30 defers to the Agent partition.
3. widen uc=on to M (Form B) — Step 3a UC-FLOOR: when uc=on AND Size != S, floor
VERIFICATION_DEPTH to thorough (applied before evaluator_model / evidence_floor /
round-cap so they reflect the floored tier; thorough keeps sonnet). Step 15 gate
widened to VERIFICATION_DEPTH in {thorough, exhaustive} AND AC_COUNT < 30. Net:
every non-S (M/L/XL) ticket runs the eval-panel Workflow when uc=on, with a
tier-appropriate model (sonnet x3 at thorough, opus x3 at exhaustive); S stays
standard (Agent). uc=off remains byte-identical to v8.5.0. Emits [UC-ORCH-FLOOR].
Strictly meet-or-beat: uc=on only ADDS verification (3 evidence-mode lenses where the
Agent path would run 1), never lowers catch-rate; uc=off untouched.
Tests: CT-UC-ORCH-2 gate strings updated; new CT-UC-ORCH-4 (UC-FLOOR + [UC-ORCH-FLOOR]
+ {thorough,exhaustive} gate + AC_COUNT<30 + eval-panel JSON.parse defense).
test-skill-contracts 856/856, test-accept-set-verify 32/32, test-path-consistency
144/144, node --check eval-panel.mjs, merge unit 23/23 (mirror byte-identical),
ShellCheck clean, ac-evaluator twins byte-identical, CT-DECONTAM-1 clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019irBw7wTgiT1YG3rUy5T5a
…spatched parallel eval panel Release the uc=on integration (Phase 1 + M-widening Form B + the dogfood54 fixes, already committed in 53030bf + d475774) as v8.6.0. This commit is the release prep: README + CHANGELOG + plugin.json. - README.md: document `uc=on` on the /brief argument signature (parity with chain=) + a Limitations cost note. Top blurb unchanged; details delegated to skills/impl/SKILL.md. Brand-explicit "ultracode orchestration" naming, kept minimal. - CHANGELOG.md: [8.6.0] — 2026-06-21 (TL;DR + Added + Verification). Non-breaking, additive + opt-in; uc=off / no-uc is byte-identical to v8.5.0. - .claude-plugin/plugin.json: 8.5.0 -> 8.6.0 (CT-MODE-14). Pre-flight: test-skill-contracts 856/856 (CT-MODE-13/14 + CT-UC-ORCH-1..4), test-accept-set-verify 32/32, test-path-consistency 144/144, node --check eval-panel.mjs, merge unit 23/23 (mirror byte-identical), ShellCheck clean, ac-evaluator twins byte-identical, CT-DECONTAM-1 0 hits. plugin.json 8.6.0 == newest CHANGELOG [8.6.0], real ISO date. Field-validated dogfood54->55 (byte-size codec; strict rational-number library): M tickets route to the parallel panel at Sonnet, the exhaustive ticket at Opus, run-scoped continuity held across 3 auto-compacts, zero product defects. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019irBw7wTgiT1YG3rUy5T5a
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v8.6.0 — ultracode orchestration opt-in (
uc=on)Adds an opt-in
uc=onmode that routes a ticket's AC evaluation through Claude Code's Workflow tool (a committed parallel 3-lens multi-verifier panel) instead of sequential Agent-tool spawns. 3 commits on top of v8.5.0;mainis an ancestor (clean merge).Highlights (full detail in
CHANGELOG.md[8.6.0]):uc=oninvocation argument on/brief chain=on uc=on,/autopilot <slug> uc=on,/impl … uc=on(defaultoff). Dispatches/implStep 15 throughskills/impl/workflows/eval-panel.mjs— 3 evidence-mode-diverse evaluators in parallel, returning a forcedEVAL_SCHEMAStructuredOutput (Step 16 consumes the typed verdict; no prose-grep), merged by the existing refute-then-synthesize rule.UC-FLOOR(uc=on AND Size≠S floors depth tothorough), at a tier-appropriate model (Sonnet atthorough, Opus atexhaustive).Sstays Agent;AC_COUNT≥30defers to the Agent partition.ultracode_modeinautopilot-state.yamlsurvives auto-/compact+ autopilot resume (re-read at Phase 1 Step 5), forwarded to each/impl. Not a persisted policy flag.uc=ononly ADDS verification (3 lenses where the prior path ran 1);uc=off/ no-ucis byte-identical to v8.5.0.Verification:
test-skill-contracts856/856 (+CT-UC-ORCH-1..4),test-accept-set-verify32/32,test-path-consistency144/144,node --check eval-panel.mjs, merge unit 23/23 (mirror byte-identical), ShellCheck clean,ac-evaluatortwins byte-identical,CT-DECONTAM-10 hits.plugin.json8.6.0== newest CHANGELOG[8.6.0](CT-MODE-13/14). Field-validated dogfood54→55 (M→Sonnet panel, exhaustive→Opus, continuity across 3 auto-compacts, 0 product defects). Additive + opt-in — reverts byte-for-byte withuc=off.🤖 Generated with Claude Code
https://claude.ai/code/session_019irBw7wTgiT1YG3rUy5T5a