# ============================================================
# src/accountable_record/stage_090_docs/base/constants.py
# ============================================================
"""Docs-stage constants and diagnostic codes (Layer 0).

WHY:
    Stage 090 is the documentation concern. It consumes the generated artifacts
    from stage 080 and derives the set of documentation pages that correspond
    to them. This module is the stage's Layer 0 vocabulary: the AR.DC.*
    diagnostic codes plus the structural constants naming the docs root, the
    per-element page layout, and the minimal observed shape used to plan and
    reconcile documentation against the generated artifacts.

OBS (boundary):
    s090 owns documentation. It does not build the catalog (s050), validate
    exports (s060), validate or build resolution locks (s070), or validate
    generated artifacts (s080). It consumes the stage 080 generated artifact
    from pipeline state; it does not rebuild it.

OBS (plan, not write):
    Following the write-intent convention used by stage 060, the verifier does
    not write into docs/. plan.py derives a render plan describing the pages a
    later emitter would render; render.py realizes that plan into in-memory
    page content for inspection. Neither writes files. A reconciliation checks
    that the planned page set and the generated-artifact set agree.

OBS (docs scope):
    The observed docs root is docs/. The per-element generated namespace is
    docs/en/elements/, one Markdown page per generated element artifact. The
    page stem is the element local name.

OBS (data-driven):
    No hardcoded element ids, page names, or counts. The generated element set
    comes from state; planned pages are derived from it.

REQ:
    - No internal dependencies beyond the shared Layer 0 diagnostics module.
    - Concern is Concern.DOCS ("DC"), already defined in the shared diagnostics
      enum; 090 does not mint new concerns.
"""

STAGE_NAME = "stage_090_docs"

# Default docs root for target repositories. A path anchor, not a hardcoded
# page list.
DOCS_DIRNAME = "docs"

# The default language subtree and the per-element page namespace beneath it.
DOCS_LANG_SUBDIR = "en"
DOCS_ELEMENTS_SUBDIR = "elements"

# Per-element documentation page suffix.
DOCS_PAGE_SUFFIX = ".md"
