Repository: CatOpt-Play (prototype) Architecture - Language: Python 3.8+ - Layout: src/ package layout (src/idea36_catopt_play_category) - Core components: - contracts: pydantic models for LocalProblem, SharedVariables, DualVariables, PlanDelta, PrivacyBudget, AuditLog - solver: an ADMM-lite consensus solver (prototype) Tech stack - Python with pydantic for data contracts - pytest for tests - setuptools/pyproject for packaging Testing & Commands - Run tests: `pytest` - Build package: `python3 -m build` - Full automation: `bash test.sh` (installs build+pytest in the environment, installs package editable, runs tests, then builds) Rules for AI agents and contributors - Make minimal, well-scoped edits. Prefer small changes. - Follow src/ layout and put package code under `src/idea36_catopt_play_category`. - Add tests for new behaviour. CI expects `pytest` to pass. - Do not create READY_TO_PUBLISH unless the full original spec is implemented and tests pass.