Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
564bbba
test: add first Twin2Silicon repair fixture
w1ne Aug 13, 2026
06d3db6
fix(agent): request canonical hosted tool names
w1ne Aug 14, 2026
83f0622
test(agent): resolve canonical tools through public launcher
w1ne Aug 14, 2026
4cbf6eb
docs: design ESP32-S3 HIL benchmark
w1ne Aug 15, 2026
d0ee2ca
docs: plan ESP32-S3 HIL benchmark
w1ne Aug 15, 2026
ee630fa
feat(bench): add bounded HIL result primitives
w1ne Aug 15, 2026
ef5cbd7
fix(bench): tighten HIL result contracts
w1ne Aug 15, 2026
5c2619e
fix(bench): reap timed-out process groups
w1ne Aug 15, 2026
78c34f1
fix(bench): bound timed-out process reaping
w1ne Aug 15, 2026
970e7f2
fix(bench): report lingering process groups
w1ne Aug 15, 2026
a071439
test(bench): add ESP32-S3 GPIO repair fixture
w1ne Aug 15, 2026
cf8932b
fix(bench): correct ESP-IDF console symbol
w1ne Aug 15, 2026
3f2d0ab
feat(bench): evaluate ESP32-S3 UART and JTAG evidence
w1ne Aug 15, 2026
03cb978
fix(bench): run bounded ESP32-S3 register checks
w1ne Aug 15, 2026
e8be3a1
fix(bench): accept Espressif register evidence
w1ne Aug 15, 2026
1db308f
feat(bench): orchestrate reproducible ESP32-S3 HIL runs
w1ne Aug 15, 2026
5964eb9
fix(bench): harden HIL orchestration evidence
w1ne Aug 15, 2026
98e5df1
fix(bench): synchronize UART readiness before flash
w1ne Aug 15, 2026
ccc8ca0
fix(bench): redact and account HIL run evidence
w1ne Aug 15, 2026
bed71ba
fix(bench): isolate UART capture lifecycle
w1ne Aug 15, 2026
448229c
fix(bench): secure HIL process and evidence boundaries
w1ne Aug 15, 2026
d63344e
fix(bench): freeze and quarantine agent workspaces
w1ne Aug 15, 2026
b1df5e6
fix(bench): harden quarantine and evidence freezing
w1ne Aug 15, 2026
da631ba
revert(bench): remove overengineered HIL orchestration
w1ne Aug 15, 2026
47ae57c
feat(bench): add simple ESP32-S3 HIL runner
w1ne Aug 15, 2026
6cb6e33
fix(bench): run ESP32-S3 baseline on hardware
w1ne Aug 15, 2026
aafa074
fix(agent): use DeepInfra OpenCode base URL
w1ne Aug 15, 2026
899858f
docs(bench): design cross-runtime HIL smoke test
w1ne Aug 15, 2026
968ac04
docs(bench): plan cross-runtime HIL smoke test
w1ne Aug 15, 2026
e40948a
feat(bench): define native runtime adapters
w1ne Aug 15, 2026
2a14165
fix(bench): make runtime command dispatch explicit
w1ne Aug 15, 2026
e100e42
fix(bench): validate runtime adapter dispatch
w1ne Aug 15, 2026
6af68bc
feat(bench): share LabWired instructions across runtimes
w1ne Aug 15, 2026
058c74a
fix(bench): write isolated Codex MCP config
w1ne Aug 15, 2026
f8abcc2
fix(bench): isolate runtime MCP configuration
w1ne Aug 15, 2026
686d122
feat(bench): run one native agent trial
w1ne Aug 15, 2026
b9fdb62
fix(bench): isolate public agent inputs
w1ne Aug 15, 2026
cad9f85
fix(bench): preserve native runtime auth
w1ne Aug 15, 2026
b2deab1
fix(bench): isolate Codex MCP without config merge
w1ne Aug 15, 2026
a6cb3a4
feat(bench): compare native runtimes with one HIL oracle
w1ne Aug 15, 2026
21e8b70
fix(bench): validate HIL usage schema fully
w1ne Aug 15, 2026
a8ed94f
fix(bench): retain partial usage and gate HIL failures
w1ne Aug 15, 2026
1aa0bca
docs(bench): add cross-runtime smoke entry points
w1ne Aug 15, 2026
50b0d6e
docs(bench): clarify runtime version evidence
w1ne Aug 15, 2026
6b40ab2
fix(bench): validate board identity in runtime matrix
w1ne Aug 15, 2026
a51e617
fix(bench): pin HIL flash to identified UART
w1ne Aug 15, 2026
8b02a03
fix(bench): emit complete runtime comparison evidence
w1ne Aug 15, 2026
d13400e
fix(bench): complete runtime evidence details
w1ne Aug 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions benchmarks/twin2silicon/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Cross-runtime HIL smoke comparison

This is a runtime smoke comparison, not a leaderboard. It runs OpenCode, Codex
CLI, and Claude Code against the same public firmware task, then sends each
completed candidate to the existing physical HIL oracle.

## Interpretation

Native models are intentionally not overridden: each runtime uses its installed
default. A raw-model comparison belongs in the separate OpenCode model matrix,
not this cross-runtime smoke test. A runtime may report token usage but
subscription cost is unknown unless that runtime explicitly provides a cost;
the harness never estimates subscription cost.

The hardware command flashes the connected board. Treat it as a destructive,
opt-in operation and identify the UART and JTAG device deliberately. One smoke
run is useful only as operational evidence. Any publishable result needs
multiple tasks and repeated fresh trials before drawing a conclusion.

## Commands

Run the offline contract suite:

```bash
npm run test:runtime-smoke:offline
```

Run a connected-board comparison only with explicit hardware and output
locations. Existing authenticated runtime sessions are used as-is.
The trial instructions are noninteractive: this command authorizes inspection,
the smallest in-scope repair, and compilation without a confirmation prompt.
Before any flash, the harness checks that the selected UART's PlatformIO device
entry reports the supplied JTAG serial.

```bash
LABWIRED_HIL=1 \
LABWIRED_UART_DEVICE=/dev/cu.usbmodem11101 \
LABWIRED_JTAG_SERIAL=3C:0F:02:DF:EC:F8 \
LABWIRED_OPENOCD="$HOME/.platformio/packages/tool-openocd-esp32/bin/openocd" \
LABWIRED_MATRIX_OUTPUT=/Volumes/LabWired/hil-runs/runtime-smoke-$(date +%Y%m%d-%H%M%S) \
npm run test:runtime-smoke:hardware
```

The entry point checks OpenCode, Codex CLI, Claude Code, PlatformIO, and
OpenOCD and prints their versions before running; operators may capture stdout
with the smoke evidence. Temporary data is placed on
`/Volumes/LabWired` when that volume is available. It does not configure
runtime accounts; authenticate each native runtime before invoking it.

## Evidence

`LABWIRED_MATRIX_OUTPUT` must be a new directory. The matrix writes
`matrix.json` after each runtime, plus per-runtime trial directories under
`trials/`. Completed candidates contain runtime logs, `agent-result.json`,
and `usage.json`; HIL evidence, including `run.json`, is stored in that
trial's `hil/` directory. Preserve these records when reporting a smoke run.
1 change: 1 addition & 0 deletions benchmarks/twin2silicon/hil/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Reusable hardware-in-the-loop benchmark primitives."""
Loading
Loading