Skip to content

fix(llc): validate adapter_type at hire time + decompose #9008/#9033 remaining ACs - #10227

Merged
mrveiss merged 5 commits into
Dev_new_guifrom
issue-9008-adapter-validation
Jun 16, 2026
Merged

mrveiss merged 5 commits into
Dev_new_guifrom
issue-9008-adapter-validation

Conversation

@mrveiss

@mrveiss mrveiss commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Thinking Path

"Take next batch under #9923" → the remaining members are three L features. Audited #9008 (copilot_local) and #9033 (subscription adapters): all 5 adapter types are implemented and registered, but the features are not done — substantial ACs remain (frontend selector, OAuth wiring, token→budget, quota auto-pause). Rather than half-build two L features, this PR ships the one real bug the audit found and decomposes the rest into scoped discovery issues.

What Changed

Remaining #9008/#9033 ACs → discovery issues (NOT closed here)

Verification

  • pytest llc/tests/test_budget_provision.py → 14 passed (3 new: unknown adapter → 422, copilot_local → 201, all five types registered)
  • flake8 clean

Model Used

Claude Opus 4.8

Addresses part of #9008 and #9033 (umbrella #9923); remaining ACs tracked in #10217/#10218/#10219/#10220.

mrveiss added 2 commits June 16, 2026 10:51
Audit of #9008 (copilot_local) / #9033 (subscription adapters) found all 5
adapter types registered but agent_hires accepted ANY adapter_type string with
no validation — an unknown/typo'd type silently created an agent whose every
heartbeat is then skipped (no adapter registered), looking degraded forever
(worse since #9951 made that a perpetual SKIPPED status).

Add registered_adapter_types() to the adapter registry and reject an
unregistered adapter_type at hire with 422 (mirrors the existing model
validation). Tests: unknown → 422, registered (copilot_local) → 201, and the
five canonical types are registered.

The larger remaining ACs for #9008/#9033 are decomposed into discovery issues:
#10219 (frontend adapter selector + GET /api/llc/adapters), #10220 (token usage
→ budget), #10217 (subscription OAuth wiring), #10218 (quota → auto-pause +
board notification). Part of umbrella #9923.
@github-actions

github-actions Bot commented Jun 16, 2026 •

Copy link
Copy Markdown
Contributor

✅ SSOT Configuration Compliance: Passing

🎉 No hardcoded values detected that have SSOT config equivalents!

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