9 Commits

Author SHA1 Message Date
mikkeli b52a7dcedb Checklist v3: IMU calibration (level twice, straight pull-aways and stops); yukart/raw/imu
/ crosscheck (push) Successful in 1s
Rust consumers (L4T) / Clippy, test, build, glibc for every service that compiles contracts in (push) Successful in 19s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-14 13:28:40 +09:00
mikkeli 5d186bfd5d Captures plan: OBD-II through the ELM on the K-line, obd_* names, what each poller state means
/ crosscheck (push) Successful in 1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 22:57:31 +09:00
mikkeli aff9ae3f9f Checklist z27ag-captures v2: jack-stands section (23-26), conditions from the first run
/ crosscheck (push) Successful in 0s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 17:55:29 +09:00
mikkeli 635e2d1304 Z27AG capture steps as data, for the app's one-button page
/ crosscheck (push) Successful in 1s
checklists/z27ag-captures.json is now the source of the steps; the plan
describes the Captures page and the mark texts it records.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 11:12:43 +09:00
mikkeli f7c7a3533a Z27AG captures: reverse as the reverse-light bit
/ crosscheck (push) Successful in 1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-13 10:05:10 +09:00
mikkeli dbdaa901cc Z27AG capture checklist; obd-poller publishes yukart/vehicle/*
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-12 23:25:03 +09:00
mikkeli b55ccba268 Define display boundary protocol v0
What crosses between svc-gw and the app: hello, heartbeats both ways, state
snapshots of envelopes with mock flagged per message, and commands carrying an
idempotency key. TTS utterances are left for when a TTS exists.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
2026-10-09 20:19:05 +09:00
mikkeli 73eff1c5d6 Plan: note the boundary protocol is undefined, and what it must carry
The app<->svc-gw channels have no wire format yet. Measured USB link
drops (~3 s per power change, sleeping tablet invisible at link level)
and yukart decision 24 already fix the required fields: heartbeat,
command idempotency key, and utterance id/sequence/terminator/expiry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:08:39 +09:00
mikkeli 8f490aba8e Define the envelope, topic namespace and OBD-II signal registry
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-05 12:54:14 +09:00