How eng-cc/oasis7 works
oasis7 is a persistent, LLM-driven multi-agent civilization simulation with programmable WASM capabilities and decentralized world-state consensus. The principal documented path is indirect player guidance through autonomous agents, whose actions are governed by the world runtime, extended by WASM, and maintained through consensus, storage, and networking. The viewer provides observation and indirect control rather than node duties. Core simulator, node, networking, storage, and viewer components are represented; several links rely on README architecture statements or SOURCE INDEX references, since the corresponding source excerpts were not provided.
Main entry points: state.rs World Runtime · node_engine_core.rs Node Engine · node_engine_replication.rs Replication · async_agent_runner.rs Async Agent Runner
Components 22
Player Access
- Client Launcher
crates/oasis7_client_launcher/src/main.rs - Viewer UI
crates/oasis7_viewer/software_safe_src/main.jsx - Viewer Server
crates/oasis7/src/viewer/server.rs
Agent Simulation
- Agent
crates/oasis7/src/simulator/agent.rs - Decision Provider
crates/oasis7/src/simulator/decision_provider.rs - Cognition Policy
crates/oasis7/src/simulator/cognition_policy.rs - Async Agent Runner
crates/oasis7/src/simulator/async_agent_runner.rs - Turn Engine
crates/oasis7/src/simulator/turn_engine.rs
World Rules
- WASM Modules
crates/oasis7/src/runtime/module_store.rs - World Runtime
crates/oasis7/src/runtime/state.rs - Gameplay Rules
crates/oasis7/src/runtime/gameplay.rs - Governance
crates/oasis7/src/runtime/governance.rs
Execution and Consensus
- Node Engine
crates/oasis7_node/src/node_engine_core.rs - Replication
crates/oasis7_node/src/node_engine_replication.rs - Consensus
crates/oasis7_consensus/src/lib.rs
Persistence and Access
- Execution Storage
crates/oasis7_net/src/execution_storage.rs - Distributed Storage
crates/oasis7_distfs/src/lib.rs - Peer Networking
crates/oasis7_net/src/libp2p_net/peer_manager.rs - Runtime Status
crates/oasis7/src/bin/oasis7_chain_runtime/status_payload.rs - Reward Worker
crates/oasis7/src/bin/oasis7_chain_runtime/reward_runtime_worker.rs - Storage Metrics
crates/oasis7/src/bin/oasis7_chain_runtime/storage_metrics.rs
Other components
- Player
Connections 22
- Player → Client Launcher: guides indirectly
README.md - Player → Viewer UI: observes and guides
README.md - Viewer UI → Viewer Server: sends requests
- Viewer Server → World Runtime: serves snapshots
crates/oasis7/src/viewer/server.rs - Agent → Decision Provider: requests decisions
crates/oasis7/src/simulator/agent.rs - Async Agent Runner → Agent: runs
crates/oasis7/src/simulator/async_agent_runner.rs - Async Agent Runner → Cognition Policy: applies policy
crates/oasis7/src/simulator/async_agent_runner.rs - Turn Engine → Async Agent Runner: delegates turns
crates/oasis7/src/simulator/turn_engine.rs - Turn Engine → World Runtime: requires runtime proof
crates/oasis7/src/simulator/turn_engine.rs - Player → WASM Modules: guides development
README.md - WASM Modules → World Runtime: extends rules
README.md - World Runtime → Gameplay Rules: validates actions
- World Runtime → Governance: applies governance
- World Runtime → Node Engine: supplies world execution
README.md - Node Engine → Consensus: proposes state
README.md - Node Engine → Replication: dispatches replication
crates/oasis7_node/src/node_engine_replication.rs - Replication → Execution Storage: fetches and persists
- Execution Storage → Distributed Storage: writes execution data
- Consensus → Peer Networking: coordinates peers
README.md - Replication → Peer Networking: syncs peers
- Runtime Status → Reward Worker: reports worker status
crates/oasis7/src/bin/oasis7_chain_runtime/status_payload.rs - Runtime Status → Storage Metrics: reports storage usage
crates/oasis7/src/bin/oasis7_chain_runtime/status_payload.rs