Generated from commit 525a948 (2026-07-10) by pipelines/build_dashboard.py — regenerates on every push. STATUS.md stays the single source of truth.
distribution()NOW
(§10 decision 31 — ninth session of 07-10; handover docs/handover/2026-07-10-live-dashboard.md). Shape: pipelines/build_dashboard.py deterministically renders STATUS.md / ruleset / check_gates.sh / OUTBOX / git log / the curated docs/dashboard/day_notes.md into self-contained HTML; .github/workflows/dashboard.yml regenerates on every push to main and force-pushes site/index.html to the orphan dashboard branch; Cloudflare Pages serves that branch with no build step. The dashboard is now generated, never hand-edited — the old artifact hand-edit protocol is replaced (docs/dashboard/README.md), and the legacy artifact refreshes from the same generator (--fragment) until the owner confirms the Cloudflare site. Engine untouched.
Next session: profit-craft build-out (BACKLOG 8) — BACKLOG 6 (5c drill) stays blocked on the 0.6 release, so the owner-queued-last item is now the front of the queue. First piece needs the one-time owner browser grab of the trade2 static indexes (/api/trade2/data/stats + /data/items); the demand-snapshot script (decision-28 footprint) is buildable without it.
docs/handover/2026-07-09-pl-discord-research-pipeline.md.Backlog — ordered queue
Rebuilt 2026-07-10 from §10 decision 25 (the v2 roadmap); the drained v1 queue (engine-review landings, Artificer's Orb, weight re-ingest, blind-review sessions A/B — all DONE 2026-07-09) is preserved in git history and the 07-09 handovers.
tempfile → opportunistic) never gate anything. Findings: docs/review/idiomatic-rust-review-2026-07-10.md.docs/handover/2026-07-10-quality-refit-landing.md). Every pinned number in the repo is now born against the corrected constants.docs/handover/2026-07-10-coverage-matrix.md). The gap list + owner-sweep questions now live in COVERAGE_MATRIX.md / VERIFY_QUEUE; modeling any gap row is its own future §10 decision.docs/research/profit-craft-feasibility.md). Graduated same day (§10 decision 29) → BACKLOG 8.docs/research/gap-row-semantics.md). All seven families confirmed circulating; matrix rule text re-sourced; owner sweep re-scoped to semantics; graduation candidates ranked (infusers → fluxes → liquids → …), each gated on its VERIFY_QUEUE answers + its own §10 decision.docs/handover/2026-07-10-live-dashboard.md). Generator + Action + protocol landed; the one-time owner browser step (Cloudflare Pages connect) is queued in OWNER TASK and never blocks anything.docs/research/profit-craft-feasibility.md) — (1) on-demand data/demand/ snapshot script (poe.ninja per-slot mod/base-usage, decision-28 footprint: anonymous tool UA, human-like pacing, snapshot-keyed); (2) trade-URL generator (catalog-mod-id → trade2 stat-id join as a per-patch structural asset + report/MCP surface emitting bracketed trade2 ?q= URLs per success archetype; needs a one-time owner browser grab of /api/trade2/data/stats + /data/items); (3) owner-entered data/values/ comparables snapshot (§10.8 pattern); (4) profit report E[value] − E[cost] over the existing cost ledger. No live trade calls from the engine, ever.Standing streams — law, not queue
Standing streams (law, not queue items): weight refresh per decision 19.1; PL-Discord research per decision 24 (owner-driven); PL-golden ingestion per decision 25.5; knowledge-pack/trick growth per decisions 18 + 25.4.
Changelog — 140 commits, Jul 3–10
v2 roadmap set (decision 25) and its first four axes all landed same-day: idiomatic-Rust review + landings (25.1, C2 discharged), quality-constants re-fit (26 — PL data falsified the PoE1 constants; goldens re-blessed), mechanics coverage matrix + gate (25.2 — 783 entities triaged), profit-craft feasibility verdict (25.3 — twice revised on owner pushback; build-out graduated per decisions 28/29), and the gap-semantics pass (30 — all seven not-modeled families confirmed live, graduation candidates ranked, anvil = base swap). Plus GAP REGISTER (27), flat-provenance directive, dashboard + private-remote push, and the live-dashboard build (generator + Action + Cloudflare Pages).
Landings 5–7 close the 9d hardening track. Blind-review sessions A/B (CoE golden re-armed, weights snapshot, join-health + schema gates). Artificer's Orb socket-add. Weight re-ingest with join fix. 10 data-file JSON Schemas. PL-Discord research pipeline (decision 24). Fresh price snapshot.
Verify-queue ingest (16 assumptions owner-confirmed). Blind-scenario cold run 10/10. Engine review → landings 1–4 (skeleton-key fix, validator parity, actions split, wall-clock gate). Desecrated-exclusive reveals. Generality rule into CLAUDE.md.
Performance sprint: profiling infra, mod arena, per-base weight table, pool-borrow, string interning — then decision 13 closes 9b with accepted shortfall. Doc restructure: one canonical home per fact.
Catalysts into v1 (5cat a–c: jewellery quality, tag multipliers, Omen of Catalysing Exaltation, DSL + cost ledger). Property-based invariant tests. STATUS.md introduced as the single forward pointer; one-command gate runner.
Phases 2a–4 in one day: core orbs, essences/omens/fracturing/sanctification, runes + crafted caps + distribution(), plan DSL + MC runner, exact solver, prices + sensitivity, MCP server + knowledge pack. Phase 3 and 4 gates passed.
Phases 0–1: sources audited, RePoE structural ingest, CoE weight ingest, Rust engine with item model + affix pools. Gates: poe2db cross-check clean (881/881 mods), pools match for all 1,782 v1 bases.
| 525a948 | 2026-07-10 | §10 decision 31: live dashboard (BACKLOG 7) — deterministic generator + GitHub Action + Cloudflare Pages |
| 6db4d7b | 2026-07-10 | gap-row-semantics: Hinekora's Lock price owner-corrected — a few thousand Div, not 0.68 |
| 2f1db65 | 2026-07-10 | dashboard: end-of-session refresh (138 commits, decision 30, NOW = live dashboard build) |
| 2952c2c | 2026-07-10 | §10 decision 30: gap-semantics pass over the matrix not-modeled rows (BACKLOG 5) |
| 3c7904a | 2026-07-10 | dashboard: end-of-session refresh (135 commits, decision 29, BACKLOG 8, graduation call decided) |
| 006feca | 2026-07-10 | §10 decision 29: profit-craft build-out GRADUATED, queued as BACKLOG 8 (owner-directed to back of queue); session close-out |
| 5a23d7d | 2026-07-10 | §10.28(a): browser-mimicking UAs rejected (owner-confirmed) — honest anonymous tool label, no personal info |
| 5105c13 | 2026-07-10 | dashboard: sync to decision 28 amendment (131 commits) |
| 4cc70c4 | 2026-07-10 | §10 decision 28 amended (owner, round 3): no personal info in requests — anonymous tool UA (refresh_prices.py precedent) + explicit human-like volume/pacing rule |
| 3cf56b2 | 2026-07-10 | dashboard: sync to decision 28 (130 commits, four-piece graduation shape) |
| 531a39f | 2026-07-10 | §10 decision 28 (owner directive): technically-open community endpoints are used at a disciplined footprint — poe.ninja builds demand reads now automatable |
| d22edd9 | 2026-07-10 | dashboard: sync to revised profit-craft verdict (owner pushback; 128 commits) |
| 8de900a | 2026-07-10 | Profit-craft verdict REVISED (owner pushback falsified both blocking claims): poe.ninja HAS per-slot rare-mod aggregation; trade2 valuation needs no API (searches ride the URL) |
| 4b25050 | 2026-07-10 | dashboard: refresh snapshot to profit-craft-spike session (14 gates, 126 commits, NOW = gap-semantics pass) |
| 8a1022a | 2026-07-10 | §10 decision 25.3 spike DONE: profit-craft feasibility verdict — centaur workflow feasible, automated pipeline is not |
| 2054e4b | 2026-07-10 | §10 decision 27: GAP REGISTER in STATUS.md + promotion-on-unblock in the checklist |
| ffb88fe | 2026-07-10 | Land §10 decision 25.2: top-down mechanics coverage matrix + gate |
| e6d831c | 2026-07-10 | Land §10 decision 26: quality constants re-fit to PL data — Q(ilvl) = clamp(5.5·e^(−ilvl/64) − 0.32, 1, 5) |
| 6c93ce8 | 2026-07-10 | docs: provenance-register directive (owner, 2026-07-10) — flat who/what/when, no discovery narratives; conflict language reserved for tested-source disagreements. Stale alchemy comment updated to owner-verified provenance. Docs/comment only, engine logic untouched. |
| d0dbf78 | 2026-07-10 | End-of-session: dashboard/remote session handover, STATUS pointers, checklist step 4 now commit-and-push |
| df49a3e | 2026-07-10 | STATUS: live-dashboard queued as BACKLOG 6 (owner request; owner-paced) — generator + Actions + Cloudflare Pages plan, GitHub Pages rejected; repo now pushed private to github.com/keainen/simulacrum |
| ec8561b | 2026-07-10 | docs: project dashboard source + refresh protocol (docs/dashboard) |
| d352984 | 2026-07-10 | PL findings carried forward (§10 decision 26 recorded, landing deferred): quality re-fit owner-approved, VERIFY_QUEUE item 2 trigger fired, F1 ROUTED, OUTBOX PL-11 drafted, STATUS/handover updated — docs only, engine untouched |
| 399dc0d | 2026-07-10 | PL findings F1/F2 (krakenbul infuser sheet): Q(ilvl) constants falsified (re-fit 5.5/64/0.32 max5), Vaal Infuser overqual corruption = init_overqual x 5% — logged + PL-6 answered, routing pending owner |
| a599121 | 2026-07-10 | Idiomatic landing L2 (§10 decision 25.1 complete): I2 Ctx/Sink + I3 shared gates |
| 85772b6 | 2026-07-10 | docs: plain-English post-Phase-5 recap (Jul 9–10 sessions; owner-requested narrative, not canon) |
| 2f770ec | 2026-07-10 | Idiomatic-review landing L1 (§10 decision 25.1) + C2 discharge |
| df96dbb | 2026-07-10 | Idiomatic-Rust blind review (§10 decision 25.1): 11 ranked findings, docs-only |
| 0c39d0e | 2026-07-10 | v2 roadmap (§10 decision 25): five axes triaged, BACKLOG rebuilt (docs-only) |
| a1b4463 | 2026-07-09 | Data-file JSON Schemas: 10 new schemas, schema gate to 11 document classes |
| 5555f03 | 2026-07-09 | Reconcile parallel-session collision on decision 24 (5177191 vs 4f7fd5a) |
| 4f7fd5a | 2026-07-09 | PL-Discord research pipeline (§10 decision 24): disclosed-only engagement, OUTBOX/FINDINGS triage, corpus search tool, knowledge-layer ladder |
| 5177191 | 2026-07-09 | PL Discord research loop: scaffolding + §10 decision 24 (docs-only) |
| 7ebfa49 | 2026-07-09 | Second-weight-source recon: re-scope per §10 decision 23 (docs-only) |
| 840ef04 | 2026-07-09 | prices: fresh 2026-07-09 snapshot (closes the stale-uncommitted loose end) |
| 6d6f640 | 2026-07-09 | handover: record post-handover doc commits (a3814dd, b48335b) in session-B addendum |
| b48335b | 2026-07-09 | docs: redirect banner on PROJECT_PLAN + §10 decision 22 (doc geography re-affirmed) |
| a3814dd | 2026-07-09 | docs: carry the weights/structural/ruleset-schema follow-up in §10.2 |
| 34219bf | 2026-07-09 | Blind-review session B: schema-validation gate (P3) — plan+prices schemas now self-policing |
| 5da73ff | 2026-07-09 | handover: record post-handover s4/s9 stale-wording cleanup (127bc77) |
| 127bc77 | 2026-07-09 | docs: mark stale s4 'OPEN' capture note superseded; correct s9 row in phase3 gate doc |
| 0839ee5 | 2026-07-09 | Blind-review session A: re-arm CoE golden (P1), Report.weights_snapshot (P2), join-health gate (P5) |
| 4c2283e | 2026-07-09 | Blind-review checklist completion: §10 decision 21 + handover; STATUS pointer updated |
| f559753 | 2026-07-09 | Blind review: 6 findings triaged into BACKLOG (docs/review/blind-review-2026-07-09.md) |
| 7dab86c | 2026-07-09 | docs: plain-English Phase 5 recap (owner-requested narrative, not canon) |
| 2425eb2 | 2026-07-09 | Weight re-ingest: no CoE drift; fix PREFERRED_STEMS join hijack (s9 in tolerance) |
| 06290e7 | 2026-07-09 | Artificer's Orb socket-add action (§10 decision 20; Still-open 6 resolved) |
| b7fbc20 | 2026-07-09 | §10 decision 19: split data-refresh cadences — weights are patch-independent |
| 367c7ac | 2026-07-09 | Landing 7 (D1+D3): interaction-coverage matrix + gate; CoE golden 7->11 — closes §9d |
| 00ff105 | 2026-07-09 | Landing 6 (E2): search_mods enumeration mode; backlog-3 batch tool resolved not-built |
| 7ea1f92 | 2026-07-09 | §10 Still-open 2: strike the live-firing item — the blind-scenario cold run was it |
| c2d19fc | 2026-07-09 | De-stale PROJECT_PLAN §9/§11: add 9d hardening track, strike two falsified §9 claims |
| 86a9f37 | 2026-07-09 | Landing 5: close out — STATUS to session 6 (E2), handover, review row 5 LANDED |
| 4de3b40 | 2026-07-09 | Landing 5b (D2): NL golden corpus 12->18 + harness comparison/refusal shapes |
| deacc56 | 2026-07-09 | Landing 5a (E1): all_mods + at_least plan conditions |
| 3cb3dad | 2026-07-08 | Landing 4: close out — STATUS to session 5, handover, review row 4 LANDED |
| cddf40b | 2026-07-08 | Landing 4e: gate artifacts for D5/B3 — allocs re-bless + coverage regen |
| 2873535 | 2026-07-08 | Landing 4d (G1/decision 17): wall-clock smoke gate |
| 0eca0e1 | 2026-07-08 | Landing 4c (C4): optional sensitivity_seed on MCP simulate |
| 63eeb9f | 2026-07-08 | Landing 4b (B3): render MCP quality notes from ruleset data |
| a772320 | 2026-07-08 | Landing 4a (D5): report per-repeat budget exits in the MC runner |
| ed0fc84 | 2026-07-08 | Landing 3: close out — STATUS to session 4, handover, review row 3 LANDED |
| 61469ef | 2026-07-08 | Landing 3c (B1-structural): shared static-legality predicates |
| 6577786 | 2026-07-08 | Landing 3b (C1): split actions.rs into an actions/ module directory |
| 16e081d | 2026-07-08 | Landing 3a (C3): delete dead PoolOptions.caps_override |
| 056b985 | 2026-07-08 | Decision 18: knowledge-layer policy — option spaces in prose, rankings computed |
| d413dc1 | 2026-07-08 | Landing 2: B1 parity matrix, B2 eligibility equivalence, C5 bone-ilvl error, A4 declared-item errors |
| 3f2f85a | 2026-07-08 | Landing 1: A1 skeleton_key gains quality_tag+mirrored, D4 catalyst cross-checks, A3 u32 quality arithmetic |
| 94a6423 | 2026-07-08 | Decision 17: engine-review triage — landing order approved, A4 errors, F1 deferred, G1 = drop iai-callgrind + 4x wall-clock smoke gate |
| 60e0168 | 2026-07-08 | Engine review (read-only): ranked findings doc — headline A1 CONFIRMED skeleton_key omits quality_tag (exact 0.169 vs MC 0.990) |
| dc39149 | 2026-07-08 | Decision 16: desecrated-exclusive reveals wired with zero new data |
| bc097b8 | 2026-07-08 | Round 4: triple-natural-flats path re-targets the reveal to the suffix side - s9 final p=98.16%, zero finish-loop bricks |
| a15d1db | 2026-07-08 | Decision 15: Whittling + Sinistral/Dextral Erasure verified stacking (owner-confirmed in-game); s9 re-runs at p=97.6% |
| eb4208b | 2026-07-08 | Owner Q&A round 2 on the blind run: s1b exact (446), s5 decomposed, s8 1-mod default, s9 62% root-caused to a refused omen stack (F7) |
| 150a104 | 2026-07-08 | Owner resolves blind-run F1/F1b same day: model confirmed on both; s9 re-run at p=36.3% |
| 04b9946 | 2026-07-08 | Blind-scenario cold run: 10/10 simulated, findings F1-F6 ranked for engine review |
| 98220ee | 2026-07-08 | Doc hygiene: annotate decision 11's superseded claims; de-enumerate the CLAUDE.md gate list |
| f564b6f | 2026-07-08 | Generality rule into CLAUDE.md; generality sweep seeded into the engine review |
| 075284f | 2026-07-08 | Implicit-granted capacity is item state, not per-base tables (owner correction) |
| 69ba8d7 | 2026-07-08 | Verify-queue ingest (§10 decision 14): quality per-use is an ilvl formula; socket caps land; 16 assumptions owner-confirmed |
| e933874 | 2026-07-08 | V1 coverage checklist (generated + gated), assumption sweep -> verify queue, blind scenarios landed |
| bf06e88 | 2026-07-06 | Test-audit plan: owner blind scenario set, assumption sweep into V1_COVERAGE, review-session seed findings |
| 532ff8e | 2026-07-06 | §10 decision 13: close 9b (accepted shortfall); resequence — coverage checklist is NOW, engine review queued |
| 35ddc58 | 2026-07-06 | Phase-5 perf: string interning kills per-build String hashing (1.90x s01, 1.22x s03, byte-identical) |
| b9351f9 | 2026-07-06 | Doc restructure: one canonical home per fact; §9 sub-tracks; perf objective is §10 law |
| a10d51f | 2026-07-06 | Phase-5 perf: borrow PoolWeight in PoolRef kills per-candidate clone (1.54x s03, 1.29x s01, byte-identical) |
| b596069 | 2026-07-06 | Phase-5 perf: per-base weight table kills per-candidate weight hash (1.80x s03, 1.36x s01, byte-identical) |
| e1f4578 | 2026-07-06 | Phase-5 perf: remove per-build pool sort (1.66x s01, 2.09x s03, byte-identical) |
| 7203b7f | 2026-07-06 | Phase-5 perf: two-axis objective function + allocation-regression gate |
| 32d0500 | 2026-07-06 | Phase-5 perf: profiling infra + full-corpus coverage; sort is next lever |
| 9df25ba | 2026-07-06 | Phase-5 perf: reprioritise NEXT step to profiling infra + coverage |
| 36f8da6 | 2026-07-06 | Phase-5 perf: Arc<str> weight provenance kills per-candidate clone (1.58x) |
| f24d61d | 2026-07-06 | Phase-5 perf: mod arena kills lookup #1 (per-candidate mod-id hash) |
| 7dbfd83 | 2026-07-06 | Phase-5 perf: hoist constant base resolution out of per-candidate weight lookup |
| e2e743f | 2026-07-05 | Phase-5 perf: eliminate PoolEntry String clones from MC hot path |
| 0fe0d43 | 2026-07-05 | Backlog: mark Artificer's Orb (socket-adding) as needing implementing |
| 8f38862 | 2026-07-05 | Phase-5: property-based invariant tests (STATUS BACKLOG 1) |
| 8f1e751 | 2026-07-05 | Phase-5: carry implicits in ItemState (§10 item 5, resolved) |
| 0bb5e2c | 2026-07-05 | Process: introduce STATUS.md as single "what's next" pointer; slim CLAUDE.md |
| 7fed602 | 2026-07-05 | Record implicits-in-item-state as deferred design item; owner-confirmed breach cap stacking |
| c11ef22 | 2026-07-05 | 5-cat-c: catalyst DSL, per-catalyst cost ledger, MCP/knowledge surfaces |
| 7e85b71 | 2026-07-05 | 5-cat-b: pool tag-multiplier + Omen of Catalysing Exaltation into v1 |
| 6c44c52 | 2026-07-05 | 5-cat-a: jewellery quality + catalyst currency into v1 |
| 797d86f | 2026-07-05 | Process guardrails: one-command gate runner, handover template, decision rule |
| 043d7c4 | 2026-07-05 | Catalysts into v1: research + spec + phase plan (no code) |
| 7d924ce | 2026-07-04 | Phase 5: desecration into v1 — bone/reveal actions, desecrated mod state |
| 7a1db87 | 2026-07-04 | Desecration into v1: spec + §10 decision 10 (owner directive) |
| c09b6b8 | 2026-07-04 | Annulment works on Magic items — owner confirmed in-game (0.5.4) |
| 682d019 | 2026-07-04 | Phase 4 COMPLETE: handover doc, status update |
| fa44cb5 | 2026-07-04 | Phase 4: knowledge pack + §11 gate — 10 NL prompts round-trip, GATE PASSED |
| cc00fc9 | 2026-07-04 | Phase 4: §8 MCP server — simulacrum mcp (stdio JSON-RPC, 6 tools) |
| 85c5483 | 2026-07-04 | Phase 3 COMPLETE: §11 gate PASSED — s4 root-caused via owner confirmation |
| fd559b3 | 2026-07-04 | §11 gate: CoE reference values captured via headless browser — 6/7 resolved |
| ba88021 | 2026-07-04 | Phase 3b: §11 gate harness — CoE golden scenarios, our numbers, capture protocol |
| 82a57fe | 2026-07-04 | Phase 3b: --sensitivity — probability intervals under §4.3 weight uncertainty |
| c6aebf9 | 2026-07-04 | Phase 3b: price snapshots + refresh-prices (§10.8) — cost lines in reports |
| 5a22916 | 2026-07-04 | Phase 3b: §10.7 exact solver — repeat-until loops as absorbing Markov chains |
| 9874b09 | 2026-07-04 | Phase 3a COMPLETE: handover doc, status update |
| 9085f40 | 2026-07-04 | Phase 3a: plan schema file, DSL docs, pool candidate cache (5.6x MC speedup) |
| f9ee67d | 2026-07-04 | Phase 3a: plan DSL model+validator, Monte Carlo runner, apply confidence badge |
| f89539a | 2026-07-04 | Owner in-game answers: essence removal rule confirmed, sanctify rounding flipped to half-up |
| 4b312fd | 2026-07-04 | Crafted-cap semantics confirmed in-game (owner report): provenance high, removal-of-crafted pinned |
| 1aff5f5 | 2026-07-04 | Phase 2c COMPLETE: handover doc, status update |
| e6ce183 | 2026-07-04 | Phase 2c: augment runes, crafted-mod cap, distribution() — catalog, engine, tests |
| 9aa232d | 2026-07-04 | Phase 2c research: crafted-modifier system, meta-rune client ids, Q3/Q5/Q6 resolved |
| 998cf76 | 2026-07-04 | Phase 2b COMPLETE: handover doc, status update |
| 941e2e4 | 2026-07-04 | Phase 2b: essences, omens as wrappers, Fracturing Orb, Sanctification |
| 7ec898b | 2026-07-03 | Phase 2b: essence structural table — CoE essences table joined to RePoE mod ids |
| 35acab4 | 2026-07-03 | Phase 2a: core-orb actions — mechanics catalog, ruleset action catalog, pure transitions + fixture tests |
| 0ad9a8a | 2026-07-03 | Phase 1 COMPLETE: handover doc, status update, validation-plan layer-1 extension |
| 632b730 | 2026-07-03 | Phase 1 gate PASSED: engine pools match poe2db for all 1782 v1 bases |
| a224d98 | 2026-07-03 | Phase 1: Rust engine — item model, affix pool, ruleset skeleton, weight index |
| 335a3b5 | 2026-07-03 | Phase 0 COMPLETE: poe2db weightings confirmed same estimate set as CoE; handover + docs |
| 639e846 | 2026-07-03 | Ingest Craft of Exile weights: fetch pipeline + §4.3 transform joined to RePoE |
| 88dd335 | 2026-07-03 | Phase 0: gate PASSED — poe2db cross-check clean (881/881 mods, 5 bases); handover + status |
| 1a806e7 | 2026-07-03 | Phase 0: SOURCES.md — weight-source independence verdicts and CoE ingestion details |
| 60b41ce | 2026-07-03 | Phase 0: research — essences/omens/fracturing, runes/desecration/corruption, weight-source audit, value-roll study |
| aedfb0a | 2026-07-03 | Phase 0: core-orb semantics research (0.5.0/0.5.4), mechanics catalog format |
| c60b888 | 2026-07-03 | Phase 0: structural data (RePoE poe2 0.5.4), fetch pipeline, affix-pool cross-check, SOURCES, validation plan |
| 290ebb6 | 2026-07-03 | Initial commit: project plan, CLAUDE.md scaffold, gitignore |
Owner tasks — parallel, no code
Triage DONE 2026-07-08 (§10 decision 17). Remaining owner items:
NEW 2026-07-10: Cloudflare Pages one-time setup (~5 min, browser) — makes the live dashboard public-to-you: Cloudflare dashboard → Workers & Pages → Create → Pages → *Connect to Git* → authorize the GitHub app for keainen/simulacrum; production branch = dashboard, build command *none*, output dir /; optionally gate the *.pages.dev host with Cloudflare Access (recommended — the page aggregates the private repo). Steps: docs/dashboard/README.md. The Action already keeps the dashboard branch fresh, so this works whenever done; tell Claude once it's live so the legacy artifact stops being refreshed.
PL spreadsheets (§10 decisions 23+24; owner JOINED 2026-07-09): work docs/research/pl-discord/OUTBOX.md PL-1 — pins/resources recon for the canonical weight spreadsheet(s) + license, then the drafted method question to Krakenbul (per-mod sample sizes → real per-record error bars, data/weights/coe/sensitivity.json open question). Also fill the CORPUS_MANIFEST channel-recon table while there. Recon: docs/research/weight-sources.md §5.
Blind-review P4: close the value-roll mandated-vs-assumed contradiction — NEW cheapest first step: post OUTBOX PL-2 (PL may already have the histogram); else the in-game sample (one wide-range mod, ~100–200 Divines; engine-side KS-test) or a §10 decision accepting the uniform directive as final. Divine/Sanctify EVs rest on it. Details: docs/review/blind-review-2026-07-09.md P4.
NEW 2026-07-10: OUTBOX PL-11 (to krakenbul, contribute-first) — his +1/+2 splits confirm our fractional-carry model; tell him, and ask for catalyst per-use data (the one gap his sample leaves). Natural to post alongside crediting his sheet for the F1 re-fit. PL-6 is ANSWERED by that same sheet — don't post it.
Profit-craft graduation call DECIDED 2026-07-10 (§10 decision 29): graduated, queued as BACKLOG 8. One owner step waits inside that item when it starts: a one-time browser grab of the trade2 static indexes (/api/trade2/data/stats + /data/items).
Coverage-matrix owner sweep — RE-SCOPED 2026-07-10 (§10 decision 30): the obtainability questions are answered (all seven gap families show live poe2db economy data); what remains is per-family semantics, cheapest and highest-value first: (1) Vaal Infusers — does a corrupting use still apply quality? does overquality keep the catalyst type? (unblocks graduation candidate 1); (2) elemental flux roll handling (preserve vs reroll; one ≈20 Ex flux answers it); (3) mushrune-liquid removal rule on jewels; plus refined-catalyst per-use amount, anvil swap preservation, talismans, benches. Full list: VERIFY_QUEUE 2026-07-10 section (re-scoped) + docs/research/gap-row-semantics.md. The inherited-PoE1 stash-tab glance stands unchanged.
LOW priority, opportunistic: the remaining OUTBOX drafts (PL-4, PL-5, PL-7…PL-10 cover the VERIFY_QUEUE open questions: Vaal +1-socket rate; local_has_X_sockets absolute reading; crystallisation refusal) — post when a natural thread appears, or in a centaur session (protocol: docs/research/pl-discord/README.md).
PL-Discord outbox — owner posting queue
DRAFT
DRAFT
DRAFT
DRAFT
DRAFT
ANSWERED 2026-07-10 (unsolicited, before posting) — krakenbul's
DRAFT
DRAFT — low priority
DRAFT — low priority (§10.2 carried item; needs an in-game test
DRAFT (contribute-first follow-up to his infuser sheet —
DRAFT — dormant; don't post standalone, just keep eyes open
docs/research/pl-discord/OUTBOX.md — drafts are substance, rephrase in your own words (decision 24).
Standing gates
All green at the last full run (2026-07-10). pipelines/check_gates.sh — one command, canonical list. Red gates are root-caused, never loosened.
Gap register — blocked & unscheduled
Blocked on owner in-game data
docs/review/blind-review-2026-07-09.md P4; unblock: OUTBOX PL-2 answer, or the ~100–200-Divine sample, or a §10 decision accepting the directive as final.m(quality) catalysing-omen curve shape (20%/40% pinned) — home docs/research/catalysing-omen.md; unblock: ≥1 more quality level of owner omen data.local_has_X_sockets absolute reading; crystallisation illegal-force refusal; crafted mods as fracture-lock/desecration-replace targets; the 2026-07-10 coverage-matrix sweep (re-scoped to semantics by §10 decision 30).docs/research/gap-row-semantics.md; unblock: each family's VERIFY_QUEUE semantics answers, then its own §10 decision. Infusers need only two one-look tests (formulas already PL-tested).Blocked on PL/community data
data/weights/coe/sensitivity.json open question) — unblock: PL-1 (spreadsheets + per-mod sample sizes).Blocked on an external release
Blocked on an explicit revisit trigger (deliberate)
docs/mechanics/desecration.md).docs/mechanics/omens.md).Unscheduled (no blocker — bundle or promote)
type=Verisium exchange overview prices the 24 alloys we model, but refresh_prices.py doesn't query that type (alloys sit in unpriced unnecessarily); Catalysts/Omens types exist but return 0 lines this league — home docs/research/profit-craft-feasibility.md side-findings; bundle with the next price refresh (add "Verisium" to NINJA_TYPES, re-probe the empty types).tempfile (bundle with any engine session) — home docs/review/idiomatic-rust-review-2026-07-10.md.docs/research/weight-sources.md §5.docs/research/catalyst omen data/PROVENANCE.md.Pointers only — content stays in each item's canonical home (§10 decision 27). Items whose blocker clears get promoted into BACKLOG.
Doc map