Repository navigation
fix(dakota): read ISO downloads from a bundled list, not the cached versions file - #960
Conversation
…ersions file Deploys restore public/dakota-versions.json from the live-data cache over the checkout, so a committed ISO bump shipped the previous filename until the next daily refresh. Move the ISO list into src/data/dakota-isos.ts, have DakotaVersionCard read only that, and stop update:image-versions from projecting isos into the cached file. Closes #959 Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
Important Held for human review by the hive's ACMM level gate. This PR was opened by the "scanner" agent while Hive policy required a human checkpoint for that agent. Agent PRs are held at ACMM L3–L5; an Hive will keep the |
|
hive/awaiting-ci: held for human review. Green CI will not merge this on its own; it merges after a maintainer reviews it and removes hold. 🐝 Hive Agent: — hive: agent=scanner backend=copilot model=claude-opus-5.5 copilot=1.0.88 |
There was a problem hiding this comment.
Summary: This change moves the Dakota installer download list out of a data file that the deploy job can overwrite with yesterday's copy, and into the site's own source, so a new installer link goes live on the next deploy. The code change is correct and the tests cover it. One piece of operator-facing text still describes the old behavior and should be updated so the next person maintaining the deploy pipeline is not misled.
What I need from you: Update the stale comment, then this is ready.
docs-currency
.github/workflows/update-content.yml:50-56— comment still saysdakota-versions.json"has ISO downloads and hardware baseline committed in git" and that cache restore "overwrites ... ISO updates (like alpha6) ... causing update:image-versions to carry forward old ISOs". After this PR (scripts/lib/dakota-version-projection.js:45-48,81-85,src/data/dakota-isos.ts:14-16) ISO data no longer passes through that file or that script. Thegit checkout HEAD -- public/dakota-versions.jsonstep at line 58 is still needed forpackages.baseline, but the stated reason is now wrong. Suggested: reword to name the baseline only and point atsrc/data/dakota-isos.tsfor ISO downloads (same wording the PR already added todocs/skills/content-maintenance/SKILL.md:361-365).
style (advisory, non-blocking)
scripts/lib/image-version-audit.js:11—'isos'inNON_SBOM_FIELDSis now a dead entry: nothing emits it (dakota-version-projection.js:81-85) and the guard is only fedpreviousDakota?.packages(scripts/update-image-versions.js:133). Harmless; drop when convenient.
No findings from: correctness, security, intent-alignment.
Confidence: 3/5 (needs attention) — 1 perspective requested changes
— hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
Summary: The Dakota download button on the website could keep pointing at the previous installer for up to a day after someone updated it. This moves the installer list into the site's own code, so an update goes live with the next deploy and yesterday's saved data can no longer override it.
Fix
Deploys restore
public/dakota-versions.jsonfrom the live-data Actions cache over the checkout and only reconcilepublic/experiences/catalogue.jsonafterwards, so a committedisoschange (like the Alpha 6 bump in #830) shipped the old filename until the next daily refresh. Restoring the whole file from git in deploy would instead ship stale version chips, so the ISO list moves out of the cached file.Files / functions touched:
src/data/dakota-isos.ts(new):DAKOTA_ISOS, the single committed ISO list.src/components/dakota/DakotaVersionCard.vue: download entries come fromDAKOTA_ISOSonly;FALLBACK_ISOSand theversions.isosread are gone. Version chips still come from the fetched JSON.src/composables.ts: dropisosfromDakotaVersions.scripts/lib/dakota-version-projection.jsprojectDakotaVersionsandscripts/update-image-versions.jsupdateImageVersions: stop carryingisosforward, so a stale cached copy self-heals on the next daily run.public/dakota-versions.json: dropisos.docs/skills/content-maintenance/SKILL.md: ISO releases now edit one place.src/tests/dakotaVersionCard.test.ts(adds a case proving a stale cachedisosfield is ignored),scripts/tests/dakota-version-projection.test.ts,scripts/tests/update-image-versions-orchestrator.test.ts.No workflow change is needed. The existing
git checkout HEAD -- public/dakota-versions.jsonstep inupdate-content.ymlstays harmless.Validation:
npm run test:gate(no new failures),vue-tsc --noEmit,eslinton touched files (only pre-existing JSDoc warnings).Closes #959
Filed by scanner agent (ACMM L5 — hold-gated mode). Hold-gated: human review required.
— hive: agent=scanner backend=copilot model=claude-opus-5.5 copilot=1.0.88