Documentation Maintenance Summary
For Developers: This document provides comprehensive guidance for maintaining RePORTaLiN’s documentation system, including automation tools, quality checks, and maintenance procedures.
Overview
This document provides a snapshot of the current documentation status, automation features, and guidance for ongoing maintenance.
Last Updated: October 28, 2025
Documentation Version: Aligned with code version 0.8.6
Current Status
Automation Features
- ✅ Version Bumping
Automated semantic versioning based on conventional commits:
feat:→ Minor version bump (0.x.0)fix:→ Patch version bump (0.0.x)BREAKING CHANGE:→ Major version bump (x.0.0)
Location:
.git/hooks/bump-versionand.git/hooks/post-commit- ✅ Documentation Quality Checks
Comprehensive automated quality checker:
Script:
scripts/utils/check_documentation_quality.pyShell Script:
scripts/utils/check_docs_style.shGitHub Action:
.github/workflows/docs-quality-check.yml
Checks performed:
Version reference consistency
File size monitoring
Redundancy detection
Cross-reference validation
Style compliance (RST only, no Markdown)
Outdated date detection
- ✅ CI/CD Integration
GitHub Actions workflow runs on:
Quarterly schedule (1st day of Jan, Apr, Jul, Oct)
Manual trigger (workflow_dispatch)
Pull requests affecting documentation
Direct pushes to main branch
Documentation Structure
The documentation is organized into three main sections:
User Guide
Primary audience: End users and data managers
introduction.rst- Overview and purposeinstallation.rst- Setup instructionsquickstart.rst- Getting started guideusage.rst- Detailed usage examplesconfiguration.rst- Configuration referencedeidentification.rst- De-identification guidecountry_regulations.rst- Country-specific regulationstroubleshooting.rst- Common issues and solutions
Developer Guide
Primary audience: Developers and maintainers
architecture.rst- System design and componentscontributing.rst- Contribution guidelinesextending.rst- Extension developmentproduction_readiness.rst- Production deploymentcode_integrity_audit.rst- Code quality standardsproject_vision.rst- Long-term goalsfuture_enhancements.rst- Planned improvementsdocumentation_style_guide.rst- Documentation standardsauto_documentation.rst- API doc generationgithub_pages_deployment.rst- Deployment guide
Historical Records
Archived for reference:
historical_verification.rst- Past audit recordsterminology_simplification.rst- Terminology changesscript_reorganization.rst- Code restructuringgitignore_verification.rst- Git configuration
API Reference
Auto-generated from source code docstrings
Module documentation
Function and class references
Type hints and signatures
Quality Metrics
Current Status (October 28, 2025)
📊 Statistics:
Files checked: 35
Total lines: 18,477
Errors: 0
Warnings: 34 (all false positives)
Info: 40
✅ No actual broken references (Sphinx build succeeds)
✅ All files use .rst format (no Markdown)
✅ Version references are consistent
Known Issues
False Positive Warnings
The quality checker reports 34 “potentially broken references” which are
actually valid Sphinx :doc: references. These can be safely ignored
as long as the Sphinx build completes without warnings.
Informational Notices
Large files: 5 files exceed 1500 lines (informational only)
Duplicate headers: 35 instances of duplicate section headers across files (expected and acceptable for repeated sections like “Troubleshooting”)
Maintenance Procedures
Quarterly Review Checklist
Perform these tasks every quarter (automated reminder via GitHub Actions):
Version Consistency
cd docs/sphinx python3 ../../scripts/utils/check_documentation_quality.py
Build Verification
cd docs/sphinx make clean make html
Content Review
Update version-specific content
Review and update examples
Check external links
Update dates in time-sensitive sections
Style Compliance
cd scripts/utils ./check_docs_style.sh
Changelog Update
Document significant changes since last quarter
Review version history
Ensure all features are documented
Manual Quality Check
To manually run the quality checker:
# From repository root
python3 scripts/utils/check_documentation_quality.py
# From scripts/utils directory
cd scripts/utils
./check_docs_style.sh
Expected output: No errors, warnings are acceptable if explained above.
Release Process
When releasing a new version:
Code Changes
Make your changes
Use conventional commit messages (
feat:,fix:,BREAKING CHANGE:)Version bumps automatically on commit
Documentation Updates
Update changelog.rst with new version section
Update any version-specific content
Rebuild documentation locally
Verification
# Check version was bumped correctly cat __version__.py # Run quality checks python3 scripts/utils/check_documentation_quality.py # Build documentation cd docs/sphinx && make html
Commit and Push
git add . git commit -m "docs: update for version X.Y.Z" git push
Best Practices
Documentation Standards
✅ DO:
Use
.rstformat exclusively (no Markdown)Follow the style guide in
documentation_style_guide.rstInclude
.. meta::directives for SEOUse consistent heading hierarchy
Add descriptive alt text for images
Include code examples where appropriate
Cross-reference related sections using
:doc:Update the changelog for significant changes
❌ DON’T:
Don’t use Markdown files in the documentation
Don’t hard-code version numbers (use 0.8.6 substitution)
Don’t create duplicate content (link instead)
Don’t use relative dates (“last week”) - use absolute dates
Don’t skip the quarterly review checklist
Version Management
✅ Commit Message Format:
feat: add new deidentification feature
Implements country-specific field masking for Brazil.
Updates documentation with examples.
fix: correct date parsing in extract_data.py
Resolves issue where ISO 8601 dates were not recognized.
feat!: redesign configuration schema
BREAKING CHANGE: Configuration file format has changed.
Users must migrate to new schema.
✅ Version Number:
The version number in __version__.py is automatically updated based on
commit messages. No manual editing required.
Documentation Updates
For small changes:
# Edit the file
vim docs/sphinx/user_guide/usage.rst
# Test locally
cd docs/sphinx && make html
# Commit with conventional message
git commit -m "docs: clarify usage example"
For large changes:
Create a feature branch
Make documentation changes
Run full quality check
Create pull request (triggers automated checks)
Merge after review
Troubleshooting
Common Issues
Issue: Quality checker reports broken references
Solution: If Sphinx build succeeds without warnings, these are false positives. The checker doesn’t fully understand Sphinx’s reference resolution.
Issue: Version not bumping on commit
Solution:
# Check hook is executable
ls -l .git/hooks/post-commit
# Make executable if needed
chmod +x .git/hooks/post-commit
chmod +x .git/hooks/bump-version
# Check commit message format
git log -1 --pretty=%B
Issue: GitHub Actions failing
Solution: Check the workflow logs in GitHub Actions tab. Common causes:
Missing dependencies
Python version mismatch
File permissions
Getting Help
Review the Documentation Style Guide
Check the Contributing guide
Review Changelog for recent changes
Check GitHub Issues for known problems
Revision History
Version |
Date |
Changes |
|---|---|---|
1.0 |
2025-10-28 |
Initial maintenance summary created
|