Skip to content

Add plugin-driven DSL guards#31

Open
dannote wants to merge 1 commit into
masterfrom
dsl-guard
Open

Add plugin-driven DSL guards#31
dannote wants to merge 1 commit into
masterfrom
dsl-guard

Conversation

@dannote

@dannote dannote commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add an optional plugin callback for AST ranges whose syntax is reinterpreted by macros
  • suppress generic smell findings and corpus evidence inside those ranges while preserving plugin-owned findings
  • cover Ecto query DSLs, Ash expressions/resource blocks, and Nx defn/defnp
  • add smells[:dsl_macros] as an escape hatch for unknown DSLs
  • register Nx plugin inference and document the configuration

Validation

  • MIX_ENV=test mix compile --warnings-as-errors
  • mix ci (1000 tests passed)
  • mix test test/reach/smell/dsl_guard_test.exs test/reach/evidence/dsl_guard_test.exs test/reach/config_test.exs test/reach/plugin/inference_test.exs test/reach/check/architecture/framework_policy_boundary_test.exs test/reach/check/architecture/plugin_inference_boundary_test.exs
  • pinned smell corpus snapshots remained unchanged after explicit regeneration

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