Skip to content

app-store: Smol Machines → io.pilot.smol (local + cloud microVMs)#74

Merged
Alexgodoroja merged 5 commits into
mainfrom
app-store/io.pilot.smol
Jul 7, 2026
Merged

app-store: Smol Machines → io.pilot.smol (local + cloud microVMs)#74
Alexgodoroja merged 5 commits into
mainfrom
app-store/io.pilot.smol

Conversation

@Alexgodoroja

Copy link
Copy Markdown
Collaborator

Updates the Smol Machines app-store card + detail to the new app id io.pilot.smol — the rename + cloud upgrade of io.pilot.smolmachines.

  • Install command → pilotctl appstore install io.pilot.smol
  • Adds the cloud methods: smol.push (send a local VM / OCI image to the smol cloud), smol.provision, smol.balance, smol.list; keeps local smol.exec
  • New copy explains the per-user cloud model (auto-provisioned key, per-user isolation, metered free credit; master key stays in Pilot's broker) and the net opt-in
  • Grants updated (net.dial the broker, key.sign, secrets fs); io.pilot.smol app icon added
  • Plain (machine-UI) twin in sync; npm run build + npm run check:plain green

Branched off main (which includes #72). Pairs with app-template#58 (+#60) and catalogue PR pilot-protocol/pilotprotocol#347.

Update the Smol Machines card/detail to the new app id io.pilot.smol: adds the
cloud methods (smol.push/provision/balance/list), the per-user cloud story, the
broker net.dial + key.sign + secrets grants, and the io.pilot.smol app icon.
Plain twin in sync; build + check:plain green.
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

🚀 Preview deployed to Cloudflare Pages

  • Commit deploy URL: https://6d7e681c.pilotprotocol.pages.dev
  • Branch alias: https://app-store/io.pilot.smol.pilotprotocol.pages.dev (may take ~30s to propagate)
  • Commit: 777aa1b094bfdcd519e19aa138ded3eca5f500a6

Alex Godoroja added 2 commits July 2, 2026 16:38
…Machines

Detail page now shows a Pricing section for io.pilot.smol: a $5.00 free-credit
callout + a bar chart of the cloud rate card (CPU/memory/disk/egress), matching
the catalogue + smol.help. Methods list synced (adds smol.key, smol.rotate).
@TeoSlayer

Copy link
Copy Markdown
Contributor

Closing: this renames the live catalogue app id io.pilot.smolmachines → io.pilot.smol with no redirect, so existing /apps/io.pilot.smolmachines links 404 and installed clients break. An app-id rename must land in lockstep with the catalogue entry (or ship a redirect). Please resubmit coordinated with the catalogue change.

@TeoSlayer TeoSlayer closed this Jul 7, 2026
… a 301 redirect

Addresses the review that closed #74 (rename with no redirect → old links 404).

- public/_redirects: 301 /apps/io.pilot.smolmachines → /apps/io.pilot.smol so
  existing app-store links and bookmarks don't 404 (the missing piece from #74).
- app-methods.json: replace the stale 2 local methods with the 9 published
  methods (smol.exec/version/help + cloud smol.push/provision/balance/list/
  key/rotate), sourced from the catalogue metadata.json.
- app-overrides.json: cloud grants (net.dial the smol broker, key.sign:self,
  secrets fs read/write), min pilot 1.10.0, and corrected bundle/installed sizes.
- gen-apps.mjs: rename the id in CATMAP/ICON_MAP/APP_IDS; regenerate apps.ts.
- app-store.astro: repoint the fresh-pinned tile to io.pilot.smol; refresh the
  plain twin's source-sha stamp (the plain page renders no per-app data, so its
  content is unchanged).

npm run check:plain and npm run build both green; /apps/io.pilot.smol renders
all 9 methods and `appstore install io.pilot.smol`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Alexgodoroja

Copy link
Copy Markdown
Collaborator Author

Reopened with the redirect + the coordinated catalogue change, addressing the close reason (rename with no redirect → /apps/io.pilot.smolmachines 404s, installed clients break).

This PR now adds:

  • public/_redirects: 301 /apps/io.pilot.smolmachines → /apps/io.pilot.smol — verified shipped into dist/_redirects by the build, so old links no longer 404.
  • The cloud info that was missing: the 9 published methods (smol.push/provision/balance/list/key/rotate + local smol.exec/version/help), cloud grants, and min pilot 1.10.0. check:plain + build green.

Coordinated catalogue change (the lockstep piece you asked for): pilot-protocol/pilotprotocol#357.
Rather than a bare id rename, io.pilot.smolmachines becomes a hidden tombstone in catalogue.json (renamed_to: io.pilot.smol) that keeps its publisher pin — so already-installed copies keep running — and pilotctl install/view/call warn and redirect the old id to io.pilot.smol. That closes the "installed clients break" gap on the client side, matching this site-side 301.

Note #357 carries a re-sign gate: catalogue.json must be re-signed with the release key before it merges. Suggest landing #357 (signed) and this PR together.

@Alexgodoroja

Copy link
Copy Markdown
Collaborator Author

Update: the re-sign gate on pilotprotocol#357 is closed — catalogue.json is re-signed with the release key and the full cmd/pilotctl + signed-catalogue tests are green. Both PRs are ready to land together.

# Conflicts:
#	scripts/gen-apps.mjs
#	src/data/app-methods.json
#	src/data/app-overrides.json
#	src/pages/app-store.astro
#	src/pages/plain/app-store.astro
@Alexgodoroja

Copy link
Copy Markdown
Collaborator Author

Merged latest main and resolved the conflicts (main had advanced 24 commits, adding agentphone/sqlite/bowmark/orthogonal). Now MERGEABLE / CLEAN, all checks green (build, regen, snyk).

Resolution: took main's versions of the six touched files and re-applied only the io.pilot.smolmachines → io.pilot.smol rename on top —

  • app-methods.json / app-overrides.json: renamed the key in place with the 9 cloud methods + cloud grants / min-pilot 1.10.0 / sizes; all of main's new apps preserved.
  • gen-apps.mjs: id renamed in the 3 lists; apps.ts regenerated.
  • app-store.astro: kept main's expanded freshPinned (agentphone, orthogonal, bowmark, …) with smolmachines→smol; plain twin re-stamped.

One cosmetic note: the io.pilot.orthogonal block in the two data JSONs re-normalized from indent-2 to the file's dominant indent-0 style (whitespace only, no value change) — a side effect of round-tripping the JSON. Happy to hand-restore that block if you'd prefer a zero-noise diff.

@Alexgodoroja Alexgodoroja merged commit 8213884 into main Jul 7, 2026
3 checks passed
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