Mirrors upstream PR ericlitman#73 (issue ericlitman#72): role assignments are chosen first,
only assigned families get effort questions and probes, and there is no
requirement to assign every matrix family. A failed model demands
explicit repair or role reassignment before saving; the fail-closed
write rules and the first-run sheet bytes are unchanged. The probe table
gains DeepSeek and MiniMax rows (key present, config dir free of OAuth
credentials, one-turn probe doubling as the base-URL confirmation), and
render-time validation enforces non-empty roles, at least two architect
runners, and the two-provider panel diversity rule. model-matrix.test.ts
is updated in the same commit because it pins the setup prose, and gains
a flex-matrix section check cross-validated against the runner's
gateway specs.
Closes #72
Changes
Setup currently requires all four default model families, so a missing Grok CLI blocks users who want only Codex or Claude. Select role assignments first and probe only the assigned models. Unused providers need no CLI or subscription.
Preserve custom assignments, lane order, and all documented roles. A failed selected provider requires explicit repair or reassignment before saving. Native aliases receive a real delegation probe before either configuration file changes. Architect keeps at least two independent runner entries, which may use the same model; other panels remain nonempty.
Verification
git diff --checkpass.Live evidence, 2026-09-16 on macOS: pstack
1.4.1, candidate7feabe1518ac680caa514e304d342d22733f12ca. All 166 installed plugin files matched the committed snapshot byte-for-byte in Codex CLI0.154.0and Claude Code2.1.179. Fresh real setup sessions used disposable target paths; the user’s actual model sheets and integration files remained unchanged.Both applications passed:
unavailable-cli, and preserve both files. Explicit reassignment toinherit-parentthen passed probing, confirmation, saving, and smoke without any further external-provider checks.Tool transcripts, child results, receipts, exact file bytes, and independent hashes support these results. Behavioral cases describe the scenarios.