fix: evidence/README.md schema should be updated to include candidate_commit and methodology fields (#1086)

Add the `methodology` field to the red-team schema (JSON example and
field table). `candidate_commit` was already documented in a prior
update; no change needed for that field.

The new field is backward-compatible — it is a free-text string already
present in existing evidence files (2026-03-20.json, 2026-03-23-*.json).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
johba 2026-03-24 21:27:44 +00:00
parent e1cd283f6a
commit 5fea16e12e

View file

@ -235,6 +235,7 @@ Records one adversarial red-team run against a candidate optimizer.
"lm_eth_after": 998500000000000000000, "lm_eth_after": 998500000000000000000,
"eth_extracted": 1500000000000000000, "eth_extracted": 1500000000000000000,
"floor_held": false, "floor_held": false,
"methodology": "Each attack is snapshot-isolated: Anvil snapshot before, execute, measure, revert.",
"verdict": "floor_broken" | "floor_held", "verdict": "floor_broken" | "floor_held",
"attacks": [ "attacks": [
{ {
@ -258,6 +259,7 @@ Records one adversarial red-team run against a candidate optimizer.
| `lm_eth_after` | integer (wei) | LM total ETH at end | | `lm_eth_after` | integer (wei) | LM total ETH at end |
| `eth_extracted` | integer (wei) | `lm_eth_before - lm_eth_after` (0 if floor held) | | `eth_extracted` | integer (wei) | `lm_eth_before - lm_eth_after` (0 if floor held) |
| `floor_held` | boolean | `true` if no ETH was extracted | | `floor_held` | boolean | `true` if no ETH was extracted |
| `methodology` | string | How the red-team run was conducted (e.g. snapshot-isolation procedure, measurement tool, revert strategy). Free-text; should be detailed enough to reproduce the run independently |
| `verdict` | string | `"floor_held"` or `"floor_broken"` | | `verdict` | string | `"floor_held"` or `"floor_broken"` |
| `attacks[].strategy` | string | Human-readable strategy name | | `attacks[].strategy` | string | Human-readable strategy name |
| `attacks[].pattern` | string | Abstract op sequence (e.g. `wrap → buy → stake`) | | `attacks[].pattern` | string | Abstract op sequence (e.g. `wrap → buy → stake`) |