Commit c5eef1d
The closing paragraph of the strictReadonlyWrites TSDoc still asserted the
option is inert on insert ('INSERT ignores it ... insert is exempt from both
strips, so there is nothing to refuse') — true when #5126 shipped, false
since #5503 wired engine.insert to REFUSE a payload carrying a runtime-owned
value under strict, throwing ReadonlyFieldRejectedError (operation: 'insert')
and writing nothing.
Verified by execution against origin/main before rewriting (three-probe
matrix): strict insert with an autonumber value throws
ERR_READONLY_FIELD_REJECTED / operation 'insert' with nothing written; the
same insert without strict silently strips and fires onFieldsDropped with
reason 'readonly'; an author-declared readonly field on insert stays exempt
at this seam (#3413) even under strict.
Prose only: the interface header and the Semantics arm enumeration gain the
runtime-owned strip (#5503), and the INSERT paragraph now states what insert
refuses (runtime-owned values only), names the engine-level exempt writers
the error message names (isSystem, preserveAudit #3493), and pins the layer
boundary against the DataProtocol ingress policy (#3043/#6640) so the two
never read as one rule. No key/type/behaviour change; all 10 spec generated
artifacts verified unchanged.
Claude-Session: https://claude.ai/code/session_018ffcE95NaMJcL9XJ9VDYgk
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 9136327 commit c5eef1d
2 files changed
Lines changed: 53 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
21 | 23 | | |
22 | 24 | | |
23 | 25 | | |
| |||
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
51 | | - | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
52 | 56 | | |
53 | 57 | | |
54 | 58 | | |
| |||
81 | 85 | | |
82 | 86 | | |
83 | 87 | | |
84 | | - | |
85 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
86 | 112 | | |
87 | 113 | | |
88 | 114 | | |
| |||
0 commit comments