Skip to content

Triage 71 RTS-revealed fidelity rows by owner and stage focused raise fixes #9929

Open

Description

@richlander

RTS-revealed fidelity row triage

Theme: Resolve RTS-revealed fidelity rows by owner, fixing decompiler raise defects.

Population and evidence

This ledger fixes the requested population at main revision 3e19b8ed09a8984ce7ffa987eb84fd143b102eb1: 89,065 methods, 682 selected by native RTS with legacy reference evidence; 65 OpcodeDiff + 6 OperandDiff = 71 rows. It does not include the 174 availability failures.

A targeted method-delta run at clean base 180823dd0 reproduced all 71: 65 OpcodeDiff, 6 OperandDiff, zero RecompileFail/ContextFail/FidelityUnavailable/NotFull. Inputs are the same 14 pinned packages/assemblies and MVIDs recorded in the baseline. SDK 11.0.100-rc.1.26425.128; Roslyn 5.9; Release; fidelity contract v5 unchanged. No second baseline loop was run.

Evidence is the native RTS opcode report and the exact unmodified composed C# captured via a temporary artifact.Source dump. A separate temporary caller of the existing native evaluator retained the six operand-diff results. The dump was removed; no harness repair is part of this work. Owner means the component responsible for the first evidenced mismatch; a body fidelity mismatch is not by itself proof of changed observable behavior.

The existing daily census run 38028897808 inspected the same 89,065-method population at a38bbc6dc, before #9886: 427 Exact, 72 OpcodeDiff, 6 OperandDiff, 174 RecompileFail, 3 NotFull; 217 semantic-defect rows and 4 pass bugs. Its census job failed and subsequent scan artifacts are absent. The committed post-#9886 population is authoritative here; the earlier census's seven extra constructor rows were fixed by #9886.

First suspects

  • Argument::.ctor#0 and Argument`1::.ctor#0: RTS harness, missing base-constructor context documented by Place the product's lifted constructor field initializers in RTS shells #9886.
  • CompletionSourceExtensions::Add#1: Comparator, ambiguous generated display-class ordinals documented by Generated-member ordinal correspondence never folds in native RTS compile-back #9586; route to that owner without changing the fidelity contract.
  • MetricManager::Finalize is also RTS harness: the product recovered a destructor body, but RTS compiles it as an ordinary Finalize method. The missing try/finally is caused by the declaration/body composition, not a dropped user finally in raising.
  • Third-party NuGet.Versioning version changes are RTS reference-closure issues first; normalizing all third-party assembly versions would conceal the mismatched input.

Ownership totals

  • Decompiler raise: 57.
  • RTS harness: 12.
  • Product spelling: 1.
  • Comparator: 1.

Decompiler-raise families:

  • Storage/evaluation reconstruction: 30.
  • Branch/switch reconstruction: 20.
  • Constructor store ordering: 4.
  • Comparison reconstruction: 1.
  • Comparison typing: 1.
  • Arithmetic reconstruction: 1.

Ledger

Every row is identified by assembly, metadata type, method-name ordinal, and the baseline signature retained in the reproduction delta. Opcode excerpts show original → recompiled. Empty operation regions are written ∅. Branch/switch layout and compiler canonicalization rows remain fidelity candidates, without a semantic-defect claim.

Method Native / legacy Owner Family Evidence
DotnetInspector.Core!DotnetInspector.Core.CacheTelemetry::Record#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction brtrue pop br ldstr → stloc brfalse; ∅ → ldstr ldloc; call → callvirt. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Core!DotnetInspector.Core.CoreCache::GetLegacyBasePath#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction brtrue → brfalse. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Core!DotnetInspector.Core.CoreCache::get_AppName#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction pop → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Core!DotnetInspector.Core.CountingHandler::.ctor#0 OpcodeDiff / RecompileFail RTS harness Composition/reference closure Flat shell drops product base(inner); ldarg ldarg call ret → ldarg call ret.
DotnetInspector.Core!DotnetInspector.Core.CountingTextWriter::.ctor#0 OperandDiff / OperandDiff RTS harness Composition/reference closure Same opcodes; base call changes System.IO.TextWriter::.ctor() → System.Object::.ctor(); artifact has no TextWriter base.
DotnetInspector.Core!DotnetInspector.Core.NetworkRequestObservation::RedactQuery#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ldloc → stloc; ∅ → stloc ldloc ldloc ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Core!DotnetInspector.Core.NetworkTelemetry::IsAllowedByPolicy#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction brtrue pop → stloc brfalse ldloc ldarg callvirt ret; br ldarg call stloc br → ret; stloc ldloc → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Core!DotnetInspector.Core.OfflineHandler::.ctor#0 OpcodeDiff / RecompileFail RTS harness Composition/reference closure Flat shell drops product base(inner); ldarg ldarg call ret → ldarg call ret.
DotnetInspector.Core!DotnetInspector.Core.VersionedCacheCategory::.ctor#0 OpcodeDiff / OpcodeDiff RTS harness Composition/reference closure Shell declares both auto-properties and separate readonly backing-field placeholders; C# struct auto-defaulting adds two ldarg ldnull stfld stores.
DotnetInspector.Packages!DotnetInspector.Packages.NuGetSourceOptions::get_HasCustomConfiguration#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction cgt.un → ceq ldc.i4 ceq. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Packages!DotnetInspector.Packages.PackageExtractionOutcome::.ctor#0 OpcodeDiff / OpcodeDiff RTS harness Composition/reference closure Shell declares both auto-properties and separate readonly backing-field placeholders; C# struct auto-defaulting adds two ldarg ldnull stfld stores.
DotnetInspector.Packages!DotnetInspector.Packages.VersionDir::.ctor#0 OpcodeDiff / OpcodeDiff RTS harness Composition/reference closure Shell declares both auto-properties and separate readonly backing-field placeholders; C# struct auto-defaulting adds three ldarg ldnull stfld stores.
DotnetInspector.Packages!DotnetInspector.Packages.VersionDirectory::Higher#0 OperandDiff / OperandDiff RTS harness Composition/reference closure Identical opcode streams; token references change NuGet.Versioning 7.0.1.0 → 7.3.0.0, including get_Version/op_GreaterThan. RTS selected a different dependency version; do not globally erase third-party versions.
DotnetInspector.Packages!DotnetInspector.Packages.VersionDirectory::SelectBest#0 OperandDiff / OperandDiff RTS harness Composition/reference closure Identical opcode streams; TryParse/IsPrerelease/op_GreaterThan/VersionDir ctor signatures change NuGet.Versioning 7.0.1.0 → 7.3.0.0. Reference-closure fidelity is the first owner.
DotnetInspector.Services!DotnetInspector.Services.DependencyResolutionService::ResolveVersionFromRange#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction dup → stloc ldloc; pop → ∅; ∅ → ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Services!DotnetInspector.Services.PlatformResolver::GetInstalledVersions#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ldsfld dup brtrue pop → ∅; dup stsfld → stloc ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Services!DotnetInspector.Services.PlatformResolver::ResolveRuntimeFramework#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ldsfld dup brtrue pop → ∅; dup stsfld → stloc ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
DotnetInspector.Services!DotnetInspector.Services.ProjectAssetsParser::IsProjectLibrary#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → ldloca initobj; dup → stloc ldloc; pop → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Analysis!ILInspector.Analysis.GenericMemberIdentity::OpenDeclaringType#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction brtrue → brfalse ldloc ret; ldloc ret → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Analysis!ILInspector.Analysis.GenericScope::.ctor#0 OpcodeDiff / OpcodeDiff Decompiler raise Constructor store ordering ∅ → ldarg call; ldarg call → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Analysis!ILInspector.Analysis.LibraryBodyIndex::CallerGraphKey#2 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → ldarg stloc; ldarg → ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Analysis!ILInspector.Analysis.LibraryBodyIndex::IsGrpcCoreNamespace#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction brtrue → brfalse. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Analysis!ILInspector.Analysis.MethodSignalAnalysis::ExceptionTypeName#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction brtrue → brfalse ldloc callvirt ret; ldloc callvirt ret → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Analysis!ILInspector.Analysis.TypeRef::ArityOf#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → ldc.i4 stloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Analysis!ILInspector.Analysis.TypeRef::DisplayName#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → ldnull stloc; ldc.i4 → ∅; ldsfld dup brtrue pop → stloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Analysis!ILInspector.Analysis.UnsafeEvidence::.ctor#0 OpcodeDiff / OpcodeDiff Decompiler raise Constructor store ordering ∅ → ldarg call; ldarg call → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.CSharpPrinter::LambdaText#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → stloc; ∅ → stloc; ∅ → stloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.IlProjection::Method#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → ldloc callvirt stloc; callvirt → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.IrImporter::GenericParameterNames#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ldloc ldarg → ∅; ∅ → ldloc ldarg. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.IrImporter::ResolveTypeToken#0 OperandDiff / OperandDiff Decompiler raise Branch/switch reconstruction Identical opcode kinds, but TypeDefinition/TypeReference switch sections and their beq destinations exchange order; method body raising owns this layout difference, not an ordinal/scope fold.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.MemberIdentity::IsDefaultInterpolatedStringHandlerConstructor#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction brfalse → brtrue ldc.i4 ret; ∅ → ldc.i4 ret; brfalse → brtrue ldc.i4 ret. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.MemberIdentity::IsReadOnlySpanCopyTo#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction brtrue → brfalse ldc.i4 ret; brfalse → brtrue ldc.i4 ret; brfalse → brtrue ldc.i4 ret. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.RefKindDiagnosticsPass::Run#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction brtrue → brfalse; brtrue → brfalse. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.StructuringPass::NormalEhContinuationTarget#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction dup → ∅; pop → ∅; ∅ → ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TypeRef::DisplayName#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → ldnull stloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TypeRef::get_ContainsUnsupported#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction brtrue pop ldc.i4 br call → stloc brfalse ldloc callvirt. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Metadata!ILInspector.Metadata.AssemblyInspector::ExtractReferencesAndCompany#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction stloc ldloc → dup; ldloc → stloc; ∅ → ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Metadata!ILInspector.Metadata.AssemblyInspector::InspectManagedDll#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → stloc; ldc.i4 stloc → ∅; ldloc → ldc.i4. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Metadata!ILInspector.Metadata.CanonicalIL::QualifiedName#1 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction bne.un → beq ldloc ret; stloc br → ret; stloc br ldloc stloc ldloc → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Metadata!ILInspector.Metadata.CanonicalIL::QuoteName#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction bgt.un → bgt; beq → bne.un. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Metadata!ILInspector.Metadata.EcosystemIntegrationScanner::GetEvidenceRank#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction ∅ → ldc.i4 stloc; call → callvirt; switch → stloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Metadata!ILInspector.Metadata.EcosystemIntegrationScanner::TryGetHttpClientKind#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction br → ∅; ldstr → ldind.ref callvirt; callvirt brfalse ldarg ldstr stind.ref br ldarg ldstr ldc.i4 callvirt brfalse ldarg ldstr stind.ref br → cgt ret. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.Metadata!ILInspector.Metadata.OpenTelemetrySignalInfo::.ctor#0 OpcodeDiff / OpcodeDiff Decompiler raise Constructor store ordering ∅ → ldarg call; ldarg call → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.MetadataPrimitives!ILInspector.Metadata.SignatureDecoder::GetPrimitiveType#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction ∅ → ldarga constrained. callvirt stloc br. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.MetadataPrimitives!ILInspector.Metadata.TypeResolver::ApplyGenericArguments#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → ldc.i4 stloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
ILInspector.MetadataPrimitives!ILInspector.Metadata.TypeResolver::FormatDisplayName#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → ldc.i4 stloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
dotnet-inspect!DotnetInspector.Views.LibraryInspectionView::get_IntegrationOpportunitiesSection#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction dup → stloc ldloc; pop → ∅; ∅ → ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
dotnet-inspect!DotnetInspector.Views.SourceFileRow::.ctor#0 OpcodeDiff / OpcodeDiff Decompiler raise Constructor store ordering ∅ → ldarg call; ldarg call → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.Extensibility.Implementation.ExceptionConverter::GetStackFrameLength#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → stloc ldloc; add → ∅; ∅ → add. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.Extensibility.Implementation.Sampling.SamplingRateStore::SetLastObservedSamplingPercentage#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction ∅ → ldc.i4 stloc; switch → stloc ldloc brfalse ldloc ldc.i4 beq ldloc ldc.i4 beq ldloc ldc.i4 beq; beq → bne.un. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.Metrics.ConcurrentDatastructures.MultidimensionalCube21::GetPointMoniker#0` OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ldstr → stloc; ∅ → stloc ldloc ldstr ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.Metrics.DefaultAggregationPeriodCycle::Run#0 OpcodeDiff / RecompileFail Decompiler raise Storage/evaluation reconstruction stloc ldloc → ∅; stloc ldloc → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.Metrics.MetricManager::Finalize#0 OpcodeDiff / OpcodeDiff RTS harness Composition/reference closure DestructorRecoveryPass strips the canonical base-finalizer scaffold and sets IsDestructor; shell emits public void Finalize() rather than ~MetricManager(), losing leave ldarg call endfinally.
Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.Metrics.Util::RoundAndValidateValue#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction stloc ldloc → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Collections.SegmentedDictionary2::.ctor#1` OpcodeDiff / RecompileFail Product spelling Generic constructor self identity Product-issued ConstructorChain is base(capacity, (IEqualityComparer<TKey>)null) for original self-call SegmentedDictionary<!0,!1>::.ctor(int32, IEqualityComparer<!0>); generic self identity is misclassified as base. RTS correctly carries only this-chains.
Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder1::FindIndex#5` OpcodeDiff / RecompileFail Decompiler raise Storage/evaluation reconstruction ldarg ldarg add stloc → ∅; ldloc → ldarg ldarg add. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Microsoft.CodeAnalysis.CSharp!Microsoft.CodeAnalysis.CSharp.Symbols.FieldWellKnownAttributeData::.ctor#0 OperandDiff / RecompileFail RTS harness Composition/reference closure Same opcodes; base call changes CommonFieldWellKnownAttributeData::.ctor() → System.Object::.ctor() in the flat shell.
Newtonsoft.Json!Newtonsoft.Json.JsonTextReader::FinishReadQuotedStringValue#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction ∅ → ldstr newobj throw; stloc ldloc → ∅; stloc ldloc → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Newtonsoft.Json!Newtonsoft.Json.JsonValidatingReader::GetCurrentNodeSchemaType#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction ∅ → ret ldc.i4 newobj ret ldloca initobj ldloc; ldc.i4 newobj ret ldloca initobj ldloc ret → ∅. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Newtonsoft.Json!Newtonsoft.Json.Linq.JsonPath.JPath::TryParseValue#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction brfalse → brtrue ldarg ldnull stind.ref ldc.i4 ret; brfalse → brtrue ldarg ldnull stind.ref ldc.i4 ret; brfalse → brtrue ldarg ldnull stind.ref ldc.i4 ret. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
Newtonsoft.Json!Newtonsoft.Json.Serialization.JsonSerializerInternalWriter::SerializeMultidimensionalArray#1 OpcodeDiff / OpcodeDiff Decompiler raise Comparison reconstruction ceq brfalse → bne.un; comparison is fused in emitted C#. Body fidelity candidate; no semantic-defect claim.
Newtonsoft.Json!Newtonsoft.Json.Utilities.JavaScriptUtils::WriteEscapedJavaScriptString#0 OpcodeDiff / OpcodeDiff Decompiler raise Branch/switch reconstruction ∅ → ldc.i4 stloc; bgt.un → bgt; switch → stloc ldloc brfalse. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
NuGet.Versioning!NuGet.Versioning.VersionComparer::Compare#1 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction call → ∅; ∅ → stloc call ldloc. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
NuGet.Versioning!NuGet.Versioning.VersionRange::IsBetter#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction ∅ → stloc; pop → ∅; call → ldloc callvirt. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
NuGet.Versioning!NuGet.Versioning.VersionRange::get_IsFloating#0 OpcodeDiff / OpcodeDiff Decompiler raise Comparison typing cgt.un → cgt for enum > zero; unsigned comparison evidence is lost in the body render.
System.CommandLine!System.CommandLine.Argument::.ctor#0 OpcodeDiff / Exact RTS harness Composition/reference closure Legacy Exact; composed Argument(string name) { } drops base(name, constant); ldarg ldarg ldc.i4 call ret → ldarg call ret; #9886 documents this residual.
System.CommandLine!System.CommandLine.Argument1::.ctor#0` OpcodeDiff / Exact RTS harness Composition/reference closure Legacy Exact; composed generic class has no Argument base and drops base(name); ldarg ldarg call ret → ldarg call ret; #9886 documents this residual.
System.CommandLine!System.CommandLine.Command::get_HasArguments#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction dup → stloc ldloc; pop → ∅; call → ldloc callvirt. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
System.CommandLine!System.CommandLine.Command::get_HasOptions#0 OpcodeDiff / OpcodeDiff Decompiler raise Storage/evaluation reconstruction dup → stloc ldloc; pop → ∅; call → ldloc callvirt. Product body reproduces this opcode change in the compiled artifact; no semantic equivalence claim.
System.CommandLine!System.CommandLine.CompletionSourceExtensions::Add#1 OperandDiff / Exact Comparator Generated ordinal correspondence Legacy Exact; identical opcodes. Only <>c__DisplayClass1_0 → <>c__DisplayClass0_0 and its field/lambda operands differ; overloaded Add prevents unique correspondence (#9586/#9636).
System.CommandLine!System.CommandLine.Help.TwoColumnHelpRow::GetHashCode#0 OpcodeDiff / OpcodeDiff Decompiler raise Arithmetic reconstruction Product spells constant arithmetic which Roslyn folds; original ldc.i4 ldc.i4 mul becomes ldc.i4. Body fidelity candidate; no semantic-defect claim.

Next focused slice

Start with the largest raise family, storage/evaluation reconstruction, and bound the first slice to redundant initialization of locals assigned by verified out calls inside short-circuit conditions. The artifacts for TypeRef::ArityOf, both TypeRef::DisplayName methods, and TypeResolver::ApplyGenericArguments / FormatDisplayName insert = default stores absent from the original. ProjectAssetsParser::IsProjectLibrary has the same initialization cause plus a separate null-conditional reconstruction difference.

Normative owner: docs/design/value-typed-emission.md#instance-3--definite-assignment-decided-before-printing. Claim to establish: condition-outcome assignment facts may remove a default initializer only when every path reaching the local read has executed the verified out call. Keep required initialization for skipped calls, unknown ref kinds, ref inputs, handler entries, and isolated nested bodies. The compiler-produced witness, near misses, fixed-population render A/B, changed-method fidelity, and an exact-head adversarial round are the close gates.

Remaining storage, branch/switch, constructor-order, product-spelling, and comparator rows are separate slices. RTS composition rows go to a focused RTS docket. Do not change ReturnToSender implementation, comparator rules, or CurrentContractVersion in the product slice. Shared-baseline regeneration is coordinated with the RTS agent at the eventual PR head.

Generated by Codex.

Activity

  1. richlander commented on Oct 10, 2026

    @richlander
    OwnerAuthor

    Routing and first slice

    All 71 rows are reproduced and owner-assigned. The RTS composition/reference rows are routed to #9930; the ambiguous display-class row is recorded on #9586; the misclassified generic constructor chain is filed as product-spelling issue #9933.

    The triage-and-raise agent claims #9931 as the first focused slice from the largest storage/evaluation family, on fix/rts-revealed-row-triage at base 180823dd0. New guards reproduce the defect before the implementation (6 failed, 5 passed). The slice retains outcome-specific assignment facts for verified out calls and joins only continuation-reaching paths. No ReturnToSender, comparator, or contract-version changes.

    Generated by Codex.

  2. richlander commented on Oct 10, 2026

    @richlander
    OwnerAuthor

    Native corroboration of the Render A/B changes

    Scope: 139 exact changed-method identities from the merge-base 6f846c49b → head f35404ed5 Render A/B over 46,945 methods in 13 pinned assemblies. Both native evaluations used the same complete 14-assembly baseline reference population, unmodified native RTS product-artifact engine, no compile-back floor, and fidelity contract v5.

    Native verdict Base Head
    Exact 0 50
    OpcodeDiff 65 15
    RecompileFail 70 70
    ContextFail 4 4

    All 65 checkable rows remain compilable; 50 become Exact. The 74 previously uncheckable rows remain in the same status. 69 retain the identical first failure detail; five report another pre-existing closure member or reference failure in the same class (CS0534 missing abstract members, or CS0246/CS0234 unavailable reference names). No new native compilation/availability failure is introduced.

    Of the 57 raw Render A/B valid→invalid reports in #9939, native RTS proves 24 compilable: 17 become Exact and seven retain OpcodeDiff. The other 33 were already RecompileFail at base and remain so, limiting independent native confirmation. Do not replace the raw validity verdict with an unconditional all-method validity claim.

    A line-level byte audit of all 139 generated before/after documents found exactly 172 removals of trailing = default initializers and zero other text edits. Stable identities, raw semantic transitions, and exact generated structural documents are retained in the manifest; every row is classified as initializer-only structural spelling. The compiler-produced outcome binding gates cover the proof separately from the legacy shell.

    The full 14-assembly Render A/B acquisition gap remains #9935; these counts exclude Microsoft.CodeAnalysis.CSharp. No full fidelity baseline loop has been run for triage.

    Complete changed-method ledger

    Each row is initializer-only structural spelling, with no other C# byte edits. Raw validity is the Render A/B shell verdict and retains the #9939 limitation; native status is from the unchanged product-artifact evaluator. The same 139 methods are evaluated at both revisions.

    Method Initializers removed Raw validity Native base Native head
    DotnetInspector.Services!DotnetInspector.Services.DepsJsonParser::Parse#0 2 invalid->invalid OpcodeDiff Exact
    DotnetInspector.Services!DotnetInspector.Services.MetadataFieldCache::TryGet#0 4 valid->valid OpcodeDiff OpcodeDiff
    DotnetInspector.Services!DotnetInspector.Services.PackageMetadataService::ParseDeprecation#0 1 valid->valid OpcodeDiff Exact
    DotnetInspector.Services!DotnetInspector.Services.PlatformPackService::BuildPackRequests#0 1 valid->valid OpcodeDiff Exact
    DotnetInspector.Services!DotnetInspector.Services.PlatformPackService::GetMissingPackRequests#0 1 valid->valid OpcodeDiff Exact
    DotnetInspector.Services!DotnetInspector.Services.ProjectAssetsParser::IsProjectLibrary#0 1 valid->valid OpcodeDiff OpcodeDiff
    DotnetInspector.Services!DotnetInspector.Services.ProjectAssetsParser::Parse#0 2 valid->valid OpcodeDiff OpcodeDiff
    DotnetInspector.Services!DotnetInspector.Services.ProjectAssetsParser::ResolvePackagePath#0 1 valid->valid OpcodeDiff Exact
    DotnetInspector.Services!DotnetInspector.Services.ProjectAssetsParser::TryGetFrameworkDependencies#0 2 valid->invalid OpcodeDiff Exact
    ILInspector.Analysis!ILInspector.Analysis.LibraryBodyIndex.<>c__DisplayClass52_0::<BuildCallTree>g__Build|9#0 1 invalid->invalid ContextFail ContextFail
    ILInspector.Analysis!ILInspector.Analysis.LibraryBodyIndex.<>c__DisplayClass53_0::<BuildCallerTree>g__Build|6#0 1 invalid->invalid ContextFail ContextFail
    ILInspector.Analysis!ILInspector.Analysis.LibraryBodyIndex.<>c__DisplayClass55_0::<BuildCallerTree>g__Build|2#0 1 invalid->invalid ContextFail ContextFail
    ILInspector.Analysis!ILInspector.Analysis.TypeRef::ArityOf#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Analysis!ILInspector.Analysis.TypeRef::DisplayName#0 1 valid->invalid OpcodeDiff OpcodeDiff
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.CSharpPrinter::BinaryBody#0 1 valid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.CSharpPrinter::BitwiseUnsignedOperand#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.CSharpPrinter::EnumMemberName#0 1 valid->invalid OpcodeDiff OpcodeDiff
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.CSharpPrinter::EnumUnderlyingType#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.CSharpPrinter::IsOutOfRangeUnsignedConstant#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.CrossAssemblyTypeResolver::Implements#0 1 valid->invalid OpcodeDiff OpcodeDiff
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.DoWhileLoopPass::TransformOne#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.EhStructuringPass::<InlineFilterLocalLoads>g__Visit|38_0#0 1 invalid->invalid ContextFail ContextFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.EhStructuringPass::TryBuildFilter#1 2 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.InlineArrayCollectionPass::RaisePlaceConversions#0 1 valid->valid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.InlineArrayCollectionPass::TryRaiseArraySpreadWithTail#0 1 invalid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.IsPatternPass::FoldPositionalPatternReturnOne#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.IsPatternPass::TryBuildPositionalPattern#0 1 invalid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.IteratorReconstructionPass::Run#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.LambdaCachePass::TryFoldFlatCache#0 1 invalid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.LambdaRaisingPass::RaiseWithCaptures#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.LocalFunctionRaisingPass::SubstituteEnvironment#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.NullConditionalPass::RaiseSpilled#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.RangeFromGetSubArrayPass::Run#0 2 valid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.ReturnSinkingPass::SinkOnce#0 1 invalid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.SlotDiamondPass::MatchGuardStore#0 1 valid->valid OpcodeDiff OpcodeDiff
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.SlotDiamondPass::MatchSplitStore#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.SlotStoreDiamondPass::CollectEffectTimeline#0 1 valid->valid OpcodeDiff OpcodeDiff
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.StructConstructorPass::ReceiverStorageType#0 1 valid->valid OpcodeDiff OpcodeDiff
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.StructConstructorPass::ResolveTarget#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.StructuringPass::EndsWithBranchTo#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.StructuringPass::FindDiamondJoin#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.SwitchRaisingPass::BuildPredecessors#0 1 invalid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.SwitchRaisingPass::Raise#0 1 invalid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.SwitchRaisingPass::RaiseSparseIntSwitch#0 1 invalid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TupleBinaryOperatorPass::TryBuildNestedOperand#0 3 valid->valid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TupleBinaryOperatorPass::TryClassifyLiteralSide#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TupleBinaryOperatorPass::TryRaiseOperandComparisonAt#0 2 valid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TupleBinaryOperatorPass::TryRaiseReturnAt#0 1 valid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TupleBinaryOperatorPass::TryRaiseSlotAt#0 2 valid->invalid RecompileFail RecompileFail
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TupleCreationPass::CollectElements#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TypeRef::ArityOf#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Decompiler!ILInspector.Decompiler.Pipeline.TypeRef::DisplayName#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.Metadata!ILInspector.Metadata.ApiSurfaceExtractor::AttachLocalExtensionMethods#0 1 invalid->invalid RecompileFail RecompileFail
    ILInspector.Metadata!ILInspector.Metadata.ApiSurfaceExtractor::FormatDefaultValue#0 1 valid->invalid OpcodeDiff OpcodeDiff
    ILInspector.Metadata!ILInspector.Metadata.ApiSurfaceExtractor::TryReadAttributedParameterDefault#0 2 valid->invalid OpcodeDiff Exact
    ILInspector.Metadata!ILInspector.Metadata.ApiSurfaceExtractor::TryReadDecimalConstantAttribute#0 2 valid->invalid OpcodeDiff OpcodeDiff
    ILInspector.Metadata!ILInspector.Metadata.EcosystemIntegrationScanner::AddType#0 6 valid->invalid OpcodeDiff Exact
    ILInspector.Metadata!ILInspector.Metadata.FqnParser::TrySplitOverload#0 1 valid->valid OpcodeDiff OpcodeDiff
    ILInspector.Metadata!ILInspector.Metadata.TypeMatcher::GetGenericArity#0 1 valid->valid OpcodeDiff Exact
    ILInspector.Metadata!ILInspector.Metadata.TypeMatcher::Normalize#0 1 valid->invalid OpcodeDiff Exact
    ILInspector.MetadataPrimitives!ILInspector.Metadata.TypeResolver::ApplyGenericArguments#0 1 valid->valid OpcodeDiff Exact
    ILInspector.MetadataPrimitives!ILInspector.Metadata.TypeResolver::FormatDisplayName#0 1 valid->valid OpcodeDiff Exact
    dotnet-inspect!DotnetInspector.CommandLine.ArgumentPreprocessor::PreprocessArgs#0 3 invalid->invalid RecompileFail RecompileFail
    dotnet-inspect!DotnetInspector.CommandLine.CommandLineHelpers::ParseTypeLimit#0 1 valid->valid OpcodeDiff Exact
    dotnet-inspect!DotnetInspector.CommandLine.MemberOptionsParser::BuildMemberFilter#0 1 valid->valid OpcodeDiff Exact
    dotnet-inspect!DotnetInspector.CommandLine.SharedParsers::ParseMemberFilter#0 1 valid->valid OpcodeDiff Exact
    dotnet-inspect!DotnetInspector.Inspectors.LibraryMetadataService::BuildTransitiveReferences#0 1 valid->valid OpcodeDiff Exact
    dotnet-inspect!DotnetInspector.Inspectors.PackageFileLister::ResolvePackageReadme#0 1 valid->invalid OpcodeDiff Exact
    dotnet-inspect!DotnetInspector.Inspectors.PackageIndexCache::TryGet#0 1 valid->valid OpcodeDiff OpcodeDiff
    dotnet-inspect!DotnetInspector.Inspectors.XmlDocFileParser::GetMemberDocumentation#1 1 invalid->invalid RecompileFail RecompileFail
    dotnet-inspect!DotnetInspector.Inspectors.XmlDocFileParser::NormalizeParameterType#0 2 valid->invalid OpcodeDiff Exact
    dotnet-inspect!DotnetInspector.Inspectors.XmlDocFileParser::TryNormalizeGenericParameterReference#0 2 valid->valid OpcodeDiff Exact
    dotnet-inspect!DotnetInspector.Output.DiscoverOutput::AnnotateKind#0 1 valid->valid RecompileFail RecompileFail
    dotnet-inspect!DotnetInspector.Output.DiscoverOutput::WriteTree#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry::get_HandledAt#0 1 valid->invalid OpcodeDiff Exact
    Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.Extensibility.Implementation.SdkVersionUtils::GetSdkVersion#0 1 valid->valid OpcodeDiff Exact
    Microsoft.ApplicationInsights!Microsoft.ApplicationInsights.Extensibility.Implementation.Telemetry::IsDeveloperMode#0 2 valid->invalid OpcodeDiff Exact
    Microsoft.CodeAnalysis!Microsoft.Cci.MetadataWriter::GetMemberReferenceParent#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.Cci.MetadataWriter::GetMethodHandle#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.Cci.MetadataWriter::GetTypeHandle#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.Cci.MetadataWriter::SerializeMethodBody#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.AnalyzerConfig::get_GlobalLevel#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.AssemblyIdentity::TryParseDisplayName#1 2 invalid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.AssemblyIdentity::TryParsePublicKeyToken#0 1 valid->valid OpcodeDiff Exact
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.CodeGen.LocalSlotManager::DeclareLocal#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2::AddRange#0 1 valid->valid OpcodeDiff Exact
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Collections.OrderPreservingMultiDictionary`2::Add#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Collections.OrderPreservingMultiDictionary`2::Contains#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Collections.OrderPreservingMultiDictionary`2::GetAsOneOrMany#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Collections.OrderPreservingMultiDictionary`2::TryGetValue#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Collections.OrderPreservingMultiDictionary`2::get_Item#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.CommandLineParser::TryParseEncodingName#0 1 valid->valid OpcodeDiff Exact
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.CommonCompiler::TryReadEmbeddedFileContent#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.CommonReferenceManager`2::GetResolvedReferenceAndFreePropertyMapEntry#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Compilation::IsImportDirectiveUsed#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.ConstantValue.ConstantValueString::ToString#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Debugging.CustomDebugInfoReader::GetVisualBasicImportStrings#0 1 valid->valid OpcodeDiff Exact
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Diagnostics.AnalysisResultBuilder::AddLocalDiagnosticsForPartialAnalysis_NoLock#2 1 valid->valid OpcodeDiff Exact
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver::<GetFilteredDiagnostic>g__applyFurtherFiltering|150_0#0 1 invalid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver::GetFilteredDiagnostic#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1::<ExecuteDeclaringReferenceActions>g__addExecutableCodeBlockAnalyzerActions|11_8#0 1 invalid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Diagnostics.AnalyzerManager.AnalyzerExecutionContext::TryProcessCompletedMemberAndGetPendingSymbolEndActionsForContainer#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Diagnostics.SuppressMessageAttributeState::DecodeGlobalSuppressMessageAttributes#2 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.CommonPEModuleBuilder::GetTypeDefinitionGeneration#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.DefinitionMap::<CreateLambdaAndClosureMap>g__tryParseDisplayClassDebugId|44_2#0 2 invalid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.DefinitionMap::GetDeletedSynthesizedMethods#0 1 invalid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.DefinitionMap::TryGetMethodHandle#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.EncVariableSlotAllocator::TryGetPreviousClosure#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.EncVariableSlotAllocator::TryGetPreviousLambda#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.EncVariableSlotAllocator::TryGetPreviousStateMachineState#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.NoPia.EmbeddedTypesManager`21.CommonEmbeddedMember`1::GetAttributes#0 2 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.Emit.NoPia.EmbeddedTypesManager`21.CommonEmbeddedMethod::PortAttributeIfNeedTo#0 2 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.GreenNode::GetDiagnostics#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.MetadataDecoder`5::GetTypeOfTypeDef#1 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.MetadataDecoder`5::GetTypeOfTypeRef#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::CrackBoolAndStringArrayInAttributeValue#0 1 valid->valid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::CrackBoolAndStringInAttributeValue#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::CrackDecimalInDecimalConstantAttribute#0 4 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::CrackIntAndIntInAttributeValue#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::CrackStringAndStringInAttributeValue#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::HasDateTimeConstantAttribute#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::HasDecimalConstantAttribute#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::HasInlineArrayAttribute#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::HasNullablePublicOnlyAttribute#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::HasRefSafetyRulesAttribute#0 1 valid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PEModule::TryExtractExperimentalDataFromAttribute#0 1 invalid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.PredicateSyntaxStrategy`1.Builder::VisitTree#0 1 invalid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.SubsystemVersion::TryParse#0 1 valid->valid OpcodeDiff Exact
    Microsoft.CodeAnalysis!Microsoft.CodeAnalysis.SyntaxStore.Builder::GetSyntaxInputTable#0 1 invalid->invalid RecompileFail RecompileFail
    Microsoft.CodeAnalysis!Roslyn.Utilities.GeneratedCodeUtilities::GetGeneratedCodeKindFromOptions#1 1 valid->valid OpcodeDiff Exact
    Microsoft.CodeAnalysis!Roslyn.Utilities.GeneratedCodeUtilities::GetGeneratedCodeKindFromOptions#0 1 valid->valid OpcodeDiff Exact
    Newtonsoft.Json!Newtonsoft.Json.JsonValidatingReader::get_CurrentMemberSchemas#0 1 valid->valid RecompileFail RecompileFail
    Newtonsoft.Json!Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver::ResolveContract#0 1 valid->valid RecompileFail RecompileFail
    Newtonsoft.Json!Newtonsoft.Json.Serialization.JsonArrayContract::.ctor#0 2 valid->invalid RecompileFail RecompileFail
    Newtonsoft.Json!Newtonsoft.Json.Serialization.JsonDictionaryContract::.ctor#0 2 valid->invalid RecompileFail RecompileFail
    Newtonsoft.Json!Newtonsoft.Json.Serialization.JsonSerializerInternalReader::EnsureType#0 1 valid->invalid RecompileFail RecompileFail
    Newtonsoft.Json!Newtonsoft.Json.Serialization.JsonSerializerInternalWriter::GetPropertyName#0 1 valid->invalid OpcodeDiff OpcodeDiff
    NuGet.Versioning!NuGet.Versioning.NuGetVersion::TryParse#0 1 valid->invalid OpcodeDiff OpcodeDiff
    NuGet.Versioning!NuGet.Versioning.SemanticVersion::ToString#1 1 valid->invalid OpcodeDiff Exact

    Generated by Codex.

  3. richlander commented on Oct 10, 2026

    @richlander
    OwnerAuthor

    RTS #9914 handoff

    The RTS availability slice #9914, merged at d93cb58f8, exposes two additional raise candidates beyond the original 71-row ledger:

    Method (Microsoft.CodeAnalysis 5.0.0) Native transition Owner Evidence from #9914
    Microsoft.CodeAnalysis.SyntaxNodeOrTokenList::get_Position RecompileFail → OpcodeDiff Decompiler raise Original dup brtrue pop becomes a local.
    Microsoft.CodeAnalysis.Text.SourceText::TryReadByteOrderMark RecompileFail → OpcodeDiff Decompiler raise Recompiled branch sense differs.

    These are follow-up candidates, outside the current primitive-boolean definite-assignment slice. The triage branch has integrated #9914; clean base/head regeneration will attribute only this slice's movement, separately from the five newly compilable #9914 rows. The original 71-row ledger remains tied to the requested #9886 snapshot.

    Generated by Codex.

  4. richlander commented on Oct 11, 2026

    @richlander
    OwnerAuthor

    Focused raise slice published

    PR #9944 fixes primitive-boolean outcome assignment in the shared pre-print analysis. Candidate 8d72a548d, effective base d93cb58f8.

    The serial clean base run reproduces main's committed baseline on all 89,065 method rows and metrics. This slice contributes four OpcodeDiff → Exact rows:

    • ILInspector.Analysis.TypeRef::ArityOf;
    • ILInspector.Decompiler.Pipeline.TypeRef::DisplayName;
    • ILInspector.Metadata.TypeResolver::ApplyGenericArguments;
    • ILInspector.Metadata.TypeResolver::FormatDisplayName.

    Both Metadata methods are in ILInspector.MetadataPrimitives.dll. #9914's five newly compilable rows are already at base and remain separate attribution. Exact rises 437→441, OpcodeDiff falls 67→63, and RecompileFail stays 169.

    The complete delta is 43 methods: four native/legacy fidelity gains plus 40 raw valid→CS0165 reports, with one overlap. The raw quality gate remains BLOCKED, fully recorded under #9939 and in the generated baseline. Native proves 22 of those 40 compilable; 18 stay unavailable. No losses are offset or suppressed.

    Broader exact-candidate native evaluation: 50 Exact gains among 141 targeted methods, 15 retained OpcodeDiff, and 76 unchanged unavailable results. Local build, 36 focused tests, four baseline tests, 7,130 integrated fast tests, and the 1,716-method matched quick census pass. Structural correspondence does not support the initializer change and is explicitly unavailable.

    Round 1 is waiting for current-head ci-required before its single GPT-6 Sol adversarial review. No merge is authorized. The original 71-row ledger and the two #9914 follow-up rows retain their distinct snapshot provenance.

    Generated by Codex.

  5. richlander commented on Oct 13, 2026

    @richlander
    OwnerAuthor

    Newly exposed #9980 rows

    Clean main 4b3db3bd7 reproduces both newly unlocked rows as native OpcodeDiff, with the compile-back floor disabled. Both legacy references are OpcodeDiff. No baseline loop was run.

    Method Owner Evidence / route
    Newtonsoft.Json!Newtonsoft.Json.Linq.JValue::CompareBigInteger#0 Decompiler raise, receiver-storage reconstruction Product emits V_2 = decimal.Zero; return V_2.CompareTo(...); original ldsfld stloc ldloca becomes ldloca initobj ldloca. Same-SDK Release compiler controls distinguish direct constant-field receiver from a named local. Focused fix: #10027.
    System.CommandLine!System.CommandLine.Completions.CompletionAction::Invoke#0 Decompiler raise, null-conditional reconstruction Product emits nested ternary rawInput is not null ? rawInput.Length : 0. Sole native opcode difference is call string::get_Length() → callvirt; original branch/receiver pattern is null-conditional. Kept as a separate branch-raising slice.

    The original 71-row ledger remains fixed to its recorded population. These two rows are additions exposed by #9980, not re-keyed original rows. Latest Deep Inspect run 38331404280 was browser-only (frontend tests failed, census skipped); no census artifact is available in that run or the other recent checked runs. The current committed baseline is authoritative for these targets.

    PR #9992 is merged as 4b3db3bd7; #9944 remains open with whole-corpus readiness unproved. The next independently reviewable slice is #10027, without RTS/comparator changes.

    Generated by Codex.

  6. richlander commented on Oct 13, 2026

    @richlander
    OwnerAuthor

    Serial baseline attribution for #10027

    The focused decimal receiver fix is committed at c4f686d8825e3180aa97b15b3b76b465591a8a6a, with comparison base 13890712e576946c90d2af8dde68b43946ef6867. The clean-head focused gate passes 29/29 and fast gate passes 7,176/7,176. Targeted native RTS moves Newtonsoft.Json.Linq.JValue::CompareBigInteger#0 from OpcodeDiff to Exact; CompletionAction::Invoke#0 remains OpcodeDiff.

    I am preparing the required serial clean-base then clean-head baseline attribution with the same pinned 14 assemblies, compile cap 4,000, fidelity cap 50, and rts-cutover. No baseline process was active at the occupancy check. These runs close the focused fix and shared-baseline obligations; they are not a second discovery census. Output and exact source identities will be retained separately from the historical committed baseline before any ratchet is adopted. Please keep the baseline slot free while these serial runs are active.

    Structural review was attempted using product-issued source documents and is Partial with nine gaps; it does not independently establish the receiver rewrite. The PR will retain this limit alongside the concrete product body and opcode receipts.

    Generated by Codex.

  7. richlander commented on Oct 13, 2026

    @richlander
    OwnerAuthor

    Comparison base refreshed before baseline execution

    Main advanced to 3bc74c2cf342d3d5be148df9cbe934abf1a7954d, including #10032 (enum identity) and #10033 (by-ref spelling). Both affect the evidence population, so the candidate now integrates main as 874a529d7993cfa347de33162d72a8f50d20a97c. The only conflict was adjacent design documentation; both claims are retained and Markdown lint passes.

    No full baseline run had started. The preliminary render replay was stopped and its receipts archived with their old source identities. The clean integrated head is rebuilding; the serial base/head comparison will use this new base and head. This prevents inherited enum and RTS spelling movement from being attributed to the decimal receiver fix.

    Generated by Codex.

  8. richlander commented on Oct 13, 2026

    @richlander
    OwnerAuthor

    Decimal receiver slice merged

    PR #10054 merged as 4dda6e2cab06a7ef16b0588ebe9ba971cb56f354. Fixed-corpus attribution changes only Newtonsoft.Json.Linq.JValue::CompareBigInteger#0, from native and legacy OpcodeDiff to Exact; native Exact 446 → 447. Review reconciliation and full evidence are linked in the PR. Shared baseline work is complete and the baseline slot is free.

    Next independently mergeable slice: #10038, ordinary reference-receiver null-conditional length coalescing in System.CommandLine.Completions.CompletionAction::Invoke#0. New branch fix/10038-null-conditional-coalesce starts from the merged clean main head. The original 71-row ledger remains fixed to its recorded revision; subsequent RTS-exposed rows retain separate attribution. #9944 remains open with its independent coverage limitation.

    Generated by Codex.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions