33** Pre-registered result: ` GO-P014-BOUNDED-DESIGN ` .** The GO has narrow content: the measured gain in Own.NET
44diagnostics 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
1014Rules: [ ` 00-preregistration.md ` ] ( 00-preregistration.md ) , commit ` 2e73767b ` (04:43 +05; the "04:45" in its header is
1115my 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).
232237All 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