diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8552c5bc..5e608a76 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,14 @@ jobs: python-version: "3.13" - run: | python -m pip install --upgrade pip - pip install -e ".[dev]" + # Install the `memory` extra (numpy/chromadb/fastembed) alongside dev: + # the diagnostics standard runs pyright over every branch, and memory's + # handlers import chromadb/numpy. Without these deps installed, pyright + # reports them as unresolved imports (reportMissingImports=error) and + # memory scores <100 — a false failure from a missing CI dep, not a code + # defect. Installing the declared extra lets pyright resolve them so the + # audit measures real type-correctness (and matches a local audit). + pip install -e ".[dev,memory]" - name: Run seedgo standards audit run: python .github/scripts/seedgo_audit.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c46f081..b35807f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -111,7 +111,13 @@ and this project uses [Calendar Versioning](https://calver.org/) in the format `cli_json`/`logs`/`artifacts` as "missing on disk" in CI only). The CI gate (`.github/scripts/seedgo_audit.py`) now also prints the failing standards and their check messages, so a sub-100 result says *why*, not just the percentage. - Clean-tree and working-tree audits both report 13/13 = 100%. (DPLAN-0195) + Finally, the `seedgo-audit` CI job now installs the `memory` extra + (`pip install -e ".[dev,memory]"`): the `diagnostics` standard runs pyright over + every branch, and memory's handlers import `chromadb`/`numpy` at module level — + without those declared deps installed, pyright reported them as unresolved + (`reportMissingImports=error`) and memory scored 55%, a false failure from a + missing CI dep rather than a code defect. Clean-tree and working-tree audits + both report 13/13 = 100%. (DPLAN-0195) - **Two latent Windows portability bugs caught by the new e2e harness** — both were always present in the code; they only surfaced now because this is the first CI to run `aipass init` scaffolding and real-branch `drone` routing on