SynthWorld user guide
This file is now a compatibility index for repository links and historical anchors. Detailed user documentation lives at https://bluntmachetti.github.io/synthworld/.
Use these canonical entry points:
- Getting Started
- Guides
- Evaluating a system
- Identity resolution
- Privacy and exposure
- Agent authority
- Enterprise identity and access
- Enterprise Identity Planning
- Technical reference
- Benchmark inventory
- Data dictionary
The headings below intentionally preserve earlier GitHub anchors while routing each topic to its canonical owner.
Choose your use case
See the documentation home for current journey routing and the generated benchmark catalogue for governed current state.
The three-part workflow
See Evaluating a system.
Try SynthWorld without installing it
Browse the published frozen tables on Hugging Face, then use Benchmarks for publication boundaries.
Install and create your first world
See Getting Started.
Run five foundational evaluation examples
See Evaluating a system.
Use case 1: safe connected identity fixtures
See Identity worlds and BENCHMARKS.md for the core fixture’s measured limits.
Use case 2: PII extraction
See Privacy and exposure and DATA_DICTIONARY.md for the exact extraction contract.
Use case 3: entity resolution
See Identity resolution.
Use case 4: relationship inference
See Identity worlds, Evaluating a system, and BENCHMARKS.md.
Use case 5: breach-risk calibration
See Privacy and exposure and DATA_DICTIONARY.md.
Use case 6: agent identity and delegated authority
See Agent authority, Asteria Agentic v1, and the agent-authority contract.
Use case 7: exposure scenarios
See Privacy and exposure.
Use case 8: households and workplaces
See Identity worlds and BENCHMARKS.md.
Generation cost
The original guide carried one measured reference that is retained here for compatibility until it has a dedicated generated-performance reference page. examples/measure_households_cost.py records interpreter and platform with each run.
Reference run: Python 3.12.12, Linux x86-64, glibc 2.43; three timed repeats after a discarded warm-up.
| People | Median runtime | Peak Python allocation |
|---|---|---|
| 100 | 0.046 s | 1.1 MiB |
| 500 | 0.287 s | 12.3 MiB |
| 2000 | 2.003 s | 116.6 MiB |
uv run python examples/measure_households_cost.py --person-count 100 --repeats 5
Peak allocation is tracemalloc, not process RSS. The configured 2000-person ceiling is not a measured performance cliff.
Use case 9: identity-resolution ambiguity
See Identity resolution.
Two truths, kept apart
See Identity resolution and Public vs evaluator.
Score complete partitions before projecting pairs
See Identity resolution.
The report has no aggregate score
See Identity resolution and Metrics.
Reference baselines
See Identity resolution and BENCHMARKS.md.
Limits, stated plainly
See Identity resolution and BENCHMARKS.md.
Use case 10: search-provider input without the answer key
See Privacy and exposure.
The public half rejects truth, it does not merely omit it
See Public vs evaluator.
Controlled failure modes, all planted deliberately
See Privacy and exposure and BENCHMARKS.md.
Scoring, and what it refuses to hide
See Privacy and exposure and Metrics.
Reference baselines
See Privacy and exposure and BENCHMARKS.md.
Use case 11: enterprise identity and access structure
See Enterprise Identity Planning, Enterprise identity and access, and the enterprise contract.
Author, validate, compile
See Enterprise identity and access.
Validation reports every error in a stage, not the first one
See the enterprise contract for normative validation behavior.
What compilation writes
See Enterprise identity and access and the enterprise contract.
What the seed moves, and what it does not
See Determinism, seeds, and keys.
Limits worth knowing before you author
See the enterprise contract.
Use case 12: projecting a compiled world to SCIM, OpenFGA, and AuthZEN
See Standards profiles and the enterprise contract.
SCIM
See Standards profiles.
OpenFGA
See Standards profiles.
AuthZEN
See Standards profiles.
Every projection reports what it lost
See Standards profiles and the normative enterprise contract.
Shared Signals / CAEP is a declaration, not an emitter
See Standards profiles.
Use case 13: enterprise authorization benchmarks
See Enterprise Identity Planning, Enterprise identity and access, Evaluating a system, and the relevant contract README.
Run the enterprise-agentic smoke pack
See Enterprise identity and access and CLI reference.
Check the shape before you score
See Evaluating a system.
Evaluate a prediction
See Evaluating a system.
Scoring the directory/RBAC oracle from Python
See Enterprise identity and access and the enterprise contract.
The identity-fabric pack is Python-only
See CLI reference and the enterprise contract.
Limits, stated plainly
See Enterprise identity and access and Benchmarks.
Reading evaluation results
See Metrics and Evaluating a system.
Safety boundary
See Safety boundary and Public vs evaluator.
Enterprise trees
See Enterprise identity and access and the normative enterprise contract.