Skip to content

docs(evidence): P-014 reference coverage — GO-P014-BOUNDED-DESIGN / NO-PRODUCTION (research only) - #419

Merged
PhysShell merged 3 commits into
mainfrom
research/p014-reference-coverage
Oct 21, 2026
Merged

PhysShell merged 3 commits into
mainfrom
research/p014-reference-coverage

Conversation

@PhysShell

@PhysShell PhysShell commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Final owner ruling: GO-P014-BOUNDED-DESIGN / NO-PRODUCTION.

  • K4: PASS-COMPILATION-CONFLICT (CS0101 in A/B/C, no false RECOVERED_CORRECT), with the limit SITE-LEVEL-CONFLICT-NOT-REPRESENTED.
  • HOLD-FORMAL-GO lifted.
  • Scope of the GO: a bounded design only, given the limited diagnostic effect (1 actionable TP, 2 minor TPs, 6 FPs). No production change and no scope extension.
  • Report follow-up: the NuGet-hash wording and this ruling are recorded in the report by a follow-up evidence-only PR, so that this head stays the one checked by CI.

Verification after review (REPORT §8, f24f32e5; no new experiment):

  • K4. The scoring instrument recorded CS0101 (duplicate Dup.T) in A, B and C. Per-site binding still silently picks the first definition, so the conflict is recorded at compilation level only.
  • Package hashes. My first hash check compared the wrong fields. The assets' sha512 equals the cache's .nupkg.metadata content hash for 231/231 present packages, so package identity is confirmed. The remaining approximations are P1's TFM (no 9.0 pack), packages missing in P1–P3, and B-ext's TPA precedence.
  • Exact projects. Criterion 1 holds on the exact projects P4 and P5 alone.
  • Sample. 50/50 supports a ≈≥93% bound; it does not prove all 1,240 recoveries. Only 16 of the 160 symbol changes were read.

Research only (2e73767b pre-registration, committed before any measuring run). The diagnostic payoff is narrow; see below.

Project Calls bound A / B (of all) Recovered by references Implicit usings alone
Flow.Launcher (WPF, net9; B TFM-approx) 925 / 1373 (2844) 448 (15.8%) —
git-credential-manager Core 3401 / 3462 (3820) 61 (1.6%), below threshold —
NATS.Client.JetStream (net8) 353 / 396 (839) 43 (5.1%) +172
BB84.IPTV Editor (desktop) 169 / 228 (353) 59 (16.7%) +20
FluentFlyout (WPF) 643 / 1272 (2003) 629 (31.4%) +330
  • The hidden limit is confirmed at the binding level. Today's compilation binds 32–48% of calls in 4 of 5 projects. A, with the net8 TPA, also binds .NET 8 overloads for a net9 project, e.g. TimeSpan.FromHours(double) instead of (int).

  • Correctness. 50/50 sampled recoveries are correct, and no binding was lost. Controls K1–K7 pass. K4 shows the single-compilation model hides duplicate definitions; that holds in both modes.

  • Mode B is built from existing project.assets.json plus the local TFM reference packs, with framework-first conflict resolution. Package identity is confirmed (see above).

  • Effect through the unchanged extractor (Python core; no Rust core built):

    • OWN050 −24;
    • +9 findings: 1 actionable TP (FluentFlyout OWN014 on the static SettingsManager.Current.PropertyChanged), 2 minor TPs, 6 co-lifetime FPs;
    • 2 projects unchanged.

    Most recovered calls feed no Own.NET analysis.

  • Disclosed (REPORT §4). Instrument fixes before scoring: the framework-name conflict skip and the site-key collision. Path bugs in my own driver were also fixed.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TFkNAFFQz9KoTzpPws8vYG

PhysShell and others added 3 commits October 21, 2026 04:43
…, instrument

Current-state claims checked in main c6e8a3c (single compilation, TPA
of the net8 extractor process, recursive first-filename-wins ref-dir,
no MSBuild evaluation, no binding metric; default parse options, no
implicit usings). Five projects chosen by rule (3 sweep repos with
assets, 2 desktop pairs), modes A (current) / B (TFM ref packs +
assets compile assets, APPROXIMATION: package sha512 differs from the
cache) / C (source-set probe), controls K1-K7, GO/KILL thresholds.
Fixed before any measuring run.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFkNAFFQz9KoTzpPws8vYG
Mode A (today's compilation) binds 32-48% of call sites in 4 of 5
projects; project-specific references from existing project.assets.json
+ TFM reference packs (APPROXIMATION: package sha512 differs from the
cache) recover 5-31% of calls in P1/P3/P4/P5 (1,240 calls overall),
50/50 sampled recoveries correct, 0 bindings lost; A also binds
net8-only overloads for a net9 project. Controls pass; K4 shows the
single-compilation model hides duplicate definitions. Through the
unchanged extractor: OWN050 -24, +9 findings (1 actionable TP, 2 minor,
6 co-lifetime FP). Implicit usings (source set) are a comparable,
separate lever. Instrument fixes before scoring disclosed in REPORT §4.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFkNAFFQz9KoTzpPws8vYG
…ntent hash

No new experiment, no rule or threshold change.
- K4: the scoring instrument's summary.json (now committed for all
  controls) records CS0101 in A, B and C; per-site binding still picks
  the first Dup.T, so the conflict is recorded at compilation level only.
- NuGet: my original check compared the assets sha512 with the cache's
  .nupkg.sha512 (file hash); the assets value is the content hash and
  equals .nupkg.metadata contentHash for 231/231 present packages, so
  package identity is confirmed and that APPROXIMATION is withdrawn.
- Exact (P4, P5) vs approximate (P1 TFM, P1-P3 missing packages)
  separated; criterion 1 holds on P4 and P5 alone.
- Sample limits stated (50/50 => >=93% bound; 16 of 160 symbol changes
  read); R2 vs R3 framework-selection difference stated.
Owner decision recorded: ACCEPT-REFERENCE-COVERAGE-FINDING /
HOLD-FORMAL-GO / NO-PRODUCTION.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFkNAFFQz9KoTzpPws8vYG
@PhysShell PhysShell changed the title docs(evidence): P-014 reference coverage — GO-P014-BOUNDED-DESIGN (research only) docs(evidence): P-014 reference coverage — pre-registered GO, owner HOLD-FORMAL-GO (research only) Oct 21, 2026
@PhysShell PhysShell changed the title docs(evidence): P-014 reference coverage — pre-registered GO, owner HOLD-FORMAL-GO (research only) docs(evidence): P-014 reference coverage — GO-P014-BOUNDED-DESIGN / NO-PRODUCTION (research only) Oct 21, 2026
@PhysShell
PhysShell merged commit ad17d7b into main Oct 21, 2026
76 of 77 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant