Tombstone closure broadcasts were silently dropped because the handler
set severity to routine (below the dispatcher floor) and never called
_attach_commit_handles(), leaving event_log.handled=0 permanently.
Changes:
- wfigs_handler.py: tombstone severity routine → immediate
- wfigs_handler.py: attach commit handles with dedup suffix closed
- wfigs_handler.py: use _log_event_returning_id so commit callback
can flip handled=1 on successful broadcast
- env_reporter.py: build_env_summary fire count excludes tombstoned
and 100%-contained fires (matches build_fires_detail WHERE)
- tests/test_tombstone_broadcast.py: 11 tests covering severity,
commit handles, dedup suffix, callback, closure wire, and
env_summary exclusion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>