Skip to content

ci: remove obsolete Base-local lib/python paths #2649

Closed

Description

@codeforester

Goal

Remove obsolete Base-local lib/python source-root entries from Python test, lint, security-scan, and CI configuration while preserving the real standalone base-cli/lib/python provider path.

Background

Base-owned Python packages live under cli/python; the documentation branch for #2628 inventories all 18 tracked packages and states there is no Base-local lib/python source tree. The current lib/python entries in pytest/Pylint configuration, CI workflows, and contract tests are historical no-op search paths. The external base-cli/lib/python source root remains required for provider-source validation and must not be removed.

Scope

  • Confirm repository-local Python source and test roots, then remove only obsolete Base-local lib/python entries from pytest, Pylint, Bandit, compileall, and related workflow configuration where present.
  • Update contract tests that pin the obsolete entries and preserve assertions for the external base-cli/lib/python provider path.
  • Update Python testing, supply-chain, technical-overview, and Copilot setup guidance to match the resulting commands and source roots. Also update active contributor and agent workflow guidance in CONTRIBUTING.md, skills.md, and .ai-context/WORKFLOWS.md where they include the obsolete Base-local path.
  • Keep Base-owned Python modules under cli/python; do not move or restructure packages as part of this cleanup.

Acceptance Criteria

  • No Base-owned Python package or helper source is tracked under repository-local lib/python/.
  • Test, lint, scan, and compile commands no longer pass the absent Base-local path.
  • The standalone base-cli/lib/python provider path continues to work in pinned and moving-source CI lanes.
  • Contract tests cover the retained source roots and relevant workflow commands.
  • Documentation and AI setup guidance describe the actual commands and distinguish Base paths from the external provider path.

Validation

  • Run focused pytest coverage for contract hardening and GitHub workflow contracts.
  • Run the repository's Python test and Pylint CI lanes plus security scanners after the configuration changes.
  • Run documentation-link validation and git diff --check.

Non-Goals

  • Do not change or remove the standalone base-cli/lib/python provider.
  • Do not migrate Base packages or alter runtime behavior.
  • Do not remove unrelated lib/ shell, Bash, or data assets.

Project Fields

  • Status: Backlog
  • Priority: P2
  • Size: M
  • Area: CI
  • Initiative: Contract Hardening

Agent Assignment

Assignee: codeforester. Start after the #2628 ownership documentation lands on main (currently tracked by PR #2629), or after the same source-root policy is independently confirmed on the base branch.

Activity

  1. added
    ciContinuous integration, tests, automation, or release workflows
    on Nov 5, 2026
  2. self-assigned this
    on Nov 5, 2026
  3. moved this to Backlog in baseon Nov 5, 2026
  4. codeforester commented on Nov 5, 2026

    @codeforester
    CollaboratorAuthor

    Verified the technical premise and gating before this is picked up:

    1. Dependency not yet satisfied. This issue is gated on "#2628 merged or the same source-root policy confirmed on base." As of now, #2628 is still open and its implementing PR #2629 is also still open (unmerged). #2629 is the one that actually removes the "shared Python libraries live under lib/python" guidance from STANDARDS.md/CONTRIBUTING.md — until it merges, STANDARDS.md still documents lib/python/<package>/ as the sanctioned location for cross-CLI Python helpers, which would contradict this cleanup. Confirmed via the PR's file list + diff that #2629 does reconcile this. Recommend not starting until #2629 is actually merged (not just reviewed/approved).

    2. Scope list of docs is incomplete. The issue names "Python testing, supply-chain, technical-overview, and Copilot setup guidance" (matches docs/testing.md, docs/ci-supply-chain-policy.md, docs/technical-overview.md, .github/copilot-instructions.md — all verified to contain the obsolete lib/python references). But three other files carry the identical obsolete :lib/python: segment in their example PYTHONPATH/BASE_CLI_SOURCE_DIR commands and aren't listed:

    • CONTRIBUTING.md (lines ~84-85, 97)
    • skills.md (lines ~146-152)
    • .ai-context/WORKFLOWS.md (lines ~78-91)

    Worth adding these three to scope so contributors/AI agents copy-pasting setup commands from them don't get a stale search path.

    Everything else checks out: the "no Base-local lib/python source tree exists today" premise is correct (confirmed, directory doesn't exist), and the external base-cli/lib/python provider references are correctly out of scope.

  5. moved this from Backlog to In Progress in baseon Nov 5, 2026
  6. added this to the v1.11.0 milestone on Nov 5, 2026
  7. moved this from In Progress to Done in baseon Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ciContinuous integration, tests, automation, or release workflows

Type

No type

Projects

  • Status
    Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions