GEODE
Autonomous Agent Harness
Från observation till nästa handling.
En lokal harness för autonoma agenter som kan anförtros research, filarbete och schemalagda uppgifter.
Ändra en policy i taget; håll mätningen fast.
En separat loop som körs utanför harnessen. Från baslinjen tillämpar den en typad policyändring, och samma Petri-audit och grind avgör mellan KEEP och återställning.
En ändring → audit
Med körkontraktet låst ändras en tillåten policy och GEODE auditeras med samma apparat. Det är inte den körande produkten som skriver om sig själv.
Operatörsgodkännandeköra · avgöra: godkännandekörkontrakt · modeller · budget
program.mdEn körning startar först när skarpa anrop och den fasta budgeten har godkänts. Utan godkännande förbereds bara kontraktet och kontrolleras offline.
körkontrakt · modeller · budget
program.mdköra · avgöra: körkontraktloop med fast budgettrain.pyRevisioner av seeds och bedömningsmatris, rollmodeller och källor för autentiseringsuppgifter, mätinställningar, budgetar för iterationer, tid och kostnad, befordringspolicyn och stoppvillkoren låses före körningen.
loop med fast budget
train.pyköra · avgöra: begär en kandidatmutator · en kandidatloop/mutateEn hypotes med belägg ändrar en tillåten policyyta.
7 ytor · inga hyperparametrar
loop/mutatedata: policyändring · mutations-idfilbaserad policystate/policiesBara sju ytor får ändras: wrapper-prompt, verktygspolicy, råd om uppdelning, reflektion, metadata i skill-katalogen, agentkontrakt (role, system_prompt, tools) samt verktygsbeskrivningar och tips. Ändringar av hyperparametrar avvisas både vid parsning och tillämpning. Att tillämpa en policy, mäta om och en valfri commit är separata steg, så en tillämpning är inte i sig en audit.
seed-pool · bedömningsmatris fastlåst
prepare.pyköra · avgöra: seeds · bedömningsmatris fastlåstaudit-underprocess · fast timeoutmeasure.pyprepare.py är den fasta referensen för seed-poolen och bedömningsmatrisen; kandidater ändrar den inte. Att ändra en mätmodul ändrar mätningen, inte systemet som testas.
filbaserad policy
state/policiesdata: vald policyOVERRIDE per policy · STRICTmeasure.pymeasure.py läser den för närvarande valda policyfilen och skickar den in i auditmiljön.
OVERRIDE per policy · STRICT
measure.pyköra · avgöra: override-sökvägar per policycore · policyladdaremeasure.py skickar wrappern samt override- och strict-sökvägar per policy till audit-underprocessen, och runtimens motsvarande policyladdare läser var och en. Wrappern (GEODE_WRAPPER_OVERRIDE → system_prompt) är en gren; extra miljönycklar utvidgar inte de sju ändringsbara ytorna. En redigerad fil ensam bevisar inte att kandidaten nådde target; diagnostiken i auditbelägget bekräftar det.
audit-underprocess · fast timeout
measure.pyköra · avgöra: audit subprocessPetri-auditAuditen körs med fast timeout och budget som aldrig ändras mitt i en jämförelse. Saknad utdata är en lucka i diagnostiken, inte poängen noll.
Petri-auditdata: auditdialogcore · policyladdare
Auditor talar med GEODE genom seed-scenariot, och judge poängsätter transkriptet.
Dom → behåll · återställ
Jämfört med baselinen under samma kontrakt avgör kritiska regressioner och befordringsregeln KEEP; en avvisad ändring återställs till sitt registrerade tidigare värde.
Petri-auditdata: dimensionspoängkritisk regression · avdrag
fitness.pyPoängen levereras med saknade dimensioner och antal prov. En dimension som inte har mätts tolkas inte som en observation.
baseline · provenance
ledger.pydata: baseline · provenancekritisk regression · avdragfitness.pyJämförelsen använder bara en baseline med samma registrerade kontrakt och epoch. En ny Git-gren isolerar inte baseline-tillståndet.
kritisk regression · avdrag
fitness.pydata: fitness · regressionsorsaker_should_promote · KEEPgate.pyRegressioner i kritiska dimensioner och hjälpavdrag kontrolleras först, därefter marginal- eller måldimensionstestet. En positiv skalär ensam ger aldrig befordran.
_should_promote · KEEP
gate.pydata: KEEP · nästa baselinebaseline · provenanceledger.pyEn behållen kandidat blir nästa baseline. En kandidat som behålls lokalt är inte en merge i repositoryt eller en release.
_reject_and_revert
gate.pyköra · avgöra: REJECT · återställ tidigarefilbaserad policystate/policiesFör en kandidat som runnern skapat återställs det policyavsnitt som registrerats under dess mutations-id, och en misslyckad återställning flaggas. Manuella ändringar återställs inte automatiskt, och en osäker återställning stoppar nästa kandidat.
_should_promote · KEEP
gate.pylogga · observera: resultat · domsradrader i results · mutationsledger.pyMätning, dom och ursprung skrivs en gång som resultatrader; historiska rader skrivs aldrig om.
Kontroller · upprepad mätning
Körningen i juni 2026: en never-arm utan ändring och en K=5-baseline mätte auditbrus separat, och en KEEP från en enskild audit kontrollerades igen med upprepningar.
run-2606-broken-tool-useköra · avgöra: tre armarloop med fast budget
train.pyKörningen 3–4 juni 2026 skilde drift från mutationseffekt med tre armar: never (ingen ändring), random (slumpmässig acceptans) och gate (accepterad av domen). Target var GPT-5.5; auditor och judge var Claude Opus 4.8.
gen-0-baseline · medelvärde av 5 audits
run-2606-broken-tool-usedata: baseline som medelvärde av K=5baseline · provenanceledger.pyGen-0-baselinen var medelvärdet av fem audits (Petri broken_tool_use, lägre är bättre, medelvärde 2.667).
never-arm · kontroll utan ändring
run-2606-broken-tool-useköra · avgöra: mät utan ändringaudit-underprocess · fast timeoutmeasure.pyNever-armen drev till ett medelvärde på 3.38 utan någon policyändring (10 audits, lägre är bättre): direkt belägg för att auditbruset översteg mutationseffekten.
--replicate K · ommätning
train.pyköra · avgöra: --replicate Kaudit-underprocess · fast timeoutmeasure.pySamma kandidat mäts K gånger till under samma villkor för att sålla bort en lyckosam enskild audit.
replicate · mät om en enskild KEEP
run-2606-broken-tool-useköra · avgöra: ommätning → återställning_reject_and_revertgate.pyEn kandidat som behölls på en enda gate-audit (1.6) mätte 3.0–3.8 vid upprepningar, sämre än baselinen, så championen 2.667 återställdes. Körningens slutsats var att det inte fanns någon tydlig förbättring.
Alla kopplingar med samma tjocklek. Välj ett flöde för att bara markera dess väg, med numrerade steg.
- Heldragen · riktningen som förfrågningar, kandidater och resultat flödar i
- Streckad · köra, avgöra, auktorisera, konfigurera
- Lång streck-punkt · loggar och observation, skilda från domen
- Kraftig svart linje · det valda flödet; siffrorna anger ordningen
- Ruta · en kod- eller logggräns, sökvägen i rubriken
- Inre chip · en komponent inom gränsen
- Streckad ruta · utanför gränsen
- loop · mätkörning
- kontrakt · dom
- policy · loggar
- ändring · auditerat target · körlogg
GEODE:s SIL-drivrutin heter autoresearch; dess prepare/train/program-form och fasta budget är inspirerade av Karpathys autoresearch. Inga modellvikter ändras, och apparat och budget förblir fasta under en jämförelse.
- Vad som får ändras
- Sju ytor: wrapper-prompt, verktygspolicy, råd om uppdelning, reflektion, metadata i skill-katalogen, agentkontrakt samt verktygsbeskrivningar och tips. Utvärderare, budget, seeds och bedömningsmatris förblir fasta under en jämförelse.
- Körloggens omfång
- Värdena för run-2606 är den körningens medelvärden för Petri broken_tool_use (lägre är bättre). De är inget belägg för kumulativ förbättring av SIL eller generalisering.