Compile-verifier for arcade do sensitive [...] end (build-blocking under
--warnings-as-errors):
- R1 — every listed name is a declared attribute (a typo protects nothing).
- R2 — every sensitive attribute is binary-storage-typed (app-side-encrypted
bytes) or listed in
skip(never written to the graph). - R3 — the multitenancy discriminator is not sensitive (it is a plaintext selector; Ash injects it as a plaintext filter/force-set, and AshArcadic holds no key material to encrypt it).
- R4 — an
edgepropertieskey naming a sensitive attribute requires every same-named DECLARED action argument to be binary-storage-typed; otherwise the classified datum flows onto edges as plaintext through a same-named plaintext argument. (AshArcadic.Changes.CreateEdgeenforces the runtime half for undeclared/injected arguments.)
Checks the TYPE SHAPE, not encryption.