Complete Dynadoc architecture documentation#4
Merged
emcd merged 4 commits intoNov 13, 2025
Conversation
Document the system architecture retroactively based on codebase analysis: - System Overview: Describe four-layer pipeline architecture (introspection, assembly, rendering, configuration), data flow, design patterns, and quality attributes - Filesystem Organization: Detail module structure, responsibilities, layered dependencies, and public API surface Architecture highlights: * Protocol-based extensibility for rendering and visibility decisions * Annotation reduction with cycle detection and caching * Immutable configuration objects for thread-safety * Fragment composition from multiple sources * Recursive decoration with visit tracking
Document product requirements retroactively based on codebase analysis: - Executive Summary: Library bridges rich annotations and documentation tools - Problem Statement: Sphinx Autodoc cannot process PEP 727 Doc objects and annotation metadata - Goals and Objectives: 7 measurable objectives from critical Doc extraction to fragment table support - Target Users: Library maintainers, API developers, type annotation adopters - Functional Requirements: 12 user stories covering decoration, annotation processing, customization, and configuration - Non-Functional Requirements: Performance, correctness, compatibility, usability, and extensibility metrics - Constraints and Assumptions: Technical, design, and behavioral constraints - Out of Scope: Explicit exclusions to manage expectations All requirements include acceptance criteria and priority levels (Critical/High/Medium/Low) following requirements.rst guidelines.
Changes: - Add note that PEP 727 is withdrawn but Doc remains in typing_extensions - Remove user personas and user stories section (too enterprisey) - Rewrite functional requirements in direct voice instead of "As a..." format - Change Python baseline from 3.11+ to 3.10+ - Remove typing_extensions dependency removal requirement - Update references to PEP 727 to mention it's withdrawn The PRD now focuses on what the product is and does rather than user narratives, while preserving detailed requirements with acceptance criteria.
Add blank lines after 'Acceptance Criteria:' headers and keep long list items on single lines to avoid reStructuredText indentation parsing issues.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Document the system architecture retroactively based on codebase analysis:
Architecture highlights: