Skip to content

Stage 1: setup guides, CI for every service, submodule updates (merge last) - #19

Merged
hyperloop-cornell merged 1 commit into
mainfrom
feat/stage1-setup-docs
Sep 27, 2026
Merged

hyperloop-cornell merged 1 commit into
mainfrom
feat/stage1-setup-docs

Conversation

@WesP10

@WesP10 WesP10 commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Stage 1 cleanup before the hubs go back into the lab: setup guides, CI for every service, and submodule pointers to the Stage 1 branches. Merging this PR deploys cloud-services and web-client main to EC2, so merge it last, after the steps below.

Merge order

  1. Revoke the leaked Gmail app password. .claude/CREDENTIAL_GENERATOR_README.md (committed in 2906d1d) contained one. This PR deletes the file, but it stays in git history, so revoking it in the Google account is what actually fixes the leak.
  2. Configure production login on EC2 by following .claude/auth-setup.md: team password hash, JWT secret, NetID allowlist and device tokens. The new cloud-services code refuses to start in production without them.
  3. Merge the service PRs. Stacked pairs merge in order; after the first merges, retarget the second to main.
    • cloud-services: fix/auth-hardening, then feat/hub-registry-contracts
    • web-client: feat/mock-backend, then feat/stage1-ui
    • rpi-hub-server: feat/runtime-profiles, then feat/board-profiles
    • wifi-fallback-relay: feat/uplink-manager
  4. Re-point the submodules of this branch to the merged main commits, then merge this PR (this deploys).
  5. Set up the hubs with .claude/rpi-hub-setup.md: lab hubs use profile lab-hub; the hub with the cellular HAT uses cellular-hub plus the uplink manager.

Hubs still running the old rpi-hub-server keep working against the new cloud (verified), so they can be updated one at a time.

Changes

  • .claude/auth-setup.md: production login and hub token setup, verification commands, rotation and revocation.
  • .claude/rpi-hub-setup.md: from a blank SD card to a verified hub, including board ID checks, per-board flash smoke tests, cellular failover setup and test, updating, and migrating old hubs.
  • CI: runs the rpi-hub-server and uplink manager test suites. It also checks that the web client's generated API types match the cloud contract.
  • README: current role of each repo, mock and simulated-hub workflows, links to the guides.
  • Submodules point at the Stage 1 branch heads, so this PR's CI tests them together.

Not in this PR

Stage 2 (EtherCAT pod master) is not started. Stage 1 only reserves hooks for it: hub.mode: pod (rejected until implemented), handshake capabilities/profile, and topic-based broadcasting in the cloud.

🤖 Generated with Claude Code

- .claude/auth-setup.md: production login (NetID allowlist + team
  password), JWT secret, per-hub device tokens, verification, rotation.
- .claude/rpi-hub-setup.md: Pi from blank SD card to verified hub, board
  checks (Uno R3/R4, Mega, Nano, STM32F407G-DISC1), and the cellular hub's
  uplink manager with a failover test.
- Remove .claude/CREDENTIAL_GENERATOR_README.md, which contained a Gmail
  app password (revoke it in the Google account; history still has it).
- CI: run rpi-hub-server and uplink manager tests; check the web client's
  generated API types match the cloud contract.
- README: current repo roles, dev-sim/mock workflows, links to the guides.
- Submodules: cloud-services feat/hub-registry-contracts, rpi-hub-server
  feat/board-profiles, web-client feat/stage1-ui, wifi-fallback-relay
  feat/uplink-manager.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Copilot AI lite review requested due to automatic review settings September 26, 2026 16:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@hyperloop-cornell hyperloop-cornell left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

love the readme changes

@hyperloop-cornell
hyperloop-cornell merged commit 183b72b into main Sep 27, 2026
5 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.

3 participants