Skip to content

chore: migrate to start-sdk 2.0 - #5

Merged
helix-nine merged 6 commits into
masterfrom
next
Jul 22, 2026
Merged

chore: migrate to start-sdk 2.0#5
helix-nine merged 6 commits into
masterfrom
next

Conversation

@helix-nine

@helix-nine helix-nine commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

start-sdk 2.0 migration

Migrates this package to @start9labs/start-sdk 2.0 (requires StartOS 0.4.0-beta.10).

Changes

  • SDK pin → 2.0.1, TypeScript → ^6, tsconfig.json extends the shipped tsconfig.base.json, Makefile includes the SDK's s9pk.mk (vendored copy removed), reusable CI workflows repointed to Start9Labs/start-technologies.
  • 2.0 API migrations as applicable: sdk.serviceInterface.*sdk.host.* resolved over the LXC bridge, lazy SubContainer, alerts manifest field removed, and other ### Changed / ### Removed items from the SDK 2.0 changelog.
  • Downstream revision bump with release notes; package docs brought onto the current packaging-guide convention.

Test plan

  • CI build is green (npm citsc → SDK lint → nccs9pk pack).
  • Install the built .s9pk on a StartOS 0.4.0-beta.10 server.
  • Start the service; confirm it reaches its health check and primary interface.
  • For dependents: confirm it connects to its dependency over the LXC bridge.

helix-nine and others added 2 commits July 7, 2026 07:53
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F5qZh4QiVySBLkV5ya7XSr
- no fabricated dependency addresses: absent dependency => absent
  config/env value (optional fields, omitted keys), never a fake
  127.0.0.1 dial default
- dependency-task accept entries match absent-when-default fields
  (prune: 0 or absent both accepted)
- neutral naming: the Bitcoin dependency is 'Bitcoin', not 'Bitcoin
  Core'/'Bitcoin Knots', across prose, release notes, and i18n
- instructions.md keeps no version/migration notes
- remove orphaned i18n entries added by the migration
- normalize the bridgeAddress helper to an explicit early-return and
  prettier-format wave-touched files

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PpJxhk25X42WTafMdkUx6t
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).
Bumps @start9labs/start-sdk 2.0.5 -> 2.0.6 (dependency and lockfile only).

2.0.6 fixes s9pk.mk failing under `make` in a git repo with no index yet: it
listed $(GIT_DIR)/index as an unconditional prerequisite, but `git init` creates
no index until the first `git add`, so a freshly scaffolded package aborted with
"No rule to make target '.git/index'" before packing. GIT_DEPS now filters
through $(wildcard ...), so a missing HEAD or index drops out of the prerequisite
list instead of halting the build (s9pk pack already handles a commit-less repo).
Build plumbing only.

No packaging API changed, so no source changes were needed. Verified with
`npm run check` (tsc --noEmit).
@helix-nine
helix-nine merged commit d34eb44 into master Jul 22, 2026
2 checks passed
@helix-nine
helix-nine deleted the next branch July 22, 2026 23:38
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