Skip to content

Commit bf0b4e0

Browse files
PhysShellclaude
andcommitted
docs(evidence): P-014 — record owner ruling (GO-P014-BOUNDED-DESIGN / NO-PRODUCTION)
K4 accepted as PASS-COMPILATION-CONFLICT with the limit SITE-LEVEL-CONFLICT-NOT-REPRESENTED; HOLD-FORMAL-GO lifted; GO allows a bounded design only. NuGet hash wording: the file hash vs content hash difference has a documented cause (content hash excludes signature data); no independent byte-level recomputation of the normalized content hash was done. Report text only. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TFkNAFFQz9KoTzpPws8vYG
1 parent ad17d7b commit bf0b4e0

1 file changed

Lines changed: 31 additions & 7 deletions

File tree

  • docs/evidence/p014-reference-coverage-2026-10

‎docs/evidence/p014-reference-coverage-2026-10/REPORT.md‎

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
**Pre-registered result: `GO-P014-BOUNDED-DESIGN`.** The GO has narrow content: the measured gain in Own.NET
44
diagnostics is small (§5).
55

6-
**Owner decision on review: `ACCEPT-REFERENCE-COVERAGE-FINDING / HOLD-FORMAL-GO / NO-PRODUCTION`.** The formal GO is
7-
held pending the verification in §8, which was done without a new experiment and without changing rules or
8-
thresholds. §8 corrects one claim of this report, about package identity.
6+
**Final owner ruling: `GO-P014-BOUNDED-DESIGN / NO-PRODUCTION`** (§8.7).
7+
- K4 is accepted as `PASS-COMPILATION-CONFLICT`, with the limit `SITE-LEVEL-CONFLICT-NOT-REPRESENTED`.
8+
- The earlier `HOLD-FORMAL-GO` is lifted.
9+
- The GO allows a bounded design only. No production change and no scope extension.
10+
11+
§8 holds the post-review verification, done without a new experiment and without changing rules or thresholds. It
12+
corrects one claim of this report, about package identity.
913

1014
Rules: [`00-preregistration.md`](00-preregistration.md), commit `2e73767b` (04:43 +05; the "04:45" in its header is
1115
my clock reading, and the commit time is the authoritative one). Own.NET `main` `c6e8a3c1`; extractor built offline
@@ -228,7 +232,8 @@ Against the pre-registered K4 ("recorded as ambiguous/conflict, never `RECOVERED
228232
- **Never `RECOVERED_CORRECT`:** yes, because A == B and no recovery is claimed.
229233
- **Not recorded at site level:** the per-site binding silently picks the first definition.
230234

231-
Whether compilation-level registration satisfies K4 is the owner's call. The facts above do not change with it.
235+
The owner ruled on this as `PASS-COMPILATION-CONFLICT`, with the limit `SITE-LEVEL-CONFLICT-NOT-REPRESENTED`
236+
(§8.7).
232237
All seven control summaries are now in `data/controls/K*.summary.json`.
233238

234239
### 8.2 NuGet SHA-512 comparison
@@ -248,7 +253,11 @@ computed SHA-512 (base64) of the `.nupkg` file myself:
248253
- The assets' `sha512` is NuGet's package content hash, the same value NuGet records in `.nupkg.metadata`. It is
249254
not the hash of the `.nupkg` file, so my original comparison was wrong. All 231 present packages match their
250255
assets entry, and **package identity is confirmed**, not approximate.
251-
- **Not checked by me:** why the content hash and the file hash differ. Package signatures are the likely reason.
256+
- **Why the two hashes differ** has a documented cause in NuGet's package-signing design: the file hash covers
257+
the whole `.nupkg`, while the content hash is computed over the package content without the signature data.
258+
- **Not done:** an independent byte-level recomputation of that normalized content hash. The evidence is the
259+
agreement of the assets' values with the content hashes NuGet itself recorded in the cache (231/231). That
260+
confirms the content hashes are consistent; it is not a recomputation.
252261
- **Package sources** (`.nupkg.metadata` `source`): P4 and P5 are all, or all but one, from nuget.org. For P1–P3,
253262
46, 2 and 2 packages came from another source. The source addresses are not published here (D13). Identical
254263
content hashes make the content the same whatever the source.
@@ -297,8 +306,23 @@ reference set than R2's binding numbers, and the two sets of numbers are not one
297306
- Criteria 1, 3 and 4 hold. Criterion 1 holds on the exact projects alone (P4, P5), and criterion 4 now holds
298307
without the identity caveat.
299308
- Criterion 2's controls hold, with K4's conflict recorded at compilation level only (§8.1).
300-
- The pre-registered result stays `GO-P014-BOUNDED-DESIGN`. The owner's `HOLD-FORMAL-GO` applies until the K4
301-
reading is decided.
309+
- The pre-registered result stays `GO-P014-BOUNDED-DESIGN`. The owner's ruling on K4 is in §8.7.
310+
311+
### 8.7 Owner ruling (recorded after the merge of #419, `ad17d7b2`)
312+
313+
`GO-P014-BOUNDED-DESIGN / NO-PRODUCTION`.
314+
- **K4 = `PASS-COMPILATION-CONFLICT`.** CS0101 satisfies the pre-registered conflict registration, and no false
315+
`RECOVERED_CORRECT` was claimed.
316+
- **Limit kept: `SITE-LEVEL-CONFLICT-NOT-REPRESENTED`.** The shared `CSharpCompilation` still binds `Dup.T` to its
317+
first definition. This is not evidence of correct project isolation.
318+
- **Scope of the GO.** It allows a bounded design only, given the limited diagnostic effect: 1 actionable TP, 2 minor
319+
TPs, 6 FPs. No production changes and no automatic scope extension.
320+
- **First design must cover:**
321+
- an honest `binding coverage` metric;
322+
- the bounded applicability of `project.assets.json`;
323+
- mandatory control of false OWN001/event findings.
324+
325+
NuGet references go into the extractor only after that design.
302326

303327
## 9. Files
304328

0 commit comments

Comments
 (0)