Gate‑C(Core) OOB strict fail‑fast; String VM handler normalization; JSON lint Stage‑B root fixes via scanner field boxing and BinOp operand slotify; docs + smokes update

This commit is contained in:
nyash-codex
2025-11-01 18:45:26 +09:00
parent c331296552
commit 47bd2d2ee2
15 changed files with 280 additions and 107 deletions

View File

@ -80,6 +80,8 @@ impl ArrayBox {
.map(|v| matches!(v.as_str(), "1"|"true"|"on"))
.unwrap_or(false);
if strict {
// Mark OOB occurrence for runner policies (GateC strict fail, etc.)
crate::runtime::observe::mark_oob();
Box::new(StringBox::new("[oob/array/get] index out of bounds"))
} else {
Box::new(crate::boxes::null_box::NullBox::new())
@ -113,6 +115,7 @@ impl ArrayBox {
.map(|v| matches!(v.as_str(), "1"|"true"|"on"))
.unwrap_or(false);
if strict {
crate::runtime::observe::mark_oob();
Box::new(StringBox::new("[oob/array/set] index out of bounds"))
} else {
Box::new(StringBox::new("Error: index out of bounds"))