Files
logan a84319bb2f 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).
2026-10-15 17:07:52 -04:00

91 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.