Skip to content

Release v1.10.0 — the dense-grid fill primitive (ADR-026) - #205

Merged
Polichinel merged 1 commit into
mainfrom
development
Jul 27, 2026
Merged

Release v1.10.0 — the dense-grid fill primitive (ADR-026)#205
Polichinel merged 1 commit into
mainfrom
development

Conversation

@Polichinel

Copy link
Copy Markdown
Contributor

Promotes development → main for v1.10.0 (additive MINOR; CONFORMANCE_FLOOR stays 1.0.0).

Ships

  • frame.reindex_fill(other, *, fill_value) on PredictionFrame/FeatureFrame/TargetFrame: dense-grid alignment with no superset requirement — present rows bit-exact, absent rows filled (keyword-only + required; NaN legal). Owns the -1-sentinel scatter once.
  • SpatioTemporalIndex.cartesian(times, units, level): canonical time-major dense product index, explicit arrays only, fails loud on duplicated inputs.
  • assert_reindex_fill_law in the published conformance suite.
  • Governance: ADR-026, 4 CIC updates, register C-71 (+C-21/C-32 touch-ups), CHANGELOG [1.10.0], README banner/chronicle.

Closes the #203 receipt (faoapi dense_grid.py:3) and unblocks views-platform/views-faoapi#242 (pandas-free FAO ingestion — consumer-side delegation verified there).

Merge with a MERGE COMMIT (never squash) — main carries squash release commits development lacks.

Gate: ruff · mypy strict (3.10+3.11) · pytest 100% line+branch · validate_docs (banner v1.10 ~ 1.10.0 OK) — all green; PR #204 CI green (build, 3.10–3.13, floor, nbmake). Trial merge: zero conflicts; merged tree ≡ development.

🤖 Generated with Claude Code

…assert_reindex_fill_law (ADR-026, #203) → v1.10.0 (#204)

Adds the structural dense-grid fill the faoapi ingestion edge is blocked on
(faoapi #242; receipt: dense_grid.py:3 'views-frames has no fill primitive'):

- frame.reindex_fill(other, *, fill_value) on all three siblings (WET,
  ADR-011): align with NO superset requirement — present rows bit-exact,
  absent rows filled (keyword-only, required; NaN legal); result index IS
  the target; owns the -1-sentinel scatter once (a hand-rolled values[pos]
  silently picks the last row for absent cells).
- SpatioTemporalIndex.cartesian(times, units, level): time-major dense
  product index, explicit arrays only (derivation rules stay consumer
  policy); fails loud on duplicated inputs (C-21).
- assert_reindex_fill_law joins the published conformance suite (ADR-016).
- Governance: ADR-026 (+ rejected alternatives: reindex mode-kwarg,
  index-only, decline), 4 CIC updates, register C-71 (grid-scale
  allocation awareness) + C-21 inheritance note.

Additive MINOR per ADR-018; CONFORMANCE_FLOOR stays 1.0.0.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@Polichinel
Polichinel merged commit 1049ff9 into main Jul 27, 2026
14 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