Why does this need an entirely separate repo instead of being a feature in the existing Codex project?