1.6 KiB
1.6 KiB
Overview
- This repository contains a minimal MVP implementation scaffold for CatOpt (Category-Theoretic Compositional Optimization).
- It includes a tiny Python package as a placeholder and a basic test to verify the test harness works in CI.
Architecture
- Language: Python (src/catopt_category_theoretic_compositional_)
- Core ideas are stubbed to a simple additive function to demonstrate packaging, imports, and tests.
Testing and CI
- Tests are written with pytest (tests/test_basic.py).
- test.sh runs a wheel build via python -m build and executes pytest to validate the package compiles and tests pass.
- test.sh must be executable in CI and root-level.
Commands
- Local test: ./test.sh
- Build metadata: pyproject.toml will be used by the build tooling.
Guidance for contributors
- Do not change the MVP skeleton without explicit intent to expand functionality.
- Ensure test.sh remains executable and tests cover basic import/build scenarios.
- Update AGENTS.md as the architecture evolves.
New MVP scaffolds (current status):
- Added lightweight DSL primitives (src/catopt_category_theoretic_compositional/dsl.py)
- Added minimal contracts primitives (src/catopt_category_theoretic_compositional/contracts.py)
- Added a tiny solver kernel (src/catopt_category_theoretic_compositional/solver.py)
- Exposed new API in package init (LocalProblem, SharedVariables, PlanDelta, admm_update)
How to explore:
- Import surface: from catopt_category_theoretic_compositional import LocalProblem, SharedVariables, PlanDelta, admm_update
- Use admm_update(local, shared) as a tiny, deterministic update example.