@claudeai I thought cowork's point was to on your local machine... but this seems to imply jobs are run in the cloud? What? Does it upload stuff to cloud to keep working?
Still, pretty cool.
@cursor_ai GitHub stays the source of truth for synced repos. So this is a mirror plus an agent loop, not a migration. Unpublished data terms are the actual read.
Today we launched Chiplab https://t.co/zCTzRdAJV2 on @ProductHunt
Very excited & happy to get feedback! Coming soon: CI support to let fancy AI models test hardware on GitHub, peripheral testing and more chips!
A modern vehicle contains on the order of 100 million lines of code across dozens of ECUs. Several times more than an F-35.
Software-defined vehicles will only increase that number. We have AI agents for code. We don’t yet have AI agents for embedded systems.
Very cool Rust port of Ghidra: An agent has written nearly every line of code.
A part many will skip: it worked because he'd already built the benchmark that scores it. Agent needed ground truth before it could refine against anything.
Everyone's racing physical AI: robots, foundation models, demos that walk.
Somewhere under that stack is firmware that still ships like 2009.
If the body is AI-native and the firmware workflow isn't, you bottleneck at the MCU.
Shipping "agent skills" for coding standards is useful.
A style guide is not a debugger.
Embedded doesn't fail on naming. It fails on the wrong clock tree and a silent HardFault.
Coding agents keep getting better shells. CLIs, sandboxes, browsers, eval harnesses.
Firmware still ends at "here is an ELF, good luck."
Until the chip is callable, the loop is fake.
Porting is where agents shine, if they can verify.
The same code, five ways: bare-metal Rust, Embassy, Zephyr, FreeRTOS, and ThreadX.
An agent with a build-run-check loop can port between them step by step, verifying that each version actually boots and prints.
Pass@1 on embedded codegen is a nice number.
It measures whether the model can emit code.
It does not measure whether the board blinks.
Those are different sports.
An agent that can run firmware debugs like an engineer.
The generated code used the wrong clock divisor. The output was garbage. You find out on the bench.
With tooling: the agent reads the output, traces the clock tree, fixes the divisor, rebuilds, and runs again.
Copilot for firmware is solved.
USART init, DMA ring, IRQ handler — models nail the shape in seconds.
Generation was the easy half. The agent still can't run what it wrote.
If your job is to click "looks good" on agent output you never ran, you're not reviewing.
You're a meat proxy with merge rights.
Firmware makes that habit expensive.