mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-19 04:59:28 +00:00
Rerunning the three pinned revisions after tasks 10.1-10.6 shows the production comparison classifying all of them with no lifting, and agreeing exactly with the recorded view. That agreement is the point: the vetoes M1a recorded were repaired rather than bypassed. The vulnerable revision is new with operation_absent_from_comparable_base, and the three eval witnesses at contributions.js lines 32 to 34 are attributed to the change that introduced them. The fixed twin is analyzed and quiet with three base-only findings. The unchanged revision is unchanged. In M1a every one of the 436 questions was demoted on both sides and production reported witness_identity_unresolved on every finding. All three artifacts still report finding_status none with zero admitted defects. Admission rejects on capability_unavailable, the deliberate eligibility gate, and on dependency_unresolved, which the rerun exposed as coarse plumbing: the runner passes every coverage reason as every candidate's dependency gaps. That is now task 10.7, ahead of M4, since it would block admission forever once capabilities qualify. It is not a comparison failure and not an M1b exit blocker. Three comparisons on one inspected teaching repository under a development budget. No capability enabled, no alert emitted, no latency claim. 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
223 lines
10 KiB
JSON
223 lines
10 KiB
JSON
{
|
||
"feature_name": "pre-push-safety-net",
|
||
"created_at": "2026-09-12T15:35:00Z",
|
||
"updated_at": "2026-09-16T16:00:00+00:00",
|
||
"language": "en",
|
||
"phase": "implementation",
|
||
"approvals": {
|
||
"requirements": {
|
||
"generated": true,
|
||
"approved": true
|
||
},
|
||
"design": {
|
||
"generated": true,
|
||
"approved": true
|
||
},
|
||
"tasks": {
|
||
"generated": true,
|
||
"approved": true
|
||
}
|
||
},
|
||
"ready_for_implementation": true,
|
||
"implementation_approval_note": "Group 8 authorized: 8.1, 8.2 and 8.4 verified; 8.3 implementation/evidence delivered but qualification blocked. Feature rollout remains NO-GO, no capabilities enabled.",
|
||
"depends_on": [
|
||
"contributor-scan"
|
||
],
|
||
"related_specs": [
|
||
"flow-aware-ranking",
|
||
"zero-with-a-reason",
|
||
"finding-feedback-loop"
|
||
],
|
||
"approval_note": "2026-09-12: user requested amendments and help moving the design forward for a scalable pre-push security safety net, broader than WordPress; clarified that advisory output must be actionable and not SAST noise. Requirements and a proposed design were drafted together under that explicit request. No requirements, design, tasks, enforcement policy, or latency target are marked approved. Phase remains requirements-generated until human review. Existing predecessor approvals are unchanged. ; 2026-09-12: after the amended requirements/design and cross-language evaluation were presented, the maintainer said \"ok, next kiro phase\". Requirements and design are now approved for task generation; tasks remain unapproved. Earlier unapproved statements above describe the historical drafting state.",
|
||
"cross_language_note": "2026-09-12: maintainer endorsed the direction and clarified PMPro as core development case, JavaScript/Express Node APIs as required transfer workload, and C/C++ as additional shared-machinery/abstraction-limit evidence. Preserve language-agnostic core decisions; framework facts may differ. Detailed amended requirements/design remain pending review.",
|
||
"approval_history": [
|
||
{
|
||
"at": "2026-09-12T15:56:00Z",
|
||
"source": "ok, next kiro phase",
|
||
"action": "Accepted the presented amended requirements and design for task generation; task approval and implementation remain pending."
|
||
},
|
||
{
|
||
"at": "2026-09-12T16:20:40.814596Z",
|
||
"source": "approve.",
|
||
"action": "Accepted the generated task plan and authorized starting group 1 (1.1–1.4). Implementation started; tasks require independent review and fresh verification before completion."
|
||
},
|
||
{
|
||
"at": "2026-09-12T18:32:19.033933Z",
|
||
"source": "ok, next kiro phase, approved; correct. we can continue with the spec",
|
||
"action": "Authorized group 2 (2.1–2.3), resumed after local Claude Mem repair. Independent review and fresh verification remain required."
|
||
},
|
||
{
|
||
"at": "2026-09-13T07:48:02.155687Z",
|
||
"source": "continue with the task",
|
||
"action": "Authorized continuing group 3 (3.1–3.4) after the group 3 next-step summary. Independent task review and fresh verification remain required."
|
||
},
|
||
{
|
||
"at": "2026-09-13T09:17:01.788332+00:00",
|
||
"source": "approved",
|
||
"action": "Approved contributor-scan frontend retention prerequisite; implement it and resume task 3.4 review and verification."
|
||
},
|
||
{
|
||
"at": "2026-09-13T10:26:47.307154+00:00",
|
||
"source": "move on to group 4 as a whole",
|
||
"action": "Authorized all of group 4 (4.1–4.3), sequential implementation, independent task review and fresh verification. Groups 5–8 remain pending."
|
||
},
|
||
{
|
||
"at": "2026-09-13T12:40:57.961577+00:00",
|
||
"source": "approved",
|
||
"action": "Authorized group 5 after the group 4 completion summary: explicit transaction replay, then the first PMPro/frozen-core Node experiment. Review and fresh evidence remain required."
|
||
},
|
||
{
|
||
"at": "2026-09-13T13:58:52.336506+00:00",
|
||
"source": "continue with group 6 as a whole. do we need to amend the spec to get a go for the rollout",
|
||
"action": "Authorized group 6 (6.1–6.4). Clarified complete preparation/discovery reuse after measured group 5 bottleneck; rollout gates remain unchanged. Manual Kiro review fallback remains necessary after a fresh agent dispatch hit the thread limit."
|
||
},
|
||
{
|
||
"at": "2026-09-13T15:45:15.902603+00:00",
|
||
"source": "ok, continue with group 7 as a whole",
|
||
"action": "Authorized tasks 7.1–7.3; manual Kiro fallback after fresh dispatch hit thread limit. Group 8 and rollout remain pending."
|
||
},
|
||
{
|
||
"at": "2026-09-13T16:41:21.889949+00:00",
|
||
"source": "move on to group 8",
|
||
"action": "Authorized tasks 8.1–8.4 and their qualification work; preserve joint gates and record NO-GO wherever prerequisites or measurements do not pass. Fresh dispatch hit thread limit; manual Kiro fallback."
|
||
},
|
||
{
|
||
"at": "2026-09-16T13:30:00+00:00",
|
||
"source": "add the M1a task to tasks.md and start it; continue with the plan",
|
||
"action": "Added group 9 (M1a) to the approved task plan as the bounded owner amendment the milestone requires, implemented the task-local recorded-veto flag (9.1) and ran the three NodeGoat revisions (9.2). Diagnosis only: no capability enabled, no gate changed, rollout remains NO-GO."
|
||
}
|
||
],
|
||
"task_review": {
|
||
"verdict": "PASS",
|
||
"independent": true,
|
||
"repair_passes": 1,
|
||
"major_groups": 8,
|
||
"executable_subtasks": 27,
|
||
"requirements_covered": 35,
|
||
"record": "task-review.md"
|
||
},
|
||
"implementation_progress": {
|
||
"completed_tasks": [
|
||
"1.1",
|
||
"1.2",
|
||
"1.3",
|
||
"1.4",
|
||
"2.1",
|
||
"2.2",
|
||
"2.3",
|
||
"3.1",
|
||
"3.2",
|
||
"3.3",
|
||
"3.4",
|
||
"4.1",
|
||
"4.2",
|
||
"4.3",
|
||
"5.1",
|
||
"5.2",
|
||
"6.1",
|
||
"6.2",
|
||
"6.3",
|
||
"6.4",
|
||
"7.1",
|
||
"7.2",
|
||
"7.3",
|
||
"8.1",
|
||
"8.2",
|
||
"8.4",
|
||
"9.1",
|
||
"9.2",
|
||
"10.1",
|
||
"10.2",
|
||
"10.3",
|
||
"10.4",
|
||
"10.5",
|
||
"10.6"
|
||
],
|
||
"remaining_tasks": 1,
|
||
"verification_record": "implementation-group-8.md",
|
||
"verification_records": [
|
||
"implementation-group-1.md",
|
||
"implementation-group-2.md",
|
||
"implementation-group-3.md",
|
||
"implementation-group-4.md",
|
||
"implementation-group-5.md",
|
||
"implementation-group-6.md",
|
||
"implementation-group-7.md",
|
||
"implementation-group-8.md"
|
||
],
|
||
"next_group": 10,
|
||
"blocked_tasks": [
|
||
"8.3"
|
||
],
|
||
"feasibility": "NO-GO: post-census profile measured all 21 cases; 18 timed out, three identical-tip replays completed in 18.521–18.874s with valid reuse; 0/24 target checks completed. Maximum cancellation/report overrun 0.874s. See 2026-09-14-nodegoat-post-census-feasibility.json.",
|
||
"qualification": "NO-GO: eligibility implementation and evidence delivered; required independent populations and verified VAmPI transitive witness remain missing. Zero capabilities enabled.",
|
||
"validation": {
|
||
"decision": "NO-GO",
|
||
"feature_complete": false,
|
||
"record": "validation-group-8.md",
|
||
"capabilities_enabled": 0
|
||
},
|
||
"owner_remediation": {
|
||
"task": "contributor-scan 2.19",
|
||
"status": "VERIFIED",
|
||
"record": "../contributor-scan/census-repair-verification.md",
|
||
"effect": "Node 44/44 input census restored; partial/missing census remains explicitly unresolved. Existing eligibility stale; runtime/context/independent qualification remain NO-GO."
|
||
},
|
||
"remediation_research": "../contributor-scan/release-remediation-research.md",
|
||
"m1a": {
|
||
"status": "MET",
|
||
"date": "2026-09-16",
|
||
"record": "m1a-recorded-vetoes.md",
|
||
"measurement": "../../../benchmarks/measurements/2026-09-16-nodegoat-m1a-recorded-vetoes.json",
|
||
"kill_criterion_triggered": false,
|
||
"result": "Raw <lambda>2 witnesses present at contributions.js 32-34; fixed twin analyzed and quiet (target question answered with zero rows, no deadline reason); unchanged revision recorded 'unchanged'. Five vetoes fired and were recorded. With all five lifted the detection stops at operation_correspondence_unresolved, a fifth veto not previously named. No defect admitted, no capability enabled."
|
||
},
|
||
"m1b": {
|
||
"status": "IN_PROGRESS",
|
||
"verified": [
|
||
"10.1",
|
||
"10.2",
|
||
"10.3",
|
||
"10.4",
|
||
"10.5",
|
||
"10.6"
|
||
],
|
||
"remaining": [
|
||
"10.7",
|
||
"10.8",
|
||
"10.9"
|
||
],
|
||
"measurement": "../../../benchmarks/measurements/2026-09-16-nodegoat-m1b-production.json",
|
||
"result": "Every veto M1a recorded is repaired. The production comparison classifies all three pinned NodeGoat revisions with no lifting: vulnerable new with the three eval witnesses attributed to the change, fixed twin analyzed and quiet with three base-only findings, unchanged recorded unchanged. Production and the recorded view agree exactly. Zero admitted defects; admission rejects on capability_unavailable, the deliberate eligibility gate, and dependency_unresolved, recorded as task 10.7."
|
||
}
|
||
},
|
||
"release": {
|
||
"tag": "v1.2.0-alpha.1",
|
||
"package_version": "1.2.0a1",
|
||
"channel": "alpha",
|
||
"rollout_decision": "NO-GO",
|
||
"status_record": "status.md"
|
||
},
|
||
"release_milestones": {
|
||
"record": "release-milestones.md",
|
||
"direction_approved": true,
|
||
"approval_source": "I agree. please note this into the raodmap as a spec",
|
||
"current": "M1b",
|
||
"verified": [
|
||
"M1a"
|
||
],
|
||
"sequence": [
|
||
"M1a: NodeGoat detection with admission vetoes recorded, not applied (MET 2026-09-16)",
|
||
"M1b: repair only the vetoes M1a showed to matter; rerun through production rules",
|
||
"M2: equivalent bounded runtime",
|
||
"M3: shared-language transfer",
|
||
"M4: independent qualification",
|
||
"M5: narrow advisory rollout"
|
||
],
|
||
"implementation_design_approval": "Existing approvals preserved; this records milestone order and exit criteria, not blanket approval of future design changes.",
|
||
"m1_split_accepted": "2026-09-14: maintainer asked to split M1 into M1a/M1b after review",
|
||
"m1a_outcome": "Met inside the one-week box. Corrected the owner diagnosis: all four named vetoes fire, and operation correspondence for an operation on a changed line is the blocker that survives every other repair.",
|
||
"m1b_position": "Comparison verified through production rules on NodeGoat; 10.7 dependency-gap binding, 10.8 provenance and 10.9 the recorded rerun remain before M1b is verified."
|
||
}
|
||
}
|