Skip to content

feat(pstack): promote GPT-6 Codex families to stock, new first-run defaults, README rewrite - #16

Merged
thisguymartin merged 4 commits into
mainfrom
claude/youthful-dirac-vd1ei1
Sep 28, 2026
Merged

thisguymartin merged 4 commits into
mainfrom
claude/youthful-dirac-vd1ei1

Conversation

@thisguymartin

@thisguymartin thisguymartin commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Closes #17

What changed

Astra, GPT-6 Sol, and Luna are now stock families and carry the first-run defaults. The "additional model matrix" tier from #9 is gone; the stock matrix has seven rows. codex:gpt-5.6-sol stays selectable, and existing sheets are untouched until a role is reassigned in /setup-pstack.

New first-run sheet:

Role Before After
feature, refactoring grok:grok-4.6@xhigh codex:gpt-6-sol@high
bug-fix, perf-issue, hillclimb codex:gpt-5.6-sol@max codex:gpt-6-sol@high
how explorer, swarm workers grok:grok-4.6@xhigh codex:gpt-6-luna@high
all four panel roles fable, gpt-5.6-sol, grok, opus claude:fable@max, codex:gpt-6-astra@high, grok:grok-4.6@xhigh, claude:opus@xhigh
judgment/prose, hardest tasks, how explainer, why, reflect unchanged unchanged

Panels still span three providers.

Contract changes

  • provider-dispatch.md: three GPT-6 rows join the stock matrix; a new ## Default panel section holds the one line that setup-pstack, arena, architect, and interrogate copy verbatim. Before, the static check derived the panel from every matrix row, which stops working once the matrix has more rows than panel lanes.
  • setup-pstack/SKILL.md: first-run sheet, "stock and flex" wording, probe table rows.
  • Default descriptors updated in arena, architect, interrogate, how, swarm, poteto-mode, and the feature, refactoring, bug-fix, perf-issue, hillclimb playbooks.
  • tests/skill-collision-repro.sh: quad invariant reads the Default panel line; solo-code invariant checks the sol-6 row.
  • runner/model-matrix.test.ts: asserts seven stock rows, GPT-6 descriptors in the first-run sheet, and the panel contract (four lanes, at least two providers, matrix default efforts).

Docs

  • README rewritten as pstack-flex's own page: one family table with what each needs and its first-run role, the default panel, a "how a role becomes a lane" diagram, install/setup/cost/contributing for this repo. No roadmap section.
  • docs/LANES.md, docs/USAGE.md, docs/reference.md describe the GPT-6 families as stock. UPSTREAM.md and UPSTREAM-FLEX.md record that the matrix and first-run sheet are now fork-owned and conflict on every upstream sync. CHANGES.md entry added.

No runner code changed; the Codex route (native spawn_agent under Codex, codex exec via the runner under Claude Code) is the one #9 already proved.

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.

Local gate on 7ad4ce3:

  • bun run test: 197 pass, 1 fail. The failure is runLane > terminalizes catchable failures after reserving output paths (run.test.ts:841), which chmods a file to 0o000; the sandbox this ran in is uid 0 and ignores permission bits. It fails identically on clean main here and is unrelated to this diff. CI runs non-root.
  • bun run typecheck: pass.
  • Manifest JSON parse (4 files): pass.
  • PSTACK_STATIC_ONLY=1 bash tests/skill-collision-repro.sh: 13 ok, 0 fail, including default model quad identical ... (claude:fable@max codex:gpt-6-astra@high grok:grok-4.6@xhigh claude:opus@xhigh) and solo code roles stay on the sol-6 row (codex:gpt-6-sol@high).
  • claude plugin validate plugins/pstack (Claude Code 2.1.284): passed.
  • git diff --check: clean.

Live evidence:

Not yet. This changes installed behavior (a first /setup-pstack run now proposes the GPT-6 defaults), so it needs the exact candidate installed in Claude Code and Codex, a first-run /setup-pstack that renders the new sheet with passing probes for gpt-6-astra@high, gpt-6-sol@high, and gpt-6-luna@high, and one mixed-panel smoke. The sandbox this was built in has no Codex or Grok CLI and no logins, so it stays a draft until that is recorded here.

🤖 Generated with Claude Code

https://claude.ai/code/session_01N3mzNDcZhX9LN5mWCDthg9

thisguymartin and others added 4 commits September 28, 2026 19:12
Bring the README up to date with the merged fork changes:

- List all three lane kinds with every family setup accepts: the stock
  four, the optional GPT-6 Codex families, and the four gateway families
  (DeepSeek Flash / V4 Pro, MiniMax M3 / M3.1 Flash Preview) with the key
  each needs.
- Add a short "how a role becomes a lane" diagram: model sheet -> parent
  resolves the route once -> native subagent or pstack-runner -> receipt.
  State the dropout rule and the two-provider panel diversity rule.
- Mention gateway keys and any-subset setups in Install, and the
  assignment-first, probe-before-write setup flow plus the sheet's
  location in Get started.
- Add a gateway row to the Claude Code / Codex table and a cost note that
  points at the USAGE.md cost playbook.
- Point badges, issue links, and the contributing section at this
  repository, and state the live-evidence merge gate from AGENTS.md.
- Add a Roadmap section linking the planned skill issues (#10-#15) and
  the open lane ideas (#3, #7).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N3mzNDcZhX9LN5mWCDthg9
This reverts commit 66e5a46 and restores README.md to its state on main.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N3mzNDcZhX9LN5mWCDthg9
Astra, GPT-6 Sol, and Luna move from the "additional" matrix into the
stock model matrix. The first-run sheet now uses them: GPT-6 Sol for
the solo code-writing roles, Luna for exploration and swarm workers,
and Astra in place of GPT-5.6 Sol on every panel. GPT-5.6 Sol stays a
selectable family for existing sheets.

provider-dispatch gains a "## Default panel" line that is the single
source for the four panel lanes; setup-pstack, arena, architect, and
interrogate copy it verbatim and the static invariant reads it instead
of deriving the panel from every matrix row. The solo-code invariant
now checks the sol-6 row. The matrix test asserts the seven stock rows,
the GPT-6 rows in the first-run sheet, and the panel contract.

Tracked in #17.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N3mzNDcZhX9LN5mWCDthg9
…ults

README is now the fork's own page: titled pstack-flex, one table of every
family setup accepts with what each needs and its first-run role, the
default panel, a "how a role becomes a lane" diagram, and install, setup,
cost, and contributing sections written for this repository. No roadmap;
issues carry that.

LANES.md, USAGE.md, and reference.md describe the GPT-6 families as stock
and show the new first-run defaults. UPSTREAM.md and UPSTREAM-FLEX.md
record that the matrix and first-run sheet are now fork-owned and will
conflict on every upstream sync. CHANGES.md gets the entry.

Tracked in #17.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N3mzNDcZhX9LN5mWCDthg9
@thisguymartin thisguymartin changed the title docs(readme): describe the flex lanes, routing, and roadmap feat(pstack): promote GPT-6 Codex families to stock, new first-run defaults, README rewrite Sep 28, 2026
@thisguymartin
thisguymartin marked this pull request as draft September 28, 2026 19:27
@thisguymartin
thisguymartin marked this pull request as ready for review September 28, 2026 19:30
@thisguymartin
thisguymartin merged commit c3bf1de into main Sep 28, 2026
1 check passed
@thisguymartin
thisguymartin deleted the claude/youthful-dirac-vd1ei1 branch September 28, 2026 19:34
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.

Promote the GPT-6 Codex families to stock and put them in the first-run defaults

1 participant