chore: migrate to start-sdk 2.0 (0.5.0:1)#4
Open
helix-nine wants to merge 5 commits into
Open
Conversation
Rebases the start-sdk 2.0 migration onto 0.5.0 (main). The upstream bump landed separately via #5, so this is a wrapper-only downstream revision. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0.4.8 → 0.5.0 carries no migration, so the historical file is unnecessary — collapse back to an in-place graph (other: []). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bumps @start9labs/start-sdk 2.0.1 -> 2.0.3 (dependency and lockfile only). - 2.0.3 fixes a dependency-gated daemon wedging permanently after its dependency's readiness flaps: Daemon.term() unconditionally destroyed the daemon's SubContainer, so the next start() threw "already destroyed" and the daemon never recovered. Adds a non-destroying Daemon.stop() for dependency-driven pauses, and serializes pause/resume transitions. - 2.0.2 runs s9pk.mk's check-deps before packing, not just before install. No packaging API changed between 2.0.1 and 2.0.3, so no source changes were needed. Verified with `npm run check` (tsc --noEmit).
Bumps @start9labs/start-sdk 2.0.3 -> 2.0.5 (dependency and lockfile only). 2.0.5 fixes ExVer range operations ignoring the downstream revision: compareVersionRangePoints and adjacentVersionRangePoints compared the upstream twice, so two points sharing an upstream but differing downstream (1.0.0:3 vs 1.0.0:15) collapsed into one. normalize() then dropped the lower of the two, which made packed manifests advertise a canMigrateFrom/canMigrateTo range narrower than the truth for any package whose `other` versions share current's upstream. No upgrade path actually broke — StartOS resolves migrations through the version graph rather than this field — but the manifests were wrong. No packaging API changed, so no source changes were needed. Verified with `npm run check` (tsc --noEmit).
Moves the submodule v0.5.0 (8d7d3a4) → v0.7.5 (62dc446), and fixes .gitmodules, which named a branch (`keep-web-startos`) that no longer exists upstream — only `main` remains, and both tags are on it, so the field was dead metadata. This is a secret-custody app, so the on-disk format was the load-bearing check. Verified unchanged rather than assumed: - HEADER_VERSION (1) and CURRENT_SCHEMA_VERSION (5) are identical at both tags, and keep-core/src/migration.rs is byte-identical — upstream did not advance its own schema. - Argon2 params are unchanged, so existing passwords still unwrap existing vaults. - The only storage change is additive (a new `state_versions` redb table), created lazily; existing tables are untouched. It is written only on the replication paths, which are gated behind KEEP_STATE_RELAY — which this package never sets. - The duress-beacon / coercion work is inert by default (no pins configured → the freeze gate cannot trip), so co-signing behaves exactly as at 0.5.0. KEEP_STATE_IDENTITY_FILE is not a new variable — it is the pre-existing generic `_FILE` secret convention, and it is consulted only inside the KEEP_STATE_RELAY branch. The full set of env vars keep-web reads is identical at both tags, so main.ts needs no change. Dockerfile paths still resolve at v0.7.5 (`keep-web/` at the repo root, the `keep-web` workspace member, and `keep-web/ui/` with its vite `dist` output), and the Rust toolchain is 1.89.0 at both tags, so the `rust:1.89-bookworm` base pin stays correct. Also corrects UPDATING.md, which still described the retired branch. Verified with `npm run check` (tsc --noEmit). NOT yet install-tested — the 0.5.0→0.7.5 in-place vault upgrade should be exercised on a real install before this merges to master.
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.
start-sdk 2.0 migration (rebased on 0.5.0)
Migrates this package to
@start9labs/start-sdk2.0 (requires StartOS 0.4.0-beta.10). This branch originally also carried the Keep 0.4.8 → 0.4.9 bump, but #5 has since landed Keep 0.5.0 onmain, so it is now rebased onto 0.5.0 and the upstream bump is dropped. What remains is the SDK migration plus a wrapper-only downstream revision (0.5.0:0→0.5.0:1).SDK 2.0 migration
2.0.1, TypeScript →^6,tsconfig.jsonextends the shippedtsconfig.base.json,Makefileincludes the SDK'ss9pk.mk(vendored copy removed), reusable CI workflows repointed toStart9Labs/start-technologies.sdk.serviceInterface.*→sdk.host.*resolved over the LXC bridge, lazySubContainer,alertsmanifest field removed, and other### Changed/### Removeditems from the SDK 2.0 changelog.Version
startos/versions/current.ts→0.5.0:1(wrapper-only; 0.5.0 upstream shipped in release: bump Keep to v0.5.0 #5), localized "Internal updates (start-sdk 2.0.x)" notes (en/es/de/pl/fr).v0_4_8.tsand resetindex.tstoother: []. 0.4.8 → 0.5.0 carries no migration, so no historical version file is needed.keepsubmodule stays atv0.5.0(inherited frommain).Test plan
npm ci→tsc→ SDK lint →ncc→s9pk pack); the image compiles thekeep-webcrate from thev0.5.0submodule..s9pkon a StartOS 0.4.0-beta.10 server; confirm the reported version is0.5.0:1.keep-cosignerdaemon reaches its health check and the Web Admin (ui) interface loads.mainvolume.0.5.0:0(currentmain), then upgrade to this build and confirm the existing vault undermainstill unlocks and the service returns to health with no migration errors.🤖 Generated with Claude Code