Skip to content

DECLARATIVE-YAML-11: Route several globs first-match-wins, with named contracts and exclude

A multi-rule config with a named contracts map, per-rule exclude, and first-match-wins precedence.

Builds on: DECLARATIVE-YAML-10: Map one glob to one contract (corpus config)

The declarative YAML artifact, verbatim — no code required.

mcVersion: 1
kind: config
contracts:
task: ./contracts/task.contract.yaml
decision: ./contracts/decision.contract.yaml
rules:
- include: ["**/tasks/**/*.md"]
exclude: ["**/_archive/**"]
contract: task # earliest matching rule wins
- include: ["**/decisions/**/*.md"]
contract: decision
  • compileConfig: contracts name map
  • compileRule exclude
  • first-match-wins rule order in runCorpus