fix(drivers): one id per driver, from the bundled copy to the channel - #1429
Conversation
Moves the pin to srcfl/device-drivers#132, where every driver's DRIVER table states the catalog id and version. FTW's identity rule for the old spellings (IdentifiesSameDriver) goes: a bundled copy and a channel artifact are the same driver when their ids are equal. - Catalog tests look drivers up by the catalog ids. - The recovery-snapshot provenance test for esphome_dsmr is gone: the bundled file is now the driver's source, and sync-bundled-drivers.sh --check already binds every bundled file to the pinned commit. - setup.js recognises the Zap driver by its id `zap`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7
drivers-stable only serves installs that read the channel (1.x-3.x) and the stable rows of the Versions list; 0.x runs the drivers its release bundles. Promoting it is one existing command after a stable Core release, not new automation. The proposal to promote it with Core goes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7
Moves the pin to bcf4683, srcfl/device-drivers#132 as merged on main, instead of the branch commit it was tested against before its rebase. The changeset no longer says esphome-dsmr is gone: #132 keeps that catalog entry for sites that installed it. The stable promotion step says what to do when main has moved past drivers-beta. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3f9d928487
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| It promotes the driver commit already published as `drivers-beta`. If it | ||
| refuses because `main` has moved past `drivers-beta`, publish beta first | ||
| (`-f channel=beta`), then promote. |
There was a problem hiding this comment.
Promote only the validated driver beta
When main has advanced since the Core beta was tested, this fallback republishes the newer main commit to drivers-beta and then immediately promotes it, so drivers-stable can receive driver code that was neither included in nor validated with the stable Core candidate. Do not instruct an immediate promotion here; the exact driver beta being promoted must complete the required validation first.
AGENTS.md reference: AGENTS.md:L167-L170
Useful? React with 👍 / 👎.
Matches #1428: a newer release driver runs over an early selection without discarding it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7
srcfl/device-drivers#134 puts esphome_dsmr's host API fields on their own lines; FTW reads DRIVER fields line by line and its publication check refused the 1.0.4 file. The bundled set now publishes cleanly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7
Item 1 of #1423: one id and one version per driver, with no special identity rules.
What changes
drivers/BUNDLED_SOURCE.jsonmoves to srcfl/device-drivers43710c8(feat(nova): opt-in federation to Sourceful Nova Core #132 and PV twin intercept drifts, biasing daytime predictions #134 merged onmain, published ondrivers-beta). Every bundled driver'sDRIVERtable now states the catalog id and version, for examplesungrow1.5.9,easee_cloud1.3.4,zap3.1.1 andsdm6302.0.2. ESPHome DSMR's bundled file is its real source again.driverrepo.IdentifiesSameDriverfrom fix(drivers): keep the owner's driver choice and meet both id spellings #1426 is removed. A bundled copy and a channel artifact are the same driver when their ids are equal.esphome_dsmris removed.sync-bundled-drivers.sh --checkalready binds every bundled file to the pinned commit.setup.jsrecognises the Zap driver by the idzap.drivers-stablewith the existing workflow, publishing beta first ifmainhas moved past it. This replaces the "Proposed" automation, which the owner judged unnecessary.Effect on other systems
esphome-dsmrstays a separate catalog entry in device-drivers, so sites that installed it keep getting updates.Review
esphome-dsmrwas gone. Both are fixed in the last commit.esphome-dsmrinstalls. feat(nova): opt-in federation to Sourceful Nova Core #132 now keeps that entry.Evidence
go testpasses forinternal/drivers,internal/api,internal/driverrepoandcmd/ftwwith the bundled set atbcf4683.sync-bundled-drivers.sh --checkpasses.🤖 Generated with Claude Code
https://claude.ai/code/session_01MuerPFZFG88kgu8sWVHeq7