Skip to content

Resolve every dispatch from the omp lane sheet - #18

Merged
hieusats merged 6 commits into
mainfrom
fix/arena-omp-lanes
Aug 30, 2026
Merged

hieusats merged 6 commits into
mainfrom
fix/arena-omp-lanes

Conversation

@hieusats

@hieusats hieusats commented Aug 30, 2026

Copy link
Copy Markdown
Owner

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 seven pstack-<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) fixed swarm, how, interrogate, and architect. Wave three (2.1.8) fixed the single-delegate sites: bug-fix, feature, perf-issue, and hillclimb now delegate on omp writer lane pstack-task; refactoring hands its mechanical edits to omp mechanical lane pstack-sonic; and poteto-mode defaults paragraph maps each kind of work to its lane, states that model and effort come from task.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 runners pstack-task and pstack-designer with pstack-reviewer cross-judging, swarm workers on pstack-task, how exploring on pstack-scout and explaining on pstack-reviewer with 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

  • Bun tests, strict typecheck, static invariants, and plugin validation pass.
  • The exact candidate is installed in every affected harness.
  • The changed behavior passes from each real user surface.
  • The installed version, action, and observed result appear below.

Live evidence:

Repro (before the fix, main 2.1.5). grep arena-runners ~/.omp/agent/config.yml returns nothing; the sheet holds only the seven lane rows. omp models lists only zai, so the quad has zero native routes. A live grok-CLI quad leg through pstack-runner returned receipt unauthenticated, exit 77. A native pstack-task dispatch returned its marker in 4.9s.

Regression tests. arena resolves its panel from the omp lane sheet failed 5 assertions on the old text; panel skills resolve from the omp lane sheet failed 5 more pre-wave-two; delegation defaults ride the omp lanes failed 3 pre-wave-three (commits 5a9432e, f559fb9, fa9bf5b). All pass at head.

Suite. bun run test 195 pass / 0 fail; bun run typecheck clean; bun test tests/ 18 pass / 0 fail; tests/skill-collision-repro.sh exit 0 with the version chain at 2.1.8.

Live gate one (arena, installed 2.1.6). A fresh real omp session dispatched pstack-task and pstack-designer on a title-case candidate task, then judge pstack-reviewer. Observed: LANES: pstack-task, pstack-designer; FILES: four candidate artifacts, verified on disk; JUDGE: pstack-reviewer; VERDICT: candidate-1; RESULT: LIVE-ARENA-OK in 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-OK in 251s. architect verified 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 on pstack-sonic (create a three-line file). Observed: BUG: BugDelegate export function greet(name: string): string {; MECH: MechDelegate 3; RESULT: LIVE-DELEGATE-OK in 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.

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.
@hieusats hieusats changed the title Resolve arena panel from the omp lane sheet Resolve every panel skill from the omp lane sheet Aug 30, 2026
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.
@hieusats hieusats changed the title Resolve every panel skill from the omp lane sheet Resolve every dispatch from the omp lane sheet Aug 30, 2026
@hieusats

Copy link
Copy Markdown
Owner Author

PASS on PR #18 (fix/arena-omp-lanes, head e6b06e1) — independent verification of parent 6cf342f vs head.

  • Baseline defect confirmed on main: arena SKILL.md line 29 ("current harness" sheet rows) and poteto-mode playbooks/bug-fix.md line 9 ("configured bug-fix"); live sheet ~/.omp/agent/config.yml has 0 "arena runners" rows and only pstack-* lane keys (scout, librarian, sonic, designer, reviewer, security-reviewer, task).
  • Head suite green: poteto-mode scripts 195 pass / 0 fail and tsc clean (watch-pr, runner, check-plan); top-level bun test tests/ 18 pass / 0 fail; tests/skill-collision-repro.sh all 5 checks ok.
  • Installed candidate matches: omp plugin list shows pstack@omp-pstack 2.1.8; all 11 changed prose files (arena, swarm, how, interrogate, architect, poteto-mode SKILL.md plus bug-fix, feature, perf-issue, hillclimb, refactoring playbooks) diff empty against cache omp-pstack___pstack___2.1.8.
  • Live surface works: fresh omp -p session dispatched the pstack-scout agent via the task tool and returned SCOUT-VERDICT-OK in 24s.

@hieusats
hieusats merged commit 080fddd into main Aug 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

panel skills still resolve through the dead model-sheet row arena resolves runners from the initial default quad instead of omp lanes

1 participant