mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-17 12:09:27 +00:00
docs(g2): open the change-scoped engine-analysis workstream (brief + roadmap)
Track the engine-detection lever found while driving G0. Live diagnosis on the frozen pool: the engine's "no finding" on unseen changes is usually analysis-never-runs -- it ranks repo-wide candidates and defers them all (deadline_exhausted) before analyzing the pushed change (bedrock injection, 303s, selected=[], ranked sites unrelated to the change). Lever: seed analysis from the change's declarations + dataflow neighbourhood (rank.py/mapping.py) so it runs within budget. - .kiro/specs/engine-change-scoped-analysis/brief.md: problem (measured), hypothesis, anchors, and checkable increments (0 confirm build-vs-analysis cost split -> 1 locate selection/budget -> 2 seed from change -> 3 soundness + tests -> 4 live re-test -> 5 measure delta on the engine arm). - roadmap.md G2: active workstreams (change-scoped analysis; the done-but- necessary-not-sufficient line-correspondence fix), for progress tracking. Honest scope: G2, gated on the pool metric; not part of the G0 quick-rule record-07. Coverage also needs the capability registry (Task 8.3); arm-scale measurement needs the kube lane. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
c39fbb8457
commit
9f312177ce
@@ -97,6 +97,19 @@ Candidates, each admitted only if it improves the pool metric on a fresh slice:
|
||||
(approved plan, now one arm, not the spine), engine coverage and TypeScript, decision-engine prompt and retrieval
|
||||
changes, more labelled pairs from more distinct repositories.
|
||||
|
||||
Active G2 workstreams (2026-10-11, opened while driving G0; progress tracked in their briefs):
|
||||
|
||||
- **Change-scoped engine analysis** (`.kiro/specs/engine-change-scoped-analysis/brief.md`). Live diagnosis on the
|
||||
frozen pool showed the engine's "no finding" on unseen changes is usually *analysis-never-runs*: the engine ranks
|
||||
repo-wide candidates and `deferred: deadline_exhausted` before analyzing anything (even at 300 s), and the ranked
|
||||
sites are unrelated to the pushed change. Lever: seed analysis from the change's declarations + dataflow
|
||||
neighbourhood (`rank.py`/`mapping.py`) so it runs within budget. Increment 0 (confirm CPG-build-vs-analysis cost
|
||||
split) gates the rest. Scale measurement needs the kube lane.
|
||||
- **Line-correspondence (done, necessary-not-sufficient).** `snapshot.py` discarded base↔head anchors on
|
||||
non-globally-unique lines → `comparison_unknown` → suppressed findings; fixed to run-aware anchoring
|
||||
(commit c39fbb8, 163 tests). Removes one cause; coverage still needs change-scoped analysis + the capability
|
||||
registry (Task 8.3).
|
||||
|
||||
**G3. Decide BLOCK per family** on the pool's false-alarm rate and the pooled precision bound (Req 6.4).
|
||||
|
||||
**G4. Detection on push for any repository** (`plane-on-kubernetes` P4 work: `ousast plane scan --base --head`,
|
||||
|
||||
Reference in New Issue
Block a user