mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-20 13:39:27 +00:00
test(pre-push-safety-net): record the M1b exit run (task 10.9)
All three pinned NodeGoat revisions replayed through the production rules with exact pins and reopened source receipts. The vulnerable revision reports all three sites new with operation_absent_from_comparable_base, and admission now rejects on capability_unavailable alone: dependency_unresolved is gone, which verifies 10.7 on real data since those gaps belonged to unrelated questions. The fixed twin is analyzed and quiet with three base-only findings. The unchanged revision reports all three sites unchanged with base locations resolved to the same lines. Every finding carries its question, the engine-reported method and its witness. The head census is the complete 44 files and all 436 base questions complete. Zero admitted defects on every revision. All five vetoes M1a recorded are repaired, plus two the repairs exposed. What remains is recorded rather than repaired: 231 head questions still report an incomplete change context from families whose queries export none, which did not block this case and whose families stay experimental, and the vendor exclusion and correspondence ambiguity remain reported as the limits they are. M1b is not yet verified. The milestone also asks for a developer-readable finding carrying a supported security consequence and a concrete repair direction, and both are owned by an evaluated capability declaration that is deliberately empty. Writing that text without a declaration is what admission exists to prevent, so task 10.10 renders it through an explicitly experimental declaration with eligibility still disabled. Runtime, independent qualification and rollout all remain NO-GO. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
co-authored by
Claude Opus 5
parent
541ee5813e
commit
57d6ddcbba
@@ -18,10 +18,17 @@ agree exactly, which is how we know the vetoes were repaired rather than bypasse
|
||||
is enabled, no defect is admitted and no alert is emitted. See
|
||||
[M1a and M1b evidence](m1a-recorded-vetoes.md).
|
||||
|
||||
Two tasks remain before M1b is verified: binding candidate dependency gaps to the candidate,
|
||||
which the rerun exposed as coarse plumbing that would block admission forever after
|
||||
qualification, and carrying query-to-operation provenance. Then the run is repeated and
|
||||
recorded as the milestone's exit evidence.
|
||||
The exit run is recorded. Every veto M1a listed is repaired, plus two the repairs exposed: the
|
||||
comparison's own degradation and boundary checks, and the runner handing every candidate the
|
||||
whole transaction's gaps. On the vulnerable revision admission now rejects on
|
||||
`capability_unavailable` alone.
|
||||
|
||||
One half of M1b remains. The milestone also asks for a developer-readable finding carrying a
|
||||
supported security consequence and a concrete repair direction. Both are owned by an evaluated
|
||||
capability declaration and the registry is deliberately empty, so nothing renders them. Writing
|
||||
that text without a declaration is what admission exists to prevent, so it is not worked around.
|
||||
Task 10.10 renders it through an explicitly experimental declaration with eligibility still
|
||||
disabled.
|
||||
|
||||
M1a ran on 2026-09-16 within its one-week box. The raw `<lambda>2` witnesses are present at
|
||||
contributions.js lines 32–34, the fixed twin was genuinely analyzed and quiet, and the
|
||||
|
||||
Reference in New Issue
Block a user