About this site¶
This is a build journal — a transparency tracker for the autonomous build of the
Smart Gate Trigger Service. It is not the product's own documentation; the service
ships its own docs/runbooks.md and docs/security.md inside the repo (delivered by
US-020).
The Smart Gate Trigger Service is a self-hosted decision/orchestration service that decides when and how often to pulse a gate-open MQTT command based on phone location, so the gate is already open before a Full Self-Driving vehicle reaches it. It runs as a single hardened Docker / docker-compose service on a home-lab VM.
The plan: Craig hands the critic-blessed PRD to a Ralph loop, walks away, and comes back to a finished v1 — with this site explaining what each loop did, when, and why.
How the loop works¶
Each Ralph iteration runs claude --print against the repo. The iteration AI:
- Reads
prd.json, picks the highest-priority story wherepasses == false. - Implements it, runs local lint + typecheck + pytest.
- Commits and appends a note to
progress.txt. - The wrapper pushes, watches GitHub Actions CI, and only flips the story's
passesflag totruewhen CI is green against a mock MQTT broker (no hardware).
Completion gate for every story: lint + typecheck + pytest green on GitHub Actions.
How this site updates¶
The scripts/update.sh script in this site directory:
- Reads the repo's
git logfor chronology and commit messages. - Reads
prd.jsonfor per-storypassesstate (the schema is a booleanpassesflag, not a status enum — a story is complete whenpasses == true). - Reads
metrics.json+metrics-report.mdfor per-iteration Ralph telemetry (if present). - Reads
progress.txtfor the loop's own per-iteration journal (if present). - Reads
tasks/prd-smart-gate-trigger-service.critic-log.mdfor the 4-pass critic audit. - Regenerates the pages below and runs
mkdocs build --clean --strict. - Runs
wrangler pages deploy site/ --project-name smart-gate-trigger.
Cloudflare Pages serves the result.
Source files¶
| Source | Used by |
|---|---|
git log (repo) |
Build Journal, Timeline |
prd.json (boolean passes schema) |
Overview, PRD Status, Build Journal |
metrics.json / metrics-report.md (telemetry) |
Overview, Loop Stats, Build Journal |
progress.txt (per-iteration loop journal) |
Build Journal narratives |
tasks/*.critic-log.md |
Critic Log, PRD Status |
Until the loop has run, metrics.json, metrics-report.md, and progress.txt may not
exist yet — the site handles that gracefully and shows a "loop not started" state.
Brand¶
Spectro Cloud 2025 palette. Tranquil Teal #1F7A78 primary, Sunset Orange #B94B01
accent. Plus Jakarta Sans typography. All timestamps render in your local timezone
(hover for the canonical UTC value).