A separate titled list of situational rules; the unauthorized pet fee moves into it
5 Oct 2026 · branch feat/core-policies-2-custom-policies · captured against propflow-stage · at 834fbb47396
Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.
Custom policies sits above Company knowledge as its own list. Its first entry is the unauthorized pet fee, which used to be the fourth row of the pet-charges grid. It is the same fees.unauthorizedPetFee value, now filed where situational rules live. The grid above holds the three core pet charges. Nothing was saved in this capture.
Asserted in the captured DOM — Custom policies · Situational rules that are not part of the core list · Unauthorized pet fee · + Add custom policy. The section loaded (not its loading or error line), and the unauthorized pet fee is listed inside it.
"+ Add custom policy" opens a title and a text box. On Add, a title that looks like an existing entry or a core topic gets "This looks like X. Add anyway?", and the person may add it anyway. The server mints the entry's id, so a custom policy never takes a fixed question's id. Nothing was submitted here.
Asserted in the captured DOM — Custom policies · Add · Cancel. The add form opened in place.
No save was run, so nothing was written to stage. The writer, the strict body, the go-live exception and the resident refusal are pinned by route.write.test.ts. The near-duplicate parse and the never-blocks rule are pinned by option-similarity.test.ts.