Format support & maturity
neokapi's distinguishing capability is faithful, deep processing of many native document formats. The format-ops framework is how that capability is kept honest: it measures how good support for each format actually is, publishes a support level users can rely on, and drives the recurring work that improves it — as formats evolve and the models that work on them change.
The aim is a credibility property, not a slogan. Support is not asserted; it is measured and proven, and the measurement is reproducible — re-running it, or running it under a newer model, yields the same answer.
Two artifacts, kept separate
neokapi publishes two different things per format, and keeping them distinct is the point.
The score explains and bounds the tier; the tier is the contract users rely on.
- The score — a multi-axis vector — answers how good support actually is. It has seven axes, each a small ladder, and it is recomputed by every audit from deterministic evidence in the format's own files. It ranks the remaining work and explains the tier; on its own it promises nothing.
- The promise — a support tier — answers what you may rely on. A format is Supported (a regression blocks a release), Maintained (tested and kept green), or Available (registered and usable, explicitly experimental). The tier changes only by an explicit, human-approved event, and it is backed by a CI gate that fails the build on a regression.
The headline tier is derived as the minimum over the gating axes — never an average. A scalar average is where a measurement stops meaning anything; a format that is strong on one axis and weak on a gating axis is honestly capped at the weak one. The vector explains and bounds the tier — a tier may never claim more than its gating axes support — but the published tier moves only by a human-approved promotion or demotion, and a tier claim is valid only while a CI gate enforces it. A tier with no gate is marketing.
Why it exists
neokapi reads, changes, and writes content in its native format and writes it back faithfully: the non-translatable skeleton returns byte-for-byte, and only the text changes (see Formats). That faithfulness is the framework's edge — and an edge that is merely claimed decays silently. A model upgrade, an upstream specification revision, or a newly added format can erode it without anyone noticing.
The format-ops framework exists so the claim stays measured. Each format carries committed evidence — its reader and writer, a specification, reference corpora, and the tests that exercise them — and the audit computes a level per axis from that evidence, not from opinion. When the evidence is removed or rots, the score falls on the next run; when a gate stops running, the tier can no longer be claimed. The system is also designed to maintain itself, so the measurement does not lag the code that it measures (see Keeping it alive).
The live dashboard
The per-format scores, tiers, and trends are published on the live /format-maturity dashboard, regenerated by the upkeep loop rather than edited by hand. The set of formats it reports is derived from the real format directories in the build — there is no list to maintain and no count to hardcode.
Read next
- The axes — the three families and what each axis measures.
- Keeping it alive — the runbook, calibration, vigilance, and new-format funnel that keep the measure current.
- Deeper detail on the engine being measured: Formats and the Content model.