fix: end-to-end audit — repair source bugs and test suite#10
Merged
Conversation
End-to-end audit of all 28 source modules found and fixed bugs across 13 files. Key fixes: - ds_select_largest: count_points_in_block consumed iterator before counting - cli_train: read_off returns MeshData, not tuple; handle hp=None - evaluation_pipeline: .filename on tensor; missing dict keys; report interface - data_loader: read_off return type; augmentation before voxelization; tf.cond for @tf.function graph-mode compatibility - model_transforms: add output projection; add EPSILON guard in CENICGDN - entropy_model: remove @tf.function from dict-mutating methods - octree_coding: replace tf.equal/tf.shape in Python conditionals - map_color: guard against missing end_header in PLY files - training_pipeline: fix model API integration and loss computation - mp_report: fix generate_report interface for EvaluationResult dicts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Repair 17 broken test files to match fixed source APIs, replace tautological assertions with meaningful checks, and expand coverage for constants, precision_config, and scale quantization. - Fix API mismatches after source bug fixes (read_off, evaluation pipeline, training pipeline, entropy model, model transforms) - Replace assertIsNotNone with shape/value/dtype assertions - Add conftest filter for tf.test.TestCase.test_session collection - Register missing pytest slow marker in pytest.ini - Add test_parallel_process and test_colorbar to CI workflow - Expand test_performance with constants, precision, and optimization tests All 213 tests pass. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
read_offreturn type handling, exhausted iterator incount_points_in_block, missing numerical guards (EPSILONinCENICGDN),@tf.functiongraph-mode violations (tf.condinstead of Pythonifon tensors), removed@tf.functionfrom dict-mutating entropy model methods, and fixed evaluation/training pipeline API mismatchesassertIsNotNone) with meaningful shape/value/dtype checks, and expand coverage for constants, precision config, and scale quantizationslowpytest marker, addconftest.pycollection filter, and update CI workflowTest plan
CENICGDNepsilon guard doesn't change test outputs (beta initialized to ones, so norm is never near zero in tests — guard prevents NaN during training)tf.condreplacement in_augmentproduces identical behavior to Pythonifin eager mode🤖 Generated with Claude Code