Skip to content

EP-ANALYSIS+: external rule-pack extensibility (DacFx contributor model) #79

Closed

Description

@ilijevicdenis

Part of #67 (ANALYSIS).

Extensibility point: discover external rule assemblies so orgs can ship custom rule packs (mirror DacFx's contributor model).

Source: docs/SSDT_PARITY_BACKLOG.md §EP-ANALYSIS+.

Activity

  1. ilijevicdenis commented on Jun 7, 2026

    @ilijevicdenis
    OwnerAuthor

    Implemented on milestone/m7-ssdt-parity (commit f3a7639). New public IPgRule contract + RulePackLoader (discovers rules from assemblies or DLL paths via an isolated AssemblyLoadContext that shares PgProj.Core so the contract type unifies and the pack's private deps resolve next to it). .pgproj.analysis.json gains a rulePacks array; AnalysisSetup.Resolve two-passes so pack rule ids are configurable in the rules block / via --rule like built-ins; ExternalRules.Run applies enable/severity by id. Wired into analyze (human/json/sarif) + the build/publish/validate gate. Doc: docs/ANALYSIS_RULES.md. 7 unit tests (discovery, isolated path-load, config disable/severity, sidecar parse, end-to-end resolve); full suite 25,042 pass / 0 fail, LSP 16 pass.

    EP-ANALYSIS+ (#67) now has only #81 (grow the built-in rule set) remaining — open-ended.

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

    featureNew capabilityssdt-paritySSDT-for-PostgreSQL feature-parity effort

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions