VeOmni-specific checklist for feature development and refactoring. Covers impact analysis across modalities, trainer hierarchy, data pipeline, and distributed code. Use before implementing any non-trivial change. For model-specific or ops-specific work, use veomni-new-model or veomni-new-op instead. Trigger: 'add feature', 'implement', 'refactor', 'reorganize', 'new capability'.
Before implementing, check which areas your change affects:
| Area | What to check | Why it matters |
|---|---|---|
veomni/trainer/ | All trainer subclasses (TextTrainer, VLMTrainer, DitTrainer, RL trainers) | Changing BaseTrainer method signatures breaks all subclasses |
veomni/data/data_collator.py | All modalities (text, VLM, DiT) | Collators are tightly coupled to model-specific preprocessing |
veomni/distributed/ | Both FSDP2 and legacy FSDP1 paths | Shared distributed code is used differently by each path |
veomni/models/auto.py, loader.py | Model registry, import-time side effects | MODELING_REGISTRY is populated at import time; moving registrations breaks loading |
configs/ | YAML config keys |
| Renaming config keys breaks existing training configs silently |
veomni/models/transformers/*/ | __init__.py version gates | Models have v4/v5 transformers branches; changes must work on both |
When restructuring code (same behavior, better structure):
pytest tests/ before any change, record results.veomni.models.auto registration depends on import-time side effects — moving registrations into functions or delaying them breaks model loading.configs/ — grep all YAML files first.veomni.distributed modules are used differently by FSDP1 vs FSDP2 — test both if touching shared code.veomni/data/data_collator.py are coupled to DEFAULT_DATA_COLLATE_INFO — adding new tensor keys requires updating the collate info table.MainCollator has strict SP ordering (pad → slice → FA kwargs → slice position_ids) — reordering breaks SP correctness.position_ids == 0 marks segment boundaries for FA varlen — any transform that produces position_ids must preserve this convention.Before committing, check if the change requires documentation updates:
docs/.configs/ and relevant docs..agents/knowledge/architecture.md..agents/knowledge/constraints.md./veomni-new-model/veomni-new-op/veomni-debug/veomni-uv-update