Skip to content

refactor(catalog): read bundled extension specs through embeddedspecs.Parse - #641

Merged
ion-alpha-dev merged 1 commit into
mainfrom
refactor/catalog-embeddedspecs-parse
Nov 1, 2026
Merged

ion-alpha-dev merged 1 commit into
mainfrom
refactor/catalog-embeddedspecs-parse

Conversation

@ion-alpha-dev

Copy link
Copy Markdown
Collaborator

What

extension/catalog.parseCatalog now calls embeddedspecs.Parse with checkProcessSource as the check, and Entry becomes an alias of embeddedspecs.Entry[extension.Spec], the same shape dependency and playbook use. The parseCatalog exemption in the embeddedspecs gate is deleted, so the exempt list is empty.

Why

parseCatalog was the third copy of the read, decode, reject-duplicate, sort loop that internal/embeddedspecs owns (#603). The gate carried an exemption for it with a note that it would move in its own change; this is that change.

How to verify

Run go test ./extension/... ./internal/embeddedspecs/. The existing TestParseCatalogErrorPaths and the source tests pass unchanged, and the gate's liveness check would fail if the exemption were still listed. Error messages are identical: the prefix is catalog and the duplicate message reads catalog: duplicate official extension name %q. ./dev/check is green through build, vet, race tests, lint and tidy; the local govulncheck and osv steps fail on the local toolchain and an unrelated x/crypto advisory.

….Parse

parseCatalog was the third copy of the read, decode, reject-duplicate,
sort loop that internal/embeddedspecs owns. It now calls Parse with
checkProcessSource as the check, and Entry becomes an alias of
embeddedspecs.Entry[extension.Spec], as in dependency and playbook.

The exemption for parseCatalog in the embeddedspecs gate is deleted, so
the gate now has no exempt functions.

Signed-off-by: Ion Alpha <[email protected]>
@codecov

codecov Bot commented Oct 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@ion-alpha-dev
ion-alpha-dev merged commit 13c4605 into main Nov 1, 2026
56 of 58 checks passed
@ion-alpha-dev
ion-alpha-dev deleted the refactor/catalog-embeddedspecs-parse branch November 1, 2026 07:36
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 1, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant