Skip to content

docs(evidence): N3 pilot G0 — PASS-G0 (scope identity) - #415

Merged
PhysShell merged 2 commits into
mainfrom
research/n3-pilot-g0
Oct 20, 2026
Merged

PhysShell merged 2 commits into
mainfrom
research/n3-pilot-g0

Conversation

@PhysShell

Copy link
Copy Markdown
Owner

N3 bounded pilot, gate G0 (scope identity), under the owner decision ACCEPT-PHASE0 / GO-N3-BOUNDED-PILOT / NO-PRODUCTION on #414.

Result: PASS-G0 by the pre-registered rules, with three limits that bind G1.

  • The pre-registration (00-preregistration-g0.md) is committed in 14be6c33, before the filter was written or run. No rule was changed after the first run.
  • All 7 OrchardCore DI001 FPs of D11 are gone:
    • rule 3 (walk from the registration's own implementation) removes the implementation-merge FP;
    • rule 4 (proven lifetime only) removes the six test-registration FPs.
  • Controls hold exactly: DiCaptiveSample 4/4 with both silences; rrr-pi-rate#60 reports on base and is silent on fix.
  • New findings over 27 saved holdout and sweep facts: 0.

Limits (REPORT-G0 §4):

  1. The test-project rule missed OrchardCore.Tests, which uses xunit.v3.mtp-v2. Rule 2 removed none of the seven; they were neutralised only through mixed lifetimes.
  2. Rule 4 makes 48 mixed-lifetime names unknown, so they produce silence.
  3. A known Orleans FP survives: a factory-lambda singleton, DhtGrainLocator.
  4. Framework-provided scoped lifetimes (HttpContext, AddDbContext, controllers) are outside the registration graph. G1 must settle them first.

Research only: 7 files under docs/evidence/n3-pilot-2026-10/. No production, OwnIR, CI or golden change. The inputs are the saved facts of the private direction research (Own.NET e7d33e33 extractor). The unchanged core reproduces its own findings with all rules off, with 0 differences in 30 inputs.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TFkNAFFQz9KoTzpPws8vYG

PhysShell and others added 2 commits October 20, 2026 20:02
Rules fixed before the G0 filter is written or run: test-project
classification from .csproj, drop test registrations, walk from the
registration's own implementation, proven lifetime only. Target: the
7/7 OrchardCore DI001 FPs of D11; controls: DiCaptiveSample and
rrr-pi-rate#60; new-finding check over 27 saved holdout/sweep facts.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFkNAFFQz9KoTzpPws8vYG
All 7 OrchardCore DI001 FPs of D11 are removed by the pre-registered
rules: rule 3 (own implementation at the root) removes the
implementation-merge FP, rule 4 (proven lifetime only) the six
test-registration FPs. Controls hold exactly (DiCaptiveSample 4/4,
rrr-pi-rate#60 base 1 / fix 0); 0 new findings over 27 saved
holdout and sweep facts.

Limits carried into G1: the test-project rule missed
OrchardCore.Tests (xunit.v3.mtp-v2), so rule 2 removed none of the
seven; a known Orleans factory-lambda FP survives; framework-provided
scoped lifetimes (HttpContext, AddDbContext, controllers) are not
covered by the registration graph.

Research only: no production, OwnIR, CI or golden change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TFkNAFFQz9KoTzpPws8vYG
@PhysShell
PhysShell merged commit 46e9a9d into main Oct 20, 2026
76 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