- Python 100%
Two independent grounded passes (installed-source introspection + official MS Learn via MCP) produce a per-need adopt/keep decision table for using MAF features well in Fase 2, instead of reinventing them. Headline: Microsoft's Workflows "State Isolation" page documents verbatim the exact footgun Spike B(b) found today — a reused Workflow accumulates agent threads across runs; the fix is a fresh-instance-per-run factory. Our fresh_workflow() IS the official pattern. Key verdicts: ADOPT real UsageDetails token counts + a budget ChatMiddleware + native builder round caps + GA @tool/MCP + observability; KEEP the hand-rolled structural VerdictStore and inline validator (MAF memory/eval are the wrong shape); ROLL a tiny role->deployment map (declarative is preview/not installed). Corrections recorded: CLAUDE.md "Magentic experimental" stands at doc-level (no code gate); Spike D extend_instructions is two-arg (source_id, instructions). Skills answer: method-as-Skill yes (MAF consumes SKILL.md natively, experimental); MAF-docs-mirror Skill no (rots vs live MCP); the digest lives in this map. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fif1r1En5W542HbZV88yMH |
||
|---|---|---|
| .claude/projects/2026-06-23-fase1-derisk-spikes | ||
| docs | ||
| spikes | ||
| src/portfolio_optimiser | ||
| tests | ||
| .gitignore | ||
| .python-version | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
portfolio-optimiser
Generic, open framework on Microsoft Agent Framework (MAF) for finding cost-savings / efficiency proposals within each project of a portfolio of independent projects. Multiple agents collaborate to generate candidate proposals; a mandatory deterministic validator (solver + Monte Carlo) decides the numbers; domain experts review via human-in-the-loop, and the system learns from their verdicts.
Status: Early development (plan phase). Not yet usable.
Disclaimer — technical framework only. This project is a technical framework. Organizations that deploy it are themselves responsible for ensuring a valid processing purpose and for any required assessments (DPIA, risk/ROS, security reviews, etc.). The framework ships technical affordances (local-only mode, provenance/audit logging, no silent data egress) to enable compliant use, but makes no compliance guarantees.
Design philosophy
The result will never fit any single customer 100%. The goal is a ~90% genuinely generic core plus clear extension points, so competent people can configure the last mile per customer. We deliberately do not chase the final 10%.
Docs
docs/research/2026-06-23-prior-art-platform.md— prior-art & platform research (incl. implementation register §15).docs/plan/2026-06-23-incremental-plan.md— incremental delivery plan.
Stack
Python ≥3.10 · MAF (agent-framework) · uv. Backend profiles: Azure/Foundry (full) + local (fallback).
Develop
uv sync
uv run pytest
uv run ruff check .