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