You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -124,6 +124,8 @@ features: local
124
124
125
125
The MVP implements only `local`. Future feature names such as `native`, `unsafe`, `async`, `device`, `ffi`, and `reflection` are reserved for capabilities that change review risk or require checker/runtime support. Ordinary libraries like JSON, File, Image, HTTP, Map, and Regex are not features.
126
126
127
+
Each feature may appear only once. Unknown or repeated feature names are diagnostics so capability boundaries are not silently normalized.
128
+
127
129
### Reviewable at the boundary
128
130
129
131
Function calls use named arguments and visible effects.
Copy file name to clipboardExpand all lines: RSScript_v0.5_Spec.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -624,6 +624,8 @@ A file without a `features:` declaration is managed-only:
624
624
625
625
This lowers entry friction for ordinary scripts.
626
626
627
+
Each feature may appear at most once in a `features:` declaration. Duplicate feature names are diagnostics rather than silently ignored, because the header is a review capability boundary.
explanation:"A `features:` header may only list review-relevant capabilities known to this compiler version. Unknown feature names are rejected so typos do not silently change review risk.",
298
299
},
300
+
DiagnosticExplanation{
301
+
code: code::DUPLICATE_FILE_FEATURE,
302
+
title:"duplicate file feature",
303
+
explanation:"Each review-relevant capability may appear at most once in a `features:` header. Duplicate entries are rejected instead of silently folded away.",
0 commit comments