version = 1
classifications = ["current", "active-plan", "evidence", "historical", "superseded"]
roles = ["overview", "canonical", "architecture", "active-plan", "evidence", "historical", "superseded"]

[discovery]
paths = ["README.md"]
trees = ["docs", ".cursor/plans"]

# Rules are deterministic: the highest priority matching rule wins. Equal-priority
# matches must agree. Repository-root paths are used throughout.

[[rules]]
id = "root-readme"
path = "README.md"
classification = "current"
role = "overview"
topics = ["project-overview", "user-workflow"]
priority = 100

[[rules]]
id = "documentation-default"
prefix = "docs/"
classification = "current"
role = "canonical"
priority = 10

[[rules]]
id = "accepted-adrs"
prefix = "docs/adr/"
classification = "current"
role = "architecture"
priority = 20

[[rules]]
id = "superseded-render-timeout-adr"
path = "docs/adr/0019-local-bevy-render-timeout-patch.md"
classification = "superseded"
role = "superseded"
replacement = "docs/adr/0022-bevy-0-19-upgrade.md"
priority = 100

[[rules]]
id = "superseded-component-spec"
path = "docs/editor/Bevy_Editor_Component_System_Spec.md"
classification = "superseded"
role = "superseded"
replacement = "docs/adr/0034-registry-driven-authoring-components.md"
priority = 100

[[rules]]
id = "historical-release-notes"
path = "docs/editor/release-notes.md"
classification = "historical"
role = "historical"
replacement = "docs/README.md"
priority = 100

[[rules]]
id = "active-editor-debt-gate"
path = "docs/editor/debt-audit.md"
classification = "active-plan"
role = "active-plan"
topics = ["editor-debt", "production-readiness"]
priority = 100

[[rules]]
id = "evaluation-records"
prefix = "docs/editor/evaluations/"
classification = "evidence"
role = "evidence"
replacement = "docs/README.md"
priority = 30

[[rules]]
id = "evaluation-index"
path = "docs/editor/evaluations/README.md"
classification = "current"
role = "overview"
topics = ["acceptance-evidence"]
priority = 100

[[rules]]
id = "historical-h1"
path = "docs/editor/evaluations/h1-signoff.md"
classification = "historical"
role = "historical"
replacement = "docs/editor/evaluations/production-readiness/README.md"
priority = 100

[[rules]]
id = "historical-h2"
path = "docs/editor/evaluations/h2-signoff.md"
classification = "historical"
role = "historical"
replacement = "docs/editor/evaluations/production-readiness/README.md"
priority = 100

[[rules]]
id = "historical-h3"
path = "docs/editor/evaluations/h3-signoff.md"
classification = "historical"
role = "historical"
replacement = "docs/editor/evaluations/production-readiness/README.md"
priority = 100

[[rules]]
id = "historical-h4"
path = "docs/editor/evaluations/h4-signoff.md"
classification = "historical"
role = "historical"
replacement = "docs/editor/evaluations/production-readiness/README.md"
priority = 100

[[rules]]
id = "historical-h5"
path = "docs/editor/evaluations/h5-signoff.md"
classification = "historical"
role = "historical"
replacement = "docs/editor/evaluations/production-readiness/README.md"
priority = 100

[[rules]]
id = "historical-h6"
path = "docs/editor/evaluations/h6-signoff.md"
classification = "historical"
role = "historical"
replacement = "docs/editor/evaluations/production-readiness/README.md"
priority = 100

[[rules]]
id = "archive-records"
prefix = "docs/archive/"
classification = "historical"
role = "historical"
replacement = "docs/README.md"
priority = 30

[[rules]]
id = "archive-index"
path = "docs/archive/README.md"
classification = "current"
role = "overview"
priority = 100

[[rules]]
id = "plans-default"
prefix = ".cursor/plans/"
classification = "historical"
role = "historical"
replacement = "docs/README.md"
priority = 10

[[rules]]
id = "superseded-project-roadmap"
path = ".cursor/plans/project_roadmap_8a452d43.plan.md"
classification = "superseded"
role = "superseded"
replacement = "docs/README.md"
priority = 100

[[rules]]
id = "active-production-program"
path = ".cursor/plans/blacksite_production_readiness_2026-07-10.plan.md"
classification = "active-plan"
role = "active-plan"
topics = ["production-readiness"]
priority = 100

[[rules]]
id = "active-production-gate"
path = ".cursor/plans/production_readiness_acceptance_2026-07-12.plan.md"
classification = "active-plan"
role = "active-plan"
topics = ["production-readiness"]
priority = 100

[[rules]]
id = "active-content-workspace"
path = ".cursor/plans/content_workspace_and_import_authoring_2026-07-13.plan.md"
classification = "active-plan"
role = "active-plan"
topics = ["content-workspace", "asset-import", "content-browser", "materials"]
priority = 100

[[rules]]
id = "canonical-content-workspace"
path = "docs/editor/content-workspace.md"
classification = "current"
role = "canonical"
topics = ["content-workspace", "asset-import", "content-browser"]
priority = 100

[[rules]]
id = "canonical-material-system"
path = "docs/editor/material-system.md"
classification = "current"
role = "canonical"
topics = ["materials", "material-slots", "default-grid", "texture-processing"]
priority = 100

[[rules]]
id = "workflow-overview"
path = "docs/workflow/codex-workflow.md"
classification = "current"
role = "overview"
topics = ["codex-workflow"]
priority = 100

[[rules]]
id = "canonical-documentation-policy"
path = "docs/workflow/documentation-policy.md"
classification = "current"
role = "canonical"
topics = ["documentation-authority"]
priority = 100

[[rules]]
id = "canonical-verification-policy"
path = "docs/workflow/verification-policy.md"
classification = "current"
role = "canonical"
topics = ["selective-verification"]
priority = 100

[[rules]]
id = "canonical-build-storage-policy"
path = "docs/workflow/build-storage-policy.md"
classification = "current"
role = "canonical"
topics = ["build-storage"]
priority = 100

[[rules]]
id = "canonical-gitea-policy"
path = "docs/workflow/gitea-tracking-policy.md"
classification = "current"
role = "canonical"
topics = ["gitea-tracking"]
priority = 100

[[rules]]
id = "content-workspace-architecture"
path = "docs/adr/0045-content-workspace-and-material-fallback-contract.md"
classification = "current"
role = "architecture"
topics = ["content-workspace", "materials", "default-grid"]
priority = 100

[[rules]]
id = "material-input-architecture"
path = "docs/adr/0046-schema-driven-material-inputs-and-processed-textures.md"
classification = "current"
role = "architecture"
topics = ["materials", "texture-processing"]
priority = 100

[[rules]]
id = "authored-asset-document-architecture"
path = "docs/adr/0047-editor-authored-asset-documents.md"
classification = "current"
role = "architecture"
topics = ["content-workspace", "materials", "recovery", "collaboration"]
priority = 100

[[rules]]
id = "penpot-editor-visual-architecture"
path = "docs/adr/0049-penpot-led-editor-visual-system.md"
classification = "current"
role = "architecture"
topics = ["editor-design-system", "materials", "responsive-ui"]
priority = 100

[[rules]]
id = "canonical-editor-design-system"
path = "docs/editor/design-system.md"
classification = "current"
role = "canonical"
topics = ["editor-design-system", "responsive-ui"]
priority = 100

[[rules]]
id = "m2-content-evidence"
path = "docs/editor/evaluations/content-workspace-m2/README.md"
classification = "evidence"
role = "evidence"
topics = ["content-workspace", "content-browser"]
replacement = "docs/README.md"
priority = 100

[[rules]]
id = "production-readiness-evidence"
path = "docs/editor/evaluations/production-readiness/README.md"
classification = "evidence"
role = "evidence"
topics = ["production-readiness"]
replacement = "docs/README.md"
priority = 100

[[stale_terms]]
pattern = "registry v2"
replacement = "registry v3 or explicit migration wording"
allowed_paths = ["docs/editor/evaluations/**", "docs/archive/**"]

[[stale_terms]]
pattern = "Authoring Material"
replacement = "material slot"
allowed_paths = ["README.md", "docs/adr/**", "docs/archive/**", "docs/editor/evaluations/**"]
