mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-23 06:59:28 +00:00
spec(pre-push-safety-net): record the M2 direction, do not rebuild a graph per push
Both attacks on engine startup are measured and neither reaches the gate. The session is equivalent for every shipped query kind and helps a long transaction, 326 s to 243 s, but its own 9 to 13 second startup is a third of a 30-second budget so it usually declines to start. Removing JavaScript's second engine start is real, 11.0 s against 21.0 s on identical graphs, and was reverted for an asymmetric census gate that made 12 transactions pay two starts. What the profile names is not startup. A changed-code transaction reaches its deadline inside the build: head build 25.2 s of 30 s, query time 0.0 s. The cost is building a fresh whole-repository graph for every pushed revision. Direction accepted: reuse the graph across revisions rather than optimise the rebuild. M2 stays unmet, the gates stay unchanged, and the work is not scheduled here. Group 12 returns to security capability, which is where the remaining release risk sits. 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
ed0f12b593
commit
6653b6aca8
@@ -101,7 +101,21 @@ comparison, admission, the recorded-veto flag and reporting. Requirements: 1.1
|
||||
|
||||
## M2 — The same useful analysis fits the push budget
|
||||
|
||||
Status: **PENDING M1**.
|
||||
Status: **MEASURED AND UNMET, 2026-09-17.** Two attacks on engine startup were measured and
|
||||
neither reaches the gate. A transaction-owned session is implemented and proven equivalent for
|
||||
every shipped query kind, and it amortizes startup only across a long transaction: 326 s to 243 s
|
||||
under a development budget, while under the 30-second deadline its own 9 to 13 second startup
|
||||
means it usually declines to start. Removing JavaScript's redundant second engine start is a real
|
||||
11.0 s against 21.0 s on identical graphs, but the attempt was reverted for an asymmetric census
|
||||
gate that made 12 profile transactions pay two engine starts.
|
||||
|
||||
The profile names the actual cost: a changed-code transaction reaches its deadline inside the
|
||||
build, head build 25.2 s of 30 s with query time 0.0 s. It is building a fresh whole-repository
|
||||
graph for every pushed revision.
|
||||
|
||||
**Direction accepted 2026-09-17: do not rebuild a whole graph per push. Reuse the graph across
|
||||
revisions instead of further optimising the rebuild.** The 30-second and 2-second gates are
|
||||
unchanged; this milestone is not met, and the work is not scheduled here.
|
||||
|
||||
- Use the successful M1 case as a correctness baseline for a transaction-owned Joern
|
||||
session within the existing backend. The measured census probe supports investigating
|
||||
|
||||
Reference in New Issue
Block a user