Standard / BUS-2 v0.3 / Clause 5

5 Packaging and integrity§

AGREED Nothing in this clause is new machinery. That is its content.

5.1 The series document§

bus:Series entities travel in a model document with documentType timeSeries, conventionally model/timeseries.json, listed in manifest.documents and schema-validated like any other model document (test PK-3). Everything BUS-1 16.4 says about model documents applies, including splitting across files with partOf. The entities are few — one per series, not one per row — so the scale concern of 1.3 does not reach them.

5.2 Sample files are resources§

This is clause 16 of BUS-1 doing its existing job. A receiver verifies every digest before ingesting any content (BUS-1 16.5, test PK-4), so a corrupted or truncated series is refused before a row of it is parsed; an undeclared file in the archive is a package error (PK-5); and a series naming a file the manifest does not list fails TS-2. No new integrity mechanism was needed, and none was invented.

5.3 Size, splitting, and exclusion§

A decade of one point at fifteen minutes is roughly 350,000 rows and some ten megabytes of text before the container’s DEFLATE, which compresses repetitive timestamped rows well. History still dominates the byte size of any package that carries it, and three honest tools exist for that: split a long history into several series over successive coverage intervals; carry rollups alongside — or instead of — raw records, declared as rollups (3.6); or exclude history by size, declared under BUS-1 16.6 with reason excludedForSize and the content available by another route. What is not available is silence.