@mcptoolshop/sovereign 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/LICENSE +21 -0
  3. package/README.es.md +158 -0
  4. package/README.fr.md +158 -0
  5. package/README.hi.md +158 -0
  6. package/README.it.md +158 -0
  7. package/README.ja.md +158 -0
  8. package/README.md +158 -0
  9. package/README.pt-BR.md +158 -0
  10. package/README.zh.md +158 -0
  11. package/SECURITY.md +61 -0
  12. package/bin/sovereign.js +167 -0
  13. package/package.json +56 -0
  14. package/release/00-START-HERE.html +333 -0
  15. package/release/CHANGELOG.md +126 -0
  16. package/release/README.txt +144 -0
  17. package/release/balance-evidence/README.txt +81 -0
  18. package/release/balance-evidence/raw-data/sovereign-batch-v0.10-canonical-400.json +72134 -0
  19. package/release/balance-evidence/raw-data/sovereign-batch-v0.10-canonical-slot-swap.json +18137 -0
  20. package/release/balance-evidence/raw-data/sovereign-batch-v0.10-canonical.json +18137 -0
  21. package/release/balance-evidence/raw-data/sovereign-batch-v0.10-mc-mirror.json +18089 -0
  22. package/release/balance-evidence/raw-data/sovereign-batch-v0.10-mfg-mirror.json +18089 -0
  23. package/release/balance-evidence/raw-data/sovereign-batch-v0.10-tf-mirror.json +18089 -0
  24. package/release/balance-evidence/sovereign-batch-v0.10-canonical-400.html +1 -0
  25. package/release/balance-evidence/sovereign-batch-v0.10-canonical-slot-swap.html +1 -0
  26. package/release/balance-evidence/sovereign-batch-v0.10-canonical.html +1 -0
  27. package/release/balance-evidence/sovereign-batch-v0.10-mc-mirror.html +1 -0
  28. package/release/balance-evidence/sovereign-batch-v0.10-mfg-mirror.html +1 -0
  29. package/release/balance-evidence/sovereign-batch-v0.10-summary.html +2 -0
  30. package/release/balance-evidence/sovereign-batch-v0.10-tf-mirror.html +1 -0
  31. package/release/board-game/README.txt +48 -0
  32. package/release/board-game/sovereign-economy-audit.html +501 -0
  33. package/release/board-game/sovereign-print-audit.html +479 -0
  34. package/release/board-game/sovereign-prototype.html +1939 -0
  35. package/release/design-history/01-phase1-concept.html +632 -0
  36. package/release/design-history/02-phase2-prototype.html +1026 -0
  37. package/release/design-history/03-phase3-audit.html +268 -0
  38. package/release/design-history/04-phase4-audit.html +274 -0
  39. package/release/design-history/05-phase5-audit.html +305 -0
  40. package/release/design-history/README.txt +66 -0
  41. package/release/digital-mode/README.txt +89 -0
  42. package/release/digital-mode/sovereign-solo.html +3884 -0
  43. package/release/digital-mode/sovereign-v0.10-freeze-audit.html +67 -0
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><title>Sovereign · v0.10 · CANONICAL-400 · stronger Treasury stats</title><style>:root{--paper:#F0E6CD;--paper2:#E6DABC;--ink:#1A1612;--rule:rgba(26,22,18,.35);}*{box-sizing:border-box;}body{font-family:"Iowan Old Style",Georgia,serif;background:var(--paper);color:var(--ink);margin:0;padding:32px 24px;}.doc{max-width:1100px;margin:0 auto;background:var(--paper);padding:32px 36px;border:1.5px solid var(--ink);position:relative;}.doc::before{content:"";position:absolute;inset:6px;border:.5px solid var(--rule);pointer-events:none;}h1{font-family:"Baskerville",Garamond,serif;font-weight:400;font-size:34px;margin:0 0 4px;}.sub{font-family:"Baskerville",serif;font-style:italic;font-size:14px;color:#2a221b;margin-bottom:14px;}.note{font-family:-apple-system,sans-serif;font-size:11px;font-style:italic;color:#3a2f24;padding:8px 12px;background:var(--paper2);border-left:3px solid var(--ink);margin-bottom:24px;}h2{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:28px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--rule);}table{width:100%;border-collapse:collapse;font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;}th{background:var(--ink);color:var(--paper);font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;text-align:left;}th.n{text-align:right;}td{padding:6px 8px;border-bottom:.5px solid var(--rule);}td.n{text-align:right;font-variant-numeric:tabular-nums;}.pill{display:inline-block;padding:3px 10px;font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid var(--ink);background:var(--paper2);}.pill.pass{background:#3a6b3a;color:#fff;}.pill.fail{background:#9c2f29;color:#fff;}.pill.warn{background:#a8501c;color:#fff;}.rule-box{padding:10px 14px;border:1px solid #3a6b3a;background:#eaf1e8;margin:6px 0;font-size:13px;line-height:1.5;}.rule-box strong{font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#3a6b3a;}.agg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.card{background:var(--paper2);border:1px solid var(--ink);padding:14px 16px;}.card .lbl{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:6px;}.card .val{font-family:"Baskerville",serif;font-size:24px;}.card .sub2{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:4px;}.signal{padding:12px 16px;border:1px solid var(--ink);background:var(--paper2);margin:10px 0;}.signal .label{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:4px;}.signal .verdict{font-family:"Baskerville",serif;font-size:18px;margin-bottom:6px;}.signal .detail{font-size:13px;line-height:1.5;}.meta{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:24px;padding-top:12px;border-top:1px solid var(--ink);}p{font-size:14px;line-height:1.5;margin:8px 0;}code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;background:var(--paper2);padding:1px 5px;}</style></head><body><div class="doc"><h1>Sovereign · CANONICAL-400 · stronger Treasury stats</h1><div class="sub">v0.10 balance candidate · 400 games · seeds 2026 – 2125 · cash scoring: +1 IP per 400 TN</div><div class="note">v0.10 single rule: cashIP changed from 1 IP per 200 TN to 1 IP per 400 TN. Counterfactual evidence from v0.9 indicated cashIP was Treasury's load-bearing scoring source.</div><h2>Win &amp; decomposition · per profile</h2><table><thead><tr><th>Profile</th><th class="n">Wins</th><th class="n">WR</th><th class="n">Avg Inf</th><th class="n">Avg cashIP</th><th class="n">Avg propIP</th><th class="n">Avg instIP</th><th class="n">Avg nfBonus</th><th class="n">Avg ind acq</th><th class="n">Avg margin</th></tr></thead><tbody><tr><td>Treasury / Finance</td><td class="n">244</td><td class="n">61.0 %</td><td class="n">10.4</td><td class="n">2.73</td><td class="n">3.76</td><td class="n">1.31</td><td class="n">0.50</td><td class="n">0.00</td><td class="n">4.21</td></tr><tr><td>Merchant / Infrastructure</td><td class="n">90</td><td class="n">22.5 %</td><td class="n">8.1</td><td class="n">2.16</td><td class="n">3.21</td><td class="n">0.00</td><td class="n">0.00</td><td class="n">0.00</td><td class="n">3.33</td></tr><tr><td>Manufacturer / Industry</td><td class="n">66</td><td class="n">16.5 %</td><td class="n">7.7</td><td class="n">2.24</td><td class="n">3.18</td><td class="n">0.59</td><td class="n">0.00</td><td class="n">1.38</td><td class="n">4.41</td></tr></tbody></table><h2>Aggregate metrics</h2><div class="agg-grid"><div class="card"><div class="lbl">Median winning margin</div><div class="val">3</div><div class="sub2">avg 4.04 IP</div></div><div class="card"><div class="lbl">Avg final Capacity</div><div class="val">3.53</div></div><div class="card"><div class="lbl">Cap ≥ 6 / ≥ 8 / ≥ 10</div><div class="val">12 / 0 / 0</div></div><div class="card"><div class="lbl">Route 4+</div><div class="val">16</div></div><div class="card"><div class="lbl">Default / Rebellion / Bankruptcy</div><div class="val">0/0/1</div></div></div><div class="meta">Schema sovereign-batch-v0.10-balance-candidate · ruleset v0.10 · 2026-05-19 04:09:09 UTC</div></div></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><title>Sovereign · v0.10 · CANONICAL-SLOT-SWAP</title><style>:root{--paper:#F0E6CD;--paper2:#E6DABC;--ink:#1A1612;--rule:rgba(26,22,18,.35);}*{box-sizing:border-box;}body{font-family:"Iowan Old Style",Georgia,serif;background:var(--paper);color:var(--ink);margin:0;padding:32px 24px;}.doc{max-width:1100px;margin:0 auto;background:var(--paper);padding:32px 36px;border:1.5px solid var(--ink);position:relative;}.doc::before{content:"";position:absolute;inset:6px;border:.5px solid var(--rule);pointer-events:none;}h1{font-family:"Baskerville",Garamond,serif;font-weight:400;font-size:34px;margin:0 0 4px;}.sub{font-family:"Baskerville",serif;font-style:italic;font-size:14px;color:#2a221b;margin-bottom:14px;}.note{font-family:-apple-system,sans-serif;font-size:11px;font-style:italic;color:#3a2f24;padding:8px 12px;background:var(--paper2);border-left:3px solid var(--ink);margin-bottom:24px;}h2{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:28px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--rule);}table{width:100%;border-collapse:collapse;font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;}th{background:var(--ink);color:var(--paper);font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;text-align:left;}th.n{text-align:right;}td{padding:6px 8px;border-bottom:.5px solid var(--rule);}td.n{text-align:right;font-variant-numeric:tabular-nums;}.pill{display:inline-block;padding:3px 10px;font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid var(--ink);background:var(--paper2);}.pill.pass{background:#3a6b3a;color:#fff;}.pill.fail{background:#9c2f29;color:#fff;}.pill.warn{background:#a8501c;color:#fff;}.rule-box{padding:10px 14px;border:1px solid #3a6b3a;background:#eaf1e8;margin:6px 0;font-size:13px;line-height:1.5;}.rule-box strong{font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#3a6b3a;}.agg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.card{background:var(--paper2);border:1px solid var(--ink);padding:14px 16px;}.card .lbl{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:6px;}.card .val{font-family:"Baskerville",serif;font-size:24px;}.card .sub2{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:4px;}.signal{padding:12px 16px;border:1px solid var(--ink);background:var(--paper2);margin:10px 0;}.signal .label{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:4px;}.signal .verdict{font-family:"Baskerville",serif;font-size:18px;margin-bottom:6px;}.signal .detail{font-size:13px;line-height:1.5;}.meta{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:24px;padding-top:12px;border-top:1px solid var(--ink);}p{font-size:14px;line-height:1.5;margin:8px 0;}code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;background:var(--paper2);padding:1px 5px;}</style></head><body><div class="doc"><h1>Sovereign · CANONICAL-SLOT-SWAP</h1><div class="sub">v0.10 balance candidate · 100 games · seeds 2026 – 2125 · cash scoring: +1 IP per 400 TN</div><div class="note">v0.10 single rule: cashIP changed from 1 IP per 200 TN to 1 IP per 400 TN. Counterfactual evidence from v0.9 indicated cashIP was Treasury's load-bearing scoring source.</div><h2>Win &amp; decomposition · per profile</h2><table><thead><tr><th>Profile</th><th class="n">Wins</th><th class="n">WR</th><th class="n">Avg Inf</th><th class="n">Avg cashIP</th><th class="n">Avg propIP</th><th class="n">Avg instIP</th><th class="n">Avg nfBonus</th><th class="n">Avg ind acq</th><th class="n">Avg margin</th></tr></thead><tbody><tr><td>Manufacturer / Industry</td><td class="n">14</td><td class="n">14.0 %</td><td class="n">6.3</td><td class="n">2.18</td><td class="n">2.47</td><td class="n">0.70</td><td class="n">0.00</td><td class="n">0.65</td><td class="n">2.79</td></tr><tr><td>Treasury / Finance</td><td class="n">61</td><td class="n">61.0 %</td><td class="n">10.4</td><td class="n">2.70</td><td class="n">3.62</td><td class="n">1.24</td><td class="n">0.48</td><td class="n">0.00</td><td class="n">4.72</td></tr><tr><td>Merchant / Infrastructure</td><td class="n">25</td><td class="n">25.0 %</td><td class="n">8.6</td><td class="n">2.05</td><td class="n">3.37</td><td class="n">0.00</td><td class="n">0.00</td><td class="n">0.00</td><td class="n">4.96</td></tr></tbody></table><h2>Aggregate metrics</h2><div class="agg-grid"><div class="card"><div class="lbl">Median winning margin</div><div class="val">3</div><div class="sub2">avg 4.51 IP</div></div><div class="card"><div class="lbl">Avg final Capacity</div><div class="val">2.79</div></div><div class="card"><div class="lbl">Cap ≥ 6 / ≥ 8 / ≥ 10</div><div class="val">2 / 0 / 0</div></div><div class="card"><div class="lbl">Route 4+</div><div class="val">8</div></div><div class="card"><div class="lbl">Default / Rebellion / Bankruptcy</div><div class="val">0/0/2</div></div></div><div class="meta">Schema sovereign-batch-v0.10-balance-candidate · ruleset v0.10 · 2026-05-19 04:09:09 UTC</div></div></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><title>Sovereign · v0.10 · CANONICAL</title><style>:root{--paper:#F0E6CD;--paper2:#E6DABC;--ink:#1A1612;--rule:rgba(26,22,18,.35);}*{box-sizing:border-box;}body{font-family:"Iowan Old Style",Georgia,serif;background:var(--paper);color:var(--ink);margin:0;padding:32px 24px;}.doc{max-width:1100px;margin:0 auto;background:var(--paper);padding:32px 36px;border:1.5px solid var(--ink);position:relative;}.doc::before{content:"";position:absolute;inset:6px;border:.5px solid var(--rule);pointer-events:none;}h1{font-family:"Baskerville",Garamond,serif;font-weight:400;font-size:34px;margin:0 0 4px;}.sub{font-family:"Baskerville",serif;font-style:italic;font-size:14px;color:#2a221b;margin-bottom:14px;}.note{font-family:-apple-system,sans-serif;font-size:11px;font-style:italic;color:#3a2f24;padding:8px 12px;background:var(--paper2);border-left:3px solid var(--ink);margin-bottom:24px;}h2{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:28px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--rule);}table{width:100%;border-collapse:collapse;font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;}th{background:var(--ink);color:var(--paper);font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;text-align:left;}th.n{text-align:right;}td{padding:6px 8px;border-bottom:.5px solid var(--rule);}td.n{text-align:right;font-variant-numeric:tabular-nums;}.pill{display:inline-block;padding:3px 10px;font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid var(--ink);background:var(--paper2);}.pill.pass{background:#3a6b3a;color:#fff;}.pill.fail{background:#9c2f29;color:#fff;}.pill.warn{background:#a8501c;color:#fff;}.rule-box{padding:10px 14px;border:1px solid #3a6b3a;background:#eaf1e8;margin:6px 0;font-size:13px;line-height:1.5;}.rule-box strong{font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#3a6b3a;}.agg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.card{background:var(--paper2);border:1px solid var(--ink);padding:14px 16px;}.card .lbl{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:6px;}.card .val{font-family:"Baskerville",serif;font-size:24px;}.card .sub2{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:4px;}.signal{padding:12px 16px;border:1px solid var(--ink);background:var(--paper2);margin:10px 0;}.signal .label{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:4px;}.signal .verdict{font-family:"Baskerville",serif;font-size:18px;margin-bottom:6px;}.signal .detail{font-size:13px;line-height:1.5;}.meta{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:24px;padding-top:12px;border-top:1px solid var(--ink);}p{font-size:14px;line-height:1.5;margin:8px 0;}code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;background:var(--paper2);padding:1px 5px;}</style></head><body><div class="doc"><h1>Sovereign · CANONICAL</h1><div class="sub">v0.10 balance candidate · 100 games · seeds 2026 – 2125 · cash scoring: +1 IP per 400 TN</div><div class="note">v0.10 single rule: cashIP changed from 1 IP per 200 TN to 1 IP per 400 TN. Counterfactual evidence from v0.9 indicated cashIP was Treasury's load-bearing scoring source.</div><h2>Win &amp; decomposition · per profile</h2><table><thead><tr><th>Profile</th><th class="n">Wins</th><th class="n">WR</th><th class="n">Avg Inf</th><th class="n">Avg cashIP</th><th class="n">Avg propIP</th><th class="n">Avg instIP</th><th class="n">Avg nfBonus</th><th class="n">Avg ind acq</th><th class="n">Avg margin</th></tr></thead><tbody><tr><td>Treasury / Finance</td><td class="n">59</td><td class="n">59.0 %</td><td class="n">10.5</td><td class="n">2.74</td><td class="n">3.64</td><td class="n">1.40</td><td class="n">0.48</td><td class="n">0.00</td><td class="n">3.92</td></tr><tr><td>Merchant / Infrastructure</td><td class="n">25</td><td class="n">25.0 %</td><td class="n">8.4</td><td class="n">2.06</td><td class="n">3.37</td><td class="n">0.00</td><td class="n">0.00</td><td class="n">0.00</td><td class="n">4.00</td></tr><tr><td>Manufacturer / Industry</td><td class="n">16</td><td class="n">16.0 %</td><td class="n">7.7</td><td class="n">2.20</td><td class="n">3.17</td><td class="n">0.54</td><td class="n">0.00</td><td class="n">1.33</td><td class="n">4.00</td></tr></tbody></table><h2>Aggregate metrics</h2><div class="agg-grid"><div class="card"><div class="lbl">Median winning margin</div><div class="val">3</div><div class="sub2">avg 3.95 IP</div></div><div class="card"><div class="lbl">Avg final Capacity</div><div class="val">3.49</div></div><div class="card"><div class="lbl">Cap ≥ 6 / ≥ 8 / ≥ 10</div><div class="val">4 / 0 / 0</div></div><div class="card"><div class="lbl">Route 4+</div><div class="val">8</div></div><div class="card"><div class="lbl">Default / Rebellion / Bankruptcy</div><div class="val">0/0/0</div></div></div><div class="meta">Schema sovereign-batch-v0.10-balance-candidate · ruleset v0.10 · 2026-05-19 04:09:09 UTC</div></div></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><title>Sovereign · v0.10 · MC-MIRROR</title><style>:root{--paper:#F0E6CD;--paper2:#E6DABC;--ink:#1A1612;--rule:rgba(26,22,18,.35);}*{box-sizing:border-box;}body{font-family:"Iowan Old Style",Georgia,serif;background:var(--paper);color:var(--ink);margin:0;padding:32px 24px;}.doc{max-width:1100px;margin:0 auto;background:var(--paper);padding:32px 36px;border:1.5px solid var(--ink);position:relative;}.doc::before{content:"";position:absolute;inset:6px;border:.5px solid var(--rule);pointer-events:none;}h1{font-family:"Baskerville",Garamond,serif;font-weight:400;font-size:34px;margin:0 0 4px;}.sub{font-family:"Baskerville",serif;font-style:italic;font-size:14px;color:#2a221b;margin-bottom:14px;}.note{font-family:-apple-system,sans-serif;font-size:11px;font-style:italic;color:#3a2f24;padding:8px 12px;background:var(--paper2);border-left:3px solid var(--ink);margin-bottom:24px;}h2{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:28px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--rule);}table{width:100%;border-collapse:collapse;font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;}th{background:var(--ink);color:var(--paper);font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;text-align:left;}th.n{text-align:right;}td{padding:6px 8px;border-bottom:.5px solid var(--rule);}td.n{text-align:right;font-variant-numeric:tabular-nums;}.pill{display:inline-block;padding:3px 10px;font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid var(--ink);background:var(--paper2);}.pill.pass{background:#3a6b3a;color:#fff;}.pill.fail{background:#9c2f29;color:#fff;}.pill.warn{background:#a8501c;color:#fff;}.rule-box{padding:10px 14px;border:1px solid #3a6b3a;background:#eaf1e8;margin:6px 0;font-size:13px;line-height:1.5;}.rule-box strong{font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#3a6b3a;}.agg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.card{background:var(--paper2);border:1px solid var(--ink);padding:14px 16px;}.card .lbl{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:6px;}.card .val{font-family:"Baskerville",serif;font-size:24px;}.card .sub2{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:4px;}.signal{padding:12px 16px;border:1px solid var(--ink);background:var(--paper2);margin:10px 0;}.signal .label{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:4px;}.signal .verdict{font-family:"Baskerville",serif;font-size:18px;margin-bottom:6px;}.signal .detail{font-size:13px;line-height:1.5;}.meta{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:24px;padding-top:12px;border-top:1px solid var(--ink);}p{font-size:14px;line-height:1.5;margin:8px 0;}code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;background:var(--paper2);padding:1px 5px;}</style></head><body><div class="doc"><h1>Sovereign · MC-MIRROR</h1><div class="sub">v0.10 balance candidate · 100 games · seeds 2026 – 2125 · cash scoring: +1 IP per 400 TN</div><div class="note">v0.10 single rule: cashIP changed from 1 IP per 200 TN to 1 IP per 400 TN. Counterfactual evidence from v0.9 indicated cashIP was Treasury's load-bearing scoring source.</div><h2>Win &amp; decomposition · per slot</h2><table><thead><tr><th>Slot · Profile</th><th class="n">Wins</th><th class="n">WR</th><th class="n">Avg Inf</th><th class="n">Avg cashIP</th><th class="n">Avg propIP</th><th class="n">Avg ind acq</th></tr></thead><tbody><tr><td>Slot 0 · Merchant / Infrastructure</td><td class="n">56</td><td class="n">56.0 %</td><td class="n">4.5</td><td class="n">2.34</td><td class="n">1.51</td><td class="n">0.00</td></tr><tr><td>Slot 1 · Merchant / Infrastructure</td><td class="n">26</td><td class="n">26.0 %</td><td class="n">4.4</td><td class="n">2.31</td><td class="n">1.44</td><td class="n">0.00</td></tr><tr><td>Slot 2 · Merchant / Infrastructure</td><td class="n">18</td><td class="n">18.0 %</td><td class="n">4.3</td><td class="n">2.32</td><td class="n">1.25</td><td class="n">0.00</td></tr></tbody></table><h2>Aggregate metrics</h2><div class="agg-grid"><div class="card"><div class="lbl">Median winning margin</div><div class="val">1</div><div class="sub2">avg 0.80 IP</div></div><div class="card"><div class="lbl">Avg final Capacity</div><div class="val">1.15</div></div><div class="card"><div class="lbl">Cap ≥ 6 / ≥ 8 / ≥ 10</div><div class="val">0 / 0 / 0</div></div><div class="card"><div class="lbl">Route 4+</div><div class="val">0</div></div><div class="card"><div class="lbl">Default / Rebellion / Bankruptcy</div><div class="val">0/0/0</div></div></div><div class="meta">Schema sovereign-batch-v0.10-balance-candidate · ruleset v0.10 · 2026-05-19 04:09:09 UTC</div></div></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><title>Sovereign · v0.10 · MFG-MIRROR</title><style>:root{--paper:#F0E6CD;--paper2:#E6DABC;--ink:#1A1612;--rule:rgba(26,22,18,.35);}*{box-sizing:border-box;}body{font-family:"Iowan Old Style",Georgia,serif;background:var(--paper);color:var(--ink);margin:0;padding:32px 24px;}.doc{max-width:1100px;margin:0 auto;background:var(--paper);padding:32px 36px;border:1.5px solid var(--ink);position:relative;}.doc::before{content:"";position:absolute;inset:6px;border:.5px solid var(--rule);pointer-events:none;}h1{font-family:"Baskerville",Garamond,serif;font-weight:400;font-size:34px;margin:0 0 4px;}.sub{font-family:"Baskerville",serif;font-style:italic;font-size:14px;color:#2a221b;margin-bottom:14px;}.note{font-family:-apple-system,sans-serif;font-size:11px;font-style:italic;color:#3a2f24;padding:8px 12px;background:var(--paper2);border-left:3px solid var(--ink);margin-bottom:24px;}h2{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:28px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--rule);}table{width:100%;border-collapse:collapse;font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;}th{background:var(--ink);color:var(--paper);font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;text-align:left;}th.n{text-align:right;}td{padding:6px 8px;border-bottom:.5px solid var(--rule);}td.n{text-align:right;font-variant-numeric:tabular-nums;}.pill{display:inline-block;padding:3px 10px;font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid var(--ink);background:var(--paper2);}.pill.pass{background:#3a6b3a;color:#fff;}.pill.fail{background:#9c2f29;color:#fff;}.pill.warn{background:#a8501c;color:#fff;}.rule-box{padding:10px 14px;border:1px solid #3a6b3a;background:#eaf1e8;margin:6px 0;font-size:13px;line-height:1.5;}.rule-box strong{font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#3a6b3a;}.agg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.card{background:var(--paper2);border:1px solid var(--ink);padding:14px 16px;}.card .lbl{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:6px;}.card .val{font-family:"Baskerville",serif;font-size:24px;}.card .sub2{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:4px;}.signal{padding:12px 16px;border:1px solid var(--ink);background:var(--paper2);margin:10px 0;}.signal .label{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:4px;}.signal .verdict{font-family:"Baskerville",serif;font-size:18px;margin-bottom:6px;}.signal .detail{font-size:13px;line-height:1.5;}.meta{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:24px;padding-top:12px;border-top:1px solid var(--ink);}p{font-size:14px;line-height:1.5;margin:8px 0;}code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;background:var(--paper2);padding:1px 5px;}</style></head><body><div class="doc"><h1>Sovereign · MFG-MIRROR</h1><div class="sub">v0.10 balance candidate · 100 games · seeds 2026 – 2125 · cash scoring: +1 IP per 400 TN</div><div class="note">v0.10 single rule: cashIP changed from 1 IP per 200 TN to 1 IP per 400 TN. Counterfactual evidence from v0.9 indicated cashIP was Treasury's load-bearing scoring source.</div><h2>Win &amp; decomposition · per slot</h2><table><thead><tr><th>Slot · Profile</th><th class="n">Wins</th><th class="n">WR</th><th class="n">Avg Inf</th><th class="n">Avg cashIP</th><th class="n">Avg propIP</th><th class="n">Avg ind acq</th></tr></thead><tbody><tr><td>Slot 0 · Manufacturer / Industry</td><td class="n">77</td><td class="n">77.0 %</td><td class="n">5.7</td><td class="n">2.82</td><td class="n">1.93</td><td class="n">1.51</td></tr><tr><td>Slot 1 · Manufacturer / Industry</td><td class="n">16</td><td class="n">16.0 %</td><td class="n">4.4</td><td class="n">2.69</td><td class="n">0.90</td><td class="n">0.49</td></tr><tr><td>Slot 2 · Manufacturer / Industry</td><td class="n">7</td><td class="n">7.0 %</td><td class="n">4.2</td><td class="n">2.76</td><td class="n">0.75</td><td class="n">0.34</td></tr></tbody></table><h2>Aggregate metrics</h2><div class="agg-grid"><div class="card"><div class="lbl">Median winning margin</div><div class="val">1</div><div class="sub2">avg 1.42 IP</div></div><div class="card"><div class="lbl">Avg final Capacity</div><div class="val">5.49</div></div><div class="card"><div class="lbl">Cap ≥ 6 / ≥ 8 / ≥ 10</div><div class="val">49 / 4 / 0</div></div><div class="card"><div class="lbl">Route 4+</div><div class="val">0</div></div><div class="card"><div class="lbl">Default / Rebellion / Bankruptcy</div><div class="val">0/0/0</div></div></div><div class="meta">Schema sovereign-batch-v0.10-balance-candidate · ruleset v0.10 · 2026-05-19 04:09:09 UTC</div></div></body></html>
@@ -0,0 +1,2 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><title>Sovereign · v0.10 Balance Candidate</title><style>:root{--paper:#F0E6CD;--paper2:#E6DABC;--ink:#1A1612;--rule:rgba(26,22,18,.35);}*{box-sizing:border-box;}body{font-family:"Iowan Old Style",Georgia,serif;background:var(--paper);color:var(--ink);margin:0;padding:32px 24px;}.doc{max-width:1100px;margin:0 auto;background:var(--paper);padding:32px 36px;border:1.5px solid var(--ink);position:relative;}.doc::before{content:"";position:absolute;inset:6px;border:.5px solid var(--rule);pointer-events:none;}h1{font-family:"Baskerville",Garamond,serif;font-weight:400;font-size:34px;margin:0 0 4px;}.sub{font-family:"Baskerville",serif;font-style:italic;font-size:14px;color:#2a221b;margin-bottom:14px;}.note{font-family:-apple-system,sans-serif;font-size:11px;font-style:italic;color:#3a2f24;padding:8px 12px;background:var(--paper2);border-left:3px solid var(--ink);margin-bottom:24px;}h2{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:28px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--rule);}table{width:100%;border-collapse:collapse;font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;}th{background:var(--ink);color:var(--paper);font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;text-align:left;}th.n{text-align:right;}td{padding:6px 8px;border-bottom:.5px solid var(--rule);}td.n{text-align:right;font-variant-numeric:tabular-nums;}.pill{display:inline-block;padding:3px 10px;font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid var(--ink);background:var(--paper2);}.pill.pass{background:#3a6b3a;color:#fff;}.pill.fail{background:#9c2f29;color:#fff;}.pill.warn{background:#a8501c;color:#fff;}.rule-box{padding:10px 14px;border:1px solid #3a6b3a;background:#eaf1e8;margin:6px 0;font-size:13px;line-height:1.5;}.rule-box strong{font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#3a6b3a;}.agg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.card{background:var(--paper2);border:1px solid var(--ink);padding:14px 16px;}.card .lbl{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:6px;}.card .val{font-family:"Baskerville",serif;font-size:24px;}.card .sub2{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:4px;}.signal{padding:12px 16px;border:1px solid var(--ink);background:var(--paper2);margin:10px 0;}.signal .label{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:4px;}.signal .verdict{font-family:"Baskerville",serif;font-size:18px;margin-bottom:6px;}.signal .detail{font-size:13px;line-height:1.5;}.meta{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:24px;padding-top:12px;border-top:1px solid var(--ink);}p{font-size:14px;line-height:1.5;margin:8px 0;}code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;background:var(--paper2);padding:1px 5px;}
2
+ body{background:#e8dcc0;padding:36px 18px;}.doc{max-width:1280px;padding:40px 44px;}h1{font-size:42px;}.lead{font-family:"Baskerville",serif;font-style:italic;font-size:15px;color:#2a221b;margin-bottom:18px;}</style></head><body><div class="doc"><h1>Sovereign · v0.10 Balance Candidate</h1><div class="lead">Single scoring change: cash Influence softened from <code>+1 IP per 200 TN</code> to <code>+1 IP per 400 TN</code>. 5 configurations × 100 games + CANONICAL × 400 · seeds 2026 – 2425 · generated 2026-05-19 04:09:09 UTC.</div><div class="note">v0.10 · The v0.9 diagnostic identified cashIP as Treasury's load-bearing scoring source (counterfactual zero flipped 73.6 % of Treasury wins; thesis-damage rating 2/5). v0.10 halves the cashIP rate. No other rules, scoring, profiles, or save format changes (beyond version bump). Predicted target hit: Treasury 45–65 % wins.</div><h2>1 · The rule</h2><div class="rule-box"><strong>Cash Influence softened</strong><br/>Pre (v0.2–v0.8): cash held → +1 Influence per 200 TN held (floor).<br/>Post (v0.10): cash held → +1 Influence per 400 TN held (floor).<br/>Boundaries: 0–399 TN → 0 IP · 400–799 TN → 1 IP · 800–1199 TN → 2 IP · 1200–1599 TN → 3 IP · 1600+ TN → 4+ IP.<br/>Scoring breakdown label updated; SAVE_VERSION bumped v0.8 → v0.10.</div><h2>2 · Smoke tests</h2><table><thead><tr><th>Group</th><th>Test</th><th class="n">Result</th></tr></thead><tbody><tr><td><strong>A</strong></td><td>cash 399 → 0</td><td class="n"><span class="pill pass">PASS</span></td></tr><tr><td><strong>A</strong></td><td>cash 400 → 1</td><td class="n"><span class="pill pass">PASS</span></td></tr><tr><td><strong>A</strong></td><td>cash 1199 → 2</td><td class="n"><span class="pill pass">PASS</span></td></tr><tr><td><strong>A</strong></td><td>cash 1600 → 4</td><td class="n"><span class="pill pass">PASS</span></td></tr><tr><td><strong>B</strong></td><td>Decomposition sums = finalScores.total · 30 instances</td><td class="n"><span class="pill pass">PASS</span></td></tr><tr><td><strong>C</strong></td><td>CANONICAL seed 2026 byte-identical</td><td class="n"><span class="pill pass">PASS</span></td></tr><tr><td><strong>D</strong></td><td>SAVE_VERSION = v0.10</td><td class="n"><span class="pill pass">PASS</span></td></tr><tr><td><strong>D</strong></td><td>v0.8 saves refused</td><td class="n"><span class="pill pass">PASS</span></td></tr><tr><td><strong>D</strong></td><td>v0.10 saves use SAVE_VERSION</td><td class="n"><span class="pill pass">PASS</span></td></tr></tbody></table><h2>3 · Determinism</h2><p><span class="pill pass">PASS</span> CANONICAL seed 2026 run twice post-v0.10 → byte-identical game state · hash length 27416.</p><h2>4 · Success-criteria targets</h2><div class="agg-grid"><div class="card"><div class="lbl">Treasury canonical wins</div><div class="val">59</div><div class="sub2"><span class="pill pass">PASS · target 45–65</span></div></div><div class="card"><div class="lbl">Merchant canonical wins</div><div class="val">25</div><div class="sub2"><span class="pill pass">PASS · target 15–35</span></div></div><div class="card"><div class="lbl">Manufacturer canonical wins</div><div class="val">16</div><div class="sub2"><span class="pill pass">PASS · target 10–25</span></div></div><div class="card"><div class="lbl">Median winning margin</div><div class="val">3</div><div class="sub2"><span class="pill pass">PASS · target ≥ 2</span></div></div><div class="card"><div class="lbl">Route 4+ (CAN)</div><div class="val">8</div><div class="sub2"><span class="pill pass">PASS · target ≤ 12</span></div></div><div class="card"><div class="lbl">Determinism</div><div class="val">PASS</div><div class="sub2"><span class="pill pass">PASS · target PASS</span></div></div></div><h2>5 · Pre/post comparison · CANONICAL × 100</h2><p>The key question: how much did the cashIP nerf actually move Treasury's scoring? Compare the avg cashIP component per profile pre-v0.10 (v0.9 measured at 1/200 TN) vs v0.10 (1/400 TN). Property count should be unchanged.</p><table><thead><tr><th>Metric</th><th class="n">Treasury</th><th class="n">Merchant</th><th class="n">Manufacturer</th></tr></thead><tbody><tr><td>cashIP avg (v0.9 reference)</td><td class="n">5.96</td><td class="n">≈ 4.5</td><td class="n">≈ 3.6</td></tr><tr><td><strong>cashIP avg (v0.10 measured)</strong></td><td class="n"><strong>2.74</strong></td><td class="n">2.06</td><td class="n">2.20</td></tr><tr><td>propertyCountIP avg (v0.10)</td><td class="n">3.64</td><td class="n">3.37</td><td class="n">3.17</td></tr></tbody></table><p style="font-size:13px;margin-top:8px;">Treasury's cashIP dropped from <strong>5.96 → 2.74</strong> = <strong>54.0% reduction</strong>. Property count unchanged as expected (no rule touched it).</p><h2>6 · Win-rate trace across versions (CANONICAL split)</h2><table><thead><tr><th>Version</th><th class="n">Treasury</th><th class="n">Merchant</th><th class="n">Manufacturer</th></tr></thead><tbody><tr><td>v0.2 (baseline)</td><td class="n">81</td><td class="n">18</td><td class="n">1</td></tr><tr><td>v0.3</td><td class="n">76</td><td class="n">22</td><td class="n">2</td></tr><tr><td>v0.4</td><td class="n">73</td><td class="n">21</td><td class="n">6</td></tr><tr><td>v0.5</td><td class="n">73</td><td class="n">21</td><td class="n">6</td></tr><tr><td>v0.6</td><td class="n">73</td><td class="n">22</td><td class="n">5</td></tr><tr><td>v0.8 (charter)</td><td class="n">68</td><td class="n">21</td><td class="n">11</td></tr><tr style="background:var(--paper2);font-weight:700;"><td>v0.10 (cash nerf)</td><td class="n">59</td><td class="n">25</td><td class="n">16</td></tr></tbody></table><h2>7 · CANONICAL × 400 reinforcement</h2><p>Larger sample for tighter Treasury win-rate estimate: 244 / 400 = 61.0 %.</p><table><thead><tr><th>Profile</th><th class="n">Wins / 400</th><th class="n">Win rate</th></tr></thead><tbody><tr><td>Treasury / Finance</td><td class="n">244</td><td class="n">61.0 %</td></tr><tr><td>Merchant / Infrastructure</td><td class="n">90</td><td class="n">22.5 %</td></tr><tr><td>Manufacturer / Industry</td><td class="n">66</td><td class="n">16.5 %</td></tr></tbody></table><h2>8 · Treasury counterfactual still-wins-without-cashIP (v0.10 follow-up)</h2><p>The v0.9 baseline: 26 % of Treasury wins survive if cashIP is zeroed. After the v0.10 nerf, cashIP is half as valuable per TN, so its load-bearing weight should drop.</p><table><thead><tr><th>Statistic</th><th class="n">v0.9</th><th class="n">v0.10 (× 400)</th></tr></thead><tbody><tr><td>Treasury wins / sample</td><td class="n">269 / 400</td><td class="n">244 / 400</td></tr><tr><td>Still-wins-without-cashIP</td><td class="n">71 / 269 (26.4 %)</td><td class="n">123 / 244 (50.4 %)</td></tr><tr><td>Wins removed by zeroing</td><td class="n">73.6 %</td><td class="n">49.6 %</td></tr></tbody></table><p style="font-size:13px;">cashIP is now less load-bearing — counterfactual rate climbed from 26 % → 50.4 %. The nerf shifted Treasury's dependence away from cash.</p><h2>9 · CANONICAL · scoring decomposition × profile</h2><table><thead><tr><th>Profile</th><th class="n">Wins</th><th class="n">WR</th><th class="n">Avg Inf</th><th class="n">Avg cashIP</th><th class="n">Avg propIP</th><th class="n">Avg instIP</th><th class="n">Avg nfBonus</th><th class="n">Avg ind acq</th><th class="n">Avg margin</th></tr></thead><tbody><tr><td>Treasury / Finance</td><td class="n">59</td><td class="n">59.0 %</td><td class="n">10.5</td><td class="n">2.74</td><td class="n">3.64</td><td class="n">1.40</td><td class="n">0.48</td><td class="n">0.00</td><td class="n">3.92</td></tr><tr><td>Merchant / Infrastructure</td><td class="n">25</td><td class="n">25.0 %</td><td class="n">8.4</td><td class="n">2.06</td><td class="n">3.37</td><td class="n">0.00</td><td class="n">0.00</td><td class="n">0.00</td><td class="n">4.00</td></tr><tr><td>Manufacturer / Industry</td><td class="n">16</td><td class="n">16.0 %</td><td class="n">7.7</td><td class="n">2.20</td><td class="n">3.17</td><td class="n">0.54</td><td class="n">0.00</td><td class="n">1.33</td><td class="n">4.00</td></tr></tbody></table><h2>10 · All configurations</h2><table><thead><tr><th>Config</th><th class="n">Charter</th><th>Triplet</th><th class="n">Med margin</th><th class="n">Avg margin</th><th class="n">Avg Cap</th><th class="n">Cap ≥6/8/10</th><th class="n">Routes 4+</th><th class="n">D/R/B</th></tr></thead><tbody><tr><td><strong>CANONICAL</strong></td><td class="n">Y</td><td>treasury · merchant · manufacturer</td><td class="n">3</td><td class="n">3.95</td><td class="n">3.49</td><td class="n">4/0/0</td><td class="n">8</td><td class="n">0/0/0</td></tr><tr><td><strong>TF-MIRROR</strong></td><td class="n">Y</td><td>treasury · treasury · treasury</td><td class="n">1</td><td class="n">1.67</td><td class="n">2.15</td><td class="n">0/0/0</td><td class="n">0</td><td class="n">0/0/0</td></tr><tr><td><strong>MC-MIRROR</strong></td><td class="n">Y</td><td>merchant · merchant · merchant</td><td class="n">1</td><td class="n">0.80</td><td class="n">1.15</td><td class="n">0/0/0</td><td class="n">0</td><td class="n">0/0/0</td></tr><tr><td><strong>MFG-MIRROR</strong></td><td class="n">Y</td><td>manufacturer · manufacturer · manufacturer</td><td class="n">1</td><td class="n">1.42</td><td class="n">5.49</td><td class="n">49/4/0</td><td class="n">0</td><td class="n">0/0/0</td></tr><tr><td><strong>CANONICAL-SLOT-SWAP</strong></td><td class="n">N</td><td>manufacturer · treasury · merchant</td><td class="n">3</td><td class="n">4.51</td><td class="n">2.79</td><td class="n">2/0/0</td><td class="n">8</td><td class="n">0/0/2</td></tr></tbody></table><h2>11 · Branch verdict</h2><div class="signal"><div class="label">Which expected branch fired?</div><div class="verdict"><span class="pill pass">TARGET BRANCH</span></div><div class="detail">BRANCH HIT: Treasury landed in 45–65 % band → v0.10 is the new balance baseline candidate.</div></div><div class="meta">Schema sovereign-batch-v0.10-balance-candidate · simulation time 614 ms · ruleset SAVE_VERSION v0.10. Built on v0.8 (charter) + v0.6 (profile tie-break removed) + v0.4–v0.5 (industrial scoring &amp; Capacity dynamics) + v0.3 (NF Credit nerf &amp; Mfg capital event). Routes / Rev-Debt / Capacity rules / Charter / opponent profiles all untouched per directive.</div></div></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><title>Sovereign · v0.10 · TF-MIRROR</title><style>:root{--paper:#F0E6CD;--paper2:#E6DABC;--ink:#1A1612;--rule:rgba(26,22,18,.35);}*{box-sizing:border-box;}body{font-family:"Iowan Old Style",Georgia,serif;background:var(--paper);color:var(--ink);margin:0;padding:32px 24px;}.doc{max-width:1100px;margin:0 auto;background:var(--paper);padding:32px 36px;border:1.5px solid var(--ink);position:relative;}.doc::before{content:"";position:absolute;inset:6px;border:.5px solid var(--rule);pointer-events:none;}h1{font-family:"Baskerville",Garamond,serif;font-weight:400;font-size:34px;margin:0 0 4px;}.sub{font-family:"Baskerville",serif;font-style:italic;font-size:14px;color:#2a221b;margin-bottom:14px;}.note{font-family:-apple-system,sans-serif;font-size:11px;font-style:italic;color:#3a2f24;padding:8px 12px;background:var(--paper2);border-left:3px solid var(--ink);margin-bottom:24px;}h2{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin:28px 0 10px;padding-bottom:6px;border-bottom:.5px solid var(--rule);}table{width:100%;border-collapse:collapse;font-family:"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;}th{background:var(--ink);color:var(--paper);font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;text-align:left;}th.n{text-align:right;}td{padding:6px 8px;border-bottom:.5px solid var(--rule);}td.n{text-align:right;font-variant-numeric:tabular-nums;}.pill{display:inline-block;padding:3px 10px;font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid var(--ink);background:var(--paper2);}.pill.pass{background:#3a6b3a;color:#fff;}.pill.fail{background:#9c2f29;color:#fff;}.pill.warn{background:#a8501c;color:#fff;}.rule-box{padding:10px 14px;border:1px solid #3a6b3a;background:#eaf1e8;margin:6px 0;font-size:13px;line-height:1.5;}.rule-box strong{font-family:-apple-system,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#3a6b3a;}.agg-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.card{background:var(--paper2);border:1px solid var(--ink);padding:14px 16px;}.card .lbl{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:6px;}.card .val{font-family:"Baskerville",serif;font-size:24px;}.card .sub2{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:4px;}.signal{padding:12px 16px;border:1px solid var(--ink);background:var(--paper2);margin:10px 0;}.signal .label{font-family:-apple-system,sans-serif;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#5a4c3a;margin-bottom:4px;}.signal .verdict{font-family:"Baskerville",serif;font-size:18px;margin-bottom:6px;}.signal .detail{font-size:13px;line-height:1.5;}.meta{font-family:-apple-system,sans-serif;font-size:10px;color:#5a4c3a;margin-top:24px;padding-top:12px;border-top:1px solid var(--ink);}p{font-size:14px;line-height:1.5;margin:8px 0;}code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:12px;background:var(--paper2);padding:1px 5px;}</style></head><body><div class="doc"><h1>Sovereign · TF-MIRROR</h1><div class="sub">v0.10 balance candidate · 100 games · seeds 2026 – 2125 · cash scoring: +1 IP per 400 TN</div><div class="note">v0.10 single rule: cashIP changed from 1 IP per 200 TN to 1 IP per 400 TN. Counterfactual evidence from v0.9 indicated cashIP was Treasury's load-bearing scoring source.</div><h2>Win &amp; decomposition · per slot</h2><table><thead><tr><th>Slot · Profile</th><th class="n">Wins</th><th class="n">WR</th><th class="n">Avg Inf</th><th class="n">Avg cashIP</th><th class="n">Avg propIP</th><th class="n">Avg ind acq</th></tr></thead><tbody><tr><td>Slot 0 · Treasury / Finance</td><td class="n">51</td><td class="n">51.0 %</td><td class="n">5.6</td><td class="n">3.02</td><td class="n">1.22</td><td class="n">0.00</td></tr><tr><td>Slot 1 · Treasury / Finance</td><td class="n">32</td><td class="n">32.0 %</td><td class="n">5.6</td><td class="n">3.01</td><td class="n">1.28</td><td class="n">0.00</td></tr><tr><td>Slot 2 · Treasury / Finance</td><td class="n">17</td><td class="n">17.0 %</td><td class="n">5.2</td><td class="n">2.96</td><td class="n">1.14</td><td class="n">0.00</td></tr></tbody></table><h2>Aggregate metrics</h2><div class="agg-grid"><div class="card"><div class="lbl">Median winning margin</div><div class="val">1</div><div class="sub2">avg 1.67 IP</div></div><div class="card"><div class="lbl">Avg final Capacity</div><div class="val">2.15</div></div><div class="card"><div class="lbl">Cap ≥ 6 / ≥ 8 / ≥ 10</div><div class="val">0 / 0 / 0</div></div><div class="card"><div class="lbl">Route 4+</div><div class="val">0</div></div><div class="card"><div class="lbl">Default / Rebellion / Bankruptcy</div><div class="val">0/0/0</div></div></div><div class="meta">Schema sovereign-batch-v0.10-balance-candidate · ruleset v0.10 · 2026-05-19 04:09:09 UTC</div></div></body></html>
@@ -0,0 +1,48 @@
1
+ Board Game (v0.2 balance candidate)
2
+ ====================================
3
+
4
+ The printable 34-sheet board game artifact. This is the underlying physical-table
5
+ design that the solo / digital adaptation is built around.
6
+
7
+
8
+ Files
9
+ -----
10
+ sovereign-prototype.html The board game. 34 US Letter sheets.
11
+ Open in browser, then print to PDF.
12
+ Or play in screen-review mode without printing.
13
+
14
+ sovereign-economy-audit.html FC-EM-002. Corrected expected-value economy audit
15
+ that produced the v0.2 balance values. Replaced
16
+ an earlier audit (FC-EM-001) that was rejected
17
+ for total-tier-revenue and double-counting errors.
18
+
19
+ sovereign-print-audit.html Sovereign · Prototype Print / Digital Audit.
20
+ Usability + accessibility verification for the
21
+ printable artifact.
22
+
23
+
24
+ What v0.2 changed (from v0.1)
25
+ -----------------------------
26
+ Route ladder 25 / 50 / 100 / 200 -> 25 / 50 / 100 / 150
27
+ Coinage Act 25 TN/player -> 50 TN from each other player
28
+ + Public Credit +1 + Industrial Capacity +1
29
+ Capacity thresholds >=8 and >=10 -> >=6 and >=8
30
+ Revolutionary Debt bases Continental 2 / Soldier Pay 4 -> Continental 4 / 6
31
+
32
+
33
+ What v0.2 preserved (v0.1 anchors)
34
+ ----------------------------------
35
+ 40-space board, 22 properties, 4 routes, 2 institutions, 7 Acts of Congress
36
+ in fixed historical order, 4 player roles, 3 shared tracks, 12 + 12 event
37
+ cards, 5 distinct card backs, Federalist Treasury visual identity.
38
+
39
+
40
+ How the board game relates to the digital mode
41
+ ----------------------------------------------
42
+ The digital mode at digital-mode/sovereign-solo.html implements this exact rule
43
+ set, plus the seven balance changes (v0.3 -> v0.10) applied after deterministic
44
+ batch evidence. See ../CHANGELOG.md for the full evolution.
45
+
46
+ The printable board game stays at v0.2 because human-playtest evidence is
47
+ needed before reissuing physical sheets. Digital balance ran ahead because
48
+ simulation was cheaper than reprinting.