Goal
Stop basectl check from reporting a redundant BASE-P142 warning for projects that explicitly declare python.manager: uv.
Background
Base's read-only pyproject.toml diagnostics currently warn whenever Python dependency metadata is present, with the message that Base does not reconcile it. That warning is accurate for an unmanaged Python project, but it is misleading for an explicit uv-managed project: Base delegates dependency synchronization to uv and already reports the uv project environment as synchronized or identifies its drift through the BASE-P150 through BASE-P155 checks.
For example, a healthy uv-managed project can finish basectl check successfully while still emitting BASE-P142, making a normal supported configuration look incomplete.
Scope
- Make the
pyproject.toml dependency diagnostic aware of the explicit python.manager: uv contract.
- Suppress the redundant
BASE-P142 warning for explicit uv-managed projects.
- Preserve the existing warning for projects with dependency metadata that Base does not manage through a supported project manager.
- Keep uv readiness and synchronization findings as the source of truth for uv-managed dependency state.
- Add focused regression coverage and update the diagnostic documentation.
Acceptance Criteria
- A manifest with
python.manager: uv and Python dependency metadata does not emit BASE-P142.
- A manifest without an explicit supported Python manager still emits
BASE-P142 when dependency metadata is present.
- Existing
BASE-P140, BASE-P141, and BASE-P143 behavior is unchanged.
- Existing uv findings continue to report missing project files, missing environments, and synchronization drift.
- Text and JSON check/doctor output remain consistent, and a healthy uv-managed project reports no redundant warning.
- No dependency resolution or project mutation is added to
basectl check or basectl doctor.
Validation
- Focused
base_setup pyproject and diagnostics pytest tests.
- Relevant uv pytest tests.
basectl test base.
git diff --check.
Non-Goals
- Do not move Python dependencies into
base_manifest.yaml.
- Do not change uv synchronization behavior.
- Do not remove
BASE-P142 for unmanaged projects.
- Do not add a new dependency manager.
Project Fields
- Status: In Progress
- Priority: P2
- Size: S
- Area: Python
- Initiative: Adoption Polish
Agent Assignment
- Assigned to: codeforester
- Implementation is limited to the existing pyproject diagnostic boundary, its tests, and the matching documentation.
Goal
Stop
basectl checkfrom reporting a redundantBASE-P142warning for projects that explicitly declarepython.manager: uv.Background
Base's read-only
pyproject.tomldiagnostics currently warn whenever Python dependency metadata is present, with the message that Base does not reconcile it. That warning is accurate for an unmanaged Python project, but it is misleading for an explicit uv-managed project: Base delegates dependency synchronization to uv and already reports the uv project environment as synchronized or identifies its drift through theBASE-P150throughBASE-P155checks.For example, a healthy uv-managed project can finish
basectl checksuccessfully while still emittingBASE-P142, making a normal supported configuration look incomplete.Scope
pyproject.tomldependency diagnostic aware of the explicitpython.manager: uvcontract.BASE-P142warning for explicit uv-managed projects.Acceptance Criteria
python.manager: uvand Python dependency metadata does not emitBASE-P142.BASE-P142when dependency metadata is present.BASE-P140,BASE-P141, andBASE-P143behavior is unchanged.basectl checkorbasectl doctor.Validation
base_setuppyproject and diagnostics pytest tests.basectl test base.git diff --check.Non-Goals
base_manifest.yaml.BASE-P142for unmanaged projects.Project Fields
Agent Assignment