CodeVetter · Repo Unpack · Contributor handoff
python-poetry/poetry
Read the manifest, application, factory, and task-specific command before following changes into resolution or installation. Preserve distinctions among project roots, working directories, Poetry's runtime environment, and the target project's environment. Tests and CI were inspected, not executed; this brief provides bounded evidence rather than a passing baseline. For future authorized implementation work, select targeted tests and typing/style checks, with particular care around compatibility and external state.
- Start with pyproject.toml, Application's command loader/event setup, and Factory.create_poetry to locate runtime dependencies, dispatch conventions, and project assembly before editing a command.
- Preserve repository style: Ruff requires absolute imports, single-line imports, and future annotations; mypy checks src and tests in strict namespace-package mode.
- For command installation behavior, first inspect/run the relevant tests/console/commands test module in an authorized implementation task; dependency execution failures also need tests/installation coverage rather than only patched command tests. (inferred)
- Tests and CI were inspected, not executed in this investigation. Read tests/conftest.py before interpreting future results: defaults exclude integration tests and isolate user configuration, environment variables, and Git operations.
- Lock changes must retain format compatibility, the pre-2.3 dependency-group hash fallback, and line endings; existing tests assert avoiding version-comment-only rewrites and retaining EOL style.
- Keep success boundaries explicit: dependency operations precede updated-lock persistence, add writes TOML afterward, and install performs root editable building afterward; a root-build error can therefore follow successful dependency work.
- Do not confuse project source/config changes with self-update sources: self commands operate on Poetry's runtime files, and documented self update uses sources from its own configuration-directory project.
- Plugin internals have no stable public API; contributor guidance requires changed-behavior tests, applicable documentation, mypy, and pre-commit checks, whose configuration includes Ruff and workflow linting.