Skip to content

fix(megazord): paperclip pins an account; continued turns keep the thread's own - #12

Merged
iB2 merged 2 commits into
mainfrom
fix/paperclip-account-pin
Oct 1, 2026
Merged

iB2 merged 2 commits into
mainfrom
fix/paperclip-account-pin

Conversation

@iB2

@iB2 iB2 commented Sep 29, 2026

Copy link
Copy Markdown
Owner

What

  • paperclip_run gets an optional instance pin (e.g. claudeAgent_claude_pessoal). Applied after the NDA gate: a general request pinning the SSB account is refused.
  • Continuing a thread (dispatch with threadId, paperclip_thread_continue) reuses the thread's own modelSelection instead of re-running the routing policy. An explicit instance/model that disagrees is refused.

Why

  • With no quota data the policy always takes the first eligible account in config order, so a new login (Claude Pessoal, Max) was never picked.
  • paperclip_thread_continue sent no scope; the policy picked codex and the follow-up turn never reached a Claude thread (seen 2026-09-29 on a worker thread that hit its session limit).

Verification

  • pnpm test in packages/megazord: 107 passed; pnpm typecheck clean.
  • Live e2e against the running T3 (script C:/tmp/poteto/e2e-paperclip-pin.mjs): dispatched with instance: claudeAgent_claude_pessoal → thread on that account, turn 1 PING-PESSOAL; sendTurnAndAwait without scope → turn 2 PONG-PESSOAL on the same account (transcript under .claude_pessoal); pinning claudeAgent for general work → refused.

The MCP server loads src/ from the main checkout, so the new param takes effect after this merges and the MCP restarts.

🤖 Generated with Claude Code

iB2 and others added 2 commits September 29, 2026 17:17
… thread's own

paperclip_run gains an 'instance' pin (applied after the NDA gate, so general work
can never pin the SSB account), so a second login of the same harness
(claudeAgent_claude_pessoal) is reachable; without quota data the policy always
picked the first account in config order.

A follow-up turn (dispatch with threadId / paperclip_thread_continue) now reuses
the thread's modelSelection instead of re-routing: the MCP sent no scope, the
policy picked 'codex' and the turn never reached the Claude thread.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…the whole test budget

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@iB2
iB2 merged commit 3c82a7f into main Oct 1, 2026
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.

1 participant