The core of a small, portable harness for running an LLM as a coding agent.
Written in C on purpose and kept intentionally small. There are no plugins, no UI, and no extra layers. I am still learning as I go for the most part. Things will change as I find out what actually works in practice versus what just sounded good on paper.
- Runs tool calls generated by the model.
- Keeps a durable log of everything that happens.
- Enforces strict boundaries on what the model is and isn't allowed to do.
To ensure this kernel can run, adapt, and be extended on resource-constrained microcontrollers, it is built with extreme portability in mind:
- 100% Pure ANSI C: Completely compiler and toolchain agnostic.
- Static Memory Allocation: Zero dynamic allocation to prevent fragmentation and guarantee stability.
- No Standard Library Dependency: Eliminates unnecessary bloat for embedded targets.
- Hardware Abstraction: Define standard interfaces for essential operations (like I/O) to run anywhere.
- Vendor Ecosystems: Keep the kernel strictly isolated from vendor-specific configuration code.
The clawc directory in this repository simply holds the original project specifications and minor references. It outlines the initial intent—which was a pure-C reimplementation based on leaked Claude Code source concepts. It is not an extensive implementation, but serves as historical context for the current architecture.
This project was entirely rebuilt in C using an experimental orchestrator harness for Qwen 3.5 122B. The 122B orchestrator actively manages and delegates tasks to about four different smaller Qwen models as they work through the project.