Skip to content

Instantly share code, notes, and snippets.

@stanislaw
Last active October 28, 2025 17:04
Show Gist options
  • Save stanislaw/3fb1554de680d5058ae7201e0e11bc36 to your computer and use it in GitHub Desktop.
Save stanislaw/3fb1554de680d5058ae7201e0e11bc36 to your computer and use it in GitHub Desktop.
WIP

WIP

  • Find all strictdoc own files.
  • Calculate last update.
    • If more than the last config update, update.
  • Find documents
  • Validate all grammar from files.
  • Iteration #1: For each document.
    • Register in-out dependency.
    • REQUIREMENT_STYLE/REQUIREMENT_IN_TOC deprecations.
    • Resolve document's grammar from file.
    • SDocValidator.validate_document()
    • Document: validate MID uniqueness.
    • Document: Register GraphLinkType.MID_TO_NODE and UID_TO_NODE
    • Document: Register GraphLinkType.DOCUMENT_TO_TAGS.
    • For each node:
      • SDocValidator.validate_node
      • Node: validate MID uniqueness.
      • Node: Register GraphLinkType.MID_TO_NODE
      • Node: validate UID uniqueness -> Register UID_TO_NODE.
      • If Node:
        • Register node tags.
        • For each node field:
          • If Anchor: Register with MID_TO_NODE and UID_TO_NODE.
  • Iteration #2: For each document.
    • For each node (SDocNode only):
      • For each node field:
        • If LINK -> Validate LINK -> Register LINK.
      • Resolve relations:
        • File: create_requirement_with_forward_source_links()
        • Parent/Child: Register relations and document dependencies.
  • Iteration #3: For each document.
    • For each node (SDocNode only):
      • Check parent/child node cycles.
  • Iteration #4: For each document:
    • Register document with map_documents_by_input_rel_path.
  • Iteration #5: Resolve included document.
  • Iteration #6: Filter nodes.
  • Traceability to files:
    • Find source files.
    • For each file:
      • Read file.
      • Create traceability_info.
    • file_tracability_index.validate_and_resolve!
    • For each indexed file:
      • If file referenced -> Mark as referenced + Register deps between files and docs.
  • traceability_index.document_tree.attach_source_tree(source_tree)
  • file_dependency_manager.resolve_modification_dates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment