Every time you runDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Antisource/heronaisec/llms.txt
Use this file to discover all available pages before exploring further.
python main.py, Heron AI Security writes all outputs into a self-contained, timestamped directory under results/. Nothing is overwritten between runs — each execution produces its own isolated snapshot of metrics, figures, and model checkpoints, making it straightforward to compare configurations or revisit any prior result.
Output Directory Structure
Each run creates a directory named after the experiment and a timestamp, following the format produced by thetimestamp() utility function in src/utils.py (YYYYMMDD_HHMMSS).
figures/ subdirectory is created by save_results() in experiments/baseline.py before any plots are written. reviewer_intervention.png is only generated when reviewer.enabled: true is set in the YAML config.
metrics.csv Format
metrics.csv is the primary tabular record of the experiment. Each row corresponds to one evaluation point along the progressive fine-tuning schedule — one for the backdoored baseline (before any intervention) and one for every non-zero entry in intervention.clean_ratios.
| Column | Type | Description |
|---|---|---|
clean_ratio | float | Clean data fraction used for the intervention (0.0–1.0) |
experiment | string | "baseline" when ratio = 0, "clean_intervention" for all subsequent stages |
clean_accuracy | float | Classification accuracy on clean (untriggered) test examples |
attack_success_rate | float | Fraction of triggered examples classified as target_label |
mean_trigger_confidence | float | Mean softmax probability assigned to target_label for triggered inputs |
retention_ratio | float | ASR(t) / ASR(0) — normalized measure of remaining backdoor capability |
retention_ratio is always 1.0 at the baseline row (clean_ratio = 0.0) because the denominator is the baseline ASR itself. Values below 1.0 indicate that the backdoor has partially degraded; 0.0 indicates full eradication.
Checkpoint Artifacts
Model checkpoints are saved throughout the experiment inside acheckpoints/ subdirectory. The directory layout matches the intervention schedule:
load_model() from src/models.py:
Reading metrics.csv in Python
Usepandas to load and inspect results from any run: