After yesterday's documentation marathon, today swung back to actual code — a couple of GoMud features I've been meaning to land, and the first real commit on ProcessFlow.
GoMud
Two things shipped. First, a keepondeath flag on items so the cackalackycon badges (base, upgraded, hardened, legendary) don't drop when a player dies. Tiny change in itemspec.go and a check in the suicide command handler, plus the flag set on each badge yaml. The badges are essentially progression markers, so dropping them on death was always a footgun.
The bigger piece was per-user persistent booth locks in the cackalackycon area. Previously the lockpick booths were either always-locked or always-unlocked globally, which meant once one player picked a lock, everyone benefited. Now each booth starts locked, and the unlock state lives on the player's persistent data — so it survives server restarts and stays scoped to whoever did the work.
The trick was the onCommand handler in 2020.js: when a player tries go [booth#], it checks for either a permanent unlock flag (they've picked it before) or a temp flag combined with the exit currently being unlocked (they just picked it this session). Otherwise it denies with the lock message. Modified 2060–2063 the same way. It's a nice pattern — the temp-flag-plus-exit-state check lets the existing lockpick mechanics keep working without me having to rewrite them.
ProcessFlow
This one's been sitting in my notes for weeks and today it became a repo. Initial commit — v0.1. Next.js 15, TypeScript, Prisma 7, NextAuth 5, shadcn/ui, Postgres, all dockerized.
The interesting design call is the data model: Templates → Stages → Sections → Items, with a snapshot approach so editing a template doesn't retroactively mutate running or completed instances. Each instance carries its own copy of the structure at the moment it was created. That keeps audit trails clean and means I can iterate on templates without worrying about breaking workflows already in flight.
Auth went in with NextAuth 5 — username/password with hashed creds, a lib/auth.ts for session helpers, and a prisma/seed.ts to seed an admin user on first run. Prisma 7 adapter compatibility took a minute to sort out; the API has shifted enough from 5/6 that the older NextAuth examples don't quite map. The Dockerfile does a standalone Next.js build and runs prisma migrate deploy on container start, which should make deploys boring.
hackerlabs.dev
Published yesterday's lab journal. Nothing else to report on the site itself.
Good mix of a day — small focused GoMud features that polish existing systems, and a fresh project finally crossing from notes into a running scaffold. ProcessFlow is the one I'm most curious to see take shape.
