Skip to content

release: v1.8.0 — public consumer contract (epic #342) - #358

Merged
Polichinel merged 16 commits into
mainfrom
development
Jul 21, 2026
Merged

release: v1.8.0 — public consumer contract (epic #342)#358
Polichinel merged 16 commits into
mainfrom
development

Conversation

@Polichinel

Copy link
Copy Markdown
Contributor

Minor release per ADR-050's stability promise (new public API).

🤖 Generated with Claude Code

Polichinel and others added 16 commits July 21, 2026 03:16
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>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Polichinel
Polichinel merged commit 0312584 into main Jul 21, 2026
6 of 8 checks passed
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