Yes, that is the metric. I had run it before you posted the heatmap, and the two grids are the same grid.
Independently, from results/*.scores.jsonl and data/positives.parquet, each detector held at its own 1% point, best member per cell:
mine your figure
integral recall 0.6077 60.8%
cells 92 92
detectors owning >=1 6 6
Cell by cell it matches on all 92: same owner label, same rounded recall, including the ones that are close. Owner census:
piguard 55 bastion 26 wolfdefender 5 proventra 4 picket 1 promptguard 1
One thing the match pins down that the title does not say. 60.8% is row-weighted. The unweighted mean of the 92 cells is 0.6106. Those differ by a third of a point, and you took the first, which is the right one, because the cells run 80 to 240 rows and a cell mean would quietly upweight the small ones.
The one thing still open is the second half of your title
FPR 1% is pinned for the positives and undefined for the negatives, because a benign input has no cell. There is no family x action to look up, so there is no detector to route it to. The two ways to close that price the same 0.6077 very differently:
A) the cell is a property of the serving surface, so benign routes the same way 0.9956% FPR
B) cannot route benign, so run every detector the oracle ever picks 4.4746% FPR
The oracle picks 6 of your 8. Under (A) the router is a 1%-budget system and it beats every single detector you shipped, so the title is exactly right. Under (B) it is a 4.5%-budget system, and at that same budget the plain union of those same six gets 0.8368 against the router's 0.6077.
So what you are proposing is a pick-one ceiling, not an ensemble ceiling. Which side of the union it lands on is decided entirely by whether the deployment knows the cell for clean traffic, not just for the attacks. Your footnote says "needs the cell known in advance", and I think that is doing more work than it looks like, because it is the benign half that decides the budget.
Growing the pool
piguard 0.5689
+ bastion 0.6029
+ proventra 0.6051
+ picket 0.6062
+ wolfdefender 0.6071
+ promptguard 0.6077
One added model buys 87% of the routing gain. The remaining four buy half a point between them. deepset and protectai own no cell at all, so (B) never runs them, and the alarm they would add is the plain union's price for carrying them.
As a share of the ceiling rather than a gap, which is what your metric makes possible:
piguard 93.6% bastion 83.3% proventra 69.5% promptguard 51.7%
wolfdefender 44.3% protectai 24.3% picket 20.5% deepset 11.9%
picket is at 0.0857% FPR, not 1%, because it is binary and runs at its own fixed point. Same for the one cell it owns.
One cost to price before you publish it as a comparison metric
The owner is chosen on the same rows it is scored on, 8 candidates per cell. Split-half, pick the owner on half a cell, score on the held-out half, mean of 20 splits:
in-sample half 0.6108
held-out half 0.5972
About 1.4 points of selection at half the data, less at full. Your cells being 80 to 240 rows is why it is that small and not larger. The ceiling is real, it just is not free.
Also worth saying: the ownership map here is not the 51/31 I quoted you last time. That one held everybody at a common 0.768% FPR, this one gives each detector its own 1%. Same files, different question, and the map does not survive the change. Which is an argument for publishing the metric with its operating point attached rather than as a single number.
I re-ran your own integrity check rather than trusting my copy: MANIFEST.json at fingerprint 3ee970d160449aae, 24 of 125 files held here, 0 mismatches on sha256 and bytes. Repo sha a8e7c1c, unchanged since 21 Aug.
Does your serving surface know the cell for clean traffic, or only for the attacks?