kinogaki-codecs

kinogaki-codecs — audit issues

Audited 2026-06-20. Repo: libraries/kinogaki-codecs. Criteria: completeness · tests · separation of concerns · verb-named functions · file size (<1000 lines) · organization.

Health summary

A genuinely solid, well-factored codec library: six codecs (json, markdown, html, svg, text, blob) plus a bundle convention, all sharing a single document model, with a dependency-free JSON/XML/HTML parser stack and 28 tests / 234 checks that build clean (-Wall -Wextra) and pass. The most material problems are documentation drift (the README still presents five of the six codecs as future work) and a handful of honest-but-untested gaps: markdown nested lists are claimed in the header but silently unsupported, and the document/vector decoders never report errors (the ParseError* is ignored and decode always "succeeds"). No file approaches the size limit, there are no committed build artifacts, and separation of concerns is clean apart from two small copy-pasted helpers.

Issues

[HIGH] completeness — markdown nested lists are claimed but silently unsupported

[MEDIUM] completeness — document/vector decoders ignore ParseError and never fail

[MEDIUM] organization — README documents only json; the other five codecs are presented as future work

[MEDIUM] tests — no malformed-input tests for markdown/html/svg; lossy round-trips asserted but not pinned

[LOW] separation — safeSegment duplicated across two codecs

[LOW] separation — entity/escape helpers duplicated between HtmlCodec and SvgCodec

[LOW] completeness — JSON \u surrogate pairs not combined (documented, untested)

[LOW] naming — function names are clean

[LOW] filesize — clean

[LOW] organization — no committed build artifacts; layout is clean