Drive RTS member discovery from product API surfaces - #3810
Conversation
|
Adversarial review round 1 at |
|
Adversarial review round 2 at |
|
Adversarial review round 3 at All five findings were reproduced and fixed in |
|
Current-head CI at Fixed in |
|
Round 4 findings are resolved at
Deliberate boundary: external inherited-interface closure cannot be proven from Current-head evidence: 58 product-surface tests; 574 RoundTrip tests with zero |
6898934 to
31d2061
Compare
|
Restacked onto parent #3793 head Old slice head: Post-restack evidence: Release solution build; 58 product-surface tests; 586 |
|
Current-head CI is externally blocked by the GitHub Actions major outage: Run: https://github.com/richlander/dotnet-inspect/actions/runs/31114444352 The original Windows job and two failed-job retries all failed before checkout I am not spending review round 5 while the stack's current-head CI is red. The |
31d2061 to
5a692d5
Compare
|
Round 5 findings are resolved in
Regression coverage includes an external |
d3ea29e to
adc38bc
Compare
|
Restacked after the parent onto |
|
Round-six findings reconciled in 70f6cd7:
Regression coverage includes stale compact and corpus signatures, zero-match dotted collisions, malformed method bodies, unresolved TypeSpec interface identity, and a class MethodImpl targeting an external ancestor through an in-module intermediate base. Release build, complete product-surface suite, oracle-backed RoundTrip gate, and cap-3 parity passed; parity remains 28 Exact / 4 OpcodeDiff / 4 RecompileFail with a byte-identical three-row manifest. |
70f6cd7 to
0898af4
Compare
|
Restacked onto integrated parent
Release solution build, complete |
|
Round-seven findings reconciled in
Style oracle: dotnet/runtime’s declared Release solution build, full |
ed553dc to
df1c2e8
Compare
|
Round-eight base settlement:
The authorized round-eight exact range, after current-head CI clears stack-wide, is |
df1c2e8 to
f00130a
Compare
|
Second round-eight restack: parent #3888 renamed Post-adaptation evidence: Release solution build passed; 72 The authorized round-eight exact range is now |
f00130a to
8ff6a6b
Compare
|
Final pre-round-eight restack: parent Exact-head evidence: Release build passed after the NuGet-config removal; 72 operator, 323 C# composition, 60 product-surface, and 603 oracle-backed RoundTrip tests passed with zero skips. The freshly rerun 14-assembly parent/child differential remains byte-identical: 28 Exact, 4 OpcodeDiff, 4 RecompileFail, 36 checked, same three-row manifest. Authorized round-eight range: |
8ff6a6b to
d356274
Compare
|
Round-eight findings are resolved at
Independent exact-head canaries invert all four failures: the MethodImpl is retained, invalid operator shapes stay raw, and the two-type contaminated fixture returns from 2/4 to 4/4 Exact. Release build plus 1,118 tests passed at The |
d356274 to
3295f5a
Compare
|
Restacked onto parent
The incoming commits retain Markout 0.35.0 and do not touch the parity harness, |
ec17c08 to
8989cd2
Compare
|
Round ten findings are resolved at
The child was restacked from Current-head evidence: Release solution build; 110 C# declaration tests; 62 API |
8989cd2 to
bdefc7a
Compare
|
Round eleven findings are resolved at
The child was restacked from parent Current-head local evidence: Release solution build; 598 CSharpText tests; 332 The earlier MAI-Code pass was a quick read only and did not satisfy a formal |
|
Current-head CI is green and mergeable at |
bdefc7a to
2be28ef
Compare
|
Integrated current
The incoming range ( Exact-head validation reran the Release solution build, 598 CSharpText tests, |
2be28ef to
a687e30
Compare
|
Integrated current
The incoming range ( Exact-head validation reran the Release solution build, 598 CSharpText tests, |
|
Round twelve findings are resolved at
Current Current-head evidence: Release solution build; 598 CSharpText tests; 332 The earlier MAI-Code pass was a quick read only and did not satisfy a formal |
a687e30 to
4c26cd7
Compare
|
Integrated current
The incoming range ( Exact-head validation reran the Release solution build, 598 CSharpText tests, |
|
Round twelve findings are resolved at
Current Current-head evidence: Release solution build; 598 CSharpText tests; 342 The earlier MAI-Code pass was a quick read only and did not satisfy a formal |
4c26cd7 to
9484273
Compare
|
Restacked the slice from published head The parent now integrates Exact-head validation passed the Release solution build, 598 CSharpText tests, Pinned 14-assembly cap-3 parity is unchanged. Parent and child normalized |
9484273 to
6f18ae9
Compare
|
Restacked onto parent |
6f18ae9 to
0e9b971
Compare
|
Restacked for authorized round thirteen onto parent |
Recognize only metadata-valid operator methods, preserve ordinary op_-named methods, and project C# 14 instance assignment operators through declaration, importer, printer, node-kind, and CLI output surfaces. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Make API surface extraction own accessor membership, extension-property implementation methods, finalizer disclosure, and proven MethodImpl ownership while preserving unresolved external declarations as visible evidence. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0e9b971 to
2fe5a76
Compare
Advances #3091 and #2777
Conclusion: PASS — product metadata now owns accessor membership, finalizer disclosure, extension-property implementation methods, and proven MethodImpl ownership without silently dropping unresolved external declarations.
Stack
feature/rts-operator-identityChange
MetadataReaderextraction entry point and complete typed member inventory.Scope and safety
This slice changes only
ApiSurfaceExtractorand its direct product tests. RTS orchestration is intentionally deferred to #4143.Evidence
2fe5a768c.ApiSurfaceExtractorTestspass.BodyShapeSearchMetadataTests.Search_DefaultIncludesNestedExternalExplicitInterfaceregression now passes.Evidence revision:
2fe5a768c