You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Five drift items between front-matter claims and actual repo state on
v2.5.0 main.
## Findings
| # | Claim | Source | Reality | Fix |
|---|---|---|---|---|
| 1 | Tests passing | README badge `402` / Wiki Home `282+` | `#[test]`
count = **539** | Both updated to 539 |
| 2 | `deploy/panic-attack/fly.toml` | ROADMAP v2.2.0 `[x]` | Path does
NOT exist in repo | `[x]` → `[~]` with note that toml lives in verisimdb
tree |
| 3 | "500+ repositories" | ROADMAP front matter + Wiki Home | Paper
Table I: 303 repos (2026-04-12) | Replaced with 303 |
| 4 | "~5–15% slower" queue scheduler | `chapel/README.md` ×5 | README
itself admits "estimate, not yet measured" | All 5 sites tagged
`(UNMEASURED ESTIMATE)` + linked to panic-attack#87 Wave-3 followup |
| 5 | "25 weak-point categories" | Everywhere | 25 canonical PA codes
but 26 enum variants (PA001 ⇒ `UncheckedAllocation` + PA001b ⇒
`UnboundedAllocation`) | Documented the SARIF collapse |
## Score before fixes
Of 10 claims surveyed:
- ✓ Truthful: 5 (50%)
- ⚠ Minor drift: 2 (20%)
- ✗ Significant: 3 (30%)
- Outright false: 1 (#2 above — checkbox references nonexistent file)
## What this PR does NOT change
- No code changes — pure docs / front-matter / CHANGELOG
- v2.5.0 milestone completion (45% of section, 58% of overall ROADMAP)
stays as-is — those are accurate already
- No changes to `docs/mass-panic-fnirs-paper.adoc` (303-repo claim there
is sourced from Table I)
## Followups (NOT in this PR)
- The `deploy/` directory: open question whether to import the actual
toml from the verisimdb deployment tree or leave the `[~]` link
- The ~5-15% benchmark: blocked on Wave-3 cluster runner
(panic-attack#87)
**panic-attack** is a multi-language security analysis and stress-testing system.
@@ -202,10 +202,10 @@ VeriSimDB remains the foundation dependency for these exports, so every snapshot
202
202
Current state: **v2.5.0**
203
203
204
204
* 32,000+ lines of Rust + Chapel
205
-
* 400+ tests
205
+
* 782 runnable tests (per `cargo test --release -- --list`; 539 `#[test]` annotations plus doctest + integration expansions) across unit / property / e2e / aspect / integration tiers
206
206
* 0 warnings
207
207
* 25+ CLI subcommands
208
-
* 49 supported languages
208
+
* 49 supported languages (25 canonical weak-point categories PA001–PA025; `PA001b` SARIF subvariant collapses two allocation flavors under the same canonical rule)
209
209
210
210
See link:ROADMAP.adoc[ROADMAP.adoc] for full capability breakdown and milestones.
* [~] Per-project VeriSimDB instance — `verisim-panic-api` (6PN internal, lhr). API runs but `deploy/panic-attack/fly.toml` is NOT in this repo (lives in the verisimdb deployment tree). Tracking moved to `verisimdb` repo.
46
46
* [x] Delta reporting: `diff` subcommand reports changes since last scan (`src/report/diff.rs`)
|`--repoDirectory`|| Directory to scan for .git repos |
70
70
|`--panicAttackBin`|`panic-attack`| Path to panic-attack binary |
71
71
|`--mode`|`assail`| Operation mode (see above) |
72
-
|`--scheduler`|`static`|`static` (fast, not resumable) or `queue` (resumable, ~5–15% slower) |
72
+
|`--scheduler`|`static`|`static` (fast, not resumable) or `queue` (resumable, ~5–15% slower — unmeasured estimate, see panic-attack#87 Wave-3 benchmark followup) |
73
73
|`--resume`|`false`| Requires `--scheduler=queue`; combining with `--scheduler=static` exits with an error (static mode has no journal). Skips repos already marked "done" in the journal |
74
74
|`--journalDir`|`<outputDir>/journal`| Directory for queue-scheduler JSONL shards |
75
75
|`--incremental`|`true`| Skip unchanged repos via BLAKE3 |
@@ -128,12 +128,15 @@ previously-completed repos and the freshly-scanned ones.
128
128
invocation with `--resume` reuses everything completed so far.
129
129
A locale crash during a multi-day sweep loses only the
130
130
currently-in-flight repo on that locale.
131
-
-**~5–15% slower** on clean runs (estimate, not yet measured against a
132
-
full BoJ-estate corpus). The dispatch overhead per task (atomic
133
-
fetch-add + one journal write) is per-repo instead of being amortised
134
-
across a `coforall` range. On a clean 10k-repo sweep, expect queue
135
-
mode to finish in roughly ~1.10× the time of static. A defensible
136
-
empirical measurement is tracked as Wave 2 follow-up work.
131
+
-**~5–15% slower (UNMEASURED ESTIMATE)** on clean runs. Not yet
132
+
benchmarked against any real corpus — this is a *back-of-envelope*
133
+
number from the per-task dispatch overhead (atomic fetch-add + one
134
+
journal write per repo, vs amortised across a `coforall` range).
135
+
On a clean 10k-repo sweep, expect queue mode to finish in
136
+
*roughly*~1.10× the time of static. A defensible empirical
137
+
measurement is tracked as **panic-attack#87 Wave-3 followup**
138
+
(needs a beefier/self-hosted runner — default GH runners are too
139
+
noisy for stable scheduler-overhead measurement).
137
140
-**Right for:** long interactive sweeps (GitHub-account scale or
138
141
larger), sweeps where at least one locale is on spot/preemptible
139
142
infrastructure, or any run where you expect to want to pause
@@ -160,8 +163,8 @@ in the journal directory and merges prior results with fresh ones.
160
163
The atomic work counter lives on the coordinator (Locale 0); every
161
164
claim is one remote fetchAdd (microseconds) against a scan cost of
162
165
100ms–60s, so the dispatch overhead is well under 1% on any real
163
-
workload. The ~5–15% figure above accounts for the per-repo journal
164
-
write + flush, not the atomic itself.
166
+
workload. The ~5–15% figure above (still unmeasured) accounts for the
167
+
per-repo journal write + flush, not the atomic itself.
165
168
166
169
### Startup banner
167
170
@@ -172,15 +175,15 @@ repo discovery:
172
175
mass-panic: scheduler=static (default)
173
176
fastest on clean runs; no --resume support.
174
177
A crash or Ctrl+C loses all progress.
175
-
Use --scheduler=queue for resumable runs (~5-15% slower).
178
+
Use --scheduler=queue for resumable runs (~5-15% slower, unmeasured).
176
179
```
177
180
178
181
Or for queue mode:
179
182
180
183
```
181
184
mass-panic: scheduler=queue
182
185
resumable via --resume; per-locale JSONL shards at mass-panic-results/journal
183
-
~5-15% slower than static on clean runs (one atomic + one journal write per repo).
186
+
~5-15% slower than static on clean runs (unmeasured; one atomic + one journal write per repo).
184
187
A crash or Ctrl+C loses only the in-flight repo per locale — everything already
185
188
marked "done" is skipped on the next invocation with --resume.
0 commit comments