Skip to content

Conversation

JasperCraeghs
Copy link
Member

@JasperCraeghs JasperCraeghs commented Jun 29, 2025

Closes #269

@JasperCraeghs JasperCraeghs changed the base branch from master to fix-unpickable-conf July 11, 2025 10:41
JasperCraeghs and others added 6 commits July 11, 2025 15:56
**Parallel Processing Fixes:**
- Fix missing attribute hyperlinks in parallel builds
- Fix missing attribute content rendering in worker processes
- Ensure attribute definitions are properly shared between worker processes
- Improve collection merging logic for robust parallel processing

**API Improvements:**
- Simplify add_attribute() API - no longer requires explicit collection parameter
- Items automatically get collection reference when added to collection
- Maintain backward compatibility with existing code
- Add comprehensive validation while improving user experience

**Test Suite Enhancements:**
- Add comprehensive parallel processing test suite
- Consolidate duplicate test files into unified test suite
- Add tests for attribute consistency between serial/parallel builds
- Improve test coverage for edge cases and error handling

- Enhanced `ParallelSafeTraceableCollection` for proper worker process handling
- Improved `begin_parallel_read()` to ensure all attribute definitions available
- Enhanced `merge_from()` logic for robust collection merging
- Modified `add_item()` to automatically set collection reference
- Updated multiple directive classes for consistent parallel behavior

- Resolves attribute hyperlink generation in parallel builds
- Resolves attribute content rendering issues
- Eliminates duplicate warnings in parallel processing
- Maintains data integrity across worker processes
Copy link

qltysh bot commented Jul 24, 2025

3 new issues

Tool Category Rule Count
qlty Structure High total complexity (count = 113) 3

Base automatically changed from fix-unpickable-conf to master July 25, 2025 13:59
@JasperCraeghs JasperCraeghs changed the title Draft: Support parallel read Support parallel read Jul 25, 2025
Copy link

qltysh bot commented Jul 25, 2025

Diff Coverage: The code coverage on the diff in this pull request is 78.5%.

Total Coverage: This PR will increase coverage by 12.21%.

File Coverage Changes
Path File Coverage Δ Indirect
mlx/traceability/directives/checkbox_result_directive.py -3.6
mlx/traceability/directives/item_attribute_directive.py 55.7
mlx/traceability/directives/item_attributes_matrix_directive.py -1.0
mlx/traceability/directives/item_directive.py 12.3
mlx/traceability/directives/item_list_directive.py 64.7
mlx/traceability/directives/item_matrix_directive.py 35.8
mlx/traceability/directives/item_pie_chart_directive.py -0.1
mlx/traceability/directives/item_relink_directive.py -1.3
mlx/traceability/traceability.py 6.5
mlx/traceability/traceable_attribute.py 0.7
mlx/traceability/traceable_base_directive.py 13.4
mlx/traceability/traceable_base_node.py 12.6
mlx/traceability/traceable_collection.py 1.5
mlx/traceability/traceable_item.py 0.5
🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

…rror: <class 'sphinx.writers.html5.HTML5Translator'> departing unknown node type: AttributeSort'
Resolves serial build failures where utility nodes (AttributeSort, CheckboxResult,
ItemLink, ItemRelink, AttributeLink) were processed by HTML5 translator before
being replaced by replace_self([]).

- Register utility nodes with app.add_node() for proper Sphinx integration
- Use docutils.nodes.SkipNode to cleanly skip nodes with no visual representation
- Single skip_node_html5() function handles all utility nodes consistently
- Fixes NotImplementedError in serial builds (-j 1) while maintaining parallel support

Closes: Serial build crash with 'departing unknown node type' error
@JasperCraeghs
Copy link
Member Author

The doc build in CI produces some duplicate warnings. No clue why yet. I will investigate this issue and have a look at sphinx-doc/sphinx#13738.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support Sphinx' parallel-read
2 participants