# TRI infrastructure

Toyota Research Institute on-site compute + robotics. Hoisted to top level
because it outlasts any one project that runs on it.

Canonical operational docs are at `/data/cameron/tri/`:
- `/data/cameron/tri/README.md` — quick map
- `/data/cameron/tri/onboarding.md` — first-week checklist
- `/data/cameron/tri/machines.md` — full machine specs
- `/data/cameron/tri/contacts.md` — Sergey Zakharov + collaborators
- `/data/cameron/tri/processes/{ssh_in,where_to_train,data_pipeline,run_training}.md`
- `/data/cameron/tri/secrets/credentials.md` (chmod 600)
- `/data/cameron/tri/journal/` — daily notes

## SSH chain (current as of 2026-06-02)

```
school server  ──Tailscale──▶  dev (puget, dual-homed)  ──TRI-LAN──▶  robot-lab / DGX
```

`dev` (PUGET-232243-01, Tailscale `100.104.232.94`, TRI-LAN `10.110.23.118`)
is the bastion. `yukon` (TRI-LAN `10.110.23.2` / Tailscale `100.72.103.103`,
the current rig host) and the DGX nodes are reachable only via `dev` as
ProxyJump from outside the TRI LAN. `russet` (`10.110.22.11` TRI-LAN /
`100.123.182.78` Tailscale) is **abandoned** as of 2026-06-08 — kept on
the LAN for reference but not actively used; the rig is on `yukon`.

**Outbound SSH from rigs to lab** (added 2026-06-02): puget and russet can
both directly `ssh cameronsmith@100.74.71.38` (= the lab server,
`phe108-yuewang-01`). Uses **Tailscale SSH** identity, not pubkey — one-time
browser approval per machine. Both are already approved.

## Bidirectional mount (single source of truth, 2026-06-02)

`/data/cameron/` on the lab server is sshfs-mounted as `~/lab/` on both
puget and russet. **All code lives on the lab server.** Puget and russet
hold only data/checkpoints/eval_videos (kept local for IO).

Mount command:

```bash
~/lab/para/robot/yam/bin/yam-mount             # mount
~/lab/para/robot/yam/bin/yam-mount -u          # unmount
```

(The helper itself is on the mount; first-time mount requires running it
via the standalone copy at `/data/cameron/para/robot/yam/bin/yam-mount`
via ssh.)

| Machine | Tailscale IP | TRI-LAN IP | Mount? |
|---|---|---|---|
| `phe108-yuewang-01` (lab) | `100.74.71.38` | n/a | source |
| `puget` (PUGET-232243-01) | `100.104.232.94` | `10.110.23.118` | yes, at `~/lab/` |
| `yukon` (rig host) | `100.72.103.103` | `10.110.23.2` | sshfs on lab at `~/mnt/yukon` → `/data/cameron/yukon_remote` → `/browse/yukon_remote/` |
| `russet` (abandoned 2026-06-08) | `100.123.182.78` | `10.110.22.11` | sshfs on lab at `~/mnt/robot-lab` (legacy `/browse/yam_remote/` — do not extend) |
| DGX nodes | (TBD) | various | (not yet) |

## ControlMaster (added 2026-06-02)

`~/.ssh/config` now uses `ControlMaster auto` + `ControlPersist 600` for
`dev` and `robot-lab` — repeated `ssh dev '…'` reuses one TCP connection,
cutting per-call latency from ~300 ms to ~10 ms.

## Owned by

The `yams` agent. See `/data/cameron/agents_stuff/agents/yams/ROLE.md` for
its scope and onboarding state, and
[`vault/fleet/agents/yams/`](../fleet/agents/yams/) for current focus.
