lnd/simulation/lab/experiments
Olaoluwa Osuntokun f82f4db410 simulation/lab: exp-016, free knowledge helps the champions and hurts lnd
The arm exp-012 could never build. A third-party node's observations
injected from a file with no payment sent, so the value of routing
knowledge is finally separated from the cost of acquiring it.

Served the same observations from the same server, on ten sealed
hard-tier files: atomic1 +0.055 (CI excludes zero, sign p=0.016),
mx_c3 +0.031 with attempts nearly halved at 8.1 -> 4.4, and lnd
-0.029 with attempts going UP, 30.9 -> 33.8. Free, accurate,
correctly-scoped information makes lnd worse.

Splitting the stream says why, and it is the program's central thesis
arriving from a new direction. Successes help everyone. Failures split
the field: they help the interval routers and they are the whole of
lnd's loss at -0.039, CI excluding zero, worse on 9 of 10 files. An
interval router files a failure as an AMOUNT BOUND and will still route
half that amount tomorrow, so a served failure is pure information. lnd
files it as a penalty on the pair, and a penalty is not amount-aware --
it suppresses the corridor for every amount, so a stranger's failure at
a stranger's amount steers lnd off corridors that were fine for what it
actually wants to send.

I expected mission control's collapse of channels onto node pairs to be
the culprit and it is not: 761 directed edges, 761 distinct pairs, no
parallel channels, nothing collapses. The damage is in how a failure is
represented, not in how it is keyed.

The champions could not consume anything at all, because nothing in the
SimRouter contract ever asked a candidate to accept third-party
knowledge. Hence the two importer variants, each its ancestor plus one
method that routes every observation through the same belief update a
real attempt makes. Both score identically to their originals cold, so
the only thing that changed is the capability.

Also adds gen_served_weights.py, which builds the server-side scenario
files. The server must be a different node than the consumer or the
exercise collapses back into self-warming, which exp-012 part 4 already
measured as harmful.
2026-07-26 23:06:50 -07:00
..
exp-001-param-smoke.md simulation: add evolved router champions and lab notebook 2026-07-24 13:01:06 -07:00
exp-002-param-run1.md simulation: add evolved router champions and lab notebook 2026-07-24 13:01:06 -07:00
exp-002b-bimodal-knob.md simulation/lab: turn the knob WHY.md said we never turned 2026-07-26 13:55:48 -07:00
exp-003-seed-router-vs-lnd.md simulation: add evolved router champions and lab notebook 2026-07-24 13:01:06 -07:00
exp-004-code-evolution.md simulation: add evolved router champions and lab notebook 2026-07-24 13:01:06 -07:00
exp-004-sim-audit.md simulation: add evolved router champions and lab notebook 2026-07-24 13:01:06 -07:00
exp-005-sim-audit.md simulation: add evolved router champions and lab notebook 2026-07-24 13:01:06 -07:00
exp-006-breakthrough.md simulation/lab: correct the record on the bimodal prior 2026-07-26 02:33:34 -07:00
exp-007-mix-followup.md simulation: add evolved router champions and lab notebook 2026-07-24 13:01:06 -07:00
exp-008-drift-evolution.md simulation/lab: close exp-008 -- time-awareness re-evolves, loses anyway 2026-07-24 20:08:33 -07:00
exp-008-drift1-best-candidate.go simulation/lab: close exp-008 -- time-awareness re-evolves, loses anyway 2026-07-24 20:08:33 -07:00
exp-008-drift1-best-candidate.md simulation: document the drift1 winner, resolve exp-008 in the docs 2026-07-24 20:26:46 -07:00
exp-009-mainnet-validation.md simulation/lab: add mainnet-graph validation results 2026-07-24 13:24:22 -07:00
exp-010-opus1-best-candidate.go simulation/lab: close exp-010 with the Opus 5 reflection A/B verdict 2026-07-25 17:07:02 -07:00
exp-010-opus1-best-candidate.md simulation/lab: document the exp-010 challenger routers 2026-07-25 18:01:15 -07:00
exp-010-opusmed1-best-candidate.go simulation/lab: close exp-010 with the Opus 5 reflection A/B verdict 2026-07-25 17:07:02 -07:00
exp-010-opusmed1-best-candidate.md simulation/lab: document the exp-010 challenger routers 2026-07-25 18:01:15 -07:00
exp-010-split2-best-candidate.go simulation/lab: record the exp-010 codex-arm verdict 2026-07-25 03:11:51 -07:00
exp-010-splitting-pressure.md simulation/lab: correct the exp-010 collapse attribution 2026-07-25 18:02:28 -07:00
exp-010b-atomic-splitting.md simulation/lab: close exp-010b -- the champion survives its honest arena 2026-07-26 01:03:37 -07:00
exp-010b-atomic1-best-candidate.go simulation/lab: close exp-010b -- the champion survives its honest arena 2026-07-26 01:03:37 -07:00
exp-010b-atomic1-best-candidate.md simulation/lab: document the exp-010b challenger routers 2026-07-26 02:04:23 -07:00
exp-010b-atomicopus1-best-candidate.go simulation/lab: record the exp-010b Opus-arm verdict 2026-07-25 20:03:04 -07:00
exp-010b-atomicopus1-best-candidate.md simulation/lab: document the exp-010b challenger routers 2026-07-26 02:04:23 -07:00
exp-011-code-gen2.md simulation/lab: add exp-011, the code_gen2 insight-transfer run 2026-07-24 16:37:25 -07:00
exp-011-gen2-best-candidate.go simulation/lab: add exp-011, the code_gen2 insight-transfer run 2026-07-24 16:37:25 -07:00
exp-012-cold-cache.md simulation: reconcile the stale stubs the docs pass found 2026-07-26 14:41:37 -07:00
exp-013-hybrid-continuation.md simulation/lab: exp-013, the give-up attractor 2026-07-26 18:55:53 -07:00
exp-013-hybrid1-best-candidate.go simulation/lab: exp-013, the give-up attractor 2026-07-26 18:55:53 -07:00
exp-013-hybrid1-validation.json simulation/lab: exp-013, the give-up attractor 2026-07-26 18:55:53 -07:00
exp-014-traffic-engine.md simulation/lab: write up exp-014, the traffic engine fix 2026-07-26 19:20:52 -07:00
exp-015-churn-ladder.json simulation/lab: exp-015, exp-008 called a tie a loss 2026-07-26 19:58:09 -07:00
exp-015-churn-ladder.md simulation/lab: kill the hb1-churn hypothesis at n=40 2026-07-26 22:42:13 -07:00
exp-015-hb1-churn-n40.json simulation/lab: kill the hb1-churn hypothesis at n=40 2026-07-26 22:42:13 -07:00
exp-016-atomic1-importer.go simulation/lab: exp-016, free knowledge helps the champions and hurts lnd 2026-07-26 23:06:50 -07:00
exp-016-mxc3-importer.go simulation/lab: exp-016, free knowledge helps the champions and hurts lnd 2026-07-26 23:06:50 -07:00
exp-016-served-weights.json simulation/lab: exp-016, free knowledge helps the champions and hurts lnd 2026-07-26 23:06:50 -07:00
exp-016-served-weights.md simulation/lab: exp-016, free knowledge helps the champions and hurts lnd 2026-07-26 23:06:50 -07:00