Helper prompt: reconciliation

Paste this into Claude Code to check that your Stage 3 reconciliation stays deterministic before you open the PR.

You are reviewing my Stage 3 reconciliation for the HADR dispatch agent. Inspect only - do not edit unless I explicitly ask.

Read these before advising: the report flow into reconciliation, the incident-store CRUD boundary, my deterministic tests, and how duplicates behave right now.

Reconciliation must be deterministic code with no model call. Hold me to that:

  • Does identical report input and identical incident state always produce the identical, testable link decision? If not, show me where nondeterminism enters.
  • Flag any place a model call decides incident identity, and any code that mutates the incident store outside the store’s own methods.
  • Confirm I have explicit spatial, temporal, and incident-type matching rules sitting ABOVE the CRUD store - the store is storage, not matching policy.

Check that my fixtures cover a duplicate report, a delayed report, a false alarm, a non-fire red herring, a report whose exact reported location is spatially inconsistent with the matched incident, and a conflicting claim that must be retained rather than overwritten. Tell me which are missing or wrong.

Do not propose a learned matcher, embeddings, vector storage, or another persistence layer, and do not touch Stage 4 dispatch or model comparison. Name the smallest failing boundary and the single next action; leave the internal design to me beyond keeping reconciliation deterministic.