portfolio-optimiser/src/portfolio_optimiser
Kjell Tore Guttormsen cebba7d954 feat(shared-root): S3 — configurable shared-root resolver with load-bearing override test
One call-time resolver (env PORTFOLIO_SHARED_ROOT, default the in-repo
shared/) consumed by both MAF-side readers of the shared core:
persona._example_path() (the _EXAMPLE_PATH monkeypatch seam is kept) and
simulation._default_bundle_dir() (replaces the _BUNDLE_DIR module global).
De-risks the S4 extraction: re-pointing the commons becomes an env var,
not a code change. Override test proves the marker follows a tmp copy of
the whole shared tree; both detach points proven RED. Suite 155->157.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AaQCFnfsh3tfq1VfzdJpoi
2026-07-03 01:10:05 +02:00
..
data test(fase3): SC1 new project via config-only + no-hardcoded-id src guard 2026-06-26 12:13:44 +02:00
__init__.py feat(fase3): run_portfolio sequential orchestrator + PortfolioResult aggregate 2026-06-26 12:02:08 +02:00
backends.py chore(format): ruff format the 4 drifted files (no behavior change) 2026-07-03 00:32:49 +02:00
budget.py chore(format): ruff format the 4 drifted files (no behavior change) 2026-07-03 00:32:49 +02:00
contracts.py feat(fase2): fail-fast contract loaders 2026-06-24 13:50:28 +02:00
datasource.py feat(fase2b): OKF-navigated bundle context replaces chunk-stuffing 2026-06-30 06:42:19 +02:00
generate.py feat(fase4): route the validator falsification into the next hypothesis (informed refinement) 2026-06-30 09:08:02 +02:00
ir.py feat(fase2): promote blocking validator + IR to src 2026-06-24 13:24:03 +02:00
okf.py feat(fase6): gate-promote approved verdicts back into the OKF wiki (Steg 8) 2026-06-30 11:06:28 +02:00
persona.py feat(shared-root): S3 — configurable shared-root resolver with load-bearing override test 2026-07-03 01:10:05 +02:00
provenance.py feat(fase2): first-class Pydantic provenance stamp 2026-06-24 13:26:55 +02:00
reference_domain.py fix(fase3): mypy-clean single-arg joinpath in reference_domain loader (Step 2 follow-up) 2026-06-26 12:02:31 +02:00
retrieval.py feat(fase2): local-folder retriever core with path-security 2026-06-24 13:26:00 +02:00
run.py feat(fase5): add the long/async verdict file inbox (Steg 7 resumable feedback) 2026-06-30 09:54:23 +02:00
shared_root.py feat(shared-root): S3 — configurable shared-root resolver with load-bearing override test 2026-07-03 01:10:05 +02:00
simulation.py feat(shared-root): S3 — configurable shared-root resolver with load-bearing override test 2026-07-03 01:10:05 +02:00
validator.py feat(fase2): promote blocking validator + IR to src 2026-06-24 13:24:03 +02:00
verdicts.py docs(truth): S1 truth maintenance — CHANGELOG, stack line, MCP claim, conflict semantics, 90% cut-list 2026-07-03 00:34:56 +02:00
workflow.py feat(fase3): make the maker-checker checker actually gate the reasoning 2026-06-30 07:24:30 +02:00