# Reservation coordinator: behaviour-to-test references

Source: supplied Reservation Operations Workbench 3.0 repository, October 2026.
These are references to inspected source and the supplied passing release log. They are not new measurements or a new blind evaluation.

| Behaviour | Source test in tests/test_coordinator.py | What it checks |
| --- | --- | --- |
| Material plan change | test_material_change_keeps_external_allocation | Acceptance, external verification and sent status become stale; the previously saved 18:00 allocation remains intact and the service record shows a pending change. |
| Contact change | test_contact_change_preserves_acceptance_invalidates_verification | Guest acceptance remains current while external verification becomes stale. |
| Older browser tab | test_stale_tab_cannot_write | A stale revision raises an error; the newer stored case is preserved. |
| Failed command | test_failed_command_rolls_back | An invalid acceptance command leaves the record and audit count unchanged. |
| Unknown overlapping tables | test_unknown_tables_cannot_assess | Incomplete table context produces Cannot assess. |
| Missing report rows | test_missing_rows_not_cancellation | Absence is reported without inferring cancellation. |
| No guest answer | test_no_answer_creates_task_not_acceptance | Follow-up is required; no-answer does not supply acceptance. |
| Expired hold | test_expired_hold_does_not_release_external_record | Expiry leaves the external record intact and requires manual release work. |
| Staff handoff changes | test_handoff_changes_when_task_added | The saved handoff fingerprint no longer matches the changed service record. |

## Interactive change-impact illustration

The website illustrates independent changes to a fully reviewed synthetic record, not a sequence of live bookings.

| Edit | Guest acceptance | External verification | Response review |
| --- | --- | --- | --- |
| No change | Current | Current | Current |
| Requested time changes | Renew | Reverify | Review again |
| Contact changes | Preserved | Reverify | Review again |
| Saved reply changes | Preserved | Preserved | Review again |

Mechanisms inspected in coordinator/workflow.py:

- plan_hash fingerprints the complete plan.
- accepted compares the acceptance's stored plan hash with the current plan hash.
- record_hash includes the plan, guest, email, phone, requirements and promises.
- external_current compares the stored record hash and policy version.
- draft_hash includes the guest record and related evidence. Changing the guest record changes the response's source fingerprint.
- The draft action replaces the saved draft; the review action records the exact wording hash.

The quote-to-field example uses the actual synthetic Morgan inquiry in scripts/verify_coordinator.py. Source matching demonstrates provenance; the operator remains responsible for interpreting and confirming the requirement.

## Release evidence and limits

The supplied pytest output reports 198 passing tests. Of these, 45 are coordinator cases; 153 are retained regressions. Four browser scripts cover the coordinator, report imports, preserved demo workflow and interface captures. The captured application widths are 1440, 820 and 390 px.

No current real-dashboard export certification, live-model benchmark, controlled human study, production deployment or physical-device study is established by these records. The original ~45-to-5-minute handling-time figure is the owner's historical estimate for the manual workflow, not a benchmark of the Python application.
