fix(mods): add MidnightLib 1.10.0 to fix startup CME crash

Fright's Delight jar-in-jars MidnightLib 1.9.2, whose MidnightConfig.init
races during NeoForge parallel mod construction (ConcurrentModificationException).
The broken mod state left mod_resources unloaded, so WATUT's reloadShaders
mixin crashed on particle.json - WATUT was the victim, not the cause.
1.10.0 synchronizes the entries map (upstream 1fe69729); FML selects it over
the JiJ copy. Verified: 10/10 clean cold launches to world join.

Also adds analysis/state/ (Phase 2 state capture).
This commit is contained in:
logan committed 2026-10-15 17:07:52 -04:00
1 parent e5e369a693
commit a84319bb2f
11 files changed
+512 -1

No files matched your search

+90
View File
@@ -0,0 +1,90 @@
# Current state — exact position
As of capture (2026-10-14 ~23:45 EDT, HEAD `e5e369a` pushed).
## Multi-step plan position
The initiative's plan (from the journal + BENCH-MATRIX) is:
**boot check → fix blockers → build bench world → confirm uncapped frametimes →
run B0→B14 → write winners into build.py → ship → report to owner.**
| Step | Status |
| --- | --- |
| 1. Boot check, client | ✅ **essentially PASS** (2026-10-14/15 session; HANDOFF.md). 22 benign ERRORs. |
| 1b. Boot check, dedicated server | ✅ **PASS** — booted from repo at 21:01, `Done (3.004s)`, no missing deps / mixin failures / `ftbteams` / fishermans-haven / YACL errors (see `notes-serverlog-triage.md`). |
| 2. Fix boot blockers | ✅ CAC spawn-key NPE fixed by owner (`8e8483d`). The 20:34 crash report is this bug — **do not** confuse it with the WATUT crash. |
| 3. WATUT intermittent world-load crash | ❌ **OPEN — first task.** Details below. |
| 4. Confirm uncapped frametimes | ❌ Not verified after `vblank_mode=0` fix. |
| 5. Bench world complete | ⚠️ **PARTIAL** — S1–S3 built & verified; **S4 airships not built**; S5 tour only partially exercised; S2 `/fill` motors may need manual re-placement (BENCH-MATRIX §2). |
| 6. Run matrix B0→B14 | ❌ **Zero blocks run.** |
| 7. Winners → `build.py` → ship → commit | ❌ Not started. |
| 8. Report to owner (B7 shader data, B12b trial verdicts, B14) | ❌ Not started. |
## Open defect: WATUT world-load crash (blocking bench runs)
- Symptom: intermittent crash on world load —
`corosus.watut.ShaderInstanceBlur.<init>` → `FileNotFoundException:
minecraft:shaders/core/particle.json`, during "Rendering overlay".
- First world load works, a later load crashed (2026-10-14/15 session).
- **The 20:34 crash report in `crash-reports/` is NOT this** — it is the already-fixed
CAC spawn-key NPE. No crash report exists for the WATUT crash yet.
- Owner constraint: **remove no mods** → find a WATUT config/patch/reliable-retry, or
reproduce and characterize it first.
- It must be resolved (or made reliably recoverable) before trusting long bench runs.
## Live processes / environment left by the interrupted session
- **The dedicated server is still running**: java PID 1699563 in tmux session
`onion-mc`, started 21:01:35 from the repo root (port 25565, RCON :25575).
Idle boot-check run; zero players joined. **Never kill it; never touch `world/`.**
- An RCON client from 127.0.0.1 connects/disconnects **every 30 s** (through #353 by
23:57). The poller process was not identified (candidates: a keepalive loop or
`tools/rcon.py` under some wrapper). Investigate before assuming it's yours to kill.
- Uncommitted working-tree changes are **benign mod re-saves**, expected on boot:
- `config/alexsmobs-common.toml`: 13-line tuned partial expanded to 913 full lines
(all tuned values retained — e.g. `gazelleSpawnWeight = 20`).
- `config/akashictome-common.toml`: re-serialized; curated whitelist **intact**,
comments stripped, arrays collapsed.
- Rule (`05-decisions-and-rules.md`): `git checkout -- config/` before staging;
do not commit these.
- `config/*.toml.bak` files + `config/spark/tmp-client/*.jfr.tmp` (spark's live
background-profiler buffer, still growing while the server runs) = runtime junk.
- `context.md` in the repo root was scout scratch from this capture session — safe to
delete (content folded into this directory).
## Measurements so far (all of it)
Exactly **one** harness run, **not decision-grade** (vsync-locked):
```
~/onion-bench/harness-results.csv:
C1,s1,n=1889, p50=16.7ms p95=17.0ms p99=17.2ms peak=17.6ms avg_fps=59.8 1%low=57.5
```
Supporting MangoHud CSVs in `~/onion-bench/mangologs/`:
`java_2026-10-14_22-13-53.csv` (2353 rows), `java_2026-10-14_22-14-54.csv` (3762),
`java_2026-10-14_22-21-46.csv` (178, truncated), plus two `glxgears` sanity runs.
The vsync fix (`fps_limit=0`, vblank off in `~/.local/bin/mangohud-local`) has been
applied but **not re-verified** — first task after WATUT: one C1/S1 run must show
well above 60 fps.
## Bench instance state (ready to use)
`~/onion-bench/prism/instances/OnionBench/.minecraft`: provisioned, mods installed,
`saves/onionbench` present (26 MB, from 21:54 worldgen), `config/defaultoptions/`
seeded, `options.txt` carries the bench pins (`maxFps:260`, `enableVsync:false`,
`renderDistance:8`, `simulationDistance:8`), `BENCH_VARIANT.txt` = `C1` (last applied).
PreLaunchCommand empty by design. MaxMemAlloc 8192. Launched offline as user `Tester`
via `~/onion-bench/launch-bench.sh` (DISPLAY=:1).
## Known open questions
1. WATUT crash root cause + fix path (top priority).
2. Identity of the 30 s RCON poller.
3. Whether uncommitted config re-saves should simply be checked out (recommended) —
and whether AkashicTome stripping comments matters for future edits (edit the
shipped source-of-truth, then expect the mod to re-serialize locally).
4. S2 Create floor: `/fill`-placed kinetic network may need motors re-placed by hand
(checklist in BENCH-MATRIX §2 step 2) — verify during S4 build.
5. B5 (SSRD/Sable airship decay) is scoped to fleet P0/P1 — needs a documented proxy
adaptation or a "deferred, fleet-only" note in results.