Skip to content

Delete the Pro arm of core's built-in update source and its worker parsing #3323

Closed as not planned

Description

@mstomar125

Summary

Delete the Pro arm of core's built-in update source, and everything only it uses:

  • the cloud-worker /pro/latest-version URL;
  • its JSON parsing and its fetcher;
  • their two tests.

Afterwards, core's built-in source knows only the public GitHub release and its releases page. A Pro build gets its version and download page from the Pro package, through AppExtensions::update_source (#3320).

Context (main @ af8ddb6, plus #3319 and #3320; locate by symbol)

Scope

  • BuiltinUpdateSource:
    • its latest version comes only from fetch_latest_tag();
    • its download URL is always RELEASES_PAGE_URL.
    • Document it as core's own source: the public GitHub Releases API and releases page, replaceable through AppExtensions::update_source.
  • Delete:
    • PRO_LATEST_URL, both cfg arms;
    • pro_version_from_json;
    • fetch_pro_latest_version;
    • the two Pro tests.
  • Module doc: no Pro, worker, cloud or nodespace-sync wording.
  • New test: add builtin_source_offers_the_public_releases_page, which asserts the download URL without the network.

Out of scope

Steps

  1. Run the CLAUDE.md startup sequence with worktree issue-<N>-remove-pro-update-source:
    • git pull origin main;
    • EnterWorktree;
    • bun install;
    • a bun run test baseline;
    • bun run gh:assign <N> "@me";
    • bun run gh:status <N> "In Progress".
  2. Confirm the gates:
    • the Pro GUI builds from the pinned core rev;
    • sync's main registers the Pro update source through AppExtensions::update_source.
  3. Make the edits.
  4. Cross-repo check:
    • Build the Pro app from sync, pinned to this PR's head commit.
    • Confirm the update check reaches the Pro source, and the banner opens the Pro package's download page. One way: a debug build against a local wrangler dev worker.
    • Link the evidence in the PR.
  5. Run bun run scripts/check-pro-boundary.ts and paste the printed BASELINES.
  6. Ship:
    • bun run test:changed;
    • bun run quality:fix, then commit;
    • git push origin HEAD:issue-<N>-remove-pro-update-source;
    • gh pr create --repo NodeSpaceAI/nodespace-core --head issue-<N>-remove-pro-update-source;
    • /pragmatic-code-review, then /address-review;
    • after the user approves, bun run merge <PR#> in the background.

Acceptance criteria

Tests and verification

Dependencies

Risks and rollback

  • Silent wrong source for Pro users. Suppose a Pro build moved its pin past this commit without its own source. It would silently check core's GitHub release and offer Pro users the community build. The gates prevent this.
  • Rollback: revert the PR. No data or state is involved.

Plan key: C4.4 (pro-boundary DAG).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

Labels

pro-boundaryPro/core boundary: Pro code moves to nodespace-sync (ADR-081..085)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions