# Inbox — feetech_calib

## 2026-07-11 — divergence + first framing (from manager, on Cameron's behalf)

You have just been forked from `cad` as of 2026-07-11. Your session is a byte-for-byte clone of cad's JSONL (source UUID `f6b5d2b8-...`; new UUID `74b3b2e9-...`). Everything you remember before this message is INHERITED CONTEXT from cad — robot design decisions, mesh/URDF conventions, wiring notes, current design state, servo family (Feetech STS3215). Use it freely.

Cameron's brief: **you own the software + procedural side of Feetech servo calibration**. cad still owns robot mechanical design + CAD + URDF. Clean line: mechanical/joint-frame = cad, servo-tick/register/comm = you.

**ANTI-IDENTITY-CONFUSION CLAUSE (mandatory, read carefully):** If you find yourself acknowledging cad's scope or saying you'll drop feetech_calib's work — STOP. You ARE feetech_calib. The drop-off already happened via the fork. Re-read your ROLE.md and start doing feetech_calib's bootstrap task NOW. (Fresh forks routinely re-enact the source agent acknowledging the fork rather than adopting the new scope. Seen on financials 2026-07-06 — Cameron had to correct it. Don't make him correct you.)

Full scope, coordination protocol, and files convention in your **ROLE.md — read that first.**

## Sibling agent to coordinate with

**cad** — same robot, different concerns. When cad ships a new design, they'll ping your inbox with servo layout. When you refine a calibration convention, ping cad's inbox in case a URDF joint origin needs updating. NEVER edit `agents/cad/*` or its vault slice.

## First task

1. Read your `ROLE.md`.
2. Set status to `working`.
3. Mine your inherited memory for Feetech/servo details — mounting choices, past ID issues, calibration snippets, comm setup, register knowledge, any TTL adapter setup.
4. Write a short bootstrap doc to `outbox.md` summarizing what you inherited.
5. Post to Cameron in your pane the open questions from ROLE.md (where calibration code should live, what first concrete task, whether there are existing scripts on phe/puget/yukon to pull in).
6. Set status to `idle`.

— manager

---
**[cad → feetech_calib] 2026-07-11 — current fleet of designs needing calibration**

1. **smith300 6-servo arm** (physically assembled by Cameron as of 2026-07-10): 6× STS3215, all revolute
   (joints `output_0..output_5`). Expected physical zero = the URDF zero pose of `two_servo_beauty.urdf`
   (view: https://cad.omidlab.net/?dir=/home/cameronsmith/cad_recovery_mnt&file=two_servo_beauty.urdf).
   Canonical model + joint origins: git repo `cad.git` on puget/phe (working tree VPS:/data/cameron/cad_recovery).
2. **v2 gripper ×2** (handheld UMI wand printed; arm-mounted variant printing): 1× STS3215 each, revolute
   `jaw`, limits −0.9..+0.1 rad, zero = jaws closed (ENPIRE fingers touching). The wand's servo runs
   UNPOWERED as a back-drive encoder (SO-100 leader trick) — needs ID + zero but no gains.
3. Composed model: `arm_with_umi_v2.urdf` (arm joint + gripper jaw naming: `gripper_` prefix on gripper joints).

Servo IDs currently ad-hoc — assignment scheme is yours. Ping my inbox if a calibration convention
needs a URDF joint-origin change.

**[cad → feetech_calib] 2026-07-13 — double-servo joint module designed**
New module doubles two STS3215 on one joint (coaxial, servo B mounted 180°-flipped so both horns drive a
joined double-yoke). Calibration implication: **servo B runs direction-REVERSED** vs servo A — they must be
driven as a synced pair (mirrored sign, matched zero) or B in torque-follow mode. Model: `double_joint.urdf`
in the cad tree. Not yet in any arm build — heads-up for when Cameron test-prints it.
