feat(config): generic per-provider host config maps replace claude-named fields (ADR-0034) #83
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/coding-lab!83
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "afk/78"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
One generic per-provider surface replaces the claude-named host config, so provider N+1 needs zero
config.gochanges (decided in the provider-seam grill, 2026-07-09). New ADR-0034 records the decision.What changed
ConfigdropsClaudeBin/ClaudeConfigforProviderBin/ProviderConfigmaps keyed by registered provider id. Repeatable-provider-bin id=path/-provider-config id=pathflags plusLAB_PROVIDER_BIN_<ID>/LAB_PROVIDER_CONFIG_<ID>env forms (claude-code→CLAUDE_CODE).Parsetakes the registered ids fromcmd/lab(the one place that names adapters), so an unknown id in a generic flag is a boot error listing the registered ids.-claude/-claude-config/LAB_CLAUDE_CONFIGsurvive as the documented deprecated alias shim writing theclaude-codeentries — the only provider-named remnant in config.go — with per-entry precedence generic flag > generic env > alias flag > alias env.Newaccepts emptyClaudeBin/ConfigPathand fills the adapter-owned defaults (PATH-resolvedclaude;LoginDir/.claude.json), so per-provider defaults leave config.go entirely.-helpdocuments the generic flags with the aliases marked deprecated (pinned by test).extraFlagsexample on the generic form.Acceptance, checked
aliasProviderID)-helpdocuments the generic flags (pinned byTestUsageDocumentsGenericProviderFlags)labwith distinct fake binaries on the generic flag and the alias, andGET /api/v1/providers/claude-code/auth/status?force=1exec'd the generic one (alias-only and env-beats-alias-flag probed the same way); degraded boot and all four flag-validation errors exercised at the CLIgo build ./..., fullgo test ./...(except the pre-existing sandbox-environment tmux integration failures in untouchedinternal/tmuxx),golangci-lint run(0 issues),gofmtall clean.Closes #78
🤖 Generated with Claude Code
https://claude.ai/code/session_017KmtFcjeAYBU1vxJuajaGc