Skip to content

feat(wire): S3/#108 — arrow shard writer (byte parity, header pass-through)#118

Merged
Polichinel merged 3 commits into
developmentfrom
feat/hop-b-s3-shard
Jul 20, 2026
Merged

feat(wire): S3/#108 — arrow shard writer (byte parity, header pass-through)#118
Polichinel merged 3 commits into
developmentfrom
feat/hop-b-s3-shard

Conversation

@Polichinel

Copy link
Copy Markdown
Collaborator

Story S3 of epic #105.

What

  • unfao/wire/shard.pywrite_shard(values, time, unit, *, header, directory) -> (name, sha256): views_frames.io.arrow.save with the §2 header embedded; name derived from the header's own run_id/target/time_id (§4.1b), never invented.
  • unfao/frame_extraction.pymonth_slice(frame, month_id): the per-month sharding cut as a seam concern (writer stays frame-API-free); absent month fails loud.

AC (all met)

  • Fixture Track-A frame + built header → bytes byte-equal the fixture arrow shard; sha matches SHA256SUMS.
  • Toolchain pin asserted fail-loud (pyarrow 23.0.1; a drift message names the re-pin/regenerate choice — never skip-silent).
  • Header round-trip: embedded metadata equals the Track-A header (one header, both envelopes).
  • Suite green: 230 passed.

Closes #108. Epic #105 · Tracking #114.

🤖 Generated with Claude Code

Polichinel and others added 3 commits July 20, 2026 02:02
write_shard: one (target,month) shard from declared primitives via
views_frames.io.arrow.save, §2 header embedded, file named from the header's
own declarations (§4.1b), SHA-256 of the complete bytes returned for the §4.2
manifest. month_slice joins the frame seam (frame → one month's primitives,
missing month fails loud) so the writer never touches the frame API.

Byte parity proven against the fixture arrow shard; toolchain pin asserted
fail-loud (pyarrow 23.0.1) — drift can never read as conformance.

Part of epic #105. Closes #108.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… (pyarrow 16.1.0) — §10 contract-change event, maintainer Option A

The delivery repo's locked env can never exceed pyarrow <17 (views-pipeline-core
→ viewser → views-storage chain); the fixture's Hop-B bytes were generated on an
unlocked dev env at 23.0.1. Regenerated arrow shard + sidecar + run manifest +
SHA256SUMS under 16.1.0; Track-A bytes verified byte-identical (producer
conformance untouched). New root hash 9658a648…; pyarrow now an explicit
first-class pin (>=16.1.0,<17); ADR post-adoption entry records the event and
the platform debt (lift the ceiling at source: pipeline-core#280); vendors
notified on their PR #276.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Polichinel
Polichinel merged commit a141714 into development Jul 20, 2026
4 checks passed
@Polichinel
Polichinel deleted the feat/hop-b-s3-shard branch July 20, 2026 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant