feat(oci): publish under the nested path ghcr.io/<owner>/falcon/<name> - #338
Merged
Conversation
Mirrors how wasi publishes — ghcr.io/webassembly/wasi/io under namespace
`wasi`, with the registry entry keeping a flat display name and pointing
`repository` at the nested path (`name = "io"`, `repository = "wasi/io"`).
Everything falcon now groups under one path instead of a flat hyphenated list:
ghcr.io/pulseengine/falcon-rate -> ghcr.io/pulseengine/falcon/rate
ghcr.io/pulseengine/falcon-iekf -> ghcr.io/pulseengine/falcon/iekf
... and the WIT package at ghcr.io/pulseengine/falcon/cascade
Bundled DELIBERATELY with the falcon:* -> pulseengine:falcon-* WIT rename
(#337) so consumers absorb ONE break rather than two. Paths published up to
falcon-v1.131.1 keep serving their existing versions; nothing is retroactive.
CONSEQUENCE THAT MUST NOT BE MISSED — the registered wasm.directory entries
point at the FLAT repositories (`repository = "falcon-rate"`). Once releases
publish to the nested paths those entries are stale: the listings keep
resolving to repositories that no longer receive versions. And a
`registry-entry` issue only ADDS an entry — changing an existing one needs a PR
against registry/pulseengine.toml. Recorded in docs/OCI-DISTRIBUTION.md with the
target shape, to be done AFTER the first nested-path release so the entries are
never pointing at nothing.
Stacks on #337 (the namespace rename); the matching OCI-P04 verification
criteria update lands there once it merges.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvusAXYbHLyv3uTzfBcMbG
avrabe
enabled auto-merge (squash)
August 6, 2026 17:54
The push that would have triggered CI landed during the outage (Actions was in major_outage 15:22Z-00:0xZ; zero runs were created repo-wide for hours), so no run exists for this branch. Empty commit to generate a fresh synchronize event. Squash-merge drops it from main. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvusAXYbHLyv3uTzfBcMbG
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Groups everything falcon under one path instead of a flat hyphenated list — the shape wasi uses.
The registry entry keeps a flat display name and points
repositoryat the nested path — exactly wasi's shape (name = "io",repository = "wasi/io").Bundled with the rename, deliberately
This stacks on #337 (
falcon:*→pulseengine:falcon-*). Taking both in one release means consumers absorb one break, not two. Paths published up to v1.131.1 keep serving their existing versions — nothing is retroactive.The consequence that must not be missed
The registered wasm.directory entries point at the flat repositories (
repository = "falcon-rate"). Once releases publish to nested paths, those entries are stale — the listings keep resolving to repositories that no longer receive versions.And a
registry-entryissue only adds an entry; changing an existing one needs a PR againstregistry/pulseengine.toml. Recorded indocs/OCI-DISTRIBUTION.mdwith the target shape, to be done after the first nested-path release, so the entries are never pointing at nothing.The matching
OCI-P04criteria update lands on #337 once it merges (the artifact lives there).Refs: #336, #337,
SWREQ-FALCON-OCI-P04.🤖 Generated with Claude Code