Skip to content

feat(runner): register Muse Wonder Full 1.0 as a family and accept a no-usage-data Muse login - #292

Open
LuneDevelops wants to merge 2 commits into
ericlitman:mainfrom
LuneDevelops:feat/muse-family
Open

LuneDevelops wants to merge 2 commits into
ericlitman:mainfrom
LuneDevelops:feat/muse-family

Conversation

@LuneDevelops

Copy link
Copy Markdown

Closes #291

What changed

 registry/models.ts
+  family muse-wonder-full-1.0 (muse, low..max, default max, optional)
+  released pair muse:muse-wonder-full-1.0
 providers/muse.ts
   preflight classify
-    three exit-0 branches: Tier, api_key
+    one prefix table: Tier, api_key, server_sent_no_usage
+  notes: the registered family; the no-usage-data decision and its evidence
 references/model-catalog.md          # re-rendered
 CHANGES.md                           # Unreleased entry

A /setup-pstack rerun can now put muse:muse-wonder-full-1.0@<effort> in a role or panel. Muse lanes keep the external runner from every parent (the T3 driver table is unchanged), and a Muse writer still needs muse writer sandbox: full-access.

The preflight decision: muse usage exit 0 starting with No usage data (server_sent_no_usage) now passes with evidence subscription-no-usage-data. Evidence from Muse Code 1.4.14 on Linux: a signed-in account with an unused window prints exactly that line and exits 0; muse usage --json gives {"allowance":null,"reason":"server_sent_no_usage"}; a logged-out CLI exits 1 with not logged in on stderr. The server answered for the subscription, so the login holds and the model call checks the allowance. Any other No usage data (...) reason stays inconclusive.

Evidence

  • Before: on main, bun test runner/registry.test.ts with the new Muse test fails (resolveLane returns no family for muse:muse-wonder-full-1.0), and muse.preflight.classify returns inconclusive for the no-usage-data fixture.
    After: 511 pass, 0 fail across 19 runner files; strict typecheck and static invariants pass; render.ts --check reports the committed catalog in sync.
  • Live runner lane on this head (pstack-runner --parent claude --provider muse --model muse-wonder-full-1.0 --effort high --mode read-only): receipt preflight.status: passed, evidence: subscription-no-usage-data, argv carries --model muse-wonder-full-1.0 --reasoning-effort high. The model call then returned API error 429: Subscription quota exhausted as child-failed/70 with the reason retained, which is the documented classification. The window resets 2026-11-09T00:00Z, so the marker round trip is still to be shown.

Merge Danger

Door: two-way. Reverting removes one family row and one preflight prefix; no sheet on any machine names Muse yet.

Blast Radius: narrow

Only muse descriptors and the Muse preflight change. Default roles and panels are unchanged. .claude/skills/verify-open-pstack/features/runner.md still says the muse-writer case passes the runner flag "because no Muse family is registered"; the recipe still works, and I left the verifier untouched so this PR is not verifier-changing.

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 live-gate status on the final head links the evidence comment (installed version, surface, action, observed result).

Mergify does not queue a pull request without live-gate on its exact head. Do not merge, tag, release, or roll out without it.

🤖 Generated with Claude Code

LuneDevelops and others added 2 commits November 8, 2026 13:48
…no-usage-data Muse login

Add the `muse-wonder-full-1.0` family (provider muse, efforts low to max,
default max, optional) and its released pair, so /setup-pstack can place
muse:muse-wonder-full-1.0 in a role or panel like any other family. The
catalog is re-rendered from the registry.

The Muse preflight now passes `muse usage` output that starts with
`No usage data (server_sent_no_usage)` with the fixed evidence
`subscription-no-usage-data`. Measured with Muse Code 1.4.14 on Linux: a
signed-in account with an unused window prints that line and exits 0,
`muse usage --json` reports reason server_sent_no_usage, and a logged-out
CLI exits 1 with `not logged in` on stderr. The following model call on
that host returned a 429 quota error as child-failed, so the output
proves the login, not an allowance. The provider notes record this.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… Muse family

The three exit-0 branches of the Muse preflight shared one shape, so a
prefix-to-evidence table replaces them. CHANGES.md gains an Unreleased
entry for the Muse Wonder Full 1.0 family and the no-usage-data login.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@mergify

mergify Bot commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🟠 1 of 2 protections blocking · waiting on 🤖 CI

Protection Waiting on
🟠 Queue ready pull requests 🤖 CI
🟢 🚦 Auto-queue —

🟠 Queue ready pull requests

Waiting for

  • check-success=live-gate
  • check-success=verify
Waiting checks: live-gate, verify.

Automatically queue non-draft pull requests targeting main after verify and live-gate pass on the head and every review thread is resolved.

  • check-success=live-gate
  • check-success=verify
  • #review-threads-unresolved = 0
  • -draft

Show 1 satisfied protection

🟢 🚦 Auto-queue

When all merge protections are satisfied and these conditions match, this pull request will be queued automatically.

  • -files~=^\.github/
  • base = main

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.

Register a Muse Code family so /setup-pstack can assign muse-wonder-full-1.0

1 participant