docs(guide): incident.processing-rules — institution match is KEY to KEY (#29) #30
Reference in New Issue
Block a user
Delete Branch "docs/29-institution-key-matching"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #29.
What was wrong
incident.processing-rulesdescribed institution matching as key → name resolution compared against the ATM's institution name. The code has not worked that way since2d2dee0(#290). It compares the rule'sinstitutionkey directly toatm.institutionKey, case-insensitively:institutionKeyServiceis still injected on the class but the matcher never calls it.Why this is worth a PR rather than a note
This documentation actively caused a wrong diagnosis today. Investigating incident#241 — a PBNC EMV fallback rule a customer has now reported twice — the stale gotcha said a key-vs-name mismatch makes a scoped rule "silently fall through to global". I concluded that was happening and that #232 was the root cause, and posted that to a customer-facing ticket.
It was wrong. The rule fires correctly in production:
The retraction is on #241. The Guide is supposed to prevent this class of mistake; here it produced one.
Changes
claude.mdinternal.mdarchitect.mdDeliberately preserved:
claude.md's "ruleinstitutionis stored as the KEY, not a display name" — already correct, untouched.Checks
key → name/findByKey/getInstitutionNameclaims in the module.coverage-reconcile.pyreports one pre-existing gap (hiveops-feedback → technical.feedback), unrelated to this change and untouched.🤖 Generated with Claude Code