commit b2f2842c8672dde2278b4061750576d9e1cbdfc7 Author: Kjell Tore Guttormsen Date: Fri Jul 3 06:00:09 2026 +0200 feat: initial commit — repo bootstrap (D7 sibling on Claude Agent SDK) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01AaQCFnfsh3tfq1VfzdJpoi diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..de598f6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# Secrets +.env +.env.* +*.local.md + +# OS +.DS_Store + +# Python +__pycache__/ +*.pyc +.venv/ +dist/ +build/ +*.egg-info/ +.pytest_cache/ +.mypy_cache/ +.ruff_cache/ + +# Continuity — local-only: dette repoet skal publiseres, STATE må aldri nå et offentlig speil +STATE.md + +# Voyage execution-bokholderi (efemert per kjøring; STATE.md er kanonisk kontinuitet) +.session-state.local.json +.voyage/ +.trekexecute-progress-* diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6361e43 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +All notable changes to this project will be documented in this file. diff --git a/README.md b/README.md new file mode 100644 index 0000000..0682946 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# 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 +```