Primary finding
`--argjson totals "{...}"` interpolates shell variables into a JSON literal without quoting/validation
- skills/fleet-state/SKILL.md:188-195
`N_TOTAL`/etc. are produced via `jq '.totals.total' file`. If `fork-cohort-state.json` is malformed or a field is missing, jq emits `null` or non-numeric output, producing JSON like `{"total":null,...}` or `{"total":,...}` which is invalid and trips the FLEET_STATE_STATE_CORRUPT path — but more importantly, the spec's Security section claims fork names/release tags are treated as untrusted, yet this same pattern would be unsafe if any value-bearing field were ever interpolated similarly. The Security claim is therefore narrower than the spec implies. Even restricted to integers, missing-key `null` corrupts the snapshot silently if jq accepts it.
Recommendation
Validate each `N_*` is a non-empty integer (`[[ "$N_TOTAL" =~ ^[0-9]+$ ]] || exit ...`) before composing the argjson literal, and fall back to 0 with a logged warning rather than `null`.