Skip to main content
Version: 2.0 (Next)

MVP Requirements Scope

This document specifies the exact scope of requirements included in the MVP (v1.0) baseline of the Universal Documentation Engine (UDE). The focus is on establishing a robust, 100% offline, local API documentation compiler.

:::info Requirements Audit Status — 2026-06-28 A full requirements audit was completed on 2026-06-28, cross-referencing this document against the engine source code and test suite. All confirmed implementations are listed in the Confirmed Features section below. Deviations from earlier drafts are documented in the gap analysis matrix (.antigravitycli/gap_analysis_matrix.md). :::


📐 Scope of MVP (v1.0)

1. Ingestion, Ignore Tags & Core Extraction

  • Doxygen XML Ingestion: Ingest and parse Doxygen-generated index.xml and compound files (REQ-FUN-01).
  • Supported Languages: Map structural entities (namespaces, classes, structures, methods, fields, parameters, constants, enums, type aliases) for C++, C#, Java, and Python to a unified, language-agnostic Intermediate Representation (IR) (REQ-FUN-02). Specifically for real-world C++, the parser must handle double-colon scopes (::), constructors/destructors (~), and renderers must escape angle brackets (< >) of template specializations to avoid breaking Docusaurus compilation.
  • CommonMark Normalization: Standardize comments and docstrings (Javadoc, Google, etc.) into structured CommonMark Markdown prose and fields (REQ-FUN-14).
  • Ignore Tags: Parse and strictly respect comment-level block range exclusions (DOM-IGNORE-BEGIN/DOM-IGNORE-END), directives (\cond/\endcond), and internal modifiers (\internal), ensuring matching code segments are completely omitted from the Intermediate Representation (REQ-FUN-13).
  • Pydantic Validation: Utilize Pydantic v2 to serialize and validate the generated Intermediate Representation (IR) catalog in memory (REQ-NFN-04).

2. Multi-Format Rendering

  • Jinja2 Templates: Utilize Jinja2 templates for customized documentation rendering (REQ-NFN-04).
  • Hugo Markdown: Compile the Intermediate Representation (IR) into structural Markdown files formatted specifically for the Hugo static site generator (REQ-FUN-03).
  • Metadata Injector: Support automatic YAML/TOML front-matter metadata layout injections into page headers (REQ-FUN-04).
  • Static HTML: Compile the Intermediate Representation (IR) directly into standalone static HTML documentation files (REQ-FUN-03).

3. Git Hygiene & Optimization

  • IR Database Compression: Store and read all Intermediate Representation (IR) files using transparent, on-the-fly Gzip compression (.json.gz format) (REQ-FUN-11).
  • Zero-Check-In Policy: Ensure zero compiled output files are checked into the code repository by running the compiler dynamically on server-side environments.

4. Automated Quality & Alignment Testing

  • Golden Master Regression Testing: Implement automated tests that compile sample projects for all supported languages (C++, C#, Java, Python) and compare the generated Intermediate Representation (IR), HTML pages, and Hugo Markdown outputs against established, pre-compiled static baseline files (REQ-FUN-48).
  • Docomatic Semantic Alignment & Difference Tracking: Assert structural and semantic identity between the UDE output and the legacy Docomatic reference documentation by running structural sidebar hierarchy and text-block extraction tests. To maintain flexible development workflows, deviations are logged into git-ignored difference_mock_sdk_*.json files; tests fail in strict mode (STRICT_ALIGNMENT=1 in CI gates) but generate soft warnings in dev setups (REQ-FUN-49).

📊 Requirements Matrix

The MVP baseline includes the following subset of requirements from the SRS and BRD:

Requirement IDTypeDescriptionTraces to
REQ-BUS-01BusinessExtensible Input Ingestion (Baseline: Doxygen XML)-
REQ-BUS-02BusinessMulti-Format Rendering (HTML, Hugo Markdown)-
REQ-BUS-03BusinessGzip-compressed IR database storage-
REQ-BUS-09BusinessSeamless Pipeline CI/CD Automation-
REQ-FUN-01FunctionalDoxygen XML parser frontendREQ-BUS-01
REQ-FUN-02FunctionalMulti-language API extraction (C++, C#, Java, Python)REQ-BUS-01
REQ-FUN-14FunctionalComment Markup Normalization (CommonMark)REQ-BUS-01
REQ-FUN-03FunctionalHTML and Hugo Markdown renderingREQ-BUS-02
REQ-FUN-04FunctionalFront-matter metadata templatesREQ-BUS-02
REQ-FUN-07FunctionalNon-interactive CLI flags & codesREQ-BUS-09
REQ-FUN-11FunctionalGzip IR compression (.json.gz)REQ-BUS-03
REQ-FUN-13FunctionalIgnore Tags & Range BoundariesREQ-BUS-08
REQ-FUN-19FunctionalC++ compiler export macro filteringREQ-BUS-01
REQ-FUN-20FunctionalSWIG wrapper low-level internal exclusionsREQ-BUS-01, REQ-BUS-08
REQ-FUN-22FunctionalAutomated collector temporary directory cleanupREQ-BUS-03
REQ-FUN-23FunctionalEnvironment pre-flight & dependency checksREQ-BUS-09
REQ-FUN-24FunctionalMulti-project pipeline fault tolerance policiesREQ-BUS-09
REQ-FUN-25FunctionalCentralized logging & Doxygen stderr captureREQ-BUS-09
REQ-FUN-26FunctionalLevel-1 incremental parsing cacheREQ-BUS-03, REQ-BUS-09
REQ-FUN-27FunctionalLevel-2 incremental rendering cacheREQ-BUS-03, REQ-BUS-09
REQ-FUN-28FunctionalTarget folder metadata and cache isolationREQ-BUS-03
REQ-FUN-29FunctionalPortable configuration relative path resolutionREQ-BUS-09
REQ-FUN-48FunctionalGolden Master Regression TestingREQ-BUS-08
REQ-FUN-49FunctionalDocomatic Semantic Alignment & Difference TrackingREQ-BUS-08, REQ-BUS-10
REQ-NFN-01Non-FunctionalExecution performance (< 5s for 1000 classes)-
REQ-NFN-02Non-FunctionalModularity via abstract base classes (BaseParser, BaseRenderer)-
REQ-NFN-03Non-FunctionalMaintain at least 98% unit test coverage-
REQ-NFN-04Non-FunctionalPydantic v2 core validation & Jinja2 rendering-

Confirmed Features

The following requirements are fully implemented in v1.0 and verified during the 2026-06-28 audit:

RequirementCode LocationDescription
REQ-FUN-50engine/ude/SidebarStructures/default/All 16 toc_<RendererClassName>.json files present
REQ-FUN-35Renderer classesEmpty sidebar sections pruned at render time
REQ-FUN-34Orchestrator / Rendererscatalog_links injected into navigation tree
REQ-FUN-29orchestrator.pyAll paths resolved relative to config file directory
REQ-FUN-24orchestrator.pyFault tolerance via error_policy (fail-fast / continue-on-error)
REQ-FUN-11engine/ude/storage.pyGzip JSON compression for IR (L1 cache)
REQ-FUN-22engine/ude/collectors/doxygen.pyAuto cleanup of Doxygen temp files in finally block
REQ-FUN-14engine/ude/normalizer.pyCommonMark normalization (Javadoc/Doxygen/Sphinx-RST/Google/NumPy)
REQ-FUN-19/20engine/ude/parsers/C++ export macro stripping and SWIG internal filtering
REQ-FUN-42engine/ude/formatters/signatures.pyLanguage-specific signature formatting via strategy dispatch
REQ-FUN-44engine/ude/parsers/doxygen.pyBackward-compatible DoxygenXmlParser router facade
REQ-FUN-45/46orchestrator.py / cli.py3-way deep_merge config cascade with combined output path resolution

Renderer Architecture (v1.0 Actual)

The v1.0 codebase provides 16 concrete renderer classes — not the 2 generic classes (HugoMarkdownRenderer, HtmlRenderer) referenced in some earlier SDD drafts. The naming pattern is <Lang><Output><ID>Renderer (GAP-13):

LangHtmlDefaultHugoDefaultHtmlLegacyHugoLegacy
CppCppHtmlDefaultRendererCppHugoDefaultRendererCppHtmlLegacyRendererCppHugoLegacyRenderer
CsCsHtmlDefaultRendererCsHugoDefaultRendererCsHtmlLegacyRendererCsHugoLegacyRenderer
JavaJavaHtmlDefaultRendererJavaHugoDefaultRendererJavaHtmlLegacyRendererJavaHugoLegacyRenderer
PyPyHtmlDefaultRendererPyHugoDefaultRendererPyHtmlLegacyRendererPyHugoLegacyRenderer

CLI Invocation (v1.0 Actual)

[UPDATED 2026-07-19] CLI subcommands (ude compile, ude parse, ude render, ude audit, GAP-01) have since been implemented in engine/ude/cli.py, ahead of the original v2.0 target. See docs/sdd/cli_interface.md for the current subcommand reference. The original v1.0 flat invocation remains supported as a backward-compatible alias for ude compile:

ude --global-config <path> --sdk-config <path> --doc-config <path>

sidebar.toml (v1.0 Behavior)

sidebar.toml is optional in v1.0. When absent, the system builds and renders the API Reference tree only, with no exception raised (GAP-06 fix: orchestrator.py must be aligned with cli.py graceful fallback behavior). When present, sidebar.toml acts as a navigation overlay.

QA & Testing Infrastructure

The v1.0 engine ships with a 23-file test suite in engine/tests/, covering unit, functional, integration, golden master, Docomatic alignment, and performance benchmarks:

Test FileCoverage Area
test_performance_benchmark.pyCold/warm build performance benchmarks (L1/L2 cache) — REQ-NFN-01
test_golden_master.pyGolden master regression for parser + all 4 renderer families
test_docomatic_alignment.pyDocomatic semantic alignment vs Legacy HTML output
test_integration_pipeline.pyEnd-to-end pipeline (parse + render without collector subprocess)
test_orchestrator.pyMulti-target pipeline, error_policy, config cascade
test_static_pages.pysidebar.toml loading, graceful fallback, static page types
test_cli.pyCLI arg parsing, deep_merge, find_product_json
(15 additional unit/functional tests)Interfaces, models, storage, caching, parsers, renderers, normalizers, signatures

Test assets in engine/tests/assets/ include 4 mock Doxygen XML fixtures, golden master HTML baselines for all 4 languages, HTML Legacy baselines for C++/C#/Java, and ~100 Docomatic-generated reference HTML pages for C++ alignment testing.