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

**URL:** <https://forum.opencyphal.org/t/dsdl-c-a-self-contained-single-file-dsdl-parser-and-de-serializer-in-c-baremetal-friendly/2445>\
**Category:** Applications & Usage\
**Created:** [January 26, 2026, 9:44pm UTC](https://forum.opencyphal.org/t/dsdl-c-a-self-contained-single-file-dsdl-parser-and-de-serializer-in-c-baremetal-friendly/2445 "2026-01-26T21:44:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [January 26, 2026, 9:44pm UTC](https://forum.opencyphal.org/t/dsdl-c-a-self-contained-single-file-dsdl-parser-and-de-serializer-in-c-baremetal-friendly/2445/1 "2026-01-26T21:44:26Z")

</div>

Last weekend I vibe-coded [`dsdl.c`](https://github.com/OpenCyphal-Garage/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.
