# SPDX-FileCopyrightText: 2026 PythonWoods <dev@pythonwoods.dev>
# SPDX-License-Identifier: Apache-2.0
#
# Cloudflare Pages — True HTTP 301 Redirects
# Replaces mkdocs-redirects client-side meta-refresh with edge-level 301s.
# Format: /source /destination 301
#
# Legacy Framework routes → New Zensical (MkDocs) routes
# Legacy Framework served docs under /docs/<path>; Zensical serves from site root.
# MkDocs use_directory_urls=true: foo.md → /foo/, index.md → /

# --- TAGS PURGE ---
/developers/tags/*                             /developers/                                     301
/blog/tags/*                                   /blog/                                           301
/docs/tags/*                                   /explanation/community-index/                    301

# --- TRAILING SLASH EXPLICIT HOTFIXES ---
/docs/reference/finding-codes                  /reference/finding-codes/                        301
/docs/how-to/manage-cross-site-links           /how-to/manage-cross-site-links/                 301

# --- NUCLEAR DIRECTORY SPLATS (One-Hop Legacy Catch-All) ---
/it/docs/how-to/examples/*           /tutorials/examples/:splat  301
/docs/how-to/examples/*              /tutorials/examples/:splat  301
/it/docs/tutorials/examples/*        /tutorials/examples/:splat  301
/docs/tutorials/examples/*           /tutorials/examples/:splat  301
/it/developers/*                     /developers/:splat          301
/docs/developers/*                   /developers/:splat          301
/it/docs/guides/*                    /how-to/:splat              301
/docs/guides/*                       /how-to/:splat              301

# --- EXACT 1-TO-1 OVERRIDES (Overrides Cloudflare Wildcard/Splat Failures) ---
/it/developers/explanation/governance/technical-debt/           /developers/explanation/governance/technical-debt/       301
/it/developers/explanation/governance/technical-debt            /developers/explanation/governance/technical-debt/       301
/developers/reference/sentinel-style/                            /developers/reference/zenzic-style/                      301
/developers/reference/sentinel-style                             /developers/reference/zenzic-style/                      301
/docs/community/developers/reference/sentinel-style              /developers/reference/zenzic-style/                      301
/it/blog/governance-of-quartz                                    /blog/                                                   301
/it/developers/explanation/adr-sovereign-sandbox                 /developers/explanation/sovereign-verification-model/    301
/it/developers/explanation/adr-sovereign-sandbox/                /developers/explanation/sovereign-verification-model/    301
/developers/explanation/adr-sovereign-sandbox/                   /developers/explanation/sovereign-verification-model/    301
/developers/governance/licensing/                                /developers/explanation/governance/licensing/            301
/developers/governance/licensing                                 /developers/explanation/governance/licensing/            301
/it/developers/governance/licensing/                             /developers/explanation/governance/licensing/            301
/it/developers/governance/licensing                              /developers/explanation/governance/licensing/            301
/it/docs/how-to/examples/z1xx-links/z108-empty-link-text         /tutorials/examples/z1xx-links/z108-empty-link-text/     301
/it/docs/how-to/examples/z3xx-references/z303-duplicate-def      /tutorials/examples/z3xx-references/z303-duplicate-def/   301
/it/docs/how-to/examples/z5xx-content/z502-short-content         /tutorials/examples/z5xx-content/z502-short-content/     301
/it/docs/how-to/examples/z3xx-references/z301-dangling-ref       /tutorials/examples/z3xx-references/z301-dangling-ref/   301
/it/developers/explanation/adr-zero-subprocesses/                /developers/explanation/core-laws/                       301
/it/developers/explanation/adr-zero-subprocesses                 /developers/explanation/core-laws/                       301
/developers/explanation/adr-zero-subprocesses/                   /developers/explanation/core-laws/                       301
/developers/explanation/adr-zero-subprocesses                    /developers/explanation/core-laws/                       301
/it/docs/ecosystem/overview                                      /tutorials/examples/                                     301
/it/docs/how-to/examples/z1xx-links/z104-file-not-found/         /tutorials/examples/z1xx-links/z104-file-not-found/     301
/developers/governance/exit_strategy/                            /developers/explanation/governance/exit_strategy/        301
/developers/governance/exit_strategy                             /developers/explanation/governance/exit_strategy/        301
/developers/explanation/architecture-gaps/                       /developers/explanation/                                 301
/developers/explanation/architecture-gaps                        /developers/explanation/                                 301
/docs/community/developers/explanation/architecture-gaps         /developers/explanation/                                 301
/it/blog/log-v080-historical-note/                               /blog/                                                   301
/it/docs/category/reference                                      /reference/                                              301
/it/docs/usage/                                                  /how-to/install/                                         301
/it/docs/intro                                                   /                                                        301
/it/docs/category/user-guide                                     /                                                        301
/it/docs/guides/discovery                                        /how-to/install/                                         301
/it/docs/usage/commands                                          /reference/cli/                                          301
/it/docs/category/examples                                       /tutorials/examples/                                     301
/developers/explanation/                                         /developers/                                             301
/docs/internals/arch_gaps                                        /developers/explanation/                                 301
/it/docs/usage/badges                                            /how-to/add-badges/                                      301
/it/docs/category/developers                                     /developers/                                             301
/it/docs/philosophy                                              /explanation/brand-philosophy/                           301
/it/docs/how-to/examples/z2xx-security/z202-path-traversal       /tutorials/examples/z2xx-security/z202-path-traversal/   301

# --- Explicit Tabella.csv 404 Fixes ---
# Trailing slash variants for legacy paths
/docs/community/brand-kit/                          /reference/brand-kit/  301
/docs/explanation/safe-harbor/                      /developers/explanation/governance/exit_strategy/  301
/docs/guides/adapters-config/                       /how-to/configure-adapter/  301
/docs/guides/ci-cd/                                 /how-to/configure-ci-cd/  301
/docs/guides/engines/                               /reference/engines/  301
/docs/ci-cd/                                        /how-to/configure-ci-cd/  301
/docs/architecture/                                 /explanation/architecture/  301
/docs/internals/architecture-overview/              /explanation/architecture/  301

# Outdated/Incorrect destinations
/docs/examples/overview                             /tutorials/examples/  301
/docs/examples/overview/                            /tutorials/examples/  301
/docs/internals/developers/                         /developers/  301
/docs/guides/                                       /how-to/install/  301
/docs/guides                                        /how-to/install/  301
/docs/internals/adr/discovery-logic                 /developers/explanation/adr-discovery/  301
/docs/internals/adr/discovery-logic/                /developers/explanation/adr-discovery/  301
/docs/how-to/advanced-options                       /reference/advanced-features/  301
/docs/how-to/advanced-options/                      /reference/advanced-features/  301
/developers/governance/adversarial-ai               /developers/explanation/governance/  301
/developers/governance/adversarial-ai/              /developers/explanation/governance/  301

# Italian (one-hop) variants for the above
/it/docs/guides/adapters-config/                    /how-to/configure-adapter/  301
/it/docs/guides/adapters-config                     /how-to/configure-adapter/  301
/it/docs/examples/overview                          /tutorials/examples/  301
/it/docs/examples/overview/                         /tutorials/examples/  301
/it/examples/overview                               /tutorials/examples/  301
/it/examples/overview/                              /tutorials/examples/  301
/it/docs/guides/engines/                            /reference/engines/  301
/it/docs/guides/engines                             /reference/engines/  301
/it/docs/guides/                                    /how-to/install/  301
/it/docs/guides                                     /how-to/install/  301
/it/guides/                                         /how-to/install/  301
/it/guides                                          /how-to/install/  301

# --- Legacy Blog & Codename Routes ---
/blog/log-v080-historical-note*               /blog/  301
/blog/governance-of-quartz*                   /blog/  301
/blog/beyond-the-siege*                       /blog/  301
/blog/docs-pipeline-security*                 /blog/  301

# --- Legacy Developer & Internals Routes ---
/docs/developers/reference/sentinel-style          /developers/reference/zenzic-style/  301
/docs/internals/sentinel-style-guide               /developers/reference/zenzic-style/  301
/docs/developers/explanation/adr-zero-subprocesses /developers/explanation/core-laws/  301
/docs/developers/explanation/adr-sovereign-sandbox /developers/explanation/sovereign-verification-model/  301
/docs/developers/explanation/architecture-gaps     /developers/explanation/  301
/docs/internals/arch_gaps                          /developers/explanation/  301
/docs/internals/architecture-overview              /explanation/architecture/  301
/docs/internals/adr/*                              /developers/explanation/:splat  301
/docs/internals/developers/writing-an-adapter      /developers/how-to/implement-adapter/  301
/docs/internals/developers/plugins                 /developers/how-to/write-plugin/  301
/docs/internals/developers/examples                /developers/reference/adapter-examples/  301
/docs/internals/*                                  /developers/:splat  301

# --- Legacy Community Routes ---
/docs/community/faqs                               /explanation/community-index/  301
/docs/community/license                            /developers/explanation/governance/licensing/  301
/docs/community/brand-kit                          /reference/brand-kit/  301
/docs/community/developers/*                       /developers/:splat  301
/docs/community/contribute/*                       /developers/how-to/contribute/:splat  301
/docs/tags/community                               /explanation/community-index/  301

# --- Legacy Governance Routes ---
/docs/developers/governance/*                      /developers/explanation/governance/:splat  301
/docs/explanation/safe-harbor                      /developers/explanation/governance/exit_strategy/  301

# --- Legacy Guides & Usage Routes ---
/docs/guides/adapters-config                       /how-to/configure-adapter/  301
/docs/guides/configuration-reference               /reference/configuration-reference/  301
/docs/guides/discovery                             /explanation/discovery/  301
/docs/guides/ci-cd                                 /how-to/configure-ci-cd/  301
/docs/guides/custom-rules-dsl                      /how-to/add-custom-rules/  301
/docs/guides/migration                             /how-to/migrate-engines/  301
/docs/guides/checks                                /reference/checks/  301
/docs/guides/glossary                              /reference/glossary/  301
/docs/guides/engines                               /reference/engines/  301
/docs/guides/*                                     /how-to/:splat  301

/docs/usage/badges                                 /how-to/add-badges/  301
/docs/usage/commands                               /reference/cli/  301
/docs/usage/*                                      /how-to/install/  301
/docs/how-to/reference/cli                         /reference/cli/  301
/docs/intro                                        /  301
/docs/architecture                                 /explanation/architecture/  301
/docs/changelog                                    /  301
/docs/ci-cd                                        /how-to/configure-ci-cd/  301
/docs/ecosystem/overview                           /explanation/the-zenzic-trinity/  301
/docs/philosophy                                   /explanation/brand-philosophy/  301

# --- Legacy Category & Example Routes ---
/docs/category/reference                           /reference/  301
/docs/category/examples                            /tutorials/examples/  301
/docs/category/user-guide                          /  301
/docs/category/developers                          /developers/  301
/docs/category/*                                   /  301

/docs/how-to/examples/*                            /tutorials/examples/:splat  301
/docs/examples/*                                   /tutorials/examples/:splat  301

# ── User Documentation ─────────────────────────────────────────────────────────

# Root
/docs/index.html / 301

# Legacy Blog Tags fallback
/blog/tags/*  /blog/  301

# Tutorials
/docs/tutorials/first-audit.html /tutorials/first-audit/ 301
/docs/tutorials/examples/index.html /tutorials/examples/ 301

# Tutorials — Z1xx Links
/docs/tutorials/examples/z1xx-links/z101-broken-links.html /tutorials/examples/z1xx-links/z101-broken-links/ 301
/docs/tutorials/examples/z1xx-links/z102-anchor-missing.html /tutorials/examples/z1xx-links/z102-anchor-missing/ 301
/docs/tutorials/examples/z1xx-links/z103-orphan-link.html /tutorials/examples/z1xx-links/z103-orphan-link/ 301
/docs/tutorials/examples/z1xx-links/z104-file-not-found.html /tutorials/examples/z1xx-links/z104-file-not-found/ 301
/docs/tutorials/examples/z1xx-links/z105-absolute-path.html /tutorials/examples/z1xx-links/z105-absolute-path/ 301
/docs/tutorials/examples/z1xx-links/z107-circular-anchor.html /tutorials/examples/z1xx-links/z107-circular-anchor/ 301
/docs/tutorials/examples/z1xx-links/z108-empty-link-text.html /tutorials/examples/z1xx-links/z108-empty-link-text/ 301
/docs/tutorials/examples/z1xx-links/z109-external-link-broken.html /tutorials/examples/z1xx-links/z109-external-link-broken/ 301

# Tutorials — Z2xx Security
/docs/tutorials/examples/z2xx-security/z201-credentials.html /tutorials/examples/z2xx-security/z201-credentials/ 301
/docs/tutorials/examples/z2xx-security/z202-path-traversal.html /tutorials/examples/z2xx-security/z202-path-traversal/ 301
/docs/tutorials/examples/z2xx-security/z204-forbidden-term.html /tutorials/examples/z2xx-security/z204-forbidden-term/ 301

# Tutorials — Z3xx References
/docs/tutorials/examples/z3xx-references/z301-dangling-ref.html /tutorials/examples/z3xx-references/z301-dangling-ref/ 301
/docs/tutorials/examples/z3xx-references/z302-dead-def.html /tutorials/examples/z3xx-references/z302-dead-def/ 301
/docs/tutorials/examples/z3xx-references/z303-duplicate-def.html /tutorials/examples/z3xx-references/z303-duplicate-def/ 301

# Tutorials — Z4xx Topology
/docs/tutorials/examples/z4xx-topology/z401-missing-directory-index.html /tutorials/examples/z4xx-topology/z401-missing-directory-index/ 301
/docs/tutorials/examples/z4xx-topology/z402-orphan-page.html /tutorials/examples/z4xx-topology/z402-orphan-page/ 301
/docs/tutorials/examples/z4xx-topology/z403-missing-alt.html /tutorials/examples/z4xx-topology/z403-missing-alt/ 301
/docs/tutorials/examples/z4xx-topology/z404-config-asset-missing.html /tutorials/examples/z4xx-topology/z404-config-asset-missing/ 301
/docs/tutorials/examples/z4xx-topology/z405-unused-assets.html /tutorials/examples/z4xx-topology/z405-unused-assets/ 301
/docs/tutorials/examples/z4xx-topology/z406-nav-contract.html /tutorials/examples/z4xx-topology/z406-nav-contract/ 301

# Tutorials — Z5xx Content
/docs/tutorials/examples/z5xx-content/z501-placeholder.html /tutorials/examples/z5xx-content/z501-placeholder/ 301
/docs/tutorials/examples/z5xx-content/z502-short-content.html /tutorials/examples/z5xx-content/z502-short-content/ 301
/docs/tutorials/examples/z5xx-content/z503-snippet-error.html /tutorials/examples/z5xx-content/z503-snippet-error/ 301
/docs/tutorials/examples/z5xx-content/z505-untagged-code-block.html /tutorials/examples/z5xx-content/z505-untagged-code-block/ 301

# Tutorials — Z6xx Brand
/docs/tutorials/examples/z6xx-brand/z601-brand-obsolescence.html /tutorials/examples/z6xx-brand/z601-brand-obsolescence/ 301
/docs/tutorials/examples/z6xx-brand/z602-i18n-parity.html /tutorials/examples/z6xx-brand/z602-i18n-parity/ 301

# How-to Guides
/docs/how-to/install.html /how-to/install/ 301
/docs/how-to/initialize-configuration.html /how-to/initialize-configuration/ 301
/docs/how-to/configure-ci-cd.html /how-to/configure-ci-cd/ 301
/docs/how-to/add-badges.html /how-to/add-badges/ 301
/docs/how-to/handle-technical-debt.html /how-to/handle-technical-debt/ 301
/docs/how-to/add-custom-rules.html /how-to/add-custom-rules/ 301
/docs/how-to/configure-adapter.html /how-to/configure-adapter/ 301
/docs/how-to/configure-privacy-gate.html /how-to/configure-privacy-gate/ 301
/docs/how-to/configuration-strategy.html /how-to/configuration-strategy/ 301
/docs/how-to/manage-cross-site-links.html /how-to/manage-cross-site-links/ 301
/docs/how-to/migrate-engines.html /how-to/migrate-engines/ 301
/docs/how-to/use-brand-system.html /how-to/use-brand-system/ 301
/docs/how-to/workflow-integration.html /how-to/workflow-integration/ 301
/docs/how-to/configure-social-metadata.html /how-to/configure-social-metadata/ 301

# Reference
/docs/reference/index.html /reference/ 301
/docs/reference/finding-codes.html /reference/finding-codes/ 301
/docs/reference/checks.html /reference/checks/ 301
/docs/reference/cli.html /reference/cli/ 301
/docs/reference/configuration-reference.html /reference/configuration-reference/ 301
/docs/reference/scoring-algorithm.html /reference/scoring-algorithm/ 301
/docs/reference/suppression-policy.html /reference/suppression-policy/ 301
/docs/reference/engines.html /reference/engines/ 301
/docs/reference/advanced-features.html /reference/advanced-features/ 301
/docs/reference/api-json.html /reference/api-json/ 301
/docs/reference/brand-kit.html /reference/brand-kit/ 301
/docs/reference/brand-system.html /reference/brand-system/ 301
/docs/reference/glossary.html /reference/glossary/ 301
/docs/reference/zenzic-action.html /reference/zenzic-action/ 301

# Explanation
/docs/explanation/why-zenzic.html /explanation/why-zenzic/ 301
/docs/explanation/architecture.html /explanation/architecture/ 301
/docs/explanation/core-mechanics.html /explanation/core-mechanics/ 301
/docs/explanation/scoring-design.html /explanation/scoring-design/ 301
/docs/explanation/scoring-system.html /explanation/scoring-system/ 301
/docs/explanation/discovery.html /explanation/discovery/ 301
/docs/explanation/configuration-loading.html /explanation/configuration-loading/ 301
/docs/explanation/exclusion-design.html /explanation/exclusion-design/ 301
/docs/explanation/structural-integrity.html /explanation/structural-integrity/ 301
/docs/explanation/engine-migration-design.html /explanation/engine-migration-design/ 301
/docs/explanation/the-zenzic-trinity.html /explanation/the-zenzic-trinity/ 301
/docs/explanation/github-action-internals.html /explanation/github-action-internals/ 301
/docs/explanation/privacy-gate.html /explanation/privacy-gate/ 301
/docs/explanation/mineral-path.html /explanation/mineral-path/ 301
/docs/explanation/brand-philosophy.html /explanation/brand-philosophy/ 301
/docs/explanation/community-index.html /explanation/community-index/ 301
/explanation/ecosystem      /explanation/the-zenzic-trinity/  301

# ── Developer Documentation ────────────────────────────────────────────────────

/developers/index.html /developers/ 301
/developers/how-to/contribute/index.html /developers/how-to/contribute/ 301
/developers/how-to/contribute/pull-requests.html /developers/how-to/contribute/pull-requests/ 301
/developers/how-to/contribute/report-a-bug.html /developers/how-to/contribute/report-a-bug/ 301
/developers/how-to/contribute/report-a-docs-issue.html /developers/how-to/contribute/report-a-docs-issue/ 301
/developers/how-to/contribute/request-a-change.html /developers/how-to/contribute/request-a-change/ 301
/developers/how-to/implement-adapter.html /developers/how-to/implement-adapter/ 301
/developers/how-to/release-governance-protocol.html /developers/how-to/release-governance-protocol/ 301
/developers/how-to/write-a-check.html /developers/how-to/write-a-check/ 301
/developers/how-to/write-plugin.html /developers/how-to/write-plugin/ 301
/developers/reference/adapter-api.html /developers/reference/adapter-api/ 301
/developers/reference/adapter-examples.html /developers/reference/adapter-examples/ 301
/developers/reference/cli-architecture.html /developers/reference/cli-architecture/ 301
/developers/reference/credential-scanner-obligations.html /developers/reference/credential-scanner-obligations/ 301
/developers/reference/supply-chain-assurance-profile.html /developers/reference/supply-chain-assurance-profile/ 301
/developers/reference/zenzic-style.html /developers/reference/zenzic-style/ 301
/developers/explanation/adapter-internals.html /developers/explanation/adapter-internals/ 301
/developers/explanation/adr-agnostic-universalism.html /developers/explanation/adr-agnostic-universalism/ 301
/developers/explanation/adr-bilingual-structural.html /developers/explanation/adr-bilingual-structural/ 301
/developers/explanation/adr-decentralized-cli.html /developers/explanation/adr-decentralized-cli/ 301
/developers/explanation/adr-discovery.html /developers/explanation/adr-discovery/ 301
/developers/explanation/adr-lint-source.html /developers/explanation/adr-lint-source/ 301
/developers/explanation/adr-native-telemetry.html /developers/explanation/adr-native-telemetry/ 301
/developers/explanation/adr-parallel-early-termination.html /developers/explanation/adr-parallel-early-termination/ 301
/developers/explanation/adr-path-sovereignty.html /developers/explanation/adr-path-sovereignty/ 301
/developers/explanation/adr-regex-acl.html /developers/explanation/adr-regex-acl/ 301
/developers/explanation/adr-unified-perimeter.html /developers/explanation/adr-unified-perimeter/ 301
/developers/explanation/adr-vault.html /developers/explanation/adr-vault/ 301
/developers/explanation/core-laws.html /developers/explanation/core-laws/ 301
/developers/explanation/mdx-asset-rationale.html /developers/explanation/mdx-asset-rationale/ 301
/developers/explanation/sovereign-verification-model.html /developers/explanation/sovereign-verification-model/ 301
/developers/explanation/governance/index.html /developers/explanation/governance/ 301
/developers/explanation/governance/evolution_policy.html /developers/explanation/governance/evolution_policy/ 301
/developers/explanation/governance/exit_strategy.html /developers/explanation/governance/exit_strategy/ 301
/developers/explanation/governance/licensing.html /developers/explanation/governance/licensing/ 301
/developers/explanation/governance/technical-debt.html /developers/explanation/governance/technical-debt/ 301

# ── Blog (Legacy Framework /blog/<slug> routes) ───────────────────────────────
# MkDocs Material blog plugin generates canonical /blog/YYYY/MM/DD/<title-slug>/
# URLs (title-slugified, full ISO date path). Updated in Sprint 0.14.1.

/blog/welcome.html                                                            /blog/2026/04/28/welcome-to-the-zenzic-blog/ 301
/blog/tutorial-stop-broken-links-60s.html                                     /blog/2026/04/29/tutorial-get-started-with-zenzic/ 301
/blog/engineering-v080-deep-dive.html                                         /blog/2026/05/24/engineering-deep-dive-v080-architecture/ 301
/blog/log-v080.html                                                           /blog/2026/05/24/release-v080-governance-baseline/ 301
/blog/v080-namespace-contract.html                                            /blog/2026/05/24/the-namespace-contract/ 301
/blog/dqs-mathematical-model.html                                             /blog/2026/05/25/the-dqs-mathematical-model-flat-cost-suppressions-and-deterministic-gates/ 301
/blog/terminal-ux-documentation-governance.html                               /blog/2026/05/27/terminal-ux-as-a-governance-interface-how-zenzic-renders-diagnostic-contracts/ 301
/blog/enterprise-use-cases.html                                               /blog/2026/05/28/three-zenzic-deployment-patterns-for-teams/ 301
/blog/log-v090.html                                                           /blog/2026/05/30/release-v090-deterministic-telemetry/ 301
/blog/algorithmic-complexity-and-redos-prevention.html                        /blog/2026/06/03/why-we-banned-pythons-regex-module-the-algorithm-behind-zenzic/ 301
/blog/zenzic-v0.10.0-native-github-annotations-and-progressive-adoption.html /blog/2026/06/06/zenzic-v0100-async-engine-native-annotations-and-progressive-adoption/ 301
/blog/auditing-the-auditors-ast-based-documentation-analysis.html            /blog/2026/06/09/auditing-the-auditors-finding-documentation-defects-with-ast-based-analysis/ 301
/blog/why-we-dropped-docusaurus.html                                          /blog/2026/06/13/why-we-dropped-docusaurus-the-ontological-limits-of-static-analysis/ 301
/blog/obsidian-masterclass  /blog/  301

# ── ADR-020 Deprecation: Italian Locale Splat Redirect ──────────────────────────
# Replaces 80+ individual /it/* → /it/* dead routes with a single edge-level splat.
# All legacy Italian traffic is gracefully degraded to the English source (1:1 path).

# --- Legacy Italian One-Hop Routes ---
/it/developers/reference/sentinel-style          /developers/reference/zenzic-style/  301
/it/internals/sentinel-style-guide               /developers/reference/zenzic-style/  301
/it/developers/explanation/adr-zero-subprocesses /developers/explanation/core-laws/  301
/it/developers/explanation/adr-sovereign-sandbox /developers/explanation/sovereign-verification-model/  301
/it/developers/explanation/architecture-gaps     /developers/explanation/  301
/it/internals/arch_gaps                          /developers/explanation/  301
/it/internals/architecture-overview              /explanation/architecture/  301
/it/internals/adr/*                              /developers/explanation/:splat  301
/it/internals/developers/writing-an-adapter      /developers/how-to/implement-adapter/  301
/it/internals/developers/plugins                 /developers/how-to/write-plugin/  301
/it/internals/developers/examples                /developers/reference/adapter-examples/  301
/it/internals/*                                  /developers/:splat  301

# --- Italian Legacy Community Routes ---
/it/community/faqs                               /explanation/community-index/  301
/it/community/license                            /developers/explanation/governance/licensing/  301
/it/community/brand-kit                          /reference/brand-kit/  301
/it/community/developers/*                       /developers/:splat  301
/it/community/contribute/*                       /developers/how-to/contribute/:splat  301
/it/tags/community                               /explanation/community-index/  301

# --- Italian Legacy Governance Routes ---
/it/developers/governance/*                      /developers/explanation/governance/:splat  301
/it/explanation/safe-harbor                      /developers/explanation/governance/exit_strategy/  301

# --- Italian Legacy Guides & Usage Routes ---
/it/guides/adapters-config                       /how-to/configure-adapter/  301
/it/guides/configuration-reference               /reference/configuration-reference/  301
/it/guides/discovery                             /explanation/discovery/  301
/it/guides/ci-cd                                 /how-to/configure-ci-cd/  301
/it/guides/custom-rules-dsl                      /how-to/add-custom-rules/  301
/it/guides/migration                             /how-to/migrate-engines/  301
/it/guides/checks                                /reference/checks/  301
/it/guides/glossary                              /reference/glossary/  301
/it/guides/engines                               /reference/engines/  301
/it/guides/*                                     /how-to/:splat  301

/it/usage/badges                                 /how-to/add-badges/  301
/it/usage/commands                               /reference/cli/  301
/it/usage/*                                      /how-to/install/  301
/it/how-to/reference/cli                         /reference/cli/  301
/it/intro                                        /  301
/it/architecture                                 /explanation/architecture/  301
/it/changelog                                    /  301
/it/ci-cd                                        /how-to/configure-ci-cd/  301
/it/ecosystem/overview                           /explanation/the-zenzic-trinity/  301
/it/philosophy                                   /explanation/brand-philosophy/  301

# --- Italian Legacy Category & Example Routes ---
/it/category/reference                           /reference/  301
/it/category/examples                            /tutorials/examples/  301
/it/category/user-guide                          /  301
/it/category/developers                          /developers/  301
/it/category/*                                   /  301

/it/how-to/examples/*                            /tutorials/examples/:splat  301
/it/examples/*                                   /tutorials/examples/:splat  301


# --- Legacy Italian Docs One-Hop Routes ---
/it/docs/developers/reference/sentinel-style          /developers/reference/zenzic-style/  301
/it/docs/internals/sentinel-style-guide               /developers/reference/zenzic-style/  301
/it/docs/developers/explanation/adr-zero-subprocesses /developers/explanation/core-laws/  301
/it/docs/developers/explanation/adr-sovereign-sandbox /developers/explanation/sovereign-verification-model/  301
/it/docs/developers/explanation/architecture-gaps     /developers/explanation/  301
/it/docs/internals/arch_gaps                          /developers/explanation/  301
/it/docs/internals/architecture-overview              /explanation/architecture/  301
/it/docs/internals/adr/*                              /developers/explanation/:splat  301
/it/docs/internals/developers/writing-an-adapter      /developers/how-to/implement-adapter/  301
/it/docs/internals/developers/plugins                 /developers/how-to/write-plugin/  301
/it/docs/internals/developers/examples                /developers/reference/adapter-examples/  301
/it/docs/internals/*                                  /developers/:splat  301

# --- Italian Docs Legacy Community Routes ---
/it/docs/community/faqs                               /explanation/community-index/  301
/it/docs/community/license                            /developers/explanation/governance/licensing/  301
/it/docs/community/brand-kit                          /reference/brand-kit/  301
/it/docs/community/developers/*                       /developers/:splat  301
/it/docs/community/contribute/*                       /developers/how-to/contribute/:splat  301
/it/docs/tags/community                               /explanation/community-index/  301

# --- Italian Docs Legacy Governance Routes ---
/it/docs/developers/governance/*                      /developers/explanation/governance/:splat  301
/it/docs/explanation/safe-harbor                      /developers/explanation/governance/exit_strategy/  301

# --- Italian Docs Legacy Guides & Usage Routes ---
/it/docs/guides/adapters-config                       /how-to/configure-adapter/  301
/it/docs/guides/configuration-reference               /reference/configuration-reference/  301
/it/docs/guides/discovery                             /explanation/discovery/  301
/it/docs/guides/ci-cd                                 /how-to/configure-ci-cd/  301
/it/docs/guides/custom-rules-dsl                      /how-to/add-custom-rules/  301
/it/docs/guides/migration                             /how-to/migrate-engines/  301
/it/docs/guides/checks                                /reference/checks/  301
/it/docs/guides/glossary                              /reference/glossary/  301
/it/docs/guides/engines                               /reference/engines/  301
/it/docs/guides/*                                     /how-to/:splat  301

/it/docs/usage/badges                                 /how-to/add-badges/  301
/it/docs/usage/commands                               /reference/cli/  301
/it/docs/usage/*                                      /how-to/install/  301
/it/docs/how-to/reference/cli                         /reference/cli/  301
/it/docs/intro                                        /  301
/it/docs/architecture                                 /explanation/architecture/  301
/it/docs/changelog                                    /  301
/it/docs/ci-cd                                        /how-to/configure-ci-cd/  301
/it/docs/ecosystem/overview                           /explanation/the-zenzic-trinity/  301
/it/docs/philosophy                                   /explanation/brand-philosophy/  301

# --- Italian Docs Legacy Category & Example Routes ---
/it/docs/category/reference                           /reference/  301
/it/docs/category/examples                            /tutorials/examples/  301
/it/docs/category/user-guide                          /  301
/it/docs/category/developers                          /developers/  301
/it/docs/category/*                                   /  301

/it/docs/how-to/examples/*                            /tutorials/examples/:splat  301
/it/docs/examples/*                                   /tutorials/examples/:splat  301

# --- Legacy Italian One-Hop Routes ---
/it/developers/reference/sentinel-style          /developers/reference/zenzic-style/  301
/it/internals/sentinel-style-guide               /developers/reference/zenzic-style/  301
/it/developers/explanation/adr-zero-subprocesses /developers/explanation/core-laws/  301
/it/developers/explanation/adr-sovereign-sandbox /developers/explanation/sovereign-verification-model/  301
/it/developers/explanation/architecture-gaps     /developers/explanation/  301
/it/internals/arch_gaps                          /developers/explanation/  301
/it/internals/architecture-overview              /explanation/architecture/  301
/it/internals/adr/*                              /developers/explanation/:splat  301
/it/internals/developers/writing-an-adapter      /developers/how-to/implement-adapter/  301
/it/internals/developers/plugins                 /developers/how-to/write-plugin/  301
/it/internals/developers/examples                /developers/reference/adapter-examples/  301
/it/internals/*                                  /developers/:splat  301

# --- Italian Legacy Community Routes ---
/it/community/faqs                               /explanation/community-index/  301
/it/community/license                            /developers/explanation/governance/licensing/  301
/it/community/brand-kit                          /reference/brand-kit/  301
/it/community/developers/*                       /developers/:splat  301
/it/community/contribute/*                       /developers/how-to/contribute/:splat  301
/it/tags/community                               /explanation/community-index/  301

# --- Italian Legacy Governance Routes ---
/it/developers/governance/*                      /developers/explanation/governance/:splat  301
/it/explanation/safe-harbor                      /developers/explanation/governance/exit_strategy/  301

# --- Italian Legacy Guides & Usage Routes ---
/it/guides/adapters-config                       /how-to/configure-adapter/  301
/it/guides/configuration-reference               /reference/configuration-reference/  301
/it/guides/discovery                             /explanation/discovery/  301
/it/guides/ci-cd                                 /how-to/configure-ci-cd/  301
/it/guides/custom-rules-dsl                      /how-to/add-custom-rules/  301
/it/guides/migration                             /how-to/migrate-engines/  301
/it/guides/checks                                /reference/checks/  301
/it/guides/glossary                              /reference/glossary/  301
/it/guides/engines                               /reference/engines/  301
/it/guides/*                                     /how-to/:splat  301

/it/usage/badges                                 /how-to/add-badges/  301
/it/usage/commands                               /reference/cli/  301
/it/usage/*                                      /how-to/install/  301
/it/how-to/reference/cli                         /reference/cli/  301
/it/intro                                        /  301
/it/architecture                                 /explanation/architecture/  301
/it/changelog                                    /  301
/it/ci-cd                                        /how-to/configure-ci-cd/  301
/it/ecosystem/overview                           /explanation/the-zenzic-trinity/  301
/it/philosophy                                   /explanation/brand-philosophy/  301

# --- Italian Legacy Category & Example Routes ---
/it/category/reference                           /reference/  301
/it/category/examples                            /tutorials/examples/  301
/it/category/user-guide                          /  301
/it/category/developers                          /developers/  301
/it/category/*                                   /  301

/it/how-to/examples/*                            /tutorials/examples/:splat  301
/it/examples/*                                   /tutorials/examples/:splat  301

# ADR-020 Deprecation: Gracefully degrade all legacy Italian traffic to the English source
/it/*  /:splat  301

# --- Legacy Root-Level Routes (Indexed without /docs/) ---
/developers/reference/sentinel-style           /developers/reference/zenzic-style/  301
/developers/reference/sentinel-style/          /developers/reference/zenzic-style/  301
/developers/explanation/adr-zero-subprocesses  /developers/explanation/core-laws/  301
/developers/explanation/adr-zero-subprocesses/ /developers/explanation/core-laws/  301
/developers/explanation/adr-sovereign-sandbox  /developers/explanation/sovereign-verification-model/  301
/developers/explanation/adr-sovereign-sandbox/ /developers/explanation/sovereign-verification-model/  301
/developers/explanation/architecture-gaps      /developers/explanation/  301
/developers/explanation/architecture-gaps/     /developers/explanation/  301
/developers/governance/*                       /developers/explanation/governance/:splat  301
/developers/explanation                        /developers/  301
/developers/explanation/                       /developers/  301

# Legacy Docusaurus routing fallback
/docs/*  /:splat  301
