Compatibility and measurement evidence¶
These are dated observations with separate denominators. Historical release measurements below include 2.14.3-alpha.10. The user guide identifies the latest installable release; a documentation edit does not remeasure an older runtime.
Independent compatibility measures¶
Compatibility has 3 separate measurements. They must not be combined into one percentage. Performance is tracked separately and cannot increase a compatibility score.
Maintained adoption map¶
The generated function adoption map classifies all 218 pinned public functions by application-ready contract status:
| Status | Functions | Meaning |
|---|---|---|
| Complete | 52 | Maintained application behavior and mapping are complete |
| Implemented, mapping incomplete | 5 | Runtime code exists; public mapping is incomplete |
| Partial | 29 | Only the documented behavior is ready |
| Planned | 69 | No application-ready implementation is claimed |
| Intentionally excluded | 63 | Outside the currently declared product surface |
| Total | 218 | Pinned FreeType 2.14.3 function inventory |
This is a conservative adoption classification. A planned or excluded function can still have a declaration, stub, validation route, or focused runtime probe. That evidence does not make its complete application behavior available.
Last committed runtime evidence¶
The last committed full parity snapshot was recorded on 2026-09-17:
| Measurement | Count |
|---|---|
| Runnable exact-comparison cases | 20,357 |
| Passed cases | 20,357 |
| Failed cases | 0 |
| Explicitly pending cases | 3 |
| Covered manifest cases | 4,420 |
| Validated public API subjects | 1,543 |
| Validated public API input files | 1,537 |
| Logical declared cases | 4,574 |
| Concrete expanded cases | 20,360 |
| Functions with at least one C/Rust/C-ABI/WASM runtime route | 218 / 218 |
20,357 / 20,357 means every runnable case in that execution matched; the 3
explicitly pending concrete cases are safety-extension or undefined-input
scenarios and the route audit still reports 0 pending parity routes. Likewise, 218/218 function-route evidence
can be satisfied by a narrow success or null-validation route; it is not
equivalent to complete behavior for every input, state, or platform.
The latest worktree verification is the full parity snapshot recorded in
doc/runtime_parity_evidence.json by make record-parity-snapshot after
20,357 / 20,357 runnable comparisons with 0 failures and 3 explicitly pending
concrete cases. The source digest, compiler versions, and execution counts are
recorded in the release's parity receipt.
Run make test-parity for current worktree evidence. It writes the full log
and a source-digest-bound report under target/parity-evidence/. After a
complete run, make record-parity-snapshot copies that report into the
committed runtime evidence
and updates this table. Recording fails if parity-relevant source changed after
the run. Generated runtime reports under target/ are newer authority for
their exact worktree than the committed release snapshot.
Retained historical combined coverage¶
The retained historical all-lane coverage snapshot was recorded on
2026-08-23 for the worktree based at commit
e8c51cb6dba42fd524d94940673fe6b380411d46
by managed Coverage MCP 0.10.0 (registered command with the local sccache
wrapper disabled):
| Metric | Covered / total | Coverage |
|---|---|---|
| Lines | 63,740 / 65,887 | 96.74% |
| Branches | 11,580 / 13,412 | 86.34% |
| Functions | 3,689 / 3,976 | 92.78% |
| Regions | 87,946 / 91,700 | 95.91% |
This report is historical and is not current-release coverage. Its source
identity and totals remain in the machine-readable ledger. Fresh collection
uses make test-coverage-all; shader or foreign-target execution is not implied.
C ABI completion contract¶
The retained local scorecard from make c-abi-contract in the measured
worktree (regenerated 2026-09-15) has 8 / 12 categories complete:
| Category group | Status |
|---|---|
| Functions | 183 / 218 functions without unresolved subject routes; 218 / 218 names, signatures, and traced function routes; 13,624 / 18,100 pinned-C runtime contract rows exact; 4,476 pending |
| Constants, types, layouts, callbacks | Complete under their blocking scorecard measurements |
| Ownership | 23 / 23 ownership rules have exact runtime evidence |
| State, modules, headers | 20 / 20 state transitions and 7 / 7 optional public components have exact evidence; headers are complete |
| Errors | 2,756 / 3,689 expected-error routes compare exact error and output results; the current ledger has no strict mismatches and 933 unresolved routes; 15,879 / 20,355 routes have no generic fallback evidence |
| Binary/install artifacts | 7 / 8; Windows import-library evidence pending |
| Platform behavior | 1 / 5 fresh target bundles; Linux x86-64, Windows x86-64, Linux i686, and Linux powerpc64 remain pending |
Tag CI independently requires all five platform jobs and validates their
combined scorecard. Its c-contract-scorecard artifact records the release's
platform totals; the table above records the local macOS worktree measurement.
Only make c-abi-contract-complete is the full-contract pass condition. The
ordinary make c-abi-contract command intentionally succeeds while reporting
remaining debt. Unresolved function-subject routes and incomplete expected-error
routes remain even when every bare function name has some traced route. The self-cleaning
completion roadmap defines the exact 12-category goal.
The committed machine-readable snapshot is
doc/compatibility_snapshot.json.
The scorecard is generated from the pinned C headers, current route audit,
contract inventory, and available platform artifacts. Incomplete categories
remain blockers for complete replacement; the generated report under target/api-abi-audit/
is the detailed authority for the current worktree.
Performance baseline¶
The maintained release-mode benchmark measures per-operation latency and throughput, complete-process peak RSS, and exact unstripped release-artifact bytes against pinned FreeType. Correctness mismatches fail before a measurement can qualify.
The committed ledger contains 7 / 5 clean runs for its most-sampled current environment. Five runs from the same environment are required before regression thresholds can be reviewed.
| Latest clean measurement | Value |
|---|---|
| Source commit | e0c6b793de33f2b62bc79a0f7923dc52000b75ff |
| Samples | 10 |
| Weighted latency speedup versus C | 0.293x |
| Total throughput ratio versus C | 0.378x |
| Median peak-RSS ratio versus C | 3.822x |
| Shared-library byte-size ratio versus C | 2.487x |
| Fontdone WASM size | 1,281,884 bytes |
The regression policy is collecting_baseline. make bench-regression
therefore fails closed until reviewed thresholds become active.
Run make bench to generate a ten-sample report under
target/fontdone-bench/. From a clean source commit, run
make record-performance-baseline to append it to the committed ledger.
Performance evidence is machine- and environment-specific; results from
different environment identities are never pooled toward the five-run
threshold-review minimum.