Period-coverage primitives for period-aware document collection

Featurekamo-shared-library
Shipped
July 16, 2026 at 7:35 AM UTC
Author
Kamo
Commit
8f1da8d

The pure, additive foundation of period-aware collection (doc 06 §4) — the first slice of the bank-statement "collect only the months I don't have yet" fix. Zero behavior change, no consumer wired. - RequirementQuantity: immutable spec {count, periodMonths, cadence, perAccount, perParty} parsed from quantity_json; fails open to SINGLE so an unspecified requirement keeps today's whole-document behavior. - PeriodCoverageEvaluator: pure @Component (mirrors ConditionClearabilityResolver) computing required/covered/uncovered periods + derived status from a spec, the accepted satisfiers, and an anchor date — the "1 of 2, missing 2026-06" logic, with a stale out-of-window month ignored (carried forward, not re-asked). - RequirementSatisfier: four additive NULLABLE columns (period_end, effective_date, period_key, account_key) + index; WORM @PreUpdate preserved. - PARTIALLY_RECEIVED (already in the enum, isOpen()=true) simply becomes reachable. Columns apply additively via KamoInitializer (batched with the M1 write-path run); services stay ddl-auto:none; no shared-lib version bump.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing