Trait data emitted via den.traits never reaches class modules through the entity instantiation path. A class module like { greeting, config, ... }: receives greeting = [] instead of the collected trait data.
Root cause: Two independently correct subsystems — forward sub-pipelines and traitModule injection — were never composed. The entity path goes through applyForwardSpecs → runSubPipeline, which produces class modules but no traitModule. The traitModule is only synthesized in fxResolve, after forward processing completes. The trait thunk fallback (or []) makes the failure silent — no error, no crash, no trace warning.
Why now: Multi-class collection is already in place (classCollectorHandler collects per-class buckets). The forward sub-pipeline redundantly re-collects data the parent pipeline already has from transition sub-pipelines. Eliminating it fixes trait delivery structurally rather than patching ov