core/migration/source-retained Empty or reassign the migration source
A moved component leaves no unowned tracked files at its old root.
warning beta
Examples
apps/api/legacy.pyapplications/alpha/api/main.pyapplications/alpha/api/main.pyWhy it matters
Files at the old root preserve ambiguous ownership and stale entry points after the move.
How detection works
Reports tracked files beneath a migration source when that exact path has no separately declared component owner, or remains owned by the moving component.
What is inspected
- Tracked paths from the exact selected Git tree.
Limits
- Forbidding separately owned compatibility components.
How to fix it
Finish the relocation or explicitly own the compatibility surface.
- Move or delete obsolete files beneath the old component root.
- Declare intentional compatibility files as a separately owned component.
Verify
- Run repo-lint check and confirm the old root is empty or separately owned.