Consolidate vendor facts into single adapter

Task 9007 · Done · Coder · created · updated

Goal: vendor facts live in the catalogue or one adapter; shared mechanics exist once. No behaviour change. - Widen the vendor census to `codex|gemini|claude|anthropic|antigravity|agy|pi-acp|deepseek` over apps/api, apps/jaahd, apps/web; each hit is a reasoned seam or moves to catalogue/adapter (fold or justify the separate ACP fence); remove provider-name branches in provider_health, api agent_providers, acp_runtime, routes/fleet. - One base helper builds adapter env (unset omitted, never empty), used by every adapter. - Codex legacy usage fold uses `fold_inclusive_counts`; `sdk_events` uses `base.count_int`. - `accounts._creds_have_token` goes through `credential_file_present` and into `FENCED`. - One stdlib staged-write helper for the account-uid scripts (pi_rpc, subagents, codex `_ENV_PATCH`/`_HOOKS_MERGE`, agent_layer), keeping uid/mode/group; shrink `_RENAME_ALLOWED`. Out of scope: renaming DB columns, verbs, MCP names (ADR-0166); changing accepted credential shapes. Done means: census test green with the widened pattern; existing adapter, usage, credential-read and login tests pass with identical results; quick gate green.

Outcome

Census widened to all 8 vendor names (ACP fence folded in, roster-comparison check). Provider branches moved onto catalogue fields; one adapter_env, one staged_write, creds read FENCED. Quick gate green; PR #6633 queued. Debt deferred to draft #9030. Memory: none applied.

Pull request

Artifacts

Activity

  • Created
  • Run
  • Runner started
  • Runner ended (done)