release: v1.8.0 — public consumer contract (epic #342) - #358
Merged
Conversation
Vocabulary as public contract (OutputFormat + CONTRACT_VERSION + contract.json), executable layout spec (committed real-save() fixture + digest + regeneration-identity drift alarm), ownership split (views-frames owns byte layout; datafactory owns query vocabulary and hosts the fixture — operator-approved), stability promise. Alternatives recorded: in-place export (SDP inversion), views-frames vocabulary (wrong dependency direction), separate contract package (REP violation; contract.json is the no-install path). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…tract docs: ADR-050 — consumer contract export (#343)
Committed real-save() fixture (header.json + identifiers.npz + values.npy — the ACTUAL views-frames v1.0.0 layout; #116's prose description had already drifted) with pinned digest, language- neutral contract.json, and a regeneration-identity test that serves as the drift alarm on views-frames upgrades. Verified: byte-flip drill fails 4 tests loudly; regeneration is byte-identical (digest 95532386aee9ad1f reproduced). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
feat: FeatureFrame conformance fixture + contract.json (ADR-050, #344)
datafactory_query/output_format.py: OutputFormat StrEnum, CONTRACT_VERSION, is_valid_output_format — exported via __all__. _VALID_FORMATS becomes an alias derived from the enum. Three-way agreement test (enum == contract.json == alias); load_dataset error behavior unchanged; StrEnum keeps string callers working. Unblocks pipeline-core #162 (deletes their hand-copied strings). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
feat: public OutputFormat contract module (ADR-050, #345)
…07-21) C-316 (OPEN, trigger fired): standalone writer scripts bypass the C-285 pipeline flock; manual export_zarr.py collided with the cron run's assembly; the C-253 digest gate correctly ABORTed on the half-written grid. C-317 (OPEN, near-miss): SIGKILL bypasses both traps — an OOM kill produces no failure ping and no status page; export ran 9h at 95.9% RSS. C-267 addendum: the manual run removed the cron's LIVE ledger lock (age-based staleness misfires under load — empirically demonstrated). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ncident docs: register C-316/C-317 — cron-vs-manual collision incident
Pure moves with pinned line anchors — no logic changes: backends_zarr.py (remote/local zarr + auth + C-300 attrs), backends_npy.py (npy + sidecars + C-315 dual-level scan), coverage.py (pre-coverage warnings). dataset.py 613 -> 263 lines: dispatch, feature resolution, load_dataset only. The zarr 401-auth path was characterized BEFORE the move; 11 private-import sites repointed to the new homes. No registries, no ABCs (WET — third backend is the trigger). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
refactor: split dataset.py by responsibility (ADR-050, #346)
docs/guides/consumer_contract.md: both adoption paths (import vs no-install contract.json+fixture), per-format guarantees, id semantics, float32, ownership split pointer. D-41 records the rejected views-frames-vocabulary alternative with its revisit condition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ory4 docs: consumer contract guide + register sync (#347)
Minor release: epic #342 — public consumer contract (OutputFormat, CONTRACT_VERSION, conformance fixture + contract.json), query package split by responsibility. First tagged release consumers can pin for the contract import (pipeline-core #162). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
chore: bump version to 1.8.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs: product plan v1.8 addendum
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Minor release per ADR-050's stability promise (new public API).
OutputFormat+CONTRACT_VERSION+is_valid_output_format(importable by pipeline-core docs: review-rr strategic curation (C-274/C-275/C-279 demoted, 8 entries clustered) #162)contract.json(executable layout spec, drift alarm)datafactory_querysplit by responsibility (dataset.py 613→263)🤖 Generated with Claude Code