Skip to content

Support the calc_v16/calc_v17 methodology generation in reproduce - #53

Merged
hobbyistz merged 2 commits into
getcomputable:mainfrom
makoshark98:newgen-ewma-carried
Sep 15, 2026
Merged

hobbyistz merged 2 commits into
getcomputable:mainfrom
makoshark98:newgen-ewma-carried

Conversation

@makoshark98

@makoshark98 makoshark98 commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Adds support for the current methodology generation (H100/H200 calc_v16, B300/B200 calc_v17).

  • Panel config accepts calc.pre_smoothing_half_life_hours and dynamic_weights.fence_reject_carry; all other unknown keys are still refused.
  • Receipts carry the price each seat cast (smoothed_vote_usd) and, for carried votes, carried_vote_from and carry_basis. Reproduction votes the disclosed cast price; raw prints remain the evidence record.
  • A voting seat without a usable cast price is refused by name; there is no fallback to raw prints.
  • Observations published under earlier generations replay byte-identically.
  • A verbatim published observation is pinned as a fixture so the reproduction is checked against real bytes.
  • Public lane configs, METHODOLOGY (7.1, 8.6, 12.3, 12.4), README and CHANGELOG updated.

Tests: 1691 passed; ruff clean; api-compat: no breaking changes.

…lc_v17/calc_v16): reproduce votes disclosed cast prices

The four public lanes minted a new methodology generation effective
2026-09-14: EWMA vote pre-smoothing (calc.pre_smoothing_half_life_hours,
1 hour) and the fence-reject carry
(calc.dynamic_weights.fence_reject_carry), stacked on attendance credit.
Track the mints (annex_a_v0_2_calc_v17, annex_a2_v0_3_calc_v17,
h100_sxm_v1_calc_v16, h200_sxm_v1_calc_v16) and teach both reproduce
modes the new seat law without rerunning the engine's EWMA state: on an
armed lane every voting receipt disclosed its exact cast price
(smoothed_vote_usd), and the reproduction votes those disclosed casts
while the raw print stays evidence. A fence-rejected row carrying the
flat carried_vote_from disclosure votes its booked cast at the seat's
current fading weight, classifies absent for attendance, and never
satisfies the minimum passing panel; a voting row missing the disclosure
or carrying an unusable one refuses loudly naming stamp and seat, never
a raw-price fallback. Pre-smoothing generations replay byte-identically.

The wire shape is pinned cross-repo:
tests/fixtures/cross_repo/carried-vote-pin.observation.json is a
verbatim production observation (h100_sxm_v1_calc_v16,
2026-09-14T18:30Z) exactly as the index publisher's projector published
it; the reproducer lands exactly on the published 3.52045, and a nested
carried_vote object is pinned REFUSED.

panel_config accepts pre_smoothing_half_life_hours (a number in (0, 2])
and dynamic_weights.fence_reject_carry (strict bool, requires
attendance_eta > 0); the unknown-key refusal stays armed around both.
The local producer replay refuses smoothing-armed lanes outright: this
mirror carries no EWMA vote state, so pricing raw votes under a smoothed
methodology_id would be silently wrong. Provider-statistic parameters
act upstream of the recorded prints and stay outside reproduction scope.

Like the calc_v10 seating commit, this must land WITH the public corpus
flip: ./reproduce --collect compares this checkout's methodology_id
against the front's current pointer and refuses on mismatch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Justin Jia <justinyhjia@gmail.com>
…og entry

Signed-off-by: hobbyistz <293619914+hobbyistz@users.noreply.github.com>
@hobbyistz hobbyistz changed the title Track the EWMA pre-smoothing + fence-reject carry generation (calc_v17/calc_v16): reproduce votes disclosed cast prices Support the calc_v16/calc_v17 methodology generation in reproduce Sep 15, 2026
@hobbyistz
hobbyistz merged commit 50d8afc into getcomputable:main Sep 15, 2026
5 checks passed
@makoshark98
makoshark98 deleted the newgen-ewma-carried branch September 15, 2026 07:31
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.

2 participants