AES (Authority Evolution Simulator) is a research simulator for studying how authority evolves over time in capability-based systems.
  • C++ 87.9%
  • Python 10.2%
  • CMake 1.3%
  • Shell 0.6%
Find a file
Erik Inkinen 6ad94c4e0b
All checks were successful
ci / smoke (push) Successful in 1m26s
clang-format / check-format (push) Successful in 10s
markdownlint / markdown-lint (push) Successful in 10s
Phase 1: Implement workload-family experiment reporting and validation tools
2026-03-12 15:17:48 +02:00
.forgejo Phase 1: Plot and figure generation pipeline (#78) 2026-03-06 12:39:52 +01:00
cli Phase 1: Implement workload-family experiment reporting and validation tools 2026-03-12 15:17:48 +02:00
cmake Phase 0: repository scaffold and conventions (#41) 2026-01-31 19:46:26 +02:00
core Phase 1: Strategy D: epoch / indirection revocation (#73) 2026-03-06 10:19:31 +01:00
docs Phase 1: Implement workload-family experiment reporting and validation tools 2026-03-12 15:17:48 +02:00
io Phase 1: Strategy D: epoch / indirection revocation (#73) 2026-03-06 10:19:31 +01:00
metrics Phase 1: Strategy-Differentiating Revocation Artifacts and Figure Pipeline (#81) 2026-03-06 13:49:08 +01:00
sim Phase 1: Strategy D: epoch / indirection revocation (#73) 2026-03-06 10:19:31 +01:00
tests Phase 1: Implement workload-family experiment reporting and validation tools 2026-03-12 15:17:48 +02:00
tools Phase 1: Implement workload-family experiment reporting and validation tools 2026-03-12 15:17:48 +02:00
workload Phase 1: Strategy-Differentiating Revocation Artifacts and Figure Pipeline (#81) 2026-03-06 13:49:08 +01:00
.clang-format Fix: Code and documentation formatting (#44) 2026-02-04 11:21:19 +01:00
.clang-tidy Phase 0: repository scaffold and conventions (#41) 2026-01-31 19:46:26 +02:00
.editorconfig Phase 0: repository scaffold and conventions (#41) 2026-01-31 19:46:26 +02:00
.gitignore Phase 0: repository scaffold and conventions (#41) 2026-01-31 19:46:26 +02:00
.markdownlint.json Fix: Code and documentation formatting (#44) 2026-02-04 11:21:19 +01:00
.mdl_style.rb Add .mdlrc 2026-02-04 12:31:54 +02:00
.mdlrc Add .mdlrc 2026-02-04 12:31:54 +02:00
.pre-commit-config.yaml Fix: Code and documentation formatting (#44) 2026-02-04 11:21:19 +01:00
CMakeLists.txt Phase 0: Metrics framework (#60) 2026-03-03 13:12:50 +01:00
LICENSE Initial commit 2026-01-31 19:05:44 +02:00
README.md Phase 1: Implement workload-family experiment reporting and validation tools 2026-03-12 15:17:48 +02:00

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 06. 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 (06)
  • 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.