Resolve every dispatch from the omp lane sheet - #18
Merged
Merged
Conversation
Arena read its runners from an arena-runners row in "the current harness's pstack model sheet", a branch left over from the multi-harness era. omp's live sheet is task.agentModelOverrides, which holds only the seven pstack-<omp-role> lane keys, so the branch was structurally dead and every arena run fanned out the first-run provider quad through the external CLIs. Arena now resolves runners and the cross-judge from the lane sheet, defaults to the writer lanes pstack-task and pstack-designer with pstack-reviewer judging, keeps the quad as an explicit cross-provider opt-in, and fails closed to setup-pstack on an unconfigured sheet. Tracking issue #17.
swarm, how, and interrogate still read their panels through the dead model-sheet row, and architect still named quad runner defaults though its Arena delegates resolution to arena. Each now resolves lanes from task.agentModelOverrides and dispatches the pstack-<omp-role> agents natively. swarm defaults workers to pstack-task; how explores on pstack-scout and explains on pstack-reviewer with reviewer and security-reviewer critics; interrogate panels reviewer, security-reviewer, and librarian; architect defers to arena. External panels are explicit opt-ins and an unconfigured sheet fails closed to setup-pstack. No skill restates the quad, so the collision check keeps it across provider dispatch and setup only. Tracking issue #19.
The single-delegate sites kept the phantom config: bug-fix, feature, perf-issue, and hillclimb named a configured descriptor defaulting to codex or grok, refactoring the same, and poteto-mode spelled out the upstream tiering as if omp could configure it. No omp surface holds those values, so code delegation dead-ended on the external runner wherever the CLIs are unauthenticated. The four code playbooks now delegate on the writer lane pstack-task and refactoring hands its mechanical edits to pstack-sonic. poteto-mode maps each kind of work to its lane, keeps the external provider panel as an explicit opt-in, and points at setup role map for the upstream tiering. Tracking issue #19.
Owner
Author
|
PASS on PR #18 (fix/arena-omp-lanes, head e6b06e1) — independent verification of parent 6cf342f vs head.
|
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.
Closes #17. Closes #19.
What changed
Three waves, one mechanism. Every place a pstack skill resolved a model said "your configured descriptor" or read a row "from the current harness pstack model sheet", language from the multi-harness era. In omp the live sheet is
task.agentModelOverrides, which setup-pstack defines to hold exactly the sevenpstack-<omp-role>lane keys. No other surface holds those values, so the branch was structurally dead and every panel or delegation silently ran the first-run external provider quad through the claude/codex/grok CLIs, dead-ending wherever they are unauthenticated.Wave one (2.1.6) fixed
arena. Wave two (2.1.7) fixedswarm,how,interrogate, andarchitect. Wave three (2.1.8) fixed the single-delegate sites:bug-fix,feature,perf-issue, andhillclimbnow delegate on omp writer lanepstack-task;refactoringhands its mechanical edits to omp mechanical lanepstack-sonic; and poteto-mode defaults paragraph maps each kind of work to its lane, states that model and effort come fromtask.agentModelOverrides, keeps the external provider-panel descriptor as an explicit cross-provider opt-in, and points at the setup role map for the upstream family tiering. Panels resolve from the lane sheet everywhere: arena runnerspstack-taskandpstack-designerwithpstack-reviewercross-judging, swarm workers onpstack-task, how exploring onpstack-scoutand explaining onpstack-reviewerwith reviewer and security-reviewer critics, interrogate paneling reviewer, security-reviewer, and librarian. An unconfigured sheet fails closed to setup-pstack. No skill restates the quad any more, so the collision check keeps it across provider dispatch and setup only.Verification
Live evidence:
Repro (before the fix, main 2.1.5).
grep arena-runners ~/.omp/agent/config.ymlreturns nothing; the sheet holds only the seven lane rows.omp modelslists only zai, so the quad has zero native routes. A live grok-CLI quad leg throughpstack-runnerreturned receiptunauthenticated, exit 77. A nativepstack-taskdispatch returned its marker in 4.9s.Regression tests.
arena resolves its panel from the omp lane sheetfailed 5 assertions on the old text;panel skills resolve from the omp lane sheetfailed 5 more pre-wave-two;delegation defaults ride the omp lanesfailed 3 pre-wave-three (commits 5a9432e, f559fb9, fa9bf5b). All pass at head.Suite.
bun run test195 pass / 0 fail;bun run typecheckclean;bun test tests/18 pass / 0 fail;tests/skill-collision-repro.shexit 0 with the version chain at 2.1.8.Live gate one (arena, installed 2.1.6). A fresh real omp session dispatched
pstack-taskandpstack-designeron a title-case candidate task, then judgepstack-reviewer. Observed:LANES: pstack-task, pstack-designer; FILES: four candidate artifacts, verified on disk; JUDGE: pstack-reviewer; VERDICT: candidate-1; RESULT: LIVE-ARENA-OKin 114s.Live gate two (swarm, how, interrogate, installed 2.1.7). A fresh omp session, read-only, against the arena artifacts. Observed:
SWARM: SwarmWorker on pstack-task;HOW: Explorer on pstack-scout plus Explainer on pstack-reviewer;INTERROGATE: RevA on pstack-reviewer plus RevB on pstack-security-reviewer, rubric 3/3 PASS;RESULT: LIVE-PANELS-OKin 251s.architectverified in the installed text.Live gate three (playbook delegation, installed 2.1.8 = PR head, exact candidate, texts re-grepped in the cache). A fresh omp session ran the bug-fix delegation shape on
pstack-task(annotate a TypeScript signature, isolated scope) and the refactoring shape onpstack-sonic(create a three-line file). Observed:BUG: BugDelegate export function greet(name: string): string {;MECH: MechDelegate 3;RESULT: LIVE-DELEGATE-OKin 67s. Both artifacts verified on disk after. No external provider CLI was invoked in any gate. The GitHub marketplace source was restored after each install.