|
3 | 3 | "control": "legacy-honesty-else-unresolved-forward", |
4 | 4 | "p037": "G-T2b class 3 — guarded local release, unresolved forward on the other branch", |
5 | 5 | "classification": "VERDICT_COMPATIBLE_VALUE_DIFFERENCE", |
6 | | - "measured_at": "70189a3", |
| 6 | + "measured_at": "f164dd3", |
7 | 7 | "owner_ruling": "2026-09-18: accepted as pre-A1 regression anchors, not as authorization for a pre-cutover fix; no ConsumesParam change before P-022 Stage 3", |
8 | 8 | "call_site_line": 41, |
9 | 9 | "defensive_dispose_line": null, |
10 | 10 | "current": { |
11 | 11 | "findings": [], |
12 | | - "fabricated_release_at_call_site": true |
| 12 | + "fabricated_release_at_call_site": false |
13 | 13 | }, |
14 | 14 | "post_a1": { |
15 | 15 | "findings": [], |
|
31 | 31 | } |
32 | 32 | }, |
33 | 33 | "result": "UNCHANGED — both engines reproduce the `current` record above exactly, on both layers. Stage 3 moved none of this control, which is what the two-layer design predicted: the fabricated release is decided in the Roslyn extractor, before either engine runs." |
| 34 | + }, |
| 35 | + { |
| 36 | + "at": "f164dd3", |
| 37 | + "on": "2026-09-29", |
| 38 | + "why": "PhysShell/Own.NET#380 — an independent INF-S2 correctness fix: ConsumesParam now counts a release (or a forward to another consumer) only when it is definite on every normal-return path of the callee, so a guarded one is no longer lowered as the caller's `release`. The `current` record pinned the fabricated call-site release and, for the three G-V4 controls, the KNOWN_FALSE_POSITIVE OWN003 it caused; once an independent correctness fix removes the release, continuing to require it would require the bug. Re-measured on both engines explicitly.", |
| 39 | + "engines": { |
| 40 | + "python": { |
| 41 | + "findings": [], |
| 42 | + "fabricated_release_at_call_site": false |
| 43 | + }, |
| 44 | + "rust": { |
| 45 | + "findings": [], |
| 46 | + "fabricated_release_at_call_site": false |
| 47 | + } |
| 48 | + }, |
| 49 | + "superseded_current": { |
| 50 | + "measured_at": "70189a3", |
| 51 | + "current": { |
| 52 | + "findings": [], |
| 53 | + "fabricated_release_at_call_site": true |
| 54 | + } |
| 55 | + }, |
| 56 | + "result": "CHANGED — `current` re-recorded to the new measurement, which equals the `post_a1` record this file has carried since the controls landed on main (afeca38, 2026-09-18; the record was measured at 70189a3) and which is unchanged here: the new expectation was not chosen after the fix. P-037 is not implemented by this; `post_a1` being met is a consequence of removing the fabricated release, not of cell selection.", |
| 57 | + "classification": "ACCEPTED BASELINE MOVEMENT CAUSED BY #380 — NOT a P-037 implementation, NOT a reopen of #304, NOT evidence that the A2 contract is satisfied" |
34 | 58 | } |
35 | 59 | ], |
36 | | - "note": "0 findings at warning severity today AND after A1 (class 3 is verdict-equivalent). The facts layer differs: today the extractor lowers M(r, flag, sink) to a release (may-as-must) and even the OWN051 advisory is suppressed; after A1 the guarded value is unknown, the call is plain + OWN051 at note level, and no release op may appear at the call site. The value-level pin (unknown, never repaired to may) is the kernel test k11_finding_release_priority_drops_an_unresolved_forward." |
| 60 | + "note": "0 findings at warning severity today AND after A1 (class 3 is verdict-equivalent). The facts layer differs: today the extractor lowers M(r, flag, sink) to a release (may-as-must) and even the OWN051 advisory is suppressed; after A1 the guarded value is unknown, the call is plain + OWN051 at note level, and no release op may appear at the call site. The value-level pin (unknown, never repaired to may) is the kernel test k11_finding_release_priority_drops_an_unresolved_forward.", |
| 61 | + "resolved_by": "#380 (fix commit f164dd3)" |
37 | 62 | } |
0 commit comments