Add session-backed campaign wallet mode to job board.

devlogengineeconomyui

Shipped e108df8 to main.

What this unlocks

  • play.php now has a campaign wallet mode backed by PHP session state.
  • Eddies and street cred persist between runs in the same session.
  • You can switch to manual mode when you want to simulate arbitrary cred values.
  • A reset checkbox lets you wipe campaign progression and restart from baseline.

Safety guard

Successful run rewards are only applied once per unique run signature (seed + job + role picks) using a last_run_key, so refreshing the same result page does not duplicate payout.

Verification

  • php tests/run-tests.php -> 53 passed, 0 failed
  • Page smoke checks:
  • wallet panel renders
  • campaign/manual mode labels render correctly