Follow the pipeline, not the folders
The pipeline starts with a source-specific parser, normalizes into Shape IR, moves through shared traversal behavior, and then hands control to a target-specific generator.
Diagnostics should stay close to each stage instead of being bolted on afterward. That is how the system can explain both success and partial support honestly.