Record size corpusstable
§2 Method
Sources measured, three ways:
- Every conformance fixture —
conformance/valid/*.json(14) andconformance/invalid/*.json(78) — skipping onlyver101-unparseable-json.json(deliberately not JSON; it carries none of the five quantities to measure), plus the three published examples (standards/ver/1.0.0/example-record.json,standards/ver/1.0.1/example-record.json,standards/ver/1.1-draft/example-record-lineage.json). This is **the realistic corpus**, N=90: every record-shaped document this project has committed for a reason other than probing a size threshold. - Four fixtures pulled out as designed outliers, reported separately and never folded into the realistic distribution:
ver103-record-exceeds-hard-cap.json,ver104-record-size-policy.jsonandver105-record-size-exceeded.jsonare, by `conformance/manifest.json`'s own per-fixture notes, deliberately built at the cheapest possible size to trip one specific quantity.ver106-size-should-cap-exceeded.jsonjoins them for the identical reason — its 65embeddings[]entries are a manufactured breach of quantity (d), not a naturally occurring record. Its file is small (22,768 bytes, smaller than several genuine fixtures), which is exactly why it has to be pulled out explicitly rather than caught by a byte-size threshold: left inside "the realistic corpus", it would make that corpus look like it reaches a quantity-(d) budget no real record here reaches. - Parametric synthesis grounded only in in-repo bytes — no fabricated content anywhere: every distinct real
metadata.raw[]segment found across every fixture and example above (deduplicated by content digest), plus the eight real EXIF blobstests/test_cpnp_determinism.py::_exif_blobgenerates for orientations 1–8 (imported and called, not reimplemented); and a vector matrix at the two dimensions this project actually ships — 512 and 768, per `standards/reference-sets/README.md` — in fp32 and fp16, inline (vector/vector_b64) and by-reference (vector_ref), with components generated bystandards/ver/1.1-draft/RELEASE.md's own closed-form construction (v[i] = sin(i + 1), L2-normalized) rather than a new one. Every synthesized shape's construction is stated in the script's docstrings so it reproduces exactly; none of it is written to disk.
Reproduce from the repository root:
No network, no new dependencies, nothing written to disk. The script also bootstraps sys.path itself (services/verd/src, packages/ver-validator/src and the repository root), matching the pattern scripts/migrate_named_vectors.py and scripts/make_refset_manifests.py already use, so PYTHONPATH is not strictly required — it is set above to match every other reproduction command on this branch. §3 below is this command's output, unedited; regenerating it and diffing against §3 is the verification this document was checked with.
