This repository was archived by the owner on Sep 5, 2026. It is now read-only.
feat: package cogmem for PyPI with full-loop cogmem init
#48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| - name: Install cogmem (editable) | |
| # Editable install brings the core deps (cryptography, cbor2) from pyproject. | |
| # numpy is needed to import the recall/daemon modules; fastembed loads its | |
| # model lazily, so the import smoke below exercises that path without the | |
| # heavyweight (and flaky) model download. | |
| run: pip install -e . numpy | |
| - name: Byte-compile engine | |
| run: python -m compileall -q engine | |
| - name: Import smoke (every cogmem module loads) | |
| run: | | |
| python - <<'PY' | |
| import importlib, pkgutil, cogmem | |
| for m in pkgutil.iter_modules(cogmem.__path__): | |
| if m.name.startswith("test_"): | |
| continue | |
| importlib.import_module(f"cogmem.{m.name}") | |
| print("all cogmem modules import OK") | |
| PY | |
| - name: Provenance tests (credentials, transparency log, inclusion receipts) | |
| run: python engine/test_provenance.py | |
| - name: Soft-binding tests (text fingerprint) | |
| run: python engine/test_softbinding.py | |
| - name: Engine tests (note IO, recall filter, consolidation budget, guard) | |
| run: python engine/test_cogmem.py | |
| - name: MCP server tests (JSON-RPC dispatch, tools, resources, error contracts) | |
| run: python engine/test_mcp.py | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| - name: Install ruff | |
| run: pip install ruff | |
| - name: Lint | |
| run: ruff check . |