05 / Deterministic autonomy simulation

Make rover dispatch decisions visible, reproducible, and reviewable.

An Unreal simulation for comparing dispatch policies under operational constraints, faults, and human oversight without confusing software evidence with physical-world validation.

Product brief

Product
Lunar Dispatch
Status
In progress
Target user
An engineer comparing autonomous dispatch policies and human intervention rules in a constrained logistics environment.
My role
Product boundary, deterministic simulation design, Unreal implementation, command validation, trace hashing, automation coverage, and operator-facing graybox planning.

The problem

A dispatch policy can appear successful while hiding nondeterminism, illegal commands, or unrecoverable state. The core decision loop needs to be replayable before a richer simulation can be trusted.

01 / Workflow

The product, end to end.

Follow the product from first input to a reviewable outcome.

Lunar Dispatch product flow
  1. 01Load a seeded depot state
  2. 02Evaluate pending jobs
  3. 03Issue a dispatch command
  4. 04Validate policy constraints
  5. 05Advance the simulation
  6. 06Compare the resulting trace

02 / Decisions

Architecture with a reason.

Unreal Engine 5.8 · C++ · Automation Specs · Seeded simulation · BLAKE3 trace hashing

01

Prove the core before the world

The first milestone is a headless deterministic command loop; actors, effects, and environment detail come after replay evidence.

02

Invalid means unchanged

Rejected commands return an explicit result and preserve state so failure cannot partially mutate the simulation.

03

Hash the trace

A pinned same-build digest makes repeated seeded runs easy to compare without claiming cross-version binary stability.

Failure paths

What can go wrong is part of the product.

  • A rover receives an illegal or conflicting command
  • The same seed produces a different event trace
  • A rejected command mutates state
  • A policy reaches a deadlock or leaves work permanently stranded

Verification

What supports the claim.

  • Seven passing Unreal Automation Specs
  • Repeated seeded runs produce an identical trace
  • Invalid-command tests assert unchanged state
  • Pinned BLAKE3 same-build trace hash

Portfolio boundary

Complete enough to review. Honest enough to trust.