Skip to content

Derive the manifest's versioned paths from id and version at build time - #11

Merged
aboutte merged 2 commits into
duplocloud:devfrom
bennett-elder:fix/stale-assembly-dir
Sep 29, 2026
Merged

aboutte merged 2 commits into
duplocloud:devfrom
bennett-elder:fix/stale-assembly-dir

Conversation

@bennett-elder

@bennett-elder bennett-elder commented Sep 25, 2026 •

Copy link
Copy Markdown

Fixes #10.

manifest.json carries two paths shaped <id>/<version>/… — backend.assemblyDir and each skills[].folder. The host stages the bundle to <ExtensionStudioPath>/<id>/<version>/, so both move every time version is bumped, and nothing kept them in sync.

build-extension.sh now derives both when it writes the bundle manifest, in the same jq call that pins sdkVersion. It prints a NOTE: per field when the source manifest disagrees, so drift is visible rather than silently repaired. For skills only the first two path segments are replaced, so each entry's skills/<name> tail survives, and a manifest with no skills array is left alone rather than given an empty one.

skills[].folder is in the same pass because it fails more quietly. SeedSkillFolderAsync opens with if (!Directory.Exists(folderAbs)) return;, so a stale value returns without logging. On a fresh host the extension loads and the skill is never seeded. On a host still holding the old version, the old skill is seeded.

Also corrects 02-authoring-guide.md, which told you to bump version on every backend code change without mentioning either path.

No behavior change for a manifest that was already correct, which is all of the samples — they're pinned at 0.1.0 and consistent today. Nothing in the loader or its tests is touched, and checked-in manifests are left alone since the derivation happens at bundle time.

@bennett-elder bennett-elder changed the title Derive backend.assemblyDir from id and version at build time Derive the manifest's versioned paths from id and version at build time Sep 29, 2026
@aboutte
aboutte merged commit 5f4ef8f into duplocloud:dev Sep 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants