test(chart-engine): add boundary smoke coverage and trim generator glue #25
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.
Summary
Follow-up after chart-engine typing cleanup:
chart_generator.pynow that chart-engine modules are strictly typedChanges
1) Builder/overlay smoke tests
Added
tests/test_chart_engine_smoke.pywith two end-to-end smoke cases that exerciseclean_slides.chart_engine.builder.build_chart(...)directly:Each test validates:
This gives lightweight regression coverage at the chart-engine boundary (without going through CLI wiring).
2) Chart-generator glue simplification
Refactored
clean_slides/chart_generator.pyto remove now-unnecessary dynamic attribute wrapper plumbing (_require_attr, protocol/callable casts) and use direct imports from typed chart-engine modules.Behavior remains unchanged; this is a readability/maintainability cleanup.
Validation
.venv/bin/pyright.venv/bin/pytest -q.venv/bin/pre-commit run --all-files