Repository navigation
Conversation
Every Suite SAT tool now follows one packaging convention: artifacts are named <tool>-<platform> (and <tool>-pro-<platform> where there is a pro edition), and the release job's download pattern is <tool>-*, which must match every edition's upload. spm diverged by using the generic app-* for both, which is a pattern that would silently collect any other artifact whose name starts with "app-" -- the same class of mistake that once put a basic Domeport build into a release labelled Pro. A tool-specific prefix makes that impossible. The wasm row also carried the whole upload path (artifact-path) rather than just its file glob. Overriding the path does not compose with a second edition -- one override would point both uploads at the same directory -- so the matrix now supplies artifact-file and each upload keeps its own output directory. spm has one edition today; the shape is shared so it stays correct if a pro build is added. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019QYyvhRXvSMSRQPaq12Teq
This was referenced Oct 9, 2026
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.
Part of a six-repo pass standardizing Suite SAT packaging on one convention, with livepose as the reference.
Generic artifact names
spm released under
app-*for both the upload and the download pattern. Two problems:pattern: app-*would silently collect any other artifact in the run whose name starts withapp-. That is the same class of mistake that once put a basic Domeport build into a release labelled Pro, just waiting for a second artifact to exist.Now
spm-*, matching the suite convention:<tool>-<platform>, with the release pattern<tool>-*.Path override shape
The wasm row carried the whole upload path (
artifact-path: packages/*.zip) rather than just its file glob. Overriding the path does not compose with a second edition -- one override would point both uploads at the same directory, publishing the basic package under the pro artifact name. The matrix now suppliesartifact-fileand the upload keeps its own output directory:spm has one edition today; the shape is shared across the suite so it stays correct if a pro build is added.
No pro edition here
spm has a
qmlcomponentssubmodule but does not useInputSourceSelectorfor a camera-versus-NDI split -- it is an OSC remapper with no video input. Nothing to gate, so it stays single-edition.Verification
spm-${{ matrix.artifact-name }}spm-*-- matchesSpatial-Protocol-Mapper-*build.ymlpassesyaml.safe_load. CI is the verification path.Note: this branch is
2026-10, created frommain-- spm was the one repo in the set without a2026-10branch, so one was made to keep the five PRs uniform.The set
One convention across the Suite SAT tools; review these together:
speaker-setup-format-converterneeds no change: it is not a score app and has no editions, and itsspeaker-layout-converter-*uploads already match itsspeaker-layout-converter-*release pattern.qmlcomponentsis unchanged. It is a git submodule in livepose, DomeportPro and spm, not a vendored copy, so there is one source of truth and no drift.InputSourceSelectoris agnostic by contract — the host computesallowedBackends, the widget does the platform filtering — which is exactly what these PRs rely on.