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.
Assistance pour agent de codage et opérateur. Les métriques de démonstration sont illustratives.
Terminal, recherche, lint, test, git, et plus.
Se souvient de votre codebase et du contexte de l'équipe.
Des agents spécialisés collaborent sur différents aspects.
Chaque étape est enregistrée avec horodatage.
Les politiques, vérifications et tests s'exécutent toujours.
Examinez les diffs, demandez des modifications, approbation finale.
Rejouez toute session bit pour bit quand une révision est nécessaire.
Lire retry.ts, bug de délai d'attente tracé
Extraire garde + limiter les nouvelles tentatives
Agents autonomes qui écrivent du code et gardent des reçus
pour gérer les délais d'attente réseau, les réponses 5xx et les conditions idempotentes sûres. Helper pur, entièrement testé unitairement.
est le résultat, et il est enregistré comme tel.
Trois façons de répondre. La recherche n'en retient aucune d'elle-même.
Les cinq exemples fournis et la manière dont les deux candidats y répondent
signaler le montant le plus petit dans une séquence
considère la séquence vide comme hors de l'entrée autorisée
considère la séquence vide comme ayant un montant neutre
deux candidats, deux points d'arrêt honnêtes, tous deux rapportés tels quels
Tout comportement sur une cible que le dossier ne nomme pas.
Que les identités enregistrées sont celles que l'exécution a produites.
graphe, plan, artefact et résultat partagent un seul dossier
Toute propriété que le contrat n'a pas encodée, et tout artefact émis.
La sémantique encodée et les hypothèses que le paquet a fixées.
Comportement au-delà de la limite, qui n'a jamais été recherché.
Que le domaine déclaré est celui dans lequel le résultat sera utilisé.
le domaine est déclaré avec l'affirmation
Comportement sur toute entrée hors de l'ensemble enregistré.
Que les cas déclarés représentent le comportement qui intéresse le chercheur.
les cas sont enregistrés avec le résultat
Rien sur le comportement sur toute entrée.
Seulement que le paquet a nommé le langage à partir duquel le candidat a été construit.
Que la preuve, le graphe, le plan Kera et l'identité du résultat se réfèrent les uns aux autres.
La propriété symbolique prise en charge, prouvée sur la sémantique encodée.
Chaque valeur dans un domaine fini déclaré, sans échec.
Chaque cas concret déclaré par le paquet, exécuté et comparé.
Types, formes, effets, propriété et interface déclarée.
Le badge appartient à un programme exact
Retour à l'étiquette structurelle simple
Retirez l'un de ces cinq éléments et c'est une déclaration différente.
Le badge et les cinq parties qu'il affirme
Ne dit rien sur l'arithmétique décimale.
Un résultat formel, et une vérification distincte de celui-ci.
Uniquement des nombres entiers, et rien en dehors du programme.
Vaut pour chaque nombre entier dans la plage déclarée.
Une ligne est partagée. Toute autre responsabilité se situe exactement d'un côté de la frontière.
Programme de recherche, pas une offre logicielle
Les silhouettes sont structurelles, pas la source. Les longueurs de ruban sont des positions relatives sur une frontière.
Le candidat E est dominé par le candidat D sur l'ensemble d'objectifs actif
Équilibré est aussi une préférence, et il est enregistré comme tel.
Chacun de ces quatre est correct, c'est donc une préférence et non un classement.
B est celui qui sacrifie le moins sur un seul critère.
D a le chemin de vérification le plus court.
C fonctionne sur le plus grand ensemble de machines prises en charge.
B déplace le moins de données, mais met plus de temps à terminer.
A termine le plus tôt et conserve le plus de données pendant son fonctionnement.
D renonce à une réécriture pour rester simple à vérifier.
C déplace plus de données pour y arriver.
A conserve le plus de données pendant son fonctionnement.
Aucune voie de ce tableau ne se termine par un code de secours généré. Chacune se termine par un résultat nommé et par la personne responsable de la prochaine action.
non représenté par le contrat de vérification
aucun candidat n'existe dans le langage L
le résultat arrive dans une fenêtre de temps réel fixe
une écriture corrective peut réduire le total
le résultat est exact jusqu'à la dernière unité
le total ne diminue jamais lorsque des écritures sont ajoutées
chaque montant reste dans la plage déclarée
Garder chaque lecture dans la plage sûre
Une comparaison qui s'étend à un autre paquet d'expériences.
Les deux lignes se croisent, c'est pourquoi aucun candidat n'est la réponse à lui seul.
La cellule vide est l'affirmation : la complexité de la preuve a été modélisée et jamais mesurée.
Un endroit où une sortie de modèle peut remplacer une mesure.
Quatre objectifs, deux candidats, une expérience
Positions relatives sur une expérience, plus haut est plus coûteux.
Un score unique permettant de classer les deux candidats.
crée une nouvelle identité de spécification
l'exécution se poursuit sous la même identité
PREUVE QUE LE CANDIDAT SUIVANT DOIT SATISFAIRE
Choisissez une itération de la boucle de raffinement
Le troisième candidat satisfait chaque obligation enregistrée. Le vérificateur ne trouve aucune entrée violante dans le domaine pris en charge et renvoie une preuve avec ses hypothèses listées à côté.
VÉRIFIÉ FORMELLEMENT, hypothèses listées
pour tout x dans i32, plus les deux cas enregistrés
Le deuxième candidat doit satisfaire les exemples et le cas de dépassement ensemble. Il élargit l'intermédiaire avant de multiplier, et le vérificateur renvoie un deuxième cas que la spécification n'avait jamais épinglé : une entrée vide.
pour tout x dans i32, plus le cas enregistré
Le premier candidat satisfait les trois exemples fournis. Le vérificateur recherche tout i32 et renvoie une entrée concrète où le produit mis à l'échelle sort de la plage déclarée.
rien dans cette feuille ne réduit les quatre objectifs à un seul chiffre
un chemin d'audit plus long, gagnant une adéquation à la cible plus large à la place
un chemin d'audit plus long, gagnant un mouvement plus faible à la place
un chemin d'audit plus long que le membre sélectionné sur l'ensemble actif
Un programme réglementé lit la même frontière le long de l'axe des preuves et prend le membre D.
fonctionne sur moins de cibles prises en charge, échangeant la largeur contre le chemin d'audit
fonctionne sur moins de cibles prises en charge, échangeant la largeur contre le mouvement
fonctionne sur moins de cibles prises en charge que le membre sélectionné
Un parc réparti sur du matériel mixte lit la même frontière le long de l'axe des cibles et prend le membre C.
déplace plus de données et conserve une dérivation plus courte à la place
déplace plus de données, réparties sur plus de cibles prises en charge
déplace plus de données que le membre sélectionné sur l'ensemble actif
Un déploiement contraint par le trafic mémoire lit la même frontière le long de l'axe du mouvement et prend le membre B.
latence modélisée plus élevée, et son chemin d'audit plus court n'est pas l'axe
latence modélisée plus élevée, et sa largeur n'est pas payée ici
latence modélisée plus élevée que le membre sélectionné sur l'ensemble actif
Une équipe d'ingénierie avec une seule machine cible lit la frontière le long de l'axe de latence et prend le membre A.
positions relatives uniquement, sans valeurs mesurées
Une expression développée en quatre classes de formes équivalentes, avec le chemin vers la cible d'extraction sélectionnée allumé et une arête refusée dessinée mais jamais allumée
Une expression développée en un réseau de formes équivalentes, avec des conditions sur les arêtes
L'extraction pour la portabilité prend la réduction de force et le changement de disposition à la place. Elle exécute plus d'opérations que la forme algébrique et atteint le plus large ensemble de cibles prises en charge.
L'extraction pour le mouvement porte la même étape algébrique dans la classe de fusion. Elle exécute moins d'opérations que la forme de disposition et maintient le mouvement mémoire le plus faible des trois.
L'extraction pour la latence prend la forme algébrique et s'arrête là. Elle exécute le moins d'opérations et déplace plus de données que la forme fusionnée, et elle a droit à la condition de largeur qui a été prouvée.
La promotion exige des preuves, pas un contrôle. Cette affordance est indisponible dans tous les états de ce tableau, ce qui constitue la règle énoncée.
un nœud a changé, et l'étiquette redevient bien formée
la région flottante du même graphe, que ce codage ne représente pas
une sémantique entière exacte et une région déclarée pure par le paquet
toute entrée que la théorie formelle peut exprimer
la relation codée sur tout le domaine pris en charge
une relation universelle prise en charge a été prouvée sous les hypothèses énoncées
toute entrée hors de l'ensemble fourni, y compris la condition quantifiée
le comportement de référence fourni avec le paquet, dans son propre domaine
les cas concrets écrits dans la spécification
les cas concrets déclarés ont réussi et rien au-delà n'a été affirmé
le comportement sur un profil cible que le lien d'exécution ne nomme pas