JSON Lines sources ================== JSON Lines capture is available in the development source. The published ``0.1.0.dev0`` package predates this functionality. The first reader supports one flat JSON object per UTF-8 line. It accepts LF and CRLF and does not require a final line terminator. It rejects blank lines, a byte order mark, duplicate or unknown keys, nested values and other top-level JSON values. This is a subset of the JSON Lines format, not a claim to support every valid JSON Lines document. Configure the source, schema and explicit limits as shown in :doc:`../development/format-sources`. Supported fields are text, boolean, signed or unsigned 64-bit integers, and finite decimals. Each field has a stable ID, type, presence policy and null policy. A missing optional field stays missing; a present JSON ``null`` remains a distinct value and is accepted only if the field is nullable. Values are never silently coerced into another declared type. Pass the lowercase SHA-256 digest of the exact file bytes as the source version. The file is verified before and after reading. A completed snapshot can be reopened and compared without the original file. Source changes, malformed records and limit failures produce an unavailable observation and discard any provisional records. Complete counts describe rows observed during the verified read; they are not independently supplied producer counts. Strict typed representation is the default. Select ``--profile logical-v1`` to compare logical equivalents. Whitespace, JSON escape spelling and object-key order are syntax and are not preserved as raw-byte identity. Source lineage is unknown without supporting evidence. Remote object storage is separate work.