Estate-rule sim: pin the stake arm to heimdall-stake golden vectors #6

Merged
heimdall merged 1 commit from heimdall/stake-vectors into main 2026-11-06 02:32:25 +00:00
Member

Pins log_weight/split_weight to CultLib PR #9 (head 84f932ec) stake_golden.csv, copied unmodified into vectors/. 26 rows: 25 match (split k=10, b=2 differs by 1 micro: Libby rounds per identity, the arm rounds the total). 1 differs: single,10,100,50 expects 698970, arm gives 0, because the arm's cliff at unit is Libby's min_amount_per_identity = unit, which the vectors do not set.

Not wired to the Rust function: the harness is Python and CultLib is not a dependency; a pin test is what the build carries. Not changed to continuous below unit: that would un-bound the splitting adversary. E6 numbers unchanged (no sim code changed).

The vectors set no floor, cap or minimum, so the cliff and half-cap are not covered by them; suggest rows with min_amount_per_identity.

🤖 Generated with Claude Code

Pins `log_weight`/`split_weight` to CultLib PR #9 (head 84f932ec) `stake_golden.csv`, copied unmodified into `vectors/`. 26 rows: 25 match (split k=10, b=2 differs by 1 micro: Libby rounds per identity, the arm rounds the total). 1 differs: `single,10,100,50` expects 698970, arm gives 0, because the arm's cliff at unit is Libby's `min_amount_per_identity = unit`, which the vectors do not set. Not wired to the Rust function: the harness is Python and CultLib is not a dependency; a pin test is what the build carries. Not changed to continuous below unit: that would un-bound the splitting adversary. E6 numbers unchanged (no sim code changed). The vectors set no floor, cap or minimum, so the cliff and half-cap are not covered by them; suggest rows with `min_amount_per_identity`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Copies CultLib PR #9 (head 84f932ec) tests/vectors/stake_golden.csv unmodified and
checks log_weight and split_weight against all 26 rows. 25 match within rounding;
the one sub-unit row differs by design: the arm's cliff at unit is Libby's
min_amount_per_identity = unit, which the vectors do not set.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Bifrost!6
No description provided.