Conversation
Adopt #3657 on the current 74-provider registry, remove Crof-only presentation policy, and retain the existing unknown-provider config path. Regenerate provider manifests, bundled plugin JavaScript, embedded CLI icons, and the documentation index with repository scripts. Verify retired config entries are ignored without rewriting on read and removed on save while preserving all supported provider entries. Co-authored-by: Aanish Bhirud <47579874+baanish@users.noreply.github.com>
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. Reviewed September 21, 2026, 5:44 AM ET / 09:44 UTC. ClawSweeper reviewWhat this changesRemoves the retired Crof integration, its presentation special cases and assets, updates provider documentation, and adds config upgrade regression coverage. Merge readiness✅ Ready for maintainer review Keep open: Crof remains registered on main and in v0.63.0, so this retirement is still needed. No blocking defect was found, and the owner explicitly accepts the documented config-discard behavior. Priority: P2 Review scores
Verification
How this fits togetherCodexBar’s provider registry connects saved settings and CLI selections to usage fetching and menu presentation. Removing Crof makes its saved entry pass through the existing unknown-provider handling. flowchart TD
A[Saved provider settings] --> B[Configuration loader]
C[Registry without Crof] --> B
C --> D[CLI and menu choices]
B --> E[Supported provider settings]
B --> F[Ignore retired Crof entry]
E --> G[Next settings save]
G --> H[Config without Crof]
Before mergeNone. Agent review detailsSecurityNone. Review metrics
Root-cause clusterRelationship: Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Technical reviewBest possible solution: Retire the unavailable integration through the existing registry and config handling while preserving supported-provider settings and documenting the accepted discard-on-save policy. Do we have a high-confidence way to reproduce the issue? Not applicable as a defect reproduction: this retires an integration. Source inspection establishes the registry and config effects, supported by reported CLI upgrade validation. Is this the best way to solve the issue? Yes. Removing the registrations and Crof-only code while reusing the established unknown-provider decoder is a narrow, maintainable retirement path. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against d8d0f3394989. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
Adopt #3657 on the current 74-provider registry, remove Crof-only presentation policy, and retain the existing unknown-provider config path. Regenerate provider manifests, bundled plugin JavaScript, embedded CLI icons, and the documentation index with repository scripts. Verify retired config entries are ignored without rewriting on read and removed on save while preserving all supported provider entries. Co-authored-by: Aanish Bhirud <47579874+baanish@users.noreply.github.com> (cherry picked from commit 9909f0f)
Adopt #3657 on the current 74-provider registry, remove Crof-only presentation policy, and retain the existing unknown-provider config path. Regenerate provider manifests, bundled plugin JavaScript, embedded CLI icons, and the documentation index with repository scripts. Verify retired config entries are ignored without rewriting on read and removed on save while preserving all supported provider entries. Co-authored-by: Aanish Bhirud <47579874+baanish@users.noreply.github.com> (cherry picked from commit 9909f0f)
Crof has shut down, so CodexBar should no longer offer or call its provider. Adopts @baanish's removal from #3657 on the current registry, leaving 74 providers. Removes the descriptor, implementation, bundled plugin, icon, localized settings, quota/menu/widget special cases, and three presentation settings used only by Crof. Historical changelog entries remain.
Existing Crof config entries follow the existing unknown-provider decoder: reads ignore them without writing the file, and the next save drops them while preserving supported provider settings. The isolated CLI proof preserved all 74 surviving provider entries byte-for-byte. Contributor credit is retained for Aanish Bhirud.
Generated files were refreshed with
./Scripts/regenerate-provider-manifests.sh,./Scripts/regenerate-plugin-js.sh,python3 Scripts/generate_serve_provider_icons.py, andnode Scripts/generate-llms.mjs. Icon regeneration also includes Pi's existing SVG, which was missing from the baseline embedded table. No files underSources/CodexBarCore/Generatedchanged.Validation:
CODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1 swift test --jobs 2 --filter CodexBarConfigUnknownProviderTests: baseline regression red, 2 tests failed with 3 assertions; both pass after removal.CODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1 swift test --jobs 2 --filter 'CodexBarConfigUnknownProviderTests|ProviderPluginParityTests|UserProviderPluginPortableTests|ProviderArchitectureGatekeeperTests|WidgetProviderChoiceTests|WidgetProviderPagerTests|BurnDownWidgetConfigurationTests|ProviderWidgetAvailabilityTests|ProviderWidgetSnapshotTests|UsageStoreWidgetSnapshot.*Tests|CLISnapshotTests|CLIUnificationGoldenTests|MenuCardCompactAccountRowTests|ProviderCredentialCharacterizationTests|UsageStoreSessionQuotaTransitionTests|ProviderPluginEngineBenchmarkTests|AccountMenuLayoutPlannerTests|ProviderPresentationPolicyCharacterizationTests|MenuCardProviderRegressionTests|MenuCardModelTests|MenuDescriptor.*Tests|ProviderConfigByteStabilityTests|CLIConfigCommandTests|QuotaWarningNotificationLogicTests|SessionQuotaNotificationLogicTests': 403 app tests and 12 plugin tests; the only failing test was the expected pair of widget color hashes, captured and updated for the registry removal.CODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1 swift test --jobs 2 --filter 'ProviderArchitectureGatekeeperTests|CodexBarConfigUnknownProviderTests|CLIServeWebUITests': 61 tests passed after updating the hashes.CODEXBAR_SUPPRESS_TEST_KEYCHAIN_ACCESS=1 CODEXBAR_PLUGIN_BENCHMARK=1 swift test --skip-build --filter ProviderPluginEngineBenchmarkTests: 1 test passed, both engines with fixture transport.HOME,CODEX_HOME,XDG_CONFIG_HOME, andCODEXBAR_CONFIG:config dump --json --log-level warningemitsIgnoring unknown provider in config, omits Crof, and does not rewrite the file. A same-valueconfig disable --provider codexsave drops Crof and leaves the canonical surviving config byte-for-byte unchanged.swift build --jobs 2: Build complete!make check: 0 violations, 0 serious in 2513 files; manifests, plugins, locale counts, and repository checks pass.Production diff: 42 files changed, 5 insertions(+), 396 deletions(-) (net −391). Tests: 11 files changed, 88 insertions(+), 580 deletions(-). TestsPlugin: 2 files changed, 6 insertions(+), 10 deletions(-).
Follow-up: the pre-existing
docs/social.pngraster still says 61 providers. Its HTML source now says 74; there is no repository raster-generation script, so the image was not manually edited.Closes #3657