docs(scope): the independence claim gets a date instead of a future it cannot keep
Operator decision 2026-08-09: the two implementations are developed in the open
against each other. Reading the sibling is permitted and exchange may go both ways;
code is copied only where it genuinely serves the solution, never as a shortcut. The
constraint that remains is what the Microsoft Agent Framework and the Claude Agent
SDK each actually offer — which is the difference the comparison exists to measure.
The old rule lived in three places and two of them would have started lying:
- CLAUDE.md carried the prohibition, and it is read at every session start — left
alone it would have made the next session refuse exactly what was authorised.
- README stated in the present tense that this repo is "built from the shared spec
alone" and "deliberately does not reverse-engineer the MAF sibling". True for
every line written so far, and untrue for anything written from today.
So the README claim is DATED rather than deleted. Through 2026-08-09 the
independence is real and stays claimed; from 2026-08-09 the open-competition rule
applies and is stated plainly, with the consequence spelled out: anything comparing
the two implementations as INDEPENDENT evidence must be scoped to work on or before
that date. The honesty rule (method spec §1) does not let a claim outrun what was
actually done, and that applies to the README's claim about itself.
CHANGELOG is deliberately UNTOUCHED. It describes what was true at that release, and
it was true — 73 commits through 3e91072 were built from the spec alone. A changelog
records history; it is not rewritten because a forward rule changed.
What did NOT change, and is restated in the README so the dating cannot be misread as
a loosening of the method: the spec is still normative and the golden suite is still
the validator's only oracle.
787 tests green, ruff clean.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYWMfPKmJtv7JvYnpomkdV
This commit is contained in:
parent
3e91072a7c
commit
3bdf7f0669
2 changed files with 30 additions and 9 deletions
10
CLAUDE.md
10
CLAUDE.md
|
|
@ -3,8 +3,14 @@
|
|||
## Kontekst
|
||||
Søsken-implementasjon (beslutning D7) av portfolio-optimiser-metoden på **Claude Agent SDK**:
|
||||
generisk, åpent Python-rammeverk som finner kostnadsbesparelser INNI hvert prosjekt i en
|
||||
portefølje. Bygges **fra metode-spec-en alene** (`shared/method-spec.md`) — aldri ved
|
||||
reverse-engineering av MAF-søskenet (`~/repos/portfolio-optimiser`). Program-planer
|
||||
portefølje. Bygges på **metode-spec-en** (`shared/method-spec.md`) som normativ kilde.
|
||||
**Åpen konkurranse med MAF-søskenet** (`~/repos/portfolio-optimiser`, operatørbeslutning
|
||||
2026-08-09): alle tilgjengelige midler er lov for å nå den beste løsningen, inkludert å lese
|
||||
søskenets kode, og utvekslingen kan gå begge veier. **Grensen er hensikten, ikke kilden:**
|
||||
kopiér kun der det faktisk gir mening for løsningen — **aldri som snarvei**. De reelle
|
||||
begrensningene er hva MAF og Claude Agent SDK hver for seg tilbyr, og det er nettopp den
|
||||
forskjellen sammenligningen skal måle. Fram til 2026-08-09 ble repoet bygget fra speccen
|
||||
alene; det er datert i README og skal ikke påstås om arbeid etter den datoen. Program-planer
|
||||
(sesjonsplan S5–S12, sammenligningsprotokoll, frossent målbilde) bor i hovedrepoets
|
||||
`docs/plan/`. Løpende state: `STATE.md` (local-only).
|
||||
|
||||
|
|
|
|||
29
README.md
29
README.md
|
|
@ -53,22 +53,37 @@ pretending otherwise.
|
|||
- **No query-time retrieval over the bundle.** Data reaches the model only as a
|
||||
pre-materialized OKF bundle (method-spec §3 Step 1); there is no RAG index and no
|
||||
keyword chunk-stuffing.
|
||||
- **Not a port of the MAF sibling.** It is built from the shared spec alone; the two
|
||||
implementations exist to be compared, not to converge by copying.
|
||||
- **Not a port of the MAF sibling.** The two implementations exist to be compared. Nothing
|
||||
here is a shortcut around the spec — see the dated note below on what changed 2026-08-09.
|
||||
- **Not a continuously running service.** Everything below the run layer is deterministic
|
||||
and offline, and the programme budgeted exactly one live model run (S10, below).
|
||||
|
||||
## Built from the spec, not the sibling
|
||||
## Built from the spec — and, since 2026-08-09, in the open against the sibling
|
||||
|
||||
The method itself is framework-neutral and lives in
|
||||
[`portfolio-optimiser-commons`](https://git.fromaitochitta.com/open/portfolio-optimiser-commons)
|
||||
(consumed here as a git subtree under [`shared/`](shared/)): the normative method spec
|
||||
(RFC 2119), 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 deliberately does **not**
|
||||
reverse-engineer the MAF sibling
|
||||
([`open/portfolio-optimiser`](https://git.fromaitochitta.com/open/portfolio-optimiser)).
|
||||
Two independent implementations of one spec, compared afterwards, is the point of D7.
|
||||
implements that spec on the Claude Agent SDK. That much has not changed and does not
|
||||
change: the spec is normative, and the golden suite is the validator's only oracle.
|
||||
|
||||
What *did* change is the relationship to the MAF sibling
|
||||
([`open/portfolio-optimiser`](https://git.fromaitochitta.com/open/portfolio-optimiser)),
|
||||
and the date matters because the honesty rule (method spec §1) does not let a claim outrun
|
||||
what was actually done:
|
||||
|
||||
- **Through 2026-08-09** — every line here was written from the shared spec alone, without
|
||||
reading the sibling's implementation. Two independent implementations of one spec was
|
||||
the point of D7, and for that period the independence is real.
|
||||
- **From 2026-08-09** — the two implementations are developed **in the open against each
|
||||
other**. Reading the sibling is permitted, and exchange may go both ways. Code is copied
|
||||
only where it genuinely serves the solution, **never as a shortcut**; the constraint that
|
||||
remains is what the Microsoft Agent Framework and the Claude Agent SDK each actually
|
||||
offer, which is the difference the comparison is meant to measure.
|
||||
|
||||
So the independence claim is dated on purpose. Anything comparing the two implementations
|
||||
as *independent* evidence must be scoped to work done on or before 2026-08-09.
|
||||
|
||||
## Architecture — the seams
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue