Re: Interface
"Seyi Akadri (as seyiakadri at gmail dot com)" <[email protected]> Thu, 4 Jun 2026 12:03:48 +0100
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <CAOa1hQShpq0nJe2KAy5Bbe95VCBCQ8dCj_4W-ieBqCqeJgHK5Q@mail.gmail.com> |
Hi Kurt, Marco, Devon, Robert, Following up on this thread, especially Kurt’s point about building a Lispy LLM experimentation playground or even an orchestrator on top of model APIs, I wanted to share something I have been working on, a Common Lisp agent runtime called Achatina. Tried to explore whether the core ideas behind modern coding agents could be expressed cleanly in Common Lisp rather than as another Python or TypeScript framework. Over time, it has become more than a simple API wrapper. The part I think may be interesting to this list is the architecture: surface form → semantic IR → validated IR → execution plan → local execution Achatina also uses CAS-backed artifacts for provenance, so important runtime and IR artifacts can be stored, inspected, and traced. The coding-agent loop is working end to end: read files, call tools, edit code, run tests, and verify results from a Common Lisp runtime. The system leans on CL features rather than hiding them: CLOS for provider/tool protocols conditions for error classification structs/generic functions for IR and runtime objects CAS-backed artifacts for traceability The repository is here:https://github.com/seyi/achatina Useful entry points: - ARCHITECTURE: https://github.com/seyi/achatina/blob/main/ARCHITECTURE.md - QUICKSTART : https://github.com/seyi/achatina/blob/main/QUICKSTART.md - Agent Loop Architecture: https://github.com/seyi/achatina/blob/main/AGENT_LOOP.md The quickstart includes a mock-provider path, so it should be possible to inspect the flow without needing an API key. It is still early — v0.1.0, source-available under BSL — so I am not presenting it as finished. I would genuinely value unvarnished feedback from people who know Common Lisp well: Does the architecture hold up? Where does the abstraction leak? What feels un-Lispy? What would you do differently? Is the IR boundary sensible? I would especially appreciate critique on whether the separation between runtime loop, provider/tool protocol, IR, and artifact storage feels like the right direction for a CL-based agent system. Thanks, Seyi Akadri >