Skip to content

fix(kanban): refuse single-sub pin routes (claude-apx/bpx-N, pre-rename aliases) at set time - #1116

Merged
ang-fleet-lander[bot] merged 6 commits into
mainfrom
fix/t_141135aa-kanban-pin-refusal
Sep 26, 2026
Merged

ang-fleet-lander[bot] merged 6 commits into
mainfrom
fix/t_141135aa-kanban-pin-refusal

Conversation

@Kyzcreig

@Kyzcreig Kyzcreig commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Card t_141135aa (Ace 2026-09-25). Worker cards/lanes pinned to claude-apx-0 (and via the claude-api-proxy alias) dropped workers onto Ace's personal sub: 95x 429 + 46x 401 today.

Every kanban route writer (create_task, set_model_override + batch, set_task_model, set_lane_model_override, lane-model CLI) now refuses providers matching claude-(apx|bpx)-N or a pre-rename alias (claude-api-proxy|claude-proxy|claude-subscription-proxy|claude-bridge, -fN/-failoverN/-fallbackN, claude-cli-bridge). Checked pre- and post-alias-resolution, on the explicit provider and a provider/ prefix on the model. Error text names claude-bpr / claude-apr.

Tests: tests/hermes_cli/test_kanban_pinned_sub_refusal.py (25 pass locally; 5 writer tests fail with the wiring reverted). Existing-offender sweep lives in the home repo (scripts/kanban-pinned-sub-sweep.py).


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Kyzcreig and others added 4 commits September 25, 2026 14:09
…me aliases) at set time

Card model_override (create / set-model / edit --model / batch) and lane-model
writers now refuse provider values that pin one Claude sub: claude-apx-N,
claude-bpx-N and the pre-rename aliases (claude-api-proxy = claude-apx-0 =
Ace's personal Mac sub, claude-proxy, claude-subscription-proxy,
claude-bridge, -fN/-failoverN/-fallbackN). Checked before and after alias
resolution, on the explicit provider and on a provider/ prefix of the model.
The refusal names the pool alternative (claude-bpr / claude-apr).

Verified: tests/hermes_cli/test_kanban_pinned_sub_refusal.py 25 passed;
with kanban_db.py+kanban.py wiring reverted, 5 writer tests fail (mutation).

Card: t_141135aa
… refuse them)

_rl_burst and the vendor-prefix spawn test modelled historical rows via the
writers; those rows are still dispatchable, so keep the assertions and seed them
directly. Verified: the 3 CI-red node ids pass locally.

Card: t_141135aa
@blacksmith-sh

blacksmith-sh Bot commented Sep 26, 2026

Copy link
Copy Markdown

Found 2 test failures on Blacksmith runners:

Failures

Test View Logs
TestPinTransition/test_cache_busting_signature_reflects_pin_peer_name View Logs
TestPinTransition/test_cache_busting_signature_reflects_pin_peer_name View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@ang-fleet-lander

Copy link
Copy Markdown

🤖 merged-by: apollo · lane: kanban-merge-pass · gate: BYPASS: FleetReview paused by Ace 2026-09-22 (state/fleetreview-pause marker present) · why: t_141135aa: Naming/routing floor: no pre-rename provider aliases and no apx-N / local-sub pi; Argus off card review (Ace 13:08), CI green

@ang-fleet-lander
ang-fleet-lander Bot added this pull request to the merge queue Sep 26, 2026
Merged via the queue into main with commit dd55c4a Sep 26, 2026
56 checks passed
@ang-fleet-lander
ang-fleet-lander Bot deleted the fix/t_141135aa-kanban-pin-refusal branch September 26, 2026 15:42
@ang-prism

ang-prism Bot commented Sep 27, 2026

Copy link
Copy Markdown

FleetReview

Review: post-merge · head dd55c4aec86c · duration 6m 58s
Profile: light (merit: default light: lines 220<800, files 6<1000000, hunks 10<1000000, no hot path) · policy: below-size-and-path-gates
Roster: B-assert-ctx → gpt-6-sol (openai), B-state → gpt-6-sol (openai), G → grok-4.6 (xai), L6 → gpt-6-sol (openai)

Post-merge review (fleetreview:post-merge override): this reviewed the merge commit against its first parent — the bytes that already shipped. It is not a pre-merge gate pass.

profile: light (rule: default light: lines 220<800, files 6<1000000, hunks 10<1000000, no hot path) · round 0 · members: B-assert-ctx, B-state, L6, G · families: openai,xai

Confidence: 4/5

No issues found.


FleetReview provenance · models: B=gpt-6-sol, D=grok-4.6 · cost: $0.30 · duration: 6m 56s · rounds: 1 · files examined: 6

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