# Audit manifest

Tracks names of newly-added artifacts so the three audit scripts
(`scripts/audit-isv.sh`, `scripts/audit-wiring.sh`,
`scripts/audit-diag.sh`) can verify ISV-residency, wiring, and
diagnostic exposure on every commit.

These manifests are SP-agnostic — they hold the cumulative set of
"things introduced by the active development line" that downstream
ship gates audit. SP20 starts the convention; future SPs extend it.

## Files

* `kernels.txt`     — one new .cu kernel basename per line (e.g. `rl_trail_mutate`)
* `slots.txt`       — one new RL_*_INDEX constant name per line (e.g. `RL_TRAIL_ADJUST_RATE_INDEX`)
* `heads.txt`       — one new head module name per line (e.g. `frd`)
* `actions.txt`     — one new Action enum entry per line (e.g. `HalfFlatLong`)
* `diag-fields.txt` — one new diag JSONL field path per line, jq-syntax
                      (e.g. `.units.unit_count`, `.trail.fired_count_step`)

## Workflow per phase commit

1. Implement the phase (new kernel / slot / head / action / diag field)
2. Append the names to relevant manifest files
3. Run `scripts/audit-isv.sh` — must report 0 violations
4. Run `scripts/audit-wiring.sh` — must report 0 violations
5. Run `scripts/audit-diag.sh` — must report 0 missing fields
6. Commit (the manifest append + the code in the same commit)

Failures are immediately actionable — no "iterate within scope"
softness. Per SP20 spec §0.4.

## Lines starting with `#` are comments and ignored by the audit
## scripts. Blank lines also ignored.
