# YATP Simulator Instructions

Before changing files under this directory, read `README.md` completely. It is
the source of truth for the simulator's implemented configuration, usage, and
scheduler-fidelity requirements.

- Verify the current read-pool, YATP queue, and fairness-accounting source paths
  linked from the README before implementing or changing scheduler behavior.
- Update the README together with any user-visible configuration or semantic
  change.
- Keep production `KeyspaceMetrics` installed by default so simulations retain
  its production-path overhead. Read its fair-queue length histogram for the
  keyspace-level queue-length report. Collect all other report metrics
  separately in the simulator at `(keyspace, task class)` runtime scope; do
  not use the remaining `KeyspaceMetrics` collectors as report data sources.
- Keep report markup, CSS, and JavaScript in `templates/report.html`; do not
  move the template into Rust source.
- Keep YATP scheduling fairness distinct from resource-control token admission,
  and state explicitly when an experiment combines the two.
