docs(platform): design record — bundle nix outputs, images, binaries as GitHub Releases - #460
Open
rigel-mintaka wants to merge 2 commits into
Open
docs(platform): design record — bundle nix outputs, images, binaries as GitHub Releases#460rigel-mintaka wants to merge 2 commits into
rigel-mintaka wants to merge 2 commits into
Conversation
|
Compass engineering docs preview: https://compass-rig-1746-releases-bu.compass-eng-docs.pages.dev Deployed from Changed pages: |
rigel-mintaka
force-pushed
the
compass/rig-1746-releases-bundling-design
branch
4 times, most recently
from
August 22, 2026 13:32
fb7a543 to
7b2ecff
Compare
rigel-mintaka
added a commit
that referenced
this pull request
Aug 24, 2026
…608) Design record for how Compass reaches users' machines: the client app's full per-OS matrix (Linux x86_64 tarball + macOS arm64 signed/notarized .app-in-dmg), install channels (homebrew tap, nix flake, raw release assets), the headless self-host stack's host-level KVM bring-up, and postgres provisioned as a zero-config container (BYO-DSN opt-out). Scope expansion of RIG-1746 ruled by Matt (2026-08-24). Composes with the #460 release-bundling record as its publishing rail; does not redesign the Release mechanism, only extends its Fork 2(i) asset boundary. Status: Draft. Four load-bearing Open Questions carried for Matt at the design-PR gate (Apple Developer account, postgres image mechanism, DL-183 pgid-format-v2 for container teardown, darwin CI cadence). Ledger rows DL-241..244 land in this PR at freeze once the OQs are ruled. Ledger-impact: proposes DL-241..244 (client per-OS matrix, install channels, host-KVM stack, postgres-as-container); rows land at freeze after the load-bearing OQs are ruled. No status flips (DL-217 already Superseded by DL-238). Co-authored-by: Matt Wilkinson <matt@rigel.build>
…as GitHub Releases Design record (no implementation) for a GitHub Releases bundling lane per Matt's directive. Resolves four forks: (1) surface = compass GHA (not orion Woodpecker — in-repo GITHUB_TOKEN, public download point, artifacts are compass-built); (2) artifacts = per-arch binaries attached + image referenced by GHCR digest + nix-outputs narHash manifest (no multi-GB tarballs); (3) versioning = per-build `build-<sha12>` prereleases on qualifying main pushes + a `v*` semver lane reserved for RIG-1746, with orion config-publish cutting over from `go install` to Release-asset download (retargets RIG-2103, pending ruling); (4) auth = workflow GITHUB_TOKEN with contents: write, no PR triggers. Five Open Questions batched for Matt (binary-set boundary, RIG-2103 disposition, trigger breadth, closure attachment, prerelease retention). Spec-impact: none. Refs RIG-1746 Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass/rig-1746-releases-bundling-design
branch
from
August 24, 2026 04:38
7b2ecff to
8867ab5
Compare
…ases record (RIG-1746) Fork 3 explicitly deferred what vX.Y.Z *means* across the product (cadence, changelog, what bumps major) to RIG-1746's own semver policy. Matt ruled that policy (2026-08-24); this folds the ruling into the record as OQ-7 (RESOLVED), parallel to the OQ-1/2/3 rulings, so the frozen contract carries the semver policy the T3 tag lane implements. OQ-7, four points (all grounded on main HEAD): - Pre-GA 0.MINOR.PATCH (current 0.1.0 stamp, compass-stack/main.go:38); cut v1.0.0 at GA, when the MAJOR-gates-breaking-contract rule turns on. - Bump: manual now (push vX.Y.Z, T3 rail cuts Release + :vX.Y.Z image); release-please conventional-commit automation at GA. - One whole-product version stamped into every binary (main.go:36-38,232 — version feeds Deps.ExpectedVersion, attach-check hard-fails on skew; client and server strict same-version). DISTINCT from the wire-protocol interop axis (clientAPIVersion="compass.v1", compass-app/bridge_service.go:467; server apiVersion, compass-server/main.go:33). - Post-1.0: MAJOR = breaking user-facing contract (CLI/flags, operator config+DSN+stack layout, or wire protocol); MINOR = compatible features; PATCH = fixes. Refs RIG-1746 Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass/rig-1746-releases-bundling-design
branch
from
August 24, 2026 04:46
8867ab5 to
d21e670
Compare
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.
Design record (no implementation) for a GitHub Releases bundling lane per Matt's directive. Resolves four forks: (1) surface = compass GHA (not the internal CD monorepo — in-repo GITHUB_TOKEN, public download point, artifacts are compass-built); (2) artifacts = per-arch binaries attached + image referenced by GHCR digest + nix-outputs narHash manifest (no multi-GB tarballs); (3) versioning = per-build
build-<sha12>prereleases on qualifying main pushes + av*semver lane; (4) auth = workflow GITHUB_TOKEN with contents: write, no PR triggers.Matt's rulings folded in: OQ-1 (binary set — defer the desktop lane, RIG-2477), OQ-2 (RIG-2103 retargeted onto the T4 Release-asset cutover), OQ-3 (per-build trigger = every qualifying push, binary-affecting scope), and OQ-7 (the whole-product semver policy Fork 3 deferred — pre-GA 0.MINOR.PATCH → v1.0.0 at GA; manual bump now → release-please at GA; one whole-product version stamped into every binary, distinct from the wire-protocol interop axis; post-1.0 MAJOR = breaking user-facing contract). OQ-4/5/6 stay deferred (non-load-bearing).
Freezes on merge as the T1-T5 contract. A companion distribution/install record stacks on this branch as its publishing rail.
Spec-impact: none. Refs RIG-1746
Co-authored-by: Matt Wilkinson matt@rigel.build