# *********************************************** #
# Manifest defining the visitor for each CODEMANIFEST document #
# *********************************************** #

Imports:
  - Types:
      - DocumentRoot
    From: goga/ast/nodes
  - Types:
      - DocumentRuleError
    From: goga/ast/errors
  - Types:
      - DocumentRule
    From: goga/ast/rules

Usages:
  conventions: .goga/usages/conventions.md

Annotations: |
  When developing and testing: follow the practice `conventions`.

---

"Visitor(document: DocumentRoot)":
  location: visitor.py
  annotations: |
    Analyzes a document for validation errors.

    `document`: the document to analyze
  properties:
    document -> DocumentRoot: |
      The document passed at construction.
  methods:
    "analyze(rules: list[DocumentRule]) -> errors:list[DocumentRuleError]": |
      Analyze the document against the specified rules.

      `errors`: list of errors after applying rules

---

Author: Mikhail Trifonov
CreatedAt: 11/04/26

Description: |
  Defines a visitor that analyzes a CODEMANIFEST document against specified rules.
