Estate-rule sim: purchased-stake arm (log weight, splitting adversary, half-influence cap) #5

Merged
heimdall merged 2 commits from heimdall/estate-sim-purchased-stake into main 2026-11-05 19:29:58 +00:00
Member

Adds the purchased-stake arm (E6) to the estate-rule sim.

  • Weight w = 1 + log_b(amount/unit), 0 below unit; per-estate b/unit via Config.overrides; defaults (b=10, unit=10 EUR / 10 h) are my assumptions, stated in SPEC 5c.
  • Contribution hours: the harness had no contribution mechanism, so a new per-agent input with its own per-estate conversion.
  • Splitting adversary, k sweep, and three candidate defences (per-person cap, unit floor, identity cost). SPEC names no sybil defence, so none is adopted; the fork is reported.
  • Million-euro buyout unit test with a threshold derived from the config; half-influence cap binding rate over 162 cells x 40 seeds x 3 live-estate scenarios, in results.md and REPORT.md.

Headline: the log does not bound the buyer within a 4-patron estate (share 0.524, decides the estate alone in 85% of seeds); splitting 1,000,000 EUR over k=10 identities multiplies weight 8.3x (16,667x at k=amount/unit); the per-identity half-influence cap is evaded by splitting; the cap binds in 0% of cell-seeds with all estates live and 22% when Patrons alone are live.

Deviation: the brief said the half-influence cap and E3f sweep were in the harness. The harness only had the delegation cap; the operator cap (prior section 10) is implemented once as influence_cap. Static weight analysis: no PS/MT for buyers.

Tests: 52 pass (41 existing + 11 new). Other results.md sections are byte-identical (78 lines added, 0 removed).

🤖 Generated with Claude Code

Adds the purchased-stake arm (E6) to the estate-rule sim. - Weight w = 1 + log_b(amount/unit), 0 below unit; per-estate b/unit via Config.overrides; defaults (b=10, unit=10 EUR / 10 h) are my assumptions, stated in SPEC 5c. - Contribution hours: the harness had no contribution mechanism, so a new per-agent input with its own per-estate conversion. - Splitting adversary, k sweep, and three candidate defences (per-person cap, unit floor, identity cost). SPEC names no sybil defence, so none is adopted; the fork is reported. - Million-euro buyout unit test with a threshold derived from the config; half-influence cap binding rate over 162 cells x 40 seeds x 3 live-estate scenarios, in results.md and REPORT.md. Headline: the log does not bound the buyer within a 4-patron estate (share 0.524, decides the estate alone in 85% of seeds); splitting 1,000,000 EUR over k=10 identities multiplies weight 8.3x (16,667x at k=amount/unit); the per-identity half-influence cap is evaded by splitting; the cap binds in 0% of cell-seeds with all estates live and 22% when Patrons alone are live. Deviation: the brief said the half-influence cap and E3f sweep were in the harness. The harness only had the delegation cap; the operator cap (prior section 10) is implemented once as influence_cap. Static weight analysis: no PS/MT for buyers. Tests: 52 pass (41 existing + 11 new). Other results.md sections are byte-identical (78 lines added, 0 removed). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Docstrings state weight is per identity, not sybil-safe, hours unanalysed;
placeholder parameters marked in code; unit x roll sweep with interval;
identity-cost thresholds by bisection (about half the budget, not the
doubling-grid 51-82%); headline numbers pinned in a test; 'log bounds'
test renamed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Member

Operator ruling, 2026-11-07 (#operator, Meta): option D.

One account per person. If we determine a person to have broken the policy, their identities are consolidated and decisions they influenced are subject to a recount.

Recorded in SPEC.md section 5d (commit 28d25ae, docs only; REPORT.md points to it). What it requires:

  1. A durable per-decision vote ledger: voter identity, estate, weight at the time (with rule version), timestamp, ballot. Append-only.
  2. An identity-consolidation operation with an audit receipt (who decided, evidence, identities merged, surviving account, time). It maps identities to a person; it does not edit the ledger.
  3. A deterministic recount: same ledger, mapping and rule version always give the same tally; the consolidated person counts once, weighted by the combined purchase.
  4. Open question: who determines a violation, on what evidence, and how the accused can appeal. The ruling does not say. Marked open in 5d, to be put to the operator.
  5. Also open: whether a decision that flips on recount is reversed, re-voted or only annotated.

Nothing in the sim implements this; it is not simulated. No code changed, nothing merged.

🤖 Generated with Claude Code

**Operator ruling, 2026-11-07 (#operator, Meta): option D.** > One account per person. If we determine a person to have broken the policy, their identities are consolidated and decisions they influenced are subject to a recount. Recorded in `SPEC.md` section 5d (commit 28d25ae, docs only; `REPORT.md` points to it). What it requires: 1. A durable per-decision vote ledger: voter identity, estate, weight at the time (with rule version), timestamp, ballot. Append-only. 2. An identity-consolidation operation with an audit receipt (who decided, evidence, identities merged, surviving account, time). It maps identities to a person; it does not edit the ledger. 3. A deterministic recount: same ledger, mapping and rule version always give the same tally; the consolidated person counts once, weighted by the combined purchase. 4. **Open question:** who determines a violation, on what evidence, and how the accused can appeal. The ruling does not say. Marked open in 5d, to be put to the operator. 5. Also open: whether a decision that flips on recount is reversed, re-voted or only annotated. Nothing in the sim implements this; it is not simulated. No code changed, nothing merged. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
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!5
No description provided.