- Task
- Fix
Set() so that a beyond-length array index appends instead of destroying the array. Reproducer from the record: Set({"a":[1,2,3]}, 99, "a", "[9]") returned {"a":[99]} before the fix and {"a":[1,2,3,99]} after.
- Subject
github.com/buger/jsonparser @ 6454f95de679fdd0c623a6183f7cff82da56b442 (MIT). This is the packaged, post-fix tree. The affected revision is historical and public, outside the zip; findings/INDEX.md says how to reach it.
- Intent
- SYS-REQ-110 (approved,
reviewed_by: human:buger, 2026-07-26): when Set targets an array-index [N] with N >= len(array), the parser shall append at the end and return the mutated document, not overwrite existing elements or panic. Rests on STK-REQ-005. Formalized in FRETish.
- Failure class
- boundary · high silent data loss. Sibling hazards on the same requirement:
nested_mutation (medium), element_type_partition (high).
- Available context
- The requirement neighbourhood (SYS-REQ-110, SYS-REQ-009, STK-REQ-005) · the implementation (
parser.go:Set) · the historical failure (DEFECT-260727-WWWY, and KI-4 as the separate top-level partition) · the public tests named in the record.
- Verifier
- A deterministic
go test pin. No LLM judge; the exit code is the verdict.go test -count=1 -timeout 120s -run 'TestSetBeyondLengthScalarArrayPreservesElements_SYS110|TestMCDC_SYS_REQ_110' .
Run through re-run/verify.sh --pin DEFECT-260727-WWWY.
- Success
- The known witness passes (
TestSetBeyondLengthScalarArrayPreservesElements_SYS110) · the requirement’s MC/DC obligation row passes · the sibling partition (KI-4, top-level arrays) carries its own explicit status.
- Provenance
PROVENANCE.json: source licence (MIT), subject commit, producer (Proof / ReqProof), review policy, content-root SHA-256 and per-file SHA-256 for all 201 payload files.