Relationships
#3100 extension push: registry metadata and content hash label files relative to the repo dir, so a push with --extensions-dir records ../ paths
Opened by skunk-ape · 10/6/2026
Problem
buildResolvedData in src/libswamp/extensions/push.ts labels every model, vault, datastore, report, webhook, workflow and additional file with relative(input.repoDir, file), and computePackageCacheHash in src/domain/extensions/extension_package_cache.ts keys file content the same way. When the extension lives outside the swamp repo and is pushed with --extensions-dir (or, after swamp-club#3018, from a sibling repo with the base inferred), those labels become paths like ../../sc/swamp-extensions/kubernetes/extensions/models/pod.ts in the registry metadata, and the content hash differs from the one publish.yml produces for the same files.
Expected
File names in the resolved data and the hash input are relative to the effective extensions base (the typed directory base, or the manifest directory under paths.base: manifest), so the same extension content yields the same metadata and hash wherever the swamp repo is.
Context
Observed while triaging swamp-club#3018; deliberately left out of that fix to keep the archive guardrail comparison clean. The archive layout itself already uses relative(modelsDir, file), so only the metadata and the hash are affected.
Open
No activity in this phase yet.
Sign in to post a ripple.