board
OCuLink Riser for the Supermicro AIOM Slot
Public Unreviewedby John Lauer
Passive OCP NIC 3.0 SFF card that breaks a Supermicro AIOM slot's PCIe x16 into four OCuLink 4i ports (4 x4, Gen4): 6-layer, 85 ohm, length-matched, DRC-clean KiCad project with Gerbers, BOM and CPL.
← Commit history
aiflow run ocp-oculink-riser-claude-20261012-2119: export
4 files changed
+35−10
docs/runs/ocp-oculink-riser-claude-20261012-2119/README.md+35−10@@ -1,6 +1,6 @@ # AI Flow run: claude on board-0 -**Running**: step `finish`, 267.8 min of AI time since the prompt (612.8 min on the wall clock). This page updates at every step change.+**Finished** (board design checks) at 2026-10-13T08:38:25Z, 307.0 min of AI time from the prompt; the video is being cut. Prompt at 2026-10-12T21:19:30Z (UTC). Flow: board. Every number here is from the run's append-only ledger (run.jsonl). AI time is the time the AI was working on a prompt: from the human's prompt to the AI's done, with any gap over 15 min where no command ran (unobserved, not proven idle) cut out. @@ -10,8 +10,8 @@ One row per human prompt: the AI's time on it, unobserved gaps excluded by the h | Session | Prompt at | Done at | AI time min | Unobserved gap min | What | |---|---|---|---|---|---|-| 1 | 2026-10-12T21:19:30Z | (open) | 267.8 | 345 | the first prompt |-| **all** | | | **267.8** | | |+| 1 | 2026-10-12T21:19:30Z | (open) | 306.9 | 372 | the first prompt |+| **all** | | | **307.0** | | | ## Per step @@ -21,13 +21,14 @@ AI time only, the idle cut out. |---|---|---|---|---|---|---|---| | intake | 24.4 | 24.4 | 0.0 | 2 | 1 | 0 | 23.9 min | | placement | 20.9 | 8.1 | 12.8 | 17 | 3 | 2 | 5.7 min |-| routing | 121.5 | 7.2 | 114.3 | 32 | 3 | 0 | 4.8 min |+| routing | 127.1 | 7.2 | 119.9 | 32 | 3 | 0 | 4.8 min | | pours | 0.9 | 0.0 | 0.9 | 5 | 1 | 0 | 0.0 min | | current | 42.6 | 0.0 | 42.6 | 21 | 1 | 0 | 0.0 min | | thermal | 0.1 | 0.0 | 0.1 | 4 | 1 | 0 | 0.0 min |-| finish | 0.0 | 0.0 | 0.0 | 1 | 1 | 0 | 0.0 min |+| finish | 33.5 | 0.0 | 33.5 | 20 | 1 | 0 | 0.0 min | | 3d | 3.6 | 0.0 | 3.6 | 6 | 1 | 0 | 0.0 min | | components | 10.8 | 7.5 | 3.3 | 9 | 1 | 0 | 6.0 min |+| export | 0.0 | 0.0 | 0.0 | 1 | 1 | 0 | 0.0 min | | fields | 10.9 | 0.0 | 10.9 | 3 | 1 | 0 | 0.0 min | | libraries | 4.6 | 4.6 | 0.1 | 1 | 1 | 0 | 4.6 min | | models | 6.2 | 3.4 | 2.8 | 6 | 1 | 0 | 2.0 min |@@ -37,7 +38,7 @@ AI time only, the idle cut out. | silkscreen | 8.3 | 0.0 | 8.3 | 6 | 1 | 0 | 0.0 min | | test-plan | 11.0 | 9.2 | 1.8 | 5 | 1 | 0 | 9.1 min | | thermal-vias | 0.1 | 0.0 | 0.1 | 4 | 1 | 0 | 0.0 min |-| **total** | **267.8** | **64.8** | **203.1** | | | | |+| **total** | **306.9** | **64.8** | **242.2** | | | | | ## Returns to earlier steps @@ -84,9 +85,17 @@ AI time only, the idle cut out. - 2026-10-13T06:34:24Z clip-start:3d-1 - 2026-10-13T07:25:08Z pulled 2 clip(s) that had not reached the run - 2026-10-13T07:32:14Z clip-start:finish-1+- 2026-10-13T08:08:52Z clip guard: the finish clip ran 36 min, past its 10 min budget twice over; stopped by the guard+- 2026-10-13T08:38:54Z clip-start:export-1 ## Where the board stands +- gate: 0 new DRC errors, 0 unconnected, null inherited+- landed live: 0 of 0 route entries+- pours (landed): 1 groups, failed []+- copper kept (mm2 per layer): {"B.Cu":7235.63,"F.Cu":5140.25,"In1.Cu":8012.11,"In2.Cu":6379.85,"In3.Cu":8012.11,"In4.Cu":6007.98}+- analyze-current: pass+- analyze-thermal: pass ## The steps on camera @@ -386,22 +395,38 @@ What this step does: the 3D walkthrough: the viewer opened from the editor, then What this step does: finish refuses until everything is true; the AI cuts the video and delivers -**Clip: finish, still recording (started 2026-10-13T07:32:14Z); it appears here when the step ends.**+**Clip: finish, the PCB editor from 2026-10-13T07:32:14Z to 2026-10-13T08:12:24Z. Motion only: 36.7 min of real time, 4 s of it had something moving; the clock in the corner is the real elapsed time.**++<video width="100%" controls><source src="/blob/app/oculink-aiom-riser/docs/runs/ocp-oculink-riser-claude-20261012-2119/finish-1.mp4" type="video/mp4"></video>++**Contact sheet: nine frames spread through the finish clip, what the camera saw.**++ **Screenshot: the board when finish began.**  +### export++What this step does: The finish line for the human: Gerbers, drill, BOM and pick-and-place (CPL) written from the finished board, checked, and announced in the chat with where every file is.++**Clip: export, still recording (started 2026-10-13T08:38:54Z); it appears here when the step ends.**++**Screenshot: the board when export began.**+++ ## Plan usage, the second cost line Percent of each plan limit used, as the provider reports it, at the start of the run and at its end. | Provider | Limit | At start | At end | Used by this run | |---|---|---|---|---|-| claude | 5h | 2 % | 0 % | -2.0 % |+| claude | 5h | 2 % | 1 % | -1.0 % | | claude | Fable | 0 % | 0 % | 0.0 % |-| claude | week | 0 % | 3 % | 3.0 % |-| codex | week | 49 % | 6 % | -43.0 % |+| claude | week | 0 % | 4 % | 4.0 % |+| codex | week | 49 % | 9 % | -40.0 % | *The limits are per account, not per run: every AI thread signed in as this user draws on the same numbers, so a run made while other threads were working shows their usage too. Read it as an upper bound unless this run was the only thread active.*
docs/runs/ocp-oculink-riser-claude-20261012-2119/finish-1-sheet.pngadded⋯ 1 unchanged line ⋯
docs/runs/ocp-oculink-riser-claude-20261012-2119/finish-1.mp4added⋯ 1 unchanged line ⋯
docs/runs/ocp-oculink-riser-claude-20261012-2119/shot-export-1-start.pngadded⋯ 1 unchanged line ⋯