- C++ 87.9%
- Python 10.2%
- CMake 1.3%
- Shell 0.6%
| .forgejo | ||
| cli | ||
| cmake | ||
| core | ||
| docs | ||
| io | ||
| metrics | ||
| sim | ||
| tests | ||
| tools | ||
| workload | ||
| .clang-format | ||
| .clang-tidy | ||
| .editorconfig | ||
| .gitignore | ||
| .markdownlint.json | ||
| .mdl_style.rb | ||
| .mdlrc | ||
| .pre-commit-config.yaml | ||
| CMakeLists.txt | ||
| LICENSE | ||
| README.md | ||
AES — Authority Evolution Simulator
AES (Authority Evolution Simulator) is a research simulator for studying how authority evolves over time in capability-based systems.
Rather than modeling a concrete operating system or kernel, AES treats authority as a temporal graph and focuses on long-term dynamics such as revocation, provenance, epistemic limits, persistence, and collapse. The simulator is designed to support controlled, reproducible experiments that expose structural limits of authority management in long-lived systems.
What AES is (and is not)
AES is:
- a research simulator
- a temporal model of authority and delegation
- a tool for empirical studies accompanying academic publications
AES is not:
- an operating system or microkernel
- a kernel emulator
- a security product
- a performance benchmark
The goal is explanatory power, not deployment.
Core design invariants
AES is built around a small number of non-negotiable invariants:
- All authority changes occur via explicit events
- Authority state is fully reconstructible from history
- Simulation runs are deterministic given a seed
- Metrics are pure functions over history or snapshots
- There is a strict separation between ground truth and observation
These invariants are established in Phase 0 and preserved throughout all later phases.
Research structure
Development is organized into Phases 0–6. Phases are cumulative: each phase weakens an assumption made by earlier ones.
| Phase | Focus |
|---|---|
| Phase 0 | Core simulator infrastructure and invariants |
| Phase 1 | Revocation semantics under full knowledge |
| Phase 2 | Failure of static authority models |
| Phase 3 | Epistemic limits of authority reasoning |
| Phase 4 | Revocation horizons and historical limits |
| Phase 5 | Memory, persistence, and authority residue |
| Phase 6 | Predicting authority collapse |
Phases are tracked as milestones in the issue tracker.
Tasks within a phase are tracked as issues, with checklist items
corresponding to individual commits.
Repository structure
The repository is organized by responsibility, not by phase:
cli/ Command-line tools
core/ Core data structures and invariants
docs/ Specifications and phase documentation
io/ Event logs, replay, and serialization
metrics/ Measurement and analysis code
sim/ Simulation engine and execution logic
tests/ Determinism, invariants, and correctness tests
tools/ Auxiliary scripts and helpers
workload/ Workload and stress-test generators
Workflow overview
- Milestones represent Phases (0–6)
- Issues represent approximately one-day Tasks
- Issue checklists represent Steps (≈ one commit)
- Labels describe semantics (e.g.
revocation,metrics,epistemic) - A single Kanban board is used for daily execution only
Reproducibility
AES is designed so that:
- identical seeds produce identical event traces,
- all results can be regenerated from raw logs,
- figures and tables are derived from scripts, not manual steps.
Reproducibility is treated as a research requirement, not an afterthought.
Workload-Family Experiments
AES sweep mode now emits one row per run in experiment_runs.csv in addition
to existing sweep artifacts. This enables workload-family reporting over
(strategy, depth, fan_out, seed) instead of single-graph snapshots.
Default Phase 1 workload-family matrix and analysis scripts:
- config:
tools/figures/phase1/sweep_workload_family_default.json - run + validate + aggregate + plots:
tools/regen-workload-family.sh - summary table output:
results/summary/by_strategy_depth_fanout.csv
License
AES is released under the MIT License.
See LICENSE for details.
Status
This repository is under active research-driven development.
Interfaces may evolve between phases, but core invariants are preserved
deliberately.
If you are reading this as part of an academic artifact evaluation:
the recommended entry point is
Phase 0 documentation in docs/.
Citation
A formal citation will be added once the first associated publication is available.