D2b: llms.txt i rota - H1, blockquote, EN startkommando byte-identisk med README-ens forste kodeblokk (verifisert med diff), Docs- og Optional-seksjoner med relative fillenker. Loser README-ens tre konkurrerende startverb ved a velge den dokumenterte veien. Minimal med vilje: llms.txt er en konvensjon, ikke en ratifisert standard. Begrunnes IKKE med crawlere - leseren er en KI-agent som allerede star i repoet. D6: SECURITY.md sin kontaktadresse hello@ -> security@fromaitochitta.com. Kun sikkerhetskontakten; hello@ i CODE_OF_CONDUCT.md star urort (riktig for alt annet). shared/SECURITY.md er urort - shared/ er pull-only subtree fra commons og eies der. I samme okt (operator-ja 21.08): docs/extending.md sa "no bundled example ships a cost-baseline.json (checked)". Usant siden 09.08 - MALT: veglys-fv-soer og tunnel-hauglia shipper begge fila. Setningen peker na pa den shippede fila som formreferanse og gjengir ir.CostBaseline korrekt (project_id + items-map). llms.txt ligger utenfor _LIVE_DOCS-gaten (den skanner README.md + docs/**/*.md), verifisert i testfila - ingen ny doc-klassifisering kreves. Handover-gatens _REQUIRED_MEMBERS er en tilstedevaerelses-sjekk, ikke en uttommende liste. 874 passed / 5 skipped, uendret. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DA6HAF8HFQxGYC2h6ypRQe
33 lines
2 KiB
Text
33 lines
2 KiB
Text
# portfolio-optimiser
|
|
|
|
> A generic, open Python framework on Microsoft Agent Framework (MAF) that finds cost savings
|
|
> inside each project of a portfolio of independent projects. A swarm of agents proposes candidate
|
|
> measures; a mandatory deterministic validator (solver + Monte Carlo) decides the numbers; domain
|
|
> experts judge the outcomes; and the system learns from their verdicts across runs. Solo-maintained,
|
|
> fork-and-own, MIT. Python >=3.10, installed from source with `uv`.
|
|
|
|
One start command. The clone is the documented path — the walkthrough in the README points at
|
|
files in the tree:
|
|
|
|
```bash
|
|
git clone https://git.fromaitochitta.com/open/portfolio-optimiser.git
|
|
cd portfolio-optimiser
|
|
uv sync
|
|
```
|
|
|
|
## Docs
|
|
|
|
- [README.md](README.md): what the framework is, an offline walkthrough of the whole chain (no API key, no network), and the task API.
|
|
- [shared/method-spec.md](shared/method-spec.md): the framework-neutral method specification the implementation is measured against.
|
|
- [docs/extending.md](docs/extending.md): the extension points — domains, data sources, ingest connectors — and what is deliberately unbuilt.
|
|
- [docs/knowledge-base-recipe.md](docs/knowledge-base-recipe.md): how to build a knowledge-base bundle the run path can navigate.
|
|
- [docs/kunnskapsbase-for-en-kjoring.md](docs/kunnskapsbase-for-en-kjoring.md): what one concrete run's knowledge base must contain (Norwegian).
|
|
- [docs/bestille-en-kjoring.md](docs/bestille-en-kjoring.md): what a requester supplies to order a run (Norwegian).
|
|
- [DEPLOY.md](DEPLOY.md): running the hosted entry point (`python main.py`) and the environment it needs.
|
|
- [CLAUDE.md](CLAUDE.md): the invariant ledger — each design decision, the measurement that forced it, and the test that turns red when it is undone.
|
|
|
|
## Optional
|
|
|
|
- [CHANGELOG.md](CHANGELOG.md): release history.
|
|
- [SECURITY.md](SECURITY.md): how to report a vulnerability, and what is supported.
|
|
- [CONTRIBUTING.md](CONTRIBUTING.md): issues welcome as signals; pull requests are not accepted.
|