diff --git a/README.md b/README.md index 31f21ff..689d815 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,11 @@ decides the numbers; domain experts judge the outcomes (human-in-the-loop); and > **Status:** the full 8-step agentic loop is wired and proven with load-bearing tests, and the > end-to-end proof is an **offline simulation** with a scripted stand-in client — no live-model -> run yet. The ingest layer (real data sources) is specified but not yet implemented. A sibling -> implementation of the same method on the **Claude Agents SDK** is built in parallel from the -> same shared spec. +> run yet. The **ingest layer** (real data sources) is implemented — file/CSV and SQL on both +> stacks with bit-identical golden extractions from the shared spec, plus HTTP as a MAF-only +> demonstrated extension point against a local mock — but exercised only against committed +> fixtures: no bundle has yet been materialized from a live source. A sibling implementation of +> the same method on the **Claude Agents SDK** is built in parallel from the same shared spec. > **Disclaimer — technical framework only.** Deploying organizations own their processing > purposes and assessments (DPIA, risk/ROS, security review). The framework ships the technical @@ -87,9 +89,11 @@ when the seam is detached, so the loop cannot silently degrade into theater. [ingest spec](shared/ingest-spec.md), the expert-reviewer persona as an Agent Skill, and an example bundle with a golden suite as the only ground truth. Both stacks implement from the spec alone. -- **Per project: one OKF bundle** — hand-curated today; the specified ingest layer will - materialize bundles from real sources (file catalogues/CSV, SQL, HTTP as an extension point) - via a deterministic, schema-validated manifest that runs *before* the loop. +- **Per project: one OKF bundle** — the bundled examples are hand-curated; the ingest layer that + materializes a bundle from a source (file catalogues/CSV + SQL, HTTP as a MAF-only demonstrated + extension point) via a deterministic, schema-validated manifest that runs *before* the loop is + implemented and exercised against committed fixtures — no bundle has yet been materialized from + a live source. - **Run:** the CLI takes a bundle directory and a verdict inbox directory; stop criteria and budget caps are required at startup. Try the offline end-to-end proof (no model, no network): `uv run python -m portfolio_optimiser.simulation`