Commit Graph

14 Commits

Author SHA1 Message Date
mikkeli d8c40eb9ed Name the two Orin units by hostname
The hardware table listed mikkeli-orin-nano-2 as the main compute, but
that is the development unit; the car unit is mikkeli-orin-nano. Both
the README and the REPOS units table now say which is which.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:58:51 +09:00
mikkeli cbd31cf8fc Record the runner-mode requirement for Orin builds
A container-mode runner builds against the image's glibc, not the Orin's,
which discards the reason for building on the target in the first place.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-05 15:26:00 +09:00
mikkeli 30db6b3430 Point the build docs at the glibc check script
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-05 15:24:50 +09:00
mikkeli f49af26898 Build natively on the development Orin
Two units with different jobs: one builds and runs CI, the other is the
deployment target. Building on the target architecture makes the glibc
constraint structural rather than configured.

The remaining risk is version parity between the two units, not architecture.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-05 15:23:10 +09:00
mikkeli 23ee20f9be Correct the glibc constraint: the sysroot sets the floor, not the toolchain
Rust std targets 2.17. Everything above 2.30 comes from glibc 2.34's
libpthread/libdl merge re-versioning moved symbols, which makes the ceiling
stable rather than a one-release margin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-05 15:19:35 +09:00
mikkeli b7b291a3d5 Record the aarch64 build path and its glibc ceiling
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-05 13:52:30 +09:00
mikkeli e5adcf1afe Index contracts; record the envelope's two clocks and single-source rule
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-05 12:54:28 +09:00
mikkeli b9d138652e Settle decision 5: Rust services, Python tooling, Dart client
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 17:15:57 +09:00
mikkeli 574df1471c Rewrite reference docs as current state; record the style rule
Reference, guidelines and plan documents describe what is and what will be.
Retirement stories, resolved-risk narration and against-the-alternative
argument moved out or were cut; reports keep that material.

What survives the cut is the mechanism that can bite again (driving side is a
country-level property) and the condition that would change a decision (a
permanently installed, car-powered panel), both stated generally.

Also removes a duplicated Japan section from a bad edit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 15:23:08 +09:00
mikkeli 102cf38082 Drop video out; every display is data-only
No dedicated display is in scope, so Class A has nothing to drive and app-hud
is cancelled. Records why it will not come back: no connector-powered display
exists (DP_PWR is 3.3V/500mA and deliberately unconnected at the sink, HDMI
gives 55mA, a panel needs 5-15W), the dev kit exposes no DSI, and a data-only
client on one USB cable is simpler anyway.

Video out generated the enclosure, power and cabling complexity this project
set out to solve. Removing it removed the problem.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 14:52:50 +09:00
mikkeli d234a2da37 Adopt designed front matter: typed, with staleness on plans
Replaces `type: default` — one value across every document, read by nothing,
so it discriminated nothing. Types are now reference, guidelines, plan and
report, applied to every markdown file with no exceptions for the hub.

Plans carry status and updated, reports carry date. REPOS.md already noted
that plans go stale and reports do not, but nothing made that visible: a plan
from months ago looked identical to one written today.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 14:14:17 +09:00
mikkeli 691bd3d3d3 Document scaffolding convention; drop frontmatter the hub does not use
No template repo: fork-at-create cannot reach existing repos, and the
scaffolding is three markdown files. Records what every component repo carries
instead, and the frontmatter rule inferred from orin-nano-env-setup — living
documents carry it, historical reports do not, the hub carries none.

ORIN-RUNTIME.md had frontmatter no other hub document uses. Removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 14:05:39 +09:00
mikkeli 449aa0c99e Add navigation, Orin runtime and data flow design; rework repo naming
Navigation: self-hosted MapLibre + Valhalla + PMTiles, offline-first, with
Japan specifics (left-hand traffic via valhalla_build_admins, data volume,
CJK labels). Map matching pulled forward as Phase 2 ground truth.

Orin runtime: new document covering the 8 GB shared-memory budget,
capture-first startup tiers, failure isolation, storage and the audio graph.

Data flow: direction belongs to topics inside the Orin; the display boundary
is two simplex channels rather than one duplex socket; cloud links are
outbound-initiated only; services mock themselves rather than having separate
stub implementations.

Naming: repositories are <group>-<thing> with no project prefix, so lexical
order matches semantic grouping. Indexes the five new repos.

Decisions 8-19 recorded; 14 (recording retention) left open.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
2026-09-04 08:25:26 +09:00
mikkeli 62ac7bd09d Populate design, architecture and repo layout docs
project-yukart becomes the code-free hub: overview, roadmap and cross-cutting
design only. Each app or app cluster gets its own repo, indexed from here.

- ARCHITECTURE.md: separate services over a message bus, with displays as bus
  subscribers so the directly-driven screen, Android client and ESP32 panel
  share one contract. Records CAN scope (listen-only + OBD-II as sole writer)
  and a decisions table for choices still in flux.
- REPOS.md: repo splitting rule, planned repos, naming, and Gitea template-repo
  policy (scaffolding only — no upstream link after instantiation).
- ROADMAP.md: phases 0-5, capture and decode before displays.

Bus choice (MQTT) is marked proposed pending a check against real CAN rates;
implementation language is still open.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 09:22:35 +09:00