Skip to content

Docs/documentation v1#1

Open
SANAJ12s wants to merge 29 commits intodevfrom
docs/DocumentationV1
Open

Docs/documentation v1#1
SANAJ12s wants to merge 29 commits intodevfrom
docs/DocumentationV1

Conversation

@SANAJ12s
Copy link
Collaborator

No description provided.

SANAJ12s and others added 29 commits November 4, 2025 15:00
DbB in english, delete unnecessary details
- Implement comprehensive Pydantic models with discriminated unions
- Add type-safe validation for all dictionary parts
- Include cross-reference validation and foreign key constraints
- Add test suite for model validation
- Update AGENTS.md with development commands and code style guidelines
- Add pydantic dependency for type safety
- Replace sparse CSV structure with hierarchical JSON
- Eliminate empty table presence columns
- Maintain all existing data and relationships
- Add conversion script for migration
- Improve data structure readability and maintainability
- Modify generate_docs.py to work with JSON dictionary
- Update parts_table.md documentation for new format
- Refresh tables.md with current schema
- Improve documentation generation reliability
- Implement ERD generator for interactive and simple diagrams
- Generate Mermaid.js diagrams for documentation
- Add ERD assets and reference documentation
- Include comprehensive test suite for ERD generation
- Support both interactive and static ERD formats
- Refresh mkdocs.yml for new documentation structure
- Update SQL generation script for latest schema
- Add utility scripts for asset management and cleanup
- Remove fk_target_part_id from TablePresence model
- Update validation logic to infer FK targets from field names
- Remove all 27 fk_target_part_id instances from dictionary.json
- Update ERD generator to infer relationships from naming conventions
- Update documentation generation to work without explicit FK targets
- Add script for removing fk_target_part_id fields
- Improve relationship descriptor clarity in ERD (Foreign Table/Primary Table)

This eliminates redundancy as field names ending in _ID already indicate
their target primary keys, making the data model cleaner and more maintainable.
Break down monolithic documentation generation into focused, testable modules:

- scripts/generate_dictionary_reference.py: Generate table/valueset docs
- scripts/generate_erd.py: Generate ERD diagrams and HTML
- scripts/generate_sql.py: Generate SQL schemas for target databases
- scripts/orchestrate_docs.py: Coordinate all generation tasks

Benefits:
- Each script can be run independently for testing
- Clearer separation of concerns
- Easier to maintain and extend
- Better testability

Remove obsolete scripts:
- Old monolithic hooks (docs/hooks/erd_generator.py, generate_docs.py)
- One-time migration scripts (csv_to_json.py, remove_fk_target.py, etc.)

Update helpers.py to support new modular architecture.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Restructure tests for better organization and maintainability:

New structure:
- tests/unit/: Isolated unit tests for each module
  - test_dictionary_reference.py: Dictionary markdown generation
  - test_erd_generator.py: ERD generation logic
  - test_sql_generator.py: SQL schema generation
  - test_models.py: Pydantic model validation
  - test_helpers.py: Helper function tests

- tests/integration/: End-to-end integration tests
  - test_orchestration.py: Full documentation pipeline
  - test_erd_integrity.py: ERD structural validation

- tests/fixtures/: Shared test data and utilities
  - sample_dictionary.py: Reusable test fixtures
  - conftest.py: Pytest configuration

Benefits:
- Clearer separation between unit and integration tests
- Faster test execution (unit tests can run independently)
- Easier to locate and maintain specific tests
- Shared fixtures reduce duplication

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Replace inline documentation generation with orchestrator-based approach:

Changes to docs/hooks/call_orchestrator.py:
- Lightweight hook that delegates to scripts/orchestrate_docs.py
- Passes configuration from mkdocs.yml to orchestrator
- Cleaner separation between MkDocs and generation logic

Changes to mkdocs.yml:
- Update hooks configuration to use new call_orchestrator
- Adjust paths and references for new script structure
- Maintain compatibility with existing documentation structure

Benefits:
- MkDocs hook becomes a thin wrapper
- Generation logic can be tested independently of MkDocs
- Same scripts work both in MkDocs builds and standalone execution
- Easier to debug and maintain

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Regenerate all auto-generated documentation using new modular scripts:

Documentation updates:
- docs/reference/tables.md: Fresh table documentation with anchors
- docs/reference/valuesets.md: Updated value set references
- docs/reference/erd.md: New ERD page with interactive diagram
- docs/reference/schema.md: Streamlined schema overview
- docs/contributing/dictionary.md: New contributor guide for dictionary

Removed outdated documentation:
- docs/contributing/parts_table.md: Superseded by dictionary.md

Improvements:
- Consistent anchor linking between tables and valuesets
- Better cross-references using Part_ID anchors
- Interactive ERD with zoom, pan, and export capabilities
- Cleaner, more maintainable markdown structure

All documentation now auto-generated from src/dictionary.json using
the new modular script architecture.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Regenerate MSSQL schema using new scripts/generate_sql.py:

Changes:
- Fresh SQL DDL generated from current dictionary.json state
- Consistent with data model after fk_target_part_id removal
- Proper foreign key constraint generation
- Up-to-date with latest table and field definitions

The SQL schema is now generated using the modular generation
system, ensuring consistency with documentation and ERD diagrams.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add pytest to dev dependency group for test suite:

Changes to pyproject.toml:
- Add pytest>=8.4.2 to [dependency-groups].dev
- Supports new unit and integration test structure
- Enables local test execution with 'uv run pytest'

The reorganized test suite requires pytest for execution.
This formalizes the testing infrastructure for the project.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Restructure project to improve organization and clarity:

Structure changes:
- Create src/open_dateaubase/data_model/ submodule
- Move models.py → data_model/models.py
- Move helpers.py → data_model/helpers.py
- Move dictionary.json to project root (from src/)

Benefits:
- Clearer separation: data model code is now in dedicated submodule
- More accessible: dictionary.json at root is easier to find/use
- Better imports: explicit data_model namespace clarifies purpose
- Improved maintainability: related code grouped together

Updated references throughout:
- All import statements: open_dateaubase.data_model.{models,helpers}
- All file paths: dictionary.json (instead of src/dictionary.json)
- Documentation examples in dictionary.md
- Script usage examples and help text
- Test imports
- MkDocs hook paths

All tests and imports verified working.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants