# make_tables.py — concurrent-edit incident, 2026-11-03 ~20:00–20:10 ET (reported by Agent E) Several writer agents appended generators to `tables/make_tables.py` at the same time by read–modify–write. Agent E's second patch (20:06) searched for two anchor strings and replaced the slice between them; because another agent's block had been inserted in the meantime, the slice crossed into `tables_part07b()` (Agent H) and removed (i) the last three security generators, (ii) Agent E's own `tables_part05()` definition and (iii) the `tables_part09()` definition (21 `tab_p9_*.tex` tables). Repair done by Agent E at ~20:10: `tables_part07b()` generators rebuilt from the generated `.tex` files (regenerated output is byte-identical to the 20:05 output for all three tables); `tables_part05()` restored; `tables_part09()` was temporarily replaced by a placeholder; **the Part IX writer re-appended the real function at ~20:20** (82 tables generated at 20:2x), so `TABLES.json` is complete again. Broken version kept at `/tmp/wp44_tabs_before/make_tables.py.broken` (laptop, volatile). Rule proposed: append-only edits at the end of the file (insert before `if __name__`), never slice-replace by anchors.