A municipal building authority is the first sector that the line a
case walks could not describe. An application is returned for the
drawing it was missing and walks the same stretch again; an appeal
ends the moment the authority changes its own decision, without ever
reaching the board; an applicant may withdraw from anywhere, while a
refusal may only come once the papers are in.
`reached_from: { <stage>: [<stage>, ...] }` says where a stage is
entered from when the line does not. A stage named there is entered
from exactly those stages and nowhere else, so saying where a refusal
may come from also says where it may not - which `turned_down_from`
could not, being one list for every bad ending at once.
Found by replaying fifteen real building cases through portal's own
engine against a throwaway JetStream: it refused three legal paths and
accepted two illegal ones. Portal needed no change - hand-writing the
correct graph into aggregates.yaml, cycle and all, was accepted and
enforced exactly. The rebuilt site now produces that same graph from
the plan, and the access policy follows it.
Also: a public view is of a bucket, not of a need. A permit register
holds the owner's small application and the approved firm's large one
and is one page either way; the rule refused to publish a bucket the
moment any role filed into it. A bucket only a role ever writes to is
still refused.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
26 lines
2.6 KiB
JSON
26 lines
2.6 KiB
JSON
{"id":"garage-owner@/","choice":"Building near me","confidence":0.95}
|
|
{"id":"garage-owner@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
|
|
{"id":"shop-to-flats@/","choice":"Want to build","confidence":0.95}
|
|
{"id":"shop-to-flats@/want-to-build","choice":"permission to build it, and to know where the case stands","confidence":0.95}
|
|
{"id":"too-close-to-boundary@/","choice":"Want to build","confidence":0.95}
|
|
{"id":"too-close-to-boundary@/want-to-build","choice":"to be allowed it anyway, with reasons on the record","confidence":0.95}
|
|
{"id":"neighbour-view@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
|
|
{"id":"neighbour-view@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
|
|
{"id":"neighbour-parking@/","choice":"Building near me","confidence":0.95}
|
|
{"id":"neighbour-parking@/building-near-me","choice":"what they think on the record, and answered in the decision","confidence":0.95}
|
|
{"id":"refused-applicant@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
|
|
{"id":"neighbour-appeals@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
|
|
{"id":"board-member@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
|
|
{"id":"firm-wants-certificate@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
|
|
{"id":"firm-wants-certificate@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
|
|
{"id":"wants-to-move-in@/","choice":"Want to build","confidence":0.95}
|
|
{"id":"wants-to-move-in@/want-to-build","choice":"the certificate that lets the building be used","confidence":0.95}
|
|
{"id":"something-behind-fence@/","choice":"the decision looked at again, by us and then by the board","confidence":0.95}
|
|
{"id":"something-behind-fence@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
|
|
{"id":"owner-explains@/","choice":"Want to build","confidence":0.95}
|
|
{"id":"owner-explains@/building-near-me","choice":"us to go and look, and to hear that we did","confidence":0.95}
|
|
{"id":"new-firm@/","choice":"to be on the list, and then to file without asking again","confidence":1.0}
|
|
{"id":"firm-insurance-lapsed@/","choice":"to be on the list, and then to file without asking again","confidence":0.95}
|
|
{"id":"where-is-my-case@/","choice":"Building near me","confidence":0.95}
|
|
{"id":"where-is-my-case@/building-near-me","choice":"to be told where it actually stands","confidence":0.95}
|