# yaml-language-server: $schema=https://json.schemastore.org/mkdocs-1.6.json
# yaml-language-server: customTags:
#   - !ENV scalar
#   - !ENV sequence
site_name: CleverAgents Documentation
site_description: Documentation for CleverAgents.
site_author: CleverThis, Inc.
site_url: https://docs.cleverthis.com/cleveragents
site_dir: build/site

nav:
  - Specification: specification.md
  - Architecture: architecture.md
  - API Reference:
    - Overview: api/index.md
    - Core Utilities: api/core.md
    - A2A Protocol: api/a2a.md
    - Actor System: api/actor.md
    - Skills: api/skills.md
    - Tools: api/tool.md
    - MCP Adapter: api/mcp.md
    - Resources: api/resource.md
    - Configuration: api/config.md
    - AI Providers: api/providers.md
    - TUI: api/tui.md
    - ACMS / UKO: api/acms.md
  - Modules:
    - Shell Safety: modules/shell-safety.md
    - UKO Provenance Tracking: modules/uko-provenance.md
    - Invariant Reconciliation: modules/invariant-reconciliation.md
    - ACMS Context Hydration: modules/context-hydration.md
    - Git Worktree Sandbox: modules/git-worktree-sandbox.md
  - Development:
    - Agent System Specification: development/agent-system-specification.md
    - CI/CD Pipeline: development/ci-cd.md
    - Quality Automation: development/quality-automation.md
    - Testing Guide: development/testing.md
    - Review Playbook: development/review_playbook.md
    - Scale Testing: development/scale_testing.md
    - Ops Runbook: development/ops-runbook.md
    - System Watchdog: development/system-watchdog.md
    - Automation Tracking: development/automation-tracking.md
    - Custom Sandbox Strategy: development/custom_sandbox_strategy.md
    - Documentation Writer: development/docs-writer.md
  - Implementation Timeline: timeline.md
  - FAQ: faq.md
  - Reference: reference/
  - Architecture Decision Records (ADRs):
    - Overview: adr/index.md
    - ADR-001 Layered Architecture: adr/ADR-001-layered-architecture.md
    - ADR-002 Namespace System: adr/ADR-002-namespace-system.md
    - ADR-003 Dependency Injection: adr/ADR-003-dependency-injection.md
    - ADR-004 Data Validation: adr/ADR-004-data-validation.md
    - ADR-005 Technical Stack: adr/ADR-005-technical-stack.md
    - ADR-006 Plan Lifecycle: adr/ADR-006-plan-lifecycle.md
    - ADR-007 Decision Tree & Correction: adr/ADR-007-decision-tree-and-correction.md
    - ADR-008 Resource System: adr/ADR-008-resource-system.md
    - ADR-009 Project Model: adr/ADR-009-project-model.md
    - ADR-010 Actor & Agent Architecture: adr/ADR-010-actor-and-agent-architecture.md
    - ADR-011 Tool System: adr/ADR-011-tool-system.md
    - ADR-012 Skill System: adr/ADR-012-skill-system.md
    - ADR-013 Validation Abstraction: adr/ADR-013-validation-abstraction.md
    - ADR-014 Context Management (ACMS): adr/ADR-014-context-management-acms.md
    - ADR-015 Sandbox & Checkpoint: adr/ADR-015-sandbox-and-checkpoint.md
    - ADR-016 Invariant System: adr/ADR-016-invariant-system.md
    - ADR-017 Automation Profiles: adr/ADR-017-automation-profiles.md
    - ADR-018 Semantic Error Prevention: adr/ADR-018-semantic-error-prevention.md
    - ADR-019 Storage & Persistence: adr/ADR-019-storage-and-persistence.md
    - ADR-020 Session Model: adr/ADR-020-session-model.md
    - ADR-021 CLI & Output Rendering: adr/ADR-021-cli-and-output-rendering.md
    - ADR-022 LangChain/LangGraph Integration: adr/ADR-022-langchain-langgraph-integration.md
    - ADR-023 Server Mode: adr/ADR-023-server-mode.md
    - ADR-024 Configuration System: adr/ADR-024-configuration-system.md
    - ADR-025 Observability & Logging: adr/ADR-025-observability-and-logging.md
    - ADR-026 Agent-to-Agent Protocol (A2A): adr/ADR-026-agent-client-protocol.md
    - ADR-027 Language Server Protocol (LSP) Integration: adr/ADR-027-language-server-protocol.md
    - ADR-028 Agent Skills Standard (AgentSkills.io): adr/ADR-028-agent-skills-standard.md
    - ADR-029 Model Context Protocol (MCP) Adoption: adr/ADR-029-model-context-protocol.md
    - ADR-030 Skill Abstraction Definition: adr/ADR-030-skill-abstraction-definition.md
    - ADR-031 Actor Abstraction Definition: adr/ADR-031-actor-abstraction-definition.md
    - ADR-032 Jinja2 YAML Template Preprocessing: adr/ADR-032-jinja2-yaml-template-preprocessing.md
    - ADR-033 Decision Recording Protocol: adr/ADR-033-decision-recording-protocol.md
    - ADR-034 Decision Tree Versioning & History: adr/ADR-034-decision-tree-versioning-and-history.md
    - ADR-035 Decision Tree Rollback & Replay: adr/ADR-035-decision-tree-rollback-and-replay.md
    - ADR-036 Resource DAG Operational Semantics: adr/ADR-036-resource-dag-operational-semantics.md
    - ADR-037 Tool Reachability & Access Projection: adr/ADR-037-tool-reachability-and-access-projection.md
    - ADR-038 Cross-Mechanism Sandbox Coordination: adr/ADR-038-cross-mechanism-sandbox-coordination.md
    - ADR-039 Container Resource Types: adr/ADR-039-container-resource-types.md
    - ADR-040 LSP Resource Types: adr/ADR-040-lsp-resource-types.md
    - ADR-041 Safety Profile Extraction: adr/ADR-041-safety-profile-extraction.md
    - ADR-042 Resource Type Inheritance: adr/ADR-042-resource-type-inheritance.md
    - ADR-043 Devcontainer Integration: adr/ADR-043-devcontainer-integration.md
    - ADR-044 TUI Architecture and Framework: adr/ADR-044-tui-architecture-and-framework.md
    - ADR-045 TUI Persona System: adr/ADR-045-tui-persona-system.md
    - ADR-046 TUI Reference and Command System: adr/ADR-046-tui-reference-and-command-system.md
    - ADR-047 A2A Standard Adoption: adr/ADR-047-acp-standard-adoption.md
    - ADR-048 Server Application Architecture: adr/ADR-048-server-application-architecture.md

theme:
  name: material
  custom_dir: docs/overrides
  features:
    - navigation.tabs
    - navigation.tabs.sticky
    - toc.integrate
    - toc.follow
  palette:
    - scheme: default
      primary: blue
      accent: cyan
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode
    - scheme: slate
      primary: blue
      accent: cyan
      toggle:
        icon: material/brightness-4
        name: Switch to light mode

hooks:
  - hooks/adr_hooks.py

extra_css:
  - stylesheets/extra.css

extra_javascript:
  - javascripts/adr-page.js
  - javascripts/toc-collapse.js
  - javascripts/diagram-lightbox.js

extra:
  adr_tiers:
    1:
      title: "Foundational"
      description: "Structural and technological foundation upon which all other decisions rest."
    2:
      title: "Core Domain"
      description: "Domain model — entities, lifecycles, and relationships that constitute core logic."
    3:
      title: "Infrastructure and Behavior"
      description: "Cross-cutting behavioral systems and infrastructure concerns."
    4:
      title: "Integration and Operations"
      description: "External integrations, operational interfaces, and deployment concerns."

plugins:
  - search
  - gen-files:
      scripts:
        - docs/gen_ref_pages.py
  - literate-nav:
      nav_file: SUMMARY.md
  - mkdocstrings:
      handlers:
        python:
          paths: [src]
          options:
            docstring_style: google
            docstring_section_style: table
            show_root_heading: true
            show_source: true
            merge_init_into_class: true
            separate_signature: true
            show_signature_annotations: true
            signature_crossrefs: true
            summary: true
            extensions:
              - griffe_pydantic:
                  schema: true
  - kroki:
      server_url: https://kroki.qoto.org
      #server_url: https://kroki.io
      enable_mermaid: true
      fence_prefix: kroki-
      http_method: POST

markdown_extensions:
  - admonition
  - pymdownx.details
  - pymdownx.superfences
  - pymdownx.tabbed:
      alternate_style: true
  - pymdownx.critic
  - pymdownx.caret
  - pymdownx.keys
  - pymdownx.mark
  - pymdownx.tilde
  - pymdownx.tasklist:
      custom_checkbox: true
  - attr_list
  - def_list
  - footnotes
  - md_in_html
  - tables
  - codehilite
  - toc:
      permalink: true
      toc_depth: 1-6
