Fot i bakken før fase-valg (Fase 4 vs D7). Explore-agent kartla; hovedkontekst selv-verifiserte de konsekvensrike funnene mot kildekoden: - ExpeL-laeringssloyfa ER APEN: retrieval naar aldri modellen (generering run.py:194 for retrieval run.py:216-221; sctx run.py:219 forkastes; 0 context_providers i src/). - README 'Not yet usable' (README.md:5) motsier 'Fase 1-3 lukket' — release-blokkerende. - Maker-checker-checker gater ingenting (modulo-selector workflow.py:93-96). - Ingen ekte-modell-kjoring (alle 4 skip = live-provider). Ingen SKILL.md. Ingen entry-point. Deterministisk ryggrad (validator/budsjett/provenance/sti-sikkerhet/onboarding) holder. Neste: operatorbeslutning — lukk kjerne-gjeld (A) vs aerlig nedgrader+release (B). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019any9zfGNNwWJPX5Zq2QRz
6.4 KiB
Fot i bakken — levert vs lovet (2026-06-26)
Hva dette er: En nøktern grunning FØR fase-valget (Fase 4 open-source vs D7-sibling). STATE-narrativet var triumferende ("Fase 3 helt lukket", "load-bearing bevis", "lærer av dommene"). Session-start flagget narrative crystallization (sesjon #39). En Explore-agent kartla levert kode mot lovet visjon; de konsekvensrike funnene er verifisert av hovedkonteksten selv mot kildekoden, ikke bare relayet.
Hovedfunn (én linje)
Den deterministiske ryggraden holder og er ærlig. De tre "agentiske" lovnadene STATE hviler på — lærer av dommene, maker-checker-debatt, HITL — er inerte, dekorative eller config-stubber, og ingen kodesti har noensinne kjørt mot en ekte modell. Suiten (116/4) kjører utelukkende på syntetiske klienter med ferdigskrevet JSON.
Hva HOLDER (deterministisk ryggrad — publiserbart, ærlig)
- Validator (B1): ekte CBC-solve + Monte Carlo;
Rejectioner egen type uten persentiler (kan aldri konsumeres som validert).validator.py:78-129. Load-bearing testet (mutasjon rødt). - Budsjett-/stopp-tak (B4/D6):
Budgetnektes uten positive tak;BudgetMiddlewareleser ekteUsageDetails, feiler lukket.budget.py:50-101. Sterkeste komponent. - Provenance (B6): Pydantic-stamp, F1 fake-model-lekkasje fikset + load-bearing.
provenance.py,run.py:201-205. - Sti-sikkerhet (
retrieval.py, fail-closedcommonpath) + config-only onboarding (SC1, ekte src-grep-guard).
Hva er GJELD (rangert; ✅ = verifisert av hovedkonteksten, ⚠️ = agent-rapportert, ikke selv-tracet)
- 🔴 ✅ ExpeL-læringssløyfa er ÅPEN — retrieval når aldri modellen. Generering skjer på
run.py:194, før retrieval-blokkenrun.py:216-221.provider.before_runkalles på en lokalSessionContext(run.py:219) som aldri sendes til noen agent. Debatt-agentene (workflow.py:57-66) fårtools+middlewaremen ingencontext_providers(grep -rn context_providers src/= 0 treff). De hentede verdiktene fyller kunRunResult.retrieved(for testassertioner). Docstrings (run.py:214-215, 269-271) + STATE +CLAUDE.md:4påstår en lukket sløyfe. Falsk på wiring-nivå. Største drift. - 🔴 ✅ README sier "Not yet usable".
README.md:5("Status: Early development (plan phase). Not yet usable.") motsier STATEs "Fase 1-3 lukket". Første en ekstern leser ser — release-blokkerende for Fase 4. - 🟠 ✅ Maker-checker-checkeren gater ingenting. Selektoren er en ren modulo-teller (
workflow.py:93-96); checkerens kritikk (workflow.py:29) parses aldri, blokkerer aldri. Debatt-teksten mater nå generering som kontekst (run.py:189-190), så den er ikke helt dekorativ — men det er ingen konsensus-/gate- semantikk. Den ekte porten er validatoren, ikke checkeren. - 🟠 ✅ Ingen ekte-modell-kjøring — noensinne. Alle 4 skippede tester er nettopp live-provider-testene
(lokal token-regnskap, Foundry-profil, e2e-portefølje, debatt-konvergens/-kostnad). "Virker det mot en
faktisk LLM?" er en åpen risiko.
findings-a.mdbekrefter: debatt-verditallet ble aldri produsert. - 🟠 ✅ Ingen
SKILL.md.CLAUDE.md+ plan Fase 2 lover "Metode = Agent Skill (SKILL.md + scripts/)". Metoden er vanlige Python-moduler. B8 (skill-sandbox) følgelig også fraværende. - 🟡 ✅ Ingen
[project.scripts]entry-point til tross formain()(run.py:296). README viser ingen kjørekommando. En bruker får ingen vei fra README til en faktisk kjøring. - 🟡 ✅ VerdictStore er in-memory only (
verdicts.py:106). "Læring" overlever ikke restart — og påvirker uansett ingenting (jf. #1). - 🟡 ⚠️ MCP-datatilgang er parallell demonstrator, ikke datasømmen i bruk.
build_mcp_serverfinnes (datasource.py), menrun_projectbruker in-processFunctionTool(run.py:178).CLAUDE.mdløfter MCP til konvensjon. (Agent-rapportert; ikke selv-tracet.) - 🟡 ⚠️ HITL Layer-2 = les hardkodet
verdict_inputJSON fra config (run.py:224). "Fageksperter vurderer via HITL" er i praksis å lese en config-beslutning.extending.mder ærlig om dette. (Agent-rapportert.) - 🟡 ⚠️ B10 rejection-taksonomi/konfliktregel fraværende —
decisioner barLiteral(contracts.py:61). §15 kaller dette "den mest domenespesifikke delen som MÅ være brukerlevert". (Agent-rapportert.)
90 %-linja
Forsvarlige kutt: durabel checkpointing, OTEL, vektorlager, concurrent fan-out. Men: læringssløyfa er
én av fire headline-invarianter og er presentert som levert mens den er inert — det er ikke et 90 %-kutt.
Fan-out er sekvensiell for-løkke (run.py:276-292); isolasjon oppnås trivielt (ferskt state per kjøring),
sidesteppet B7 heller enn løst for det concurrent tilfellet U1 navnga. STATE er ærlig om "SEKVENSIELT".
Konsekvens for fase-valget
- Fase 4 (open-source) nå ville publisere et gap mellom README/STATE-narrativet og hva en bruker får. De to mest markedsførte funksjonene (lærer-av-dommer, maker-checker-debatt) er inerte/dekorative.
- D7 (sibling) nå er prematurt: man reimplementerer en metode hvis agentiske claims ennå ikke er sanne.
- Reell vei videre (operatørbeslutning):
- A — Lukk kjerne-gjeld før release: (1) wire
ExpeLContextProviderinn i generering (fest på proposer-agenten; flytt retrieval FØR generering); (2) la checkeren binde, ELLER slutt å kalle det en debatt; (3) kjør ÉN ekte-modell ende-til-ende (lokal Ollama holder, D6-billig); (4) fiks README-status + legg til entry-point. Gjør narrativet sant. - B — Ærlig nedgrader: release kun den deterministiske kjernen med korrekt framing; merk agentiske lag som eksperimentelle/uferdige. Raskere, men mindre ambisiøst.
- A — Lukk kjerne-gjeld før release: (1) wire
Verifiseringslogg
| Påstand | Hvordan verifisert | Resultat |
|---|---|---|
| Suite 116/4 | uv run pytest -rs |
Bekreftet; 4 skip = alle live-provider |
| ExpeL når aldri modellen | lest run.py:186-236, workflow.py:57-66; grep context_providers src/ |
Bekreftet (0 treff) |
| Checker gater ikke | lest workflow.py:93-106 |
Bekreftet (modulo-selector) |
| Ingen SKILL.md | find -name SKILL.md |
Bekreftet (ingen) |
| README "Not yet usable" | head README.md |
Bekreftet (README.md:5) |
| Ingen entry-point | grep project.scripts pyproject.toml |
Bekreftet (kun [project]) |
| mypy/ruff rene | uv run mypy src, ruff check . |
Bekreftet |