refactor(config): remove credential-location aliases (477.3)#503
Merged
Conversation
Delete the four ignored CredentialRef fields (GitConfig, ReviewerCredentials, ReviewerEntity, LLMConfig) and Profile.SecretsStore, plus syncCredentialRef, the legacy credential-location normalization, and alias-only init validation recovery. All nine remaining production consumers use Credential.Store and Credential.Name; the legacy credential_ref/credential_refs wire names live only in the view mapping. Three tests deleted with the repair behavior they exclusively covered (Profile.SecretsStore selector repair, impossible once the field is gone); the seven config-show goldens are byte-identical.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #477 — step 3 of 5 of the approved Candidate 1 from the design record.
Removes the credential-location compatibility aliases, the biggest remaining chunk of legacy config surface:
CredentialReffields —GitConfig,ReviewerCredentials,ReviewerEntity,LLMConfig. All production consumers (9 files today — down from the design record's pre-refactor(llm): extract concrete adapters into internal/llmadapters (476.B) #499 count of 14) now useCredential.Store/Credential.Name: config, app, initcmd, credentials, GitHub provider, identity, LLM adapters, mecmd, view.Profile.SecretsStore, the ignored legacy store selector; store resolution and init inventory use canonical credential locations.syncCredentialRef, legacy credential-location normalization, and alias-only init validation recovery.credential_ref/credential_refswire names are unchanged — they live only in the view mapping, same pattern as steps 2'slabel/desktop_account_id.Test accounting
Profile.SecretsStoreselector-repair flows, which are impossible now the field doesn't exist (TestBuildInteractiveInitWorkspaceRepairsBrokenSecretsStoreSelection,...RepairsBrokenSecretsStoreToConfiguredProfile,...AllowsRepairWhileAnotherProfileStillHasBrokenSecretsStore).mecmd.go.config show --jsongoldens pass byte-identical and unmodified.Verification
go build,go vet, fullgo test ./...green unsandboxed (60 packages), repo-widegolangci-lint0 issues, architecture harness pass. +614/−843 (net −229) across 30 files.Remaining for #477: step 4 (pure credential planning into
internal/credentials) and step 5 (init apply-tail dedup).