Dsdl.c: a self-contained single-file DSDL parser and (de)serializer in C, baremetal-friendly

Last weekend I vibe-coded dsdl.c mostly out of curiosity. The entire endeavor took about four hours of my attention and about 300 € in API bills. The real time from the first commit to this post was a few days.

I started out with Claude Code but ran into severe context rot beyond about 4000 lines of code, at which time I switched to Codex with gpt-5.2-codex in xhigh mode, which performs much better at larger problems. I stayed on Codex until about 90% completion, at which point it basically ceased to be useful as an autonomous agent, requiring too much oversight. The next step was to switch to Oh My OpenCode aka Sisyphus in a Ralph loop, which is apparently the ultimate big gun these days. Sisyphus is really an outstanding piece of work; if you haven’t tried it yet, this is your sign to do so.

The experience was quite illuminating. Looking back, I realize that if I were to start with a more capable agentic harness as opposed to simply prompting Claude Code like in the good old days (i.e., a few months ago), the result would have been better. Right now there is quite a bit of slop if you look inside dsdl.c that is mostly a legacy of Claude and Codex, but somehow it works and passes all validation tests (which are quite extensive and are based on direct comparison against PyDSDL).

Please do not use dsdl.c in anything mission-critical; do not let the verification suite and test coverage deceive you into thinking that it is trustworthy. For the moment, I have no plans to take it out of the garage; it is more like an experiment to feel the capability limits of modern autonomous coding agents rather than something that is intended for serious work. I might repeat the experiment a year from now just to see how much of my personal involvement would be necessary to see a library like this to completion. My estimate is that it will be possible to do so in a ~single prompt.