Pre-alpha · deterministic foundation

Command the campaign.

Sandtable is a digital adaptation of The Campaign for North Africa. You choose intent and issue orders. The computer checks the rules, handles uncertainty, protects hidden information, and keeps the complete record.

First scenario
6 turns
Each game turn
3 stages
Long campaign
111 turns
Maproom concept planned player experience
North Africa Operation stage I

Legal actions come from the player’s side-safe observation—not from hidden state.

Chronicle feed state v9
  1. WeatherNormal
  2. Reserve I2 candidates
  3. Movementroute accepted
  4. Replayverified
Umpire accepted · event history is replayable

The eventual game

A commander’s week, without the paperwork.

One game turn represents one campaign week. Initiative determines who chooses the acting order; three Operation Stages then repeat movement and combat obligations.

  1. 1.0

    Read the theater.

    Inspect known formations, supply routes, reports, weather, and the limits of what your side is allowed to know.

  2. 2.0

    Set commander intent.

    Decide what matters: hold a port, preserve armour, threaten a route, or trade time for supply.

  3. 3.0

    Confirm exact orders.

    Staff turns intent into a concrete plan. Maproom exposes current legal actions; you review the order before it reaches the Umpire.

  4. 4.0

    Let the campaign answer.

    The Umpire resolves rules, seeded uncertainty, expenditure, breakdowns, contact, combat, and enemy reactions as those systems arrive.

  5. 5.0

    Study the dispatches.

    Chronicle records machine truth. Maproom reveals only the reports your side should receive; War Diary can later turn those events into human history.

Planned authority boundaries · intelligence is scaffold only

The model may advise. It never moves the pieces.

Sandtable keeps adjudication deterministic and treats every model response as an untrusted, versioned proposal. Hidden opposing state never leaves the authoritative plane.

Command decides intent
Staff builds a plan
Umpire adjudicates truth
Chronicle records events
Maproom shows your side
Boundary Owns Must never
Cna.Core / Umpire Rules, legal actions, seeded RNG, fog, events, replay Depend on remote inference
Orleans + Decision Worker Development silo/client scaffold; campaign activation and dispatch are future work Hold a grain turn open on a model
Intelligence Gateway Gateway scaffold; provider routing, personas and narrative are planned See hidden state or adjudicate rules
Signals contracts Versioned protobuf transport Drop decision, state, or ruleset identity

Repository status ·

A real simulation foundation. Not a playable adaptation yet.

Implemented today

  • Versioned rules, content, snapshots, observations, and legal actions
  • Initiative, weather, stage-entry obligations, and Reserve Designation
  • Public Movement, bounded Reaction, and Breakdown paths through Combat entry
  • Byte-identical replay, inherited-history restore, and checked Exercise/Maneuver evidence
  • Combat internals reviewed through orders, costs, results, losses, retreat, custody, and round closure
  • Private Reserve Release, bounded released-I Movement, and guarded repeat/finish
  • Two native opening histories reach a supported candidate before selection
  • Private executable actual-selection contract through Force Assignment or no-attack Reserve Release

Settled-control proofs retain synthetic earlier Movement. The actual-selection contract requires a separately trusted input ledger; its native consumer and production input authentication remain gated. Actual round/results, repeat, public Combat play and the authentic full cycle remain open.

On the road to Maproom

  1. Implement native actual selection, then round/results; complete Reserve lineage
  2. Activate side-safe Combat actions and prove the complete loop through Runner
  3. Add source-verified first-scenario content and victory rules
  4. Build local hot-seat Maproom, saves, fog, and replay

Hosted campaign publication and model-backed commanders remain separate future gates.

Follow the delivery roadmap

Developer workbench

Run the evidence, not a remote dependency.

The repository is a .NET 10 solution. Today, local development launches the service scaffold and Aspire dashboard; deterministic Exercises exercise the actual legal-action and replay path.

Some retained Combat contract verifiers currently fail source-pin or recursive admission checks; maintenance is deferred. The .NET local gate does not run those Python oracles. See the verification inventory for failures and unverified timeouts.

Read the contribution workflow
Local foundation check
git clone https://github.com/dills122/sandtable.git
cd sandtable
just setup
just check
just run
Build, format, and deterministic tests form the local gate.

6 destinations

How the game will play1 Authority architecture2 Current frontier3 Developer workbench4 Source repository↗ Research and design docs↗