Skip to content

feat(ladder): preserve tranche amount basis and planning rate #885

Closed

Description

@cristim

Ladder tranche rows currently retain an hourly amount without a stored amount basis or planning rate. The current pinned planner emits on-demand-equivalent amounts, while the newer allocator also supports native commitment amounts with a historical rate. Missing metadata cannot establish which generation wrote a historical row.

Add nullable typed amount basis and lossless rational rate metadata. Stamp the verified current OD writer explicitly, preserve unknown historical rows without defaults or backfill, and retain the metadata through insertion, due-row claim and fired-row reconciliation. Validate consistent basis/rate pairs and keep original amounts and identities unchanged.

Acceptance includes parent-failing JSON/current-writer regressions, native PostgreSQL insert/claim/reconcile round trips, invalid-batch rollback, and an ordered migration upgrade/down proof preserving historical unknowns. Allocator activation, provider E/k normalization, unit-aware amendments and timeline display remain later prerequisites.

Activity

  1. added a commit that references this issue on Oct 15, 2026
    282c7e1
  2. cristim commented on Oct 15, 2026

    @cristim
    MemberAuthor

    Merged in #886 as 282c7e1.

    Verified: nullable provenance and exact stored-rate round trips passed through actual PostgreSQL insert, due-claim and fired reconciliation. Ordered migrations 120→121→122→121→120→122 preserve amounts and historical unknowns; validation states and continued write enforcement passed. Independent parent and mutation probes failed at intended assertions. The affected merged source and module pins are byte-identical to the independently verified revision.

    Post-main CI 38731227754, pre-commit 38731227794, frontend 38731227745 and deployment 38731227859 completed successfully. The CI-produced dev deployment artifact records both commit and image tag as 282c7e1, and its deployment test passed. PostgreSQL evidence uses owned synthetic fixtures; no live provider purchase or live database migration inspection was performed.

    This completes the provenance leaf. Allocator adoption remains tracked in #631; this PR keeps the existing allocator and SDK pins unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions