docs: tighten README + drop superpowers plans - #2
Conversation
…changes - Remove duplicated Quick Start and Deployment sections (merge cruft) - Update Project Structure to include backend/tests/, scripts/archive/, infrastructure/auth.py - Add CI badge linking to GitHub Actions workflow - Add Testing section pointing at the 57-test pytest suite - Document new env vars: AUTH_ENABLED, JWT_SECRET, CORS_ORIGINS, MAX_WS_CLIENTS - Document deploy env vars: JETSON_HOST, JETSON_USER, JETSON_PASS, JETSON_KEY - Document --rollback flag and atomic SFTP staging - Replace stale references to force_restart.py / fix_jetson.py with check_logs.py / restart_jetson.py - Replace dead 'world_model.py' / '_simple_world_to_pixel()' references with current names - Mention 2s per-client broadcast timeout and dt clamp in fusion notes
There was a problem hiding this comment.
Pull request overview
Updates repository documentation to reflect the current Phase-0..6 state and removes an internal planning artifact that’s no longer needed in-tree.
Changes:
- Rewrites/tightens
README.md(dedupes sections, updates stale references, adds CI/testing/env-var/deploy details). - Removes the internal plan doc under
docs/superpowers/plans/.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
docs/superpowers/plans/2026-04-30-overwatch-hardening.md |
Deletes an outdated internal implementation plan document. |
README.md |
Refreshes project overview, quick start/deploy/testing docs, env vars, and links to match the current codebase. |
Comments suppressed due to low confidence (1)
README.md:212
- Local dev instructions run
python main.py, butSettings.ssl_enableddefaults to true andcerts/is gitignored (not present on a fresh clone). WithDEBUG=false(default), the backend willSystemExitif cert/key files aren’t available. Document the required setup (generate certs, or setSSL_ENABLED=false, or setDEBUG=true) so the Quick start works for a new contributor.
# Backend
cd backend
pip install -r requirements.txt
python main.py
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Or manually over SSH: | ||
| JETSON_HOST=192.168.1.10 JETSON_PASS=... ssh "$JETSON_USER@$JETSON_HOST" \ |
There was a problem hiding this comment.
The manual SSH one-liner sets JETSON_PASS=... but ssh doesn’t use that env var (it will still prompt or require keys), and it references $JETSON_USER without setting it. Consider removing JETSON_PASS from this example and either hardcode the placeholder user/host (ssh <user>@<host> ...) or show JETSON_USER=... JETSON_HOST=... ssh "$JETSON_USER@$JETSON_HOST" ... with a note that password entry is interactive (or requires keys/ssh-agent).
| # Or manually over SSH: | |
| JETSON_HOST=192.168.1.10 JETSON_PASS=... ssh "$JETSON_USER@$JETSON_HOST" \ | |
| # Or manually over SSH (password entry is interactive unless you use SSH keys/ssh-agent): | |
| JETSON_USER=<jetson-user> JETSON_HOST=192.168.1.10 ssh "$JETSON_USER@$JETSON_HOST" \ |
| <a href="#demo-video">Demo</a> · | ||
| <a href="#-features">Features</a> · | ||
| <a href="#-architecture">Architecture</a> · | ||
| <a href="#-quick-start">Quick Start</a> · | ||
| <a href="#-deployment">Deployment</a> · |
There was a problem hiding this comment.
The top navigation uses anchors like #-features / #-architecture / #-quick-start / #-deployment, but the corresponding headings render GitHub IDs without the leading hyphen (e.g. #features, #architecture, #quick-start, #deployment). As written, these links will be broken on GitHub; update the href targets to the actual generated heading IDs.
| <a href="#-testing">Testing</a> · | ||
| <a href="#-api-reference">API</a> · | ||
| <a href="#-troubleshooting">Troubleshooting</a> |
There was a problem hiding this comment.
Same issue as above for the remaining top-nav links (#-testing, #-api-reference, #-troubleshooting): GitHub heading IDs won’t include the leading -, so these anchors won’t resolve. Update the href values to match the rendered section IDs (e.g. #testing, #api-reference, #troubleshooting).
| <a href="#-testing">Testing</a> · | |
| <a href="#-api-reference">API</a> · | |
| <a href="#-troubleshooting">Troubleshooting</a> | |
| <a href="#testing">Testing</a> · | |
| <a href="#api-reference">API</a> · | |
| <a href="#troubleshooting">Troubleshooting</a> |
| @@ -242,158 +218,111 @@ npm start | |||
|
|
|||
| Open **https://localhost:3000** — accept the self-signed certificate warning. | |||
There was a problem hiding this comment.
npm start (CRA) serves HTTP by default and this repo doesn’t include an HTTPS=true frontend env configuration, so https://localhost:3000 / “self-signed certificate warning” is misleading. Either change this to http://localhost:3000 or document how to run the dev server with HTTPS (including cert generation/trust steps) if that’s required for getUserMedia.
| Open **https://localhost:3000** — accept the self-signed certificate warning. | |
| Open **http://localhost:3000**. |
Summary
docs/superpowers/plans/— internal planning doc no longer needed in treeREADME changes
Deduplication
Stale references fixed
force_restart.py/fix_jetson.py(archived in Phase 6) →check_logs.py,restart_jetson.pyworld_model.py→world_model_adapter.py_simple_world_to_pixel()(deleted) → references the actualCoordinateTransformer.world_to_pixel()192.168.1.12examples now use<jetson-host>placeholdersNew content
AUTH_ENABLED,JWT_SECRET,CORS_ORIGINS,MAX_WS_CLIENTSJETSON_HOST,JETSON_USER,JETSON_PASS,JETSON_KEY--rollbackflag and atomic SFTP staging called outdtclamp + 2s per-client broadcast timeout mentioned in the relevant sectionsPreserved as-is
Test plan
docs/superpowers/plans/2026-04-30-overwatch-hardening.mdis gone (ls docsshould fail or return nothing)Settingsclass inbackend/app/infrastructure/config_adapter.py