fix(sdk): clean up the package template - #3597
Open
MattDHill wants to merge 1 commit into
Open
Conversation
The template scaffolds every new service package verbatim and had drifted from what the SDK and the fleet expect. alerts was removed from the manifest in 2.0.0 with no compatibility alias, but the template kept emitting it — and it survives tsc, because setupManifest infers its parameter type from the argument rather than rejecting the key as an excess property. So every package scaffolded since carries a dead field. The guard job in release.yml and tagAndRelease.yml read the package id out of the manifest so the release could skip itself when that id was hello-world. It only ever protected the template's own lineage; in a real package the condition is always true, so it bought nothing and cost an extra checkout job per release. hello-world dropped it in ed0dca2 and the template didn't follow. No package in either registry has it — 0 of 258 release and tagAndRelease workflows across all four service trees, worktrees included. The template's workflows are one of three hand-maintained mirrors, with the reusable CI in .github/workflows/ and the examples in project-structure.md. Both were already clean, so this also drops the commented-out FREE_DISK_SPACE input the template carried in all three, making its workflows byte-identical to hello-world's. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
s9pk init-packagecopiesprojects/start-sdk/docs/package-template/verbatim, so anything stale in it ships into every new service package. Two things were.alerts2.0.0 removed the manifest field with no compatibility alias, but the template kept scaffolding it:
It survives
tscbecausesetupManifestinfers its parameter type from the argument rather than rejecting the key as an excess property — which is why it went unnoticed. Every package scaffolded since 2.0.0 carries a dead field, and a packager reading the scaffold has no way to tell it was removed.The
hello-worldguard jobrelease.ymlandtagAndRelease.ymleach opened with a job that read the package id out ofstartos/manifest/index.tsso the release could skip itself when that id washello-world:That only ever protected the template's own lineage from publishing under
hello-world. In a real package the condition is always true, so it buys nothing and costs an extra checkout job on every release. hello-world itself dropped it ined0dca2; the template didn't follow.No package in either registry has it — 0 of 258
release.yml/tagAndRelease.ymlfiles acrossstart9-registry,community-registry,needs-reviewandno-registry, multi-branch worktrees included. It exists only here.Mirrors
Per the root
AGENTS.md§ Coupled changes, the template's workflows are one of three hand-maintained mirrors, alongside the reusable CI in.github/workflows/and the examples inproject-structure.md. Both of those were already clean — the template was the only copy that had drifted — so this also drops the commented-outFREE_DISK_SPACEinput it carried in all three. Its workflows are now byte-identical tohello-world-startos's.Notes
lib/is untouched.2.0.10has nostart-sdk/v2.0.10origin tag, so the changelog entry goes under the existing unreleased heading.dojo-startoson SDK 2.0 from a fresh scaffold.🤖 Generated with Claude Code