Forge Research | Programme Synthesis Status

The 2025 Forge report describes an experimental synthesis programme, not production readiness, and publishes no benchmark results.

What is Dweve Forge?

Forge is Dweve’s program-synthesis research programme. The 2025 report records an experimental system, not a production-ready release, and contains no published benchmark results.

  • Forge research access is separate from a supported product, general licence or release commitment.
  • The 2025 report does not establish production readiness and publishes no benchmark results.
  • Any future synthesis result needs a bounded specification, verification evidence, target details and a reproducible measurement plan.

Choose the audience that matches your question

The page contains three selectable readings of the same subject.

For consumers

Forge is Dweve research into program synthesis for bounded tasks. The 2025 report describes an experiment, not a production-ready product, and gives no published benchmark result.

For businesses

Forge studies whether synthesis can find a better implementation under a defined contract. The 2025 report records no production readiness and no published benchmark results.

For engineers

Forge is a research programme for typed candidate search and bounded verification. Its 2025 report is explicit that the system is not production ready and publishes no benchmark results.

Kodeerimisagent ja operaatori abiline. Demomeetrika on illustreeriv.

Terminal, otsing, lint, test, git ja palju muud.

Mäletab sinu koodibaasi ja meeskonna konteksti.

Spetsialiseeritud agendid teevad koostööd eri valdkondade vahel.

Poliitikad, kontrollid ja testid käivitatakse alati.

Vaata diffe, nõua muudatusi, lõplik heakskiit.

Esita iga seanss biti-biti haaval, kui midagi vajab ülevaatamist.

Autonoomsed agendid, mis kirjutavad koodi ja peavad arvet

käsitlemaks võrgu ajalõppe, 5xx vastuseid ja idempotentseid tingimusi. Puhas abifunktsioon, täielikult unit-testitud.

on tulemus, ja see on kirja pandud ühena.

Kolm võimalust, kuidas inimene saab vastata. Otsing ei võta neist ühtegi iseenesest.

Viis esitatud näidet ja kuidas mõlemad kandidaadid neile vastavad

loeb tühja jada lubatud sisendist väljapoole jäävaks

kaks kandidaati, kaks ausat peatumispunkti, mõlemad esitatud nii nagu nad on

formaalsed teooriad väljaspool praegust lepingut

Igasugune käitumine sihtmärgil, mida kirje ei nimeta.

Et kirjendatud identiteedid on need, mille käitlus tootis.

graafik, plaan, artefakt ja tulemus jagavad ühte kirjet

Igasugune omadus, mida leping ei kodeerinud, ja iga väljastatud artefakt.

Semantika, mis kodeeriti, ja eeldused, mille pakett kinnitas.

Käitumine väljaspool piiri, mida kunagi ei otsitud.

Et deklareeritud domeen on see, mille sees tulemust kasutatakse.

Käitumine mis tahes sisendil väljaspool kirjendatud hulka.

Et deklareeritud juhtumid esindavad käitumist, millest teadlane hoolib.

Mitte midagi käitumise kohta mis tahes sisendil.

Ainult see, et pakett nimetas keele, millest kandidaat ehitati.

Et tõestus, graafik, Kera plaan ja tulemuse identiteet viitavad üksteisele.

Toetatud sümboolne omadus, tõestatud kodeeritud semantika üle.

Iga väärtus lõplikus deklareeritud domeenis, ilma tõrketa.

Iga konkreetne juhtum, mille pakett deklareeris, käivitatud ja võrreldud.

Tüübid, kujud, mõjud, omand ja deklareeritud liides.

Tagasi tavalise struktuurimärgise juurde

Võta neist viiest ükskõik milline ära ja see on teistsugune väide.

Ei ütle midagi kümnendaritmeetika kohta.

Formaalne tulemus ja sellest eraldi kontroll.

Ainult täisarvud ja mitte midagi programmist väljaspool.

Kehtib iga deklareeritud vahemikus oleva täisarvu kohta.

Üks rida on jagatud. Iga muu vastutus asub täpselt ühel pool piiri.

Uurimisprogramm, mitte tarkvarapakkumine

Siluetid on struktuursed, mitte allikad. Lintide pikkused on suhtelised positsioonid ühel piiril.

Kandidaat E on aktiivse eesmärgikomplekti puhul kandidaadist D domineeritud

Tasakaalustatud on samuti eelistus ja see on sellisena kirja pandud.

Kõik need neli on õiged, seega on tegemist eelistusega, mitte järjestusega.

B loobub kõige vähem ühelgi üksikul mõõdikul.

C töötab kõige laiemal toetatud masinate hulgal.

B liigutab kõige vähem andmeid ja võtab lõpetamiseks kauem aega.

A lõpetab kõige varem ja hoiab töötamise ajal kõige rohkem andmeid.

D loobub ühest ümberkirjutusest, et jääda lihtsaks kontrollida.

C liigutab rohkem andmeid, et sinna jõuda.

A hoiab töötamise ajal kõige rohkem andmeid.

Sellel tahvlil ei lõpe ükski rada genereeritud fallback-koodiga. Igaüks neist lõpeb nimega tulemuse ja isikuga, kelle käes on järgmine käik.

tulemus saabub fikseeritud seinakella akna jooksul

parandav kanne võib kogusummat vähendada

kogusumma ei vähene kunagi kannete lisamisel

Võrdlus, mis kandub üle teise eksperimendipaketti.

Kaks joont ristuvad, mistõttu kumbki kandidaat ei ole iseenesest vastus.

Tühi lahter on väide: tõestuse keerukust modelleeriti, kuid seda ei mõõdetud kunagi.

Koht, kus mudeli väljund võib asendada mõõtmist.

Neli eesmärki, kaks kandidaati, üks eksperiment

Suhtelised positsioonid ühes eksperimendis, kõrgem tähendab kallimat.

Üks skoor, mille järgi saab kahte kandidaati järjestada.

TÕEND, MIDA JÄRGMINE KANDIDAAT PEAB RAHULDAMA

Kolmas kandidaat rahuldab kõik salvestatud kohustused. Kontrollija ei leia toetatud domeenis ühtegi rikkuvat sisendit ja tagastab tõendi koos selle eeldustega, mis on loetletud selle kõrval.

AMETLIKULT TÕENDATUD, eeldused loetletud

kõigi x-ide puhul i32-s, pluss mõlemad registreeritud juhtumid

Teine kandidaat peab rahuldama koos nii näited kui ka ületäitumise juhtumi. See laiendab vahetulemust enne korrutamist ja verifitseerija tagastab teise juhtumi, mida spetsifikatsioon polnud kunagi fikseerinud: tühja sisendi.

kõigi x-ide puhul i32-s, pluss registreeritud juhtum

Esimene kandidaat rahuldab kolm esitatud näidet. Verifitseerija otsib kogu i32 ulatuses ja leiab ühe konkreetse sisendi, kus skaleeritud korrutis väljub deklareeritud vahemikust.

miski sellel lehel ei liida nelja eesmärki üheks numbriks

pikem auditirada, saades selle asemel laiema sihtmärgi sobivuse

pikem auditirada, saades selle asemel väiksema liikumise

pikem auditirada kui valitud liikmel aktiivses kogumis

Reguleeritud programm loeb sama rinnet piki tõendite telge ja võtab liikme D.

töötab vähemal toetatud sihtmärkide hulgal, vahetades laiuse auditirada vastu

töötab vähemal toetatud sihtmärkide hulgal, vahetades laiuse liikumise vastu

töötab vähemal toetatud sihtmärkide hulgal kui valitud liige

Segatud riistvarale jaotatud valdus loeb sama rinnet piki sihtmärgi telge ja võtab liikme C.

liigutab rohkem andmeid ja hoiab selle asemel lühema tuletuse

liigutab rohkem andmeid, jaotatuna rohkematele toetatud sihtmärkidele

liigutab rohkem andmeid kui valitud liige aktiivses kogumis

Mälu liiklusest piiratud juurutamine loeb sama rinnet piki liikumise telge ja võtab liikme B.

kõrgem modelleeritud latentsus ja selle lühem auditirada ei ole telg

kõrgem modelleeritud latentsus ja selle laiust siin ei tasustata

kõrgem modelleeritud latentsus kui valitud liikmel aktiivses kogumis

Ühe sihtmasinaga insenerimeeskond loeb rinnet piki latentsuse telge ja võtab liikme A.

ainult suhtelised asukohad, mitte mõõdetud arvud

Üks avaldis laiendatud neljaks samaväärse kuju klassiks, kusjuures valitud eraldamise sihtmärgini viiv tee on valgustatud ja üks keelatud serv on tõmmatud, kuid mitte kunagi valgustatud

Avaldis laiendatud samaväärsete kujude võrgustikuks, mille servadel on tingimused

Teisaldatavuseks eraldamine võtab selle asemel tugevuse vähendamise ja paigutuse muudatuse. See teeb rohkem tehteid kui algebraline kuju ja jõuab kõige laiema toetatud sihtmärkide hulgani.

Liikumiseks eraldamine kannab sama algebralise sammu edasi liitmisklassi. See teeb vähem tehteid kui paigutuse kuju ja hoiab kolmest kõige väiksema mäluliikumise.

Latentsuseks eraldamine võtab algebralise kuju ja peatub seal. See teeb kõige vähem tehteid ja liigutab rohkem andmeid kui liidetud kuju ning tal on õigus tõestatud laiuse tingimusele.

Edutamine nõuab tõendusmaterjali, mitte kontrolli. See võimalus pole sellel tahvlil üheski olekus saadaval, mis ongi joonistatav reegel.

üks sõlm muutus ja silt naaseb hästi vormitud olekusse

sama graafi ujuv piirkond, mida see kodeering ei esinda

täpne täisarvu semantika ja paketi poolt puhtaks kuulutatud piirkond

iga sisend, mida formaalne teooria suudab väljendada

kodeeritud seos kogu toetatud domeeni ulatuses

toetatud universaalne seos tõestati esitatud eeldustel

mis tahes sisend väljaspool esitatud hulka, sealhulgas kvantifitseeritud tingimus

paketiga kaasas olev võrdluskäitumine oma domeeni piires

spetsifikatsiooni kirjutatud konkreetsed juhtumid

deklareeritud konkreetsed juhtumid läbisid ja nende kaugemale ei väidetud midagi

käitumine sihtprofiilil, mida täitmise link ei nimeta

numbriline perekond ja mõjud, mida pakett lubas, mõlemad kinnitatud

deklareeritud sisendivahemik ühel toetatud sihtprofiilil

tõestatud seos, seejärel plaan ja artefakt, mis selle täitmisse viis

graaf, plaan, artefakt ja tulemuse identiteet püsivad seotuna

Programmi ei toodeta ja põhjus nimetatakse.

Neli põhjust, miks vastus on programm puudub

Tooge teenus mudeli sisse või kitsendage väidet.

Osa käitumisest jääb väljapoole piiri, mida kontroll suudab kirjeldada.

Otsing jõudis talle antud piirini ja peatus enne küsimuse lahendamist.

Kaks erinevat käitumist nõustuvad kõigil kolmel näitel ja erinevad neljandal sisendil.

Kaks reeglit põrkuvad. Negatiivne sisend ei saa korraga mõlemat rahuldada.

ONE NODE, MARKED IN ALL THREE RENDERINGS

The same semantic graph rendered as a node graph, as an expression and as dataflow, with one node marked in all three renderings and joined by a single rule

One semantic graph drawn three ways, as a graph, as an expression and as dataflow, with the clamp node marked in all three

Kontrollitud igal lugemisel, mida reegel nimetada suudab.

lugemisel jääb vastus 0 ja 100 vahele ning ei liigu kunagi rohkem kui ühe sammu võrra.

Kontrollitud sinu esitatud lugemiste põhjal.

See jaguneb kolmeks vormiks ja igaüht saab kontrollida.

„Hoia iga lugemine ohutus vahemikus ja ära lase sellel kunagi hüpata.“

Vorm valitakse, mitte liidetakse. Kirje säilitab, milline neist väite kandis.

Kolm võimalust öelda, mida programm peaks tegema

Mõlemad rajad jätavad sama nõude. Ainult üks neist on joonise allosas veel avatud.

käitumine, piirangud ja riskid, üks kord kirja pandud

kontrollitud semantiline graaf pluss kohustused