Files
urm03/persistent-memory.md
T
vh 45c0c78481 memory: snapshot — greybox build complete, playtest pending
First /snapshot: seeds persistent-memory.md (+ one detail file for the
freeze-meter variant decision), amends CLAUDE.md with the persistent-
memory pointer section.
2026-08-07 12:02:51 -07:00

3.6 KiB

Persistent memory — urm03 (U R M03)

Last updated: 2026-08-07

Always check for /tmp/m03-dev-handoff.md — if it exists and its Written: stamp is under an hour old, read it (it carries the in-flight handoff from the previous session), then delete it. Older than an hour: stale — delete it unread.

Repo purpose

Implementation repo for U R M03 (Godot 4.7.1): the strategy-forward mech auto-battler rogue-lite. Design canon lives in the advisor repo (see CLAUDE.md); this repo builds what canon ratifies. Current mission is the greybox falsifier (ROADMAP.md v1) that tests the design's three core bets.

Tools and conventions

  • Smoke gate: ~/bin/godot --headless --path . res://tests/smoke.tscn (exit 0 pass / 1 fail; run 3x to catch flakes). After adding new scenes/assets, import first: ~/bin/godot --headless --import --path .
  • New GDScript files: run the headless import BEFORE committing so Godot's .uid sidecars land in the SAME commit as their scripts (see Tried and abandoned, 2026-08-07).

Current state / in-flight

As of 2026-08-07:

  • Greybox build COMPLETE at 1976149, pushed to gitea (vh/urm03) — all five build capabilities live: arena + positioning-only piloting, auto-fire KINETIC weapon, cards + Freeze-charge meter + thaw/release ramps, KINETIC+HEAT chemistry row with authorship-loud feedback stack (hitstop + hues meeting + _ph sting), grunt swarm + self-heating burster. Headless smoke gate green 3/3.
  • Awaiting the falsification playtest (ROADMAP capability 6): operator verdicts on the three bets — positioning↔build interaction, card-freeze rhythm, chemistry delight. Early signal on bet 2 is positive: freeze meter + release ramp "feels very good" / "starting to feel game-like" (operator, 2026-08-07). Tuning everywhere still open.
  • Operator hit a pull conflict on the Mac (untracked .uid files vs 1976149) — fix being applied this session; an operator-surfaced issue is expected next.
  • After verdicts: draft the CONCEPT.md canon entries in the advisor repo (freeze-meter ratification + whatever else the playtest settles).

Recent decisions

  • [2026-08-06] Greybox discipline: direct implementation + headless smoke gate; contract/heid ceremony skipped — falsifier code's real review is the operator playtest.
  • [2026-08-07] Freeze charge meter adopted as the card-time variant for playtest (banded ladder, A/B vs unlimited toggle on M); canon ratification deferred pending playtest verdict — tracked at commit 73f84e7 + advisor repo CONCEPT.md § Open questions #0. → persistent-memory.d/2026-08-07-freeze-meter-variant.md
  • [2026-08-07] Detonations are symmetric — they damage enemies AND the mech in radius: one grammar on both sides; heat play prices standing close (1976149).
  • [2026-08-06] Placeholder tag hues: KINETIC pale steel-blue, HEAT orange — canon assigns no tag colors yet (naming/color pass parked post-greybox).

Tried and abandoned

  • [2026-08-07] Engine.time_scale = 0 as the freeze — fake: physics still steps with delta 0 on 4.7 (probed headless), so delta-independent logic (heat thresholds, contact callbacks) kept firing while "frozen". Freeze = SceneTree.paused + hand on PROCESS_MODE_ALWAYS; time_scale only for dilation > 0 (c340b7b).
  • [2026-08-07] Committing new scripts without their .uid sidecars — the Mac editor generated its own untracked copies and the next git pull refused to merge over them. Import headless before committing so .uid files ride the same commit as their scripts.