Compile once. Generate any world.
GEN3S1S is a synthetic world generator that compiles declarative Genesis files into living data systems. Unlike traditional data generators that produce random records, GEN3S1S synthesizes causal systems with explicit laws, constraints, and emergent behaviors.
Why GEN3S1S?
Traditional synthetic data tools generate isolated records. GEN3S1S generates worlds:
| Traditional Generators | GEN3S1S |
|---|---|
| Random records | Causal systems |
| Statistical mimicry | Explicit laws |
| Black-box outputs | Traceable outcomes |
| Non-reproducible | Deterministic seeds |
| Single-use snapshots | Living simulations |
Quick Start
# Install from source cargo install --path . # Create a new Genesis file (interactive) gen3s1s init my-world.yaml # Create with AI assistance (Anthropic Claude) gen3s1s init my-world.yaml --ai anthropic # Set your API key first: export ANTHROPIC_API_KEY="sk-..." # Validate a Genesis file gen3s1s validate my-world.yaml # Inspect world structure gen3s1s inspect my-world.yaml --detailed # Compile to executable world gen3s1s compile my-world.yaml -o compiled.json # Generate deterministic synthetic data gen3s1s generate my-world.yaml --seed 42 --count 1000 --format json gen3s1s generate my-world.yaml --seed 42 --output data.jsonl --format jsonl
Genesis Files
A Genesis file is a YAML declaration of a universe:
version: "1.0" name: "simple-economy" description: "A minimal economic simulation" entities: Account: attributes: balance: type: float constraints: min: 0 # Invariant: no negative balances owner_id: type: string rules: invariants: - name: "non-negative-balance" expression: "Account.balance >= 0" dynamics: - name: "transaction" trigger: event: "transfer" effect: source: "balance -= amount" target: "balance += amount" generators: transactions: type: events source: Account rate: "100/day" duration: "30 days"
Core Concepts
- Genesis File: YAML declaration of world rules, entities, and constraints
- World: Compiled runtime with state and simulation capabilities
- Entity: Things that exist and change (users, accounts, transactions)
- Rule: Laws governing behavior (invariants, dynamics, correlations)
- Generator: Output producers (time series, events, populations)
Guiding Principles
- Laws over models — Every outcome traces to explicit rules
- Constraints over vibes — Bounds and invariants are first-class
- Determinism over opacity — Same seed = same world
- Scale without shortcuts — Millions of records from foundational rules
- Reality as a system, not a sample — Emergent behavior from composition
CLI Commands
All commands are fully implemented and tested:
- init — Create a new Genesis file (interactive or AI-assisted via Anthropic/OpenAI)
- validate — Validate Genesis file structure and references
- compile — Compile Genesis to JSON world specification
- generate — Generate deterministic synthetic data with seeding
- inspect — View world structure, entities, rules, and generators
Each command includes helpful error messages and progress indicators for long operations.
AI Provider Configuration
GEN3S1S supports AI-assisted Genesis file creation via Anthropic or OpenAI:
# Set your API key export ANTHROPIC_API_KEY="your-key-here" # or export OPENAI_API_KEY="your-key-here" # Generate a Genesis file from natural language description gen3s1s init economy.yaml --ai anthropic # Describe: "A simple economy with users, accounts, and transactions"
Development
# Clone and setup git clone https://github.com/youruser/gen3s1s cd gen3s1s # Build cargo build # Run tests cargo test # Run with clippy cargo clippy # Run CLI cargo run -- --help
Blessed Crates Only
This project uses only well-maintained, industry-standard Rust crates:
clap— CLI argument parsingserde+serde_yaml— Serializationtokio+reqwest— Async HTTP for AI providersrand+rand_chacha— Deterministic randomnesstracing— Structured loggingindicatif— Progress bars
License
MIT
Built for the GitHub Copilot CLI Challenge 2026