Discover all files under root, stopping at child graph boundaries
(directories containing drft.lock or drft.toml). Respects .gitignore automatically.
Returns paths relative to root, sorted.
Find child graph directories (those containing drft.lock or drft.toml) under root.
Returns relative paths with trailing slash (e.g., "research/"), sorted.
Only returns the shallowest boundary — does not recurse past them.
Respects .gitignore and ignore_patterns from config.