# portfolio-optimiser-claude Sibling implementation of the portfolio-optimiser method on the **Claude Agent SDK** (decision D7). An open, generic Python framework that finds cost savings *inside* each project in a portfolio of independent projects: agents generate candidate measures, a mandatory deterministic validator gates the numbers, domain experts judge via HITL, and the system learns from the verdicts. The method itself is framework-neutral and lives in [`portfolio-optimiser-commons`](https://git.fromaitochitta.com/ktg/portfolio-optimiser-commons) (consumed here as a git subtree under `shared/`): the method spec, the OKF bundle navigation contract, the golden/conformance suite (the only oracle for the validator), and the shared expert-reviewer persona skill. This repo implements that spec on the Claude Agent SDK — it does not reverse-engineer the MAF sibling. > **Disclaimer:** this is a purely technical framework. The deployer owns DPIA, risk > assessment, and the legal basis for any processing. The framework ships only the > technical preconditions (local-only operation, provenance, no silent egress). ## Status Scaffold (S5): repo, contracts, and shared core in place — no agent runs yet. ## Development ```bash uv sync # install dependencies uv run pytest # test suite (runs without any API key) uv run ruff check . && uv run ruff format --check . uv run mypy src ```