mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-18 04:29:27 +00:00
feat(improve): proposals from plane memory through the unchanged gate (harnessx-removal task 3)
improve/memory.py: rules M1 (enabled->shadow on repeated false alerts across >=2 repositories, no agreed or site_match hit) and M2 (shadow->enabled on >=2 agreed declared sites no enabled rule catches); M3 disputed families are advisory (signals.json) and never reach the validator. The train-on-test guard drops rows of --qualify-population, gated benchmark cases and holdout pair repositories before any rule sees a row. run_round(proposals=...) adds memory edits after the benchmark's through the unchanged validator and gate; provenance (row ids, object keys and versions, counts, exclusions, index digest) goes to memory_proposals.jsonl and the journal's evidence field; proposal_outcome rows are written back after a non-dry run. ousast improve --memory is opt-in; default improve output is byte-identical to the task-1 baseline. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
52d28b5121
commit
d104166697
@@ -22,7 +22,7 @@ and passed its fixture test. Every task is a commit gated on the full suite's ow
|
||||
- Fixture tests: rows from a recorded Run, reuse on an unchanged pin, recompute on a changed one, disk refusal.
|
||||
- _Requirements: 6.1, 6.4_
|
||||
|
||||
- [ ] 3. Proposals from memory
|
||||
- [x] 3. Proposals from memory
|
||||
- `improve/memory.py` with rules M1 (demote) and M2 (promote) and the advisory disputed-family signal;
|
||||
`run_round(proposals=...)`; `ousast improve --memory` (opt-in; default output byte-identical); provenance per
|
||||
proposal in the sidecar and journal; the train-on-test guard (qualification population, gated benchmark cases,
|
||||
|
||||
Reference in New Issue
Block a user