Skip to content

fix(drv): gate the PROVIDERS enumeration against reality - #314

Merged
avrabe merged 1 commit into
mainfrom
fix/provider-list-drift
Aug 28, 2026
Merged

fix(drv): gate the PROVIDERS enumeration against reality#314
avrabe merged 1 commit into
mainfrom
fix/provider-list-drift

Conversation

@avrabe

@avrabe avrabe commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Closes the enumerated-list sweep started in #313.

build-gustos-components.sh enumerates five providers by hand. Unlike the other
lists found this month, that one is correct to enumerate — it defines the
published v0.4.0 composition, and a newly added provider must not silently join
the fused composite just by existing. Glob discovery would be the wrong fix.

What was missing is the check that the deliberate list still matches reality. An
enumeration nobody verifies is exactly how the Lean target list,
check-providers.sh, and build-cross-arch.sh each came to exclude the newest
thing without saying so.

Now: enumerated on purpose, and gated. A *-provider directory that is not
listed fails the script and is named. The fix is then a deliberate decision — add
it to PROVIDERS and build-fused-gustos.sh, or record why it is excluded —
rather than a silent skip.

Kill-criterion (both directions verified)

tree result
real (5 listed, 5 present) exit 0, no drift reported
mkdir can-provider (5 listed, 6 present) exit 2
FATAL: PROVIDERS list has drifted from the *-provider directories.
  listed but absent:
  present but unlisted: can-provider
  Add it to PROVIDERS and build-fused-gustos.sh, or record why it is excluded.

Sweep status

gate list was now
Lean CI targets 7 enumerated //proofs/lean:all
check-providers.sh 8 enumerated discovered
build-cross-arch.sh 8 of 13 discovered (#313)
check-driver-components.py rule excluded 3 correct drivers rule corrected
build-gustos-components.sh 5 enumerated, unverified enumerated + drift-gated

🤖 Generated with Claude Code

https://claude.ai/code/session_011QG86sovTbfnPNY9SfhSmo

@codecov

codecov Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

build-gustos-components.sh enumerates five providers by hand. Unlike the other
enumerated lists found this month, that one is CORRECT to enumerate: it defines
the published v0.4.0 composition, and a newly added provider must not silently
join the fused composite just by existing. Glob discovery would be the wrong
fix here.

What was missing is the check that the deliberate list still matches reality.
An enumeration nobody verifies is exactly how the Lean target list,
check-providers.sh, and build-cross-arch.sh each came to exclude the newest
thing without saying so.

So: enumerated on purpose, and gated. If a *-provider directory exists that is
not listed, the script fails and names it, and the fix is a deliberate decision
(add it to PROVIDERS and build-fused-gustos.sh, or record why it is excluded)
rather than a silent skip.

Kill-criterion, both directions verified:

  real tree (5 listed, 5 present)        -> exit 0, no drift reported
  mkdir can-provider (5 listed, 6 present) -> exit 2:
      present but unlisted: can-provider

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011QG86sovTbfnPNY9SfhSmo
@avrabe
avrabe force-pushed the fix/provider-list-drift branch from 8e6eff4 to e6f3464 Compare August 28, 2026 02:30
@avrabe
avrabe merged commit e9d5b2e into main Aug 28, 2026
64 checks passed
@avrabe
avrabe deleted the fix/provider-list-drift branch August 28, 2026 04:00
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