Strata is a greenfield colony/world simulation project aiming to exceed RimWorld in simulation scale, depth, multiplayer readiness, visual clarity, tooling, and emergent history.
The repo now has a durable MVP foundation: deterministic Rust sim primitives, schema-validated seed content, runtime observability, multiplayer/checkpoint gates, data-backed combat anatomy with wound-to-need consequences, provenance-gated asset inventory tooling, and a manifest-driven 3D visual render studio.
crates/strata_core: fixed ticks, 3D coordinates, stable entity IDs, deterministic RNG streams, command/event replay, typed/binary snapshots, indexed spatial queries, path reservations, route fields with advisory portal corridors, deterministic combat aim-resolution/near-miss audit events, data-backed body hit profiles, per-part wound health, wound physiology audit scalars, and state hashes.crates/strata_cli: deterministic smoke/combat scenario replay generation, snapshot inspection, machine-readable summaries, and artifact bundles.crates/strata_data: schema-backed content validation for pawn archetypes, humanoid body hit profiles, weapons, ammo, projectiles, utility networks, and research capabilities.crates/strata_observability: structured JSONL logs, spans, counters, state-hash checkpoints, artifact manifests, and visual-analysis bindings/reports.crates/strata_assets: read-only legacy asset manifest extraction and provenance classification. Sidekick/Fenris inventory is reference-only, not the Strata humanoid direction.crates/strata_bench: deterministic simulation-kernel, pathing/reservation, spatial-index, combat aim/projectile/body-hit/per-part-wound throughput, and social-retention throughput harnesses with stable JSON output.crates/strata_world: deterministic aggregate world-history baseline with tiles, settlements, factions, causal events, strategic state hashes, bounded site materialization, and aggregate demotion foldback reports.crates/strata_colony: integrated 24-pawn, 3-Z-level MVP colony runtime with typed scenario state, schedule-owned reducer-driven command admission, route-affordance previews, exact accepted-claim navigation, inventory-backed food/water stock reservations plus rifle-ammo combat consumption, same-tick wound-to-need injury-stress consequences, action/social drivers, deterministic daily-life six-need, social consequence, and world-site reconciliation gates, command hash-bound snapshots/replay, runtime-checkpoint v11 late-join catch-up and checkpoint inspection, local multiplayer connection-handshake, client command-ingress, connected command-ingress, connected-client admission, session-delta, encoded transport delivery, ACK/retry, and loopback gates with explicit event-visibility policy hashes and deterministic transport-frame wrapping, saved session-delta client-projection inspection,scale/retention/daily-life/social/world-site/replay inspectCLI surfaces, subsystem events, reducer reports, artifact bundle generation, and visual projection output.crates/strata_people: deterministic pawn needs, traits, compact genomes, lineages, social relations, bounded interaction logs, compacted relationship retention, andstrata-people social inspecttooling.crates/strata_research: deterministic evidence/institution/capability progression primitives, catalog-backed research capability loading, calendar pacing gates, state hashes,strata-research pacing inspect, and long-horizon doctrine-ladderstrata-research progression runtooling.crates/strata_net: deterministic multiplayer protocol primitives for pre-socket connection handshakes, capability negotiation, client command-ingress artifacts, command admission, delivery frame transcripts, late-join packages/suffixes, interest-scoped snapshot delta bundles, transport-frame artifact wrapping, hash chains, and desync reports.crates/strata_jobs: deterministic job request scoring, pawn-context claims, reservation conflict reduction, and board state hashes.crates/strata_inventory: deterministic container/stack/reservation stock substrate used by the colony MVP for food, water, and combat ammo logistics.crates/strata_infra: deterministic water/waste/power/fuel/heat utility graph reducer with flow, shortage, overflow, contamination, and disconnected-component audits.crates/strata_inference: deterministic integrated-inference boundary for prompt/context/response hashes, typed proposal validation, accepted events, and replay checks.tools/scenario-artifacts: replay-to-visual bridge that emitsstrata.scenario.artifact.v1bundles and renderable scene manifests.tools/world-artifacts: world-history-to-visual bridge for strategic map/debug render manifests.tools/visual-render-studio: Three.js render/inspection surface for Z-level cutaways, pawn crowds, overlays, and combat traces.
cargo test --workspace
cargo run -p strata_cli -- --json --seed 7 --run-id run_smoke --replay-id replay_smoke --artifact-dir /tmp/strata-run --log-level debug
cargo run -p strata_cli -- scenario combat --json --seed 7 --run-id run_combat --replay-id replay_combat --artifact-dir /tmp/strata-run --log-level debug
cargo run -p strata_cli -- snapshot inspect /tmp/strata-run/run_combat/snapshot.bin --json
cargo run -p strata_data --bin strata-content-validate -- --check --json
cargo run -p strata_bench --bin strata-bench -- --seed 9 --entities 4 --ticks 5 --json
cargo run -p strata_bench --bin strata-bench -- pathing --seed 9 --width 4 --height 3 --levels 2 --routes 6 --reservations 4 --max-expanded 128 --json
cargo run -p strata_bench --bin strata-bench -- spatial --seed 9 --cells 20 --levels 9 --entities 12 --queries 6 --updates 3 --removes 2 --radius 2 --json
cargo run -p strata_bench --bin strata-bench -- combat --seed 5 --shooters 4 --targets 4 --ticks 3 --range 6 --cover-every 2 --json
cargo run -p strata_bench --bin strata-bench -- social --seed 9 --actors 128 --interactions 4096 --social-log-limit 16 --relation-limit 64 --json
cargo run -p strata_world --bin strata-world -- --seed 7 --tiles 12 --years 10 --json
cargo run -p strata_people --bin strata-people -- social inspect --seed 33 --actors 1000 --interactions 5000 --social-log-limit 64 --relation-limit 1000 --edge-limit 5 --top 5 --repeat 2 --json
cargo run -p strata_research --bin strata-research -- pacing inspect --json
cargo run -p strata_research --bin strata-research -- catalog inspect --schema-root schemas/strata-content/v1 --data-root data/strata_core/v1 --json
cargo run -p strata_research --bin strata-research -- progression run --scenario doctrine-ladder --seed 7 --years 100 --compressed-days 730 --repeat 2 --json
cargo run -p strata_colony --bin strata-colony -- mvp --seed 424242 --ticks 96 --run-id run_colony_mvp --artifact-dir target/tmp/strata-colony-mvp/run_colony_mvp --json
cargo run -p strata_colony --bin strata-colony -- mvp --seed 424242 --ticks 96 --run-id run_colony_commanded --artifact-dir target/tmp/strata-colony-mvp/run_colony_commanded --command-schedule docs/examples/colony-command-schedule.example.json --json
cargo run -p strata_colony --bin strata-colony -- inspect target/tmp/strata-colony-mvp/run_colony_mvp/snapshot.colony.bin --json
cargo run -p strata_colony --bin strata-colony -- scale --seed 9 --ticks 4 --pawns 64 --variant layered-settlement --movement-batch 16 --json
cargo run -p strata_colony --bin strata-colony -- late-join gate --seed 424242 --ticks 8 --join-tick 4 --checkpoint-output target/tmp/strata-late-join-checkpoint.bin --json
cargo run -p strata_colony --bin strata-colony -- late-join checkpoint inspect target/tmp/strata-late-join-checkpoint.bin --json
cargo run -p strata_colony --bin strata-colony -- multiplayer connection-handshake --seed 424242 --ticks 8 --pawns 24 --player-id 2 --artifact-output-dir target/tmp/connection-handshake --json
cargo run -p strata_colony --bin strata-colony -- multiplayer command-ingress --seed 424242 --ticks 8 --pawns 24 --reconnect-tick 4 --artifact-output-dir target/tmp/command-ingress --json
cargo run -p strata_colony --bin strata-colony -- multiplayer connected-command-ingress --seed 424242 --ticks 8 --pawns 24 --player-id 2 --reconnect-tick 4 --artifact-output-dir target/tmp/connected-command-ingress --json
cargo run -p strata_colony --bin strata-colony -- multiplayer session-delta --seed 424242 --ticks 8 --pawns 24 --base-tick 4 --player-id 1 --z-min 0 --z-max 2 --bundle-output target/tmp/session-delta.bin --json
cargo run -p strata_colony --bin strata-colony -- multiplayer session-delta inspect target/tmp/session-delta.bin --json
cargo run -p strata_colony --bin strata-colony -- multiplayer transport-delivery --seed 424242 --ticks 8 --pawns 24 --base-tick 4 --z-min 0 --z-max 2 --frame-output-dir target/tmp/transport-delivery --json
cargo run -p strata_colony --bin strata-colony -- multiplayer connected-client --seed 424242 --ticks 8 --pawns 24 --player-id 2 --base-tick 4 --z-min 0 --z-max 2 --artifact-output-dir target/tmp/connected-client --json
cargo run -p strata_colony --bin strata-colony -- multiplayer transport-ack-retry --seed 424242 --ticks 8 --pawns 24 --base-tick 4 --z-min 0 --z-max 2 --max-pending-frames 2 --artifact-output-dir target/tmp/transport-ack-retry --json
cargo run -p strata_colony --bin strata-colony -- multiplayer transport-ack-retry inspect target/tmp/transport-ack-retry/ack-retry.transcript.bin --json
cargo run -p strata_colony --bin strata-colony -- multiplayer transport-loopback --seed 424242 --ticks 8 --pawns 24 --base-tick 4 --z-min 0 --z-max 2 --max-pending-frames 2 --drop-recipient 2 --artifact-output-dir target/tmp/transport-loopback --json
cargo run -p strata_colony --bin strata-colony -- replay inspect --artifact-dir target/tmp/strata-colony-mvp/run_colony_mvp --pawn pawn_1000 --tick-start 0 --tick-end 4 --json
cargo run -p strata_colony --bin strata-colony -- retention age-gate --seed 12345 --ticks 12 --ticks 24 --pawns 24 --recent-ticks 3 --repeat 2 --save-age-offset 0 --save-age-offset 1000 --save-age-offset 100000 --save-age-offset 630720000000 --max-retained-events 160 --max-retained-reducers 48 --max-active-command-keys 4 --max-active-path-reservations 384 --max-active-job-requests 24 --max-active-job-claims 24 --max-pending-job-claims 0 --max-job-bucket-entries 24 --max-active-actions 24 --max-active-action-steps 72 --max-active-action-path-reservations 384 --max-active-action-stock-reservations 24 --max-active-inventory-containers 32 --max-active-inventory-stacks 64 --max-active-stock-reservations 24 --json
cargo run -p strata_colony --bin strata-colony -- daily-life six-need-gate --seed 424242 --ticks 256 --pawns 24 --json
cargo run -p strata_colony --bin strata-colony -- social consequence-gate --seed 424242 --ticks 64 --pawns 24 --json
cargo run -p strata_colony --bin strata-colony -- world-site reconciliation-gate --seed 7 --world-years 1000 --tiles 12 --recent-event-years 25 --era-years 50 --settlement 0 --source-event-cap 8 --active-pawn-cap 24 --ticks 64 --repeat 2 --json
cargo test -p strata_colony --test commands
cargo test -p strata_colony --test cli_tools
cargo test -p strata_colony --test world_site_reconciliation
cargo test -p strata_colony --test replay
cargo test -p strata_colony --test runtime_commands
cargo test -p strata_colony --test activity_driver
cargo test -p strata_colony --test scale
npm run mvp-slice:check
npm run core-hot-primitives:check
npm run scenario-artifacts:check
npm run scenario-artifacts:fresh:check
npm run world-artifacts:check
npm run visual:check
npm run visual:screenshot -- --manifest tools/visual-render-studio/fixtures/colony-cutaway.json --output /tmp/strata-visual/colony-cutaway.png --json --capture canvasGitHub Actions runs cargo fmt --all -- --check,
cargo clippy --workspace --all-targets -- -D warnings,
cargo test --workspace, npm run doctrine:gate, the MVP/world/scenario
artifact checks, the visual render unit/check gates, the visual animation loop
gate, the visual interaction gate, the visual regression gate, the visual promo
clip gate, the daily-life six-need gate, the social consequence gate, the combat
aim-resolution benchmark gate, the core hot primitive benchmark gate, and the
human-readable MVP gate on pushes to master and pull
requests. The doctrine gate uploads strata-doctrine-gate, whose
doctrine-gate.report.json includes the 1,000-pawn runtime scale throughput
gate and its embedded deterministic runtime_scale_gate proof. The world-site reconciliation gate emits
strata.colony.world_site_reconciliation_gate.v1 proof that a 1,000-year
strategic world can materialize a bounded active site, build a colony scenario
from its materialization hash, ingest capped source records into runtime world
pressure, derive nonzero site demotion from runtime consumption/pressure, fold
that delta back into aggregate world state, preserve unrelated settlements, and
repeat deterministically. The human-readable MVP gate emits
promptToArtifactChecklist in its
strata.mvp.acceptance_gate.v1 report, binding MVP requirements to concrete
artifact paths, JSON pointers, counts, hashes, commands, and external CI gates,
then uploads the rendered artifact bundle as strata-human-readable-mvp-gate;
the daily-life gate uploads strata-daily-life-six-need-gate with
strata.colony.daily_life_six_need_gate.v1 matched-chain proof that drink,
eat, clean, sleep, recreation, and talk each request, claim, pass inventory
audit, complete, apply positive need deltas, respect stock/no-stock semantics,
stay bounded by pawn count, remain replay-queryable across every stage, and
repeat deterministically;
the social consequence gate uploads strata-social-consequence-gate with
strata.colony.social_consequence_gate.v1 proof that logged interactions have
same-sequence pawn need consequences, update relation state, record witnesses,
account for retained plus compacted social history, remain replay-queryable, and
repeat deterministically;
the core hot primitive benchmark gate uploads
strata-core-hot-primitive-benchmarks with
strata.core_hot_primitives.gate.v1 evidence for deterministic
pathing/reservation, spatial-index, social-retention, and combat cover/line-of-fire
smoke workloads, including fixed final workload hashes, hot query hashes, and
per-benchmark gate.json outputs;
the combat aim-resolution gate uploads strata-combat-aim-resolution-gate with
strata.bench.combat_projectile_throughput.v1 proof that deterministic shots
emit aim-resolution, projectile traces, cover intersections, profile-hashed
body hits, armor, per-part wounds, suppression, broadphase, audit-hash, and
final workload hashes;
the world-site gate uploads strata-world-site-reconciliation-gate with the
machine-readable world/site/runtime/reconciliation hashes and pass checks;
the interaction gate uploads
strata-visual-interaction-gate with the cutaway/overlay/pawn-selection report;
the animation loop gate uploads strata-visual-animation-loop-gate with a
1,000-pawn frame sequence and strata.visual.animation_loop_artifact.v1
manifest. The promo clip gate uploads strata-visual-promo-gate with the
rendered MP4 and strata.visual.promo_clip_artifact.v1 manifest.
The fresh scenario artifact chain uploads
strata-fresh-scenario-artifact-chain with regenerated combat scenario output,
snapshot inspection JSON, projection check output, and the projected
strata.scenario.artifact.v1 bundle.
AGENTS.md: repository-wide agent operating rulesdocs/architecture.md: main technical architecturedocs/studio-doctrine.md: Codex-native studio doctrinedocs/concurrent-agent-protocol.md: multi-session coordination rulesdocs/tooling-doctrine.md: 10/10 agent-usable tooling rulesdocs/visual-render-studio.md: 3D render and promo content tooling plandocs/world-history.md: world, lineages, genetics, and long-horizon simulationdocs/people-social.md: bounded social relationship retention andstrata-peopleinspection toolingdocs/progression-research.md: capability-based research and technology progressiondocs/asset-strategy.md: current asset direction, AI Human Animation Forge path, and provenance rulesdocs/fenris-sidekick-assets.md: local Fenris/Synty Sidekick legacy inventory and reference-only extractordocs/mvp-plan.md: first durable MVP vertical slice and acceptance plandocs/runtime-observability.md: structured logging, traces, metrics, and long-run artifact rulesdocs/visual-analysis.md: screenshot/video analysis artifact contractdocs/inference-boundary.md: deterministic boundary for integrated AI/inferencedocs/benchmarking.md: deterministic benchmark harness expectationsdocs/jobs-scheduler.md: deterministic pawn job scoring and claim reduction primitivedocs/infrastructure-network.md: deterministic utility network reducer primitivedocs/inventory-logistics.md: deterministic stock/reservation substrate and colony MVP inventory bindingdocs/scenario-artifacts.md: replay-to-visual artifact bundle contractdocs/scenario-cli.md: headless smoke/combat scenario replay generationdocs/world-runner.md: deterministic aggregate world-history runnerdocs/colony-runtime.md: integrated 24-pawn MVP colony runtime, command APIs, replay/scale CLI tooling, artifact bundle, and verification pathdocs/world-artifacts.md: world-history-to-visual artifact bridgedocs/multiplayer-protocol.md: deterministic multiplayer protocol primitives, late join, local session, and snapshot delta bundle contractsdocs/combat-extended-reference.md: Combat Extended reference map and provenance rulesdocs/infrastructure-mod-references.md: Dubs Bad Hygiene, Rimefeller, and Rimatomics reference mapdocs/strata-skills.md: local Strata skill inventory
The reusable Strata Codex skills are mirrored in skills/ and installed locally under /home/lycaon/.codex/skills/.