Compile-verifier: a primary-key attribute must not appear in arcade do skip [...] end.
A skipped PK is never written as a property, so every update/destroy MATCH on the
full primary key matches zero rows (perpetual StaleRecord) and reads decode a nil PK.
Spark surfaces the failure as a compiler diagnostic — build-blocking under
--warnings-as-errors, with no runtime signal.