Skip to content

Move extension methods onto typed query registry - #3896

Merged
richlander merged 9 commits into
mainfrom
typed-extension-method-query
Aug 9, 2026
Merged

Move extension methods onto typed query registry#3896
richlander merged 9 commits into
mainfrom
typed-extension-method-query

Conversation

@richlander

Copy link
Copy Markdown
Owner

Moves extension-method inspection from the string-keyed ScannerRegistry onto the shared typed query registry. ExtensionMethodsQuery returns immutable L1 currency; Library Info and Extension Methods bind to the same query definition, and the CLI adds Finding provenance and compatibility projections after execution.

This preserves Markdown/JSON output, presence-based discovery, typed failures, the shared metadata session, and NativeAOT behavior. Other scanner-backed facets remain unchanged.

Validation:

  • dotnet build dotnet-inspect.slnx -c Release
  • source eng/activate-iltools.sh --mdv && dotnet run --project src/dotnet-inspect.Tests -c Release --no-build -- -class DotnetInspector.Tests.SectionPipelineTests -class DotnetInspector.Tests.LibraryFindingConsumerTests
  • Full CLI suite in Release with the known concurrent timing canary excluded; the canary passes alone
  • NativeAOT publish plus a real Extension Methods JSON probe
  • markdownlint on changed documentation

richlander and others added 4 commits August 8, 2026 07:05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@richlander

Copy link
Copy Markdown
Owner Author

Fixed-head adversarial review completed at 451a295a03926f0eff46dbe96bbcd0b2d2b32f1d against 0ff89befc5c822bbba863b8bdbd75d2447ca7d3b.

  • GPT-5.6 Sol: clean. Verified typed demand identity and single execution, failure/Finding projection, borrowed-session lifetime, native/no-metadata behavior, package/discovery routes, output parity, layering, and documentation boundaries.
  • Claude Opus 5: clean. Independently verified the same production paths, ran base/head parity probes across CLI formats and package routes, and mutation-checked that the shared Library Info/Extension Methods binding is covered by production-wiring tests.

No findings required action. Current-head ci-required is green and the PR is mergeable.

Ready to merge.

richlander and others added 2 commits August 8, 2026 20:19
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@richlander

Copy link
Copy Markdown
Owner Author

Conflict-resolution review completed at 952deb246efe61b0a972447fb9653130cbe72a2c against 1d47eb9443d6bf00d8546a5da90277001441467a.

  • GPT-5.6 Sol: clean. Verified mixed synchronous/asynchronous query execution, complete registration and result projection, shared extension demand, no incidental SourceLink acquisition, exact-section behavior, and documentation boundaries.
  • Claude Opus 5: clean. Independently exercised the composed extension/SourceLink registry, full CLI and query suites, native and corrupt inputs, and byte-for-byte base/head parity across library, package, discovery, and structured-output routes.

No findings required action. Current-head ci-required is green, main is fully integrated, and the PR is mergeable.

Ready to merge.

richlander and others added 3 commits August 9, 2026 05:11
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@richlander

Copy link
Copy Markdown
Owner Author

Workspace/query conflict-resolution review completed at f115911cc040bc1c1a29bf5dada893430cf6b883 against 945e7502fa03254e7b1c3fc55113cc42dfb560df.

  • GPT-5.6 Sol: clean. Verified single-library/group-query partitioning, retained-image lifetime, extension-query single execution, multi-assembly rendering, failures, costs, and documentation.
  • Claude Opus 5: clean. Independently exercised combined @Integrations/Extension Methods routes, native and multi-assembly cases, base/head parity, and mutation-checked the shared Library Info binding.

No findings required action. Current-head ci-required is green after an unchanged-head retry of the unrelated Windows package-publication concurrency flake; main is fully integrated and the PR is mergeable.

Ready to merge.

@richlander
richlander merged commit f7bc1d8 into main Aug 9, 2026
18 of 20 checks passed
@richlander
richlander deleted the typed-extension-method-query branch August 9, 2026 14:36
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