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.

Assistência de agente de codificação e operador. As métricas de demonstração são ilustrativas.

Terminal, pesquisa, lint, testes, git e mais.

Lembra-se da sua base de código e do contexto da equipa.

Agentes especializados colaboram em diferentes áreas.

Cada passo é registado com carimbos de data e hora.

Políticas, verificações e testes são sempre executados.

Revise diffs, peça alterações, aprovação final.

Repita qualquer sessão bit a bit quando algo precisar de revisão.

Agentes autónomos que escrevem código e mantêm registos

para lidar com timeouts de rede, respostas 5xx e condições seguras para idempotência. Helper puro, totalmente testado por unidades.

é o resultado, e é registado como um.

Três formas de uma pessoa responder. A pesquisa não considera nenhuma delas por si só.

Os cinco exemplos fornecidos e como ambos os candidatos os respondem

relatar a menor quantidade numa sequência

lê a sequência vazia como fora da entrada permitida

lê a sequência vazia como tendo uma quantidade neutra

dois candidatos, dois pontos de paragem honestos, ambos relatados como estão

Qualquer comportamento num alvo que o registo não nomeia.

Que as identidades registadas são as que a execução produziu.

grafo, plano, artefacto e resultado partilham um registo

Qualquer propriedade que o contrato não codificou, e qualquer artefacto emitido.

A semântica que foi codificada e as premissas que o pacote fixou.

Comportamento além do limite, que nunca foi procurado.

Que o domínio declarado é aquele em que o resultado será usado.

Comportamento em qualquer entrada fora do conjunto registado.

Que os casos declarados representam o comportamento que o investigador considera relevante.

Nada sobre comportamento em qualquer entrada.

Apenas que o pacote nomeou a linguagem a partir da qual o candidato foi construído.

Que a prova, o grafo, o plano Kera e a identidade do resultado se referem uns aos outros.

A propriedade simbólica suportada, provada sobre a semântica codificada.

Cada valor num domínio finito declarado, sem falhas.

Cada caso concreto que o pacote declarou, executado e comparado.

Tipos, formas, efeitos, propriedade e a interface declarada.

O crachá pertence a um único programa exato

Retire qualquer um destes cinco e será uma afirmação diferente.

O crachá e as cinco partes que ele afirma

Um resultado formal e uma verificação separada dele.

Apenas números inteiros e nada fora do programa.

Vale para todos os números inteiros no intervalo declarado.

Uma linha é partilhada. Todas as outras responsabilidades ficam exatamente de um lado da fronteira.

Programa de investigação, não uma oferta de software

As silhuetas são estruturais, não fonte. Os comprimentos das fitas são posições relativas numa fronteira.

O candidato E é dominado pelo candidato D no conjunto de objetivos ativo

Equilibrado é também uma preferência, e é registado como tal.

Cada um destes quatro está correto, pelo que isto é uma preferência e não uma classificação.

B é o que menos sacrifica em qualquer medida individual.

D tem o caminho de verificação mais curto.

C funciona no conjunto mais amplo de máquinas suportadas.

B move menos dados e demora mais tempo a concluir.

A termina mais cedo e mantém mais dados enquanto trabalha.

D renuncia a uma reescrita para permanecer simples de verificar.

Nenhuma faixa neste quadro termina com código de fallback gerado. Cada uma termina com um resultado nomeado e a pessoa que detém o próximo movimento.

não representado pelo contrato de verificação

o resultado chega dentro de uma janela de relógio de parede fixa

uma entrada corretiva pode reduzir o total

o resultado é exato até à última unidade

o total nunca diminui à medida que as entradas são adicionadas

cada montante permanece dentro do intervalo declarado

Manter todas as leituras dentro do intervalo seguro

Uma comparação que se estende a outro pacote de experiências.

As duas linhas cruzam-se, por isso nenhum dos candidatos é a resposta por si só.

A célula vazia é a afirmação: a complexidade da prova foi modelada e nunca medida.

Um lugar onde uma saída do modelo pode substituir uma medição.

Quatro objetivos, dois candidatos, uma experiência

Posições relativas numa experiência, quanto mais alto, mais caro.

Uma pontuação única pela qual os dois candidatos podem ser classificados.

cria uma nova identidade de especificação

a execução continua sob a mesma identidade

EVIDÊNCIA QUE O PRÓXIMO CANDIDATO DEVE SATISFAZER

Escolha uma iteração do ciclo de refinamento

O terceiro candidato satisfaz todas as obrigações registadas. O verificador não encontra nenhuma entrada violadora dentro do domínio suportado e devolve uma prova com as suas premissas listadas ao lado.

FORMALMENTE VERIFICADO, premissas listadas

para todo o x em i32, mais os dois casos registados

O segundo candidato tem de satisfazer os exemplos e o caso de overflow em conjunto. Alarga o intermédio antes de multiplicar, e o verificador devolve um segundo caso que a especificação nunca tinha fixado: uma entrada vazia.

para todo o x em i32, mais o caso registado

O primeiro candidato satisfaz os três exemplos fornecidos. O verificador pesquisa todo o i32 e devolve uma entrada concreta onde o produto escalado sai do intervalo declarado.

nada nesta folha colapsa os quatro objetivos num único número

um caminho de auditoria mais longo, ganhando maior adequação ao alvo em vez disso

um caminho de auditoria mais longo, ganhando menor movimento em vez disso

um caminho de auditoria mais longo do que o membro selecionado no conjunto ativo

Um programa regulado lê a mesma fronteira ao longo do eixo de evidência e escolhe o membro D.

executa em menos alvos suportados, trocando amplitude por caminho de auditoria

executa em menos alvos suportados, trocando amplitude por movimento

executa em menos alvos suportados do que o membro selecionado

Um parque distribuído por hardware misto lê a mesma fronteira ao longo do eixo de alvo e escolhe o membro C.

move mais dados e mantém uma derivação mais curta em vez disso

move mais dados, distribuídos por mais alvos suportados

move mais dados do que o membro selecionado no conjunto ativo

Uma implementação limitada pelo tráfego de memória lê a mesma fronteira ao longo do eixo de movimento e escolhe o membro B.

latência modelada mais alta, e o seu caminho de auditoria mais curto não é o eixo

latência modelada mais alta, e a sua amplitude não está a ser paga aqui

latência modelada mais alta do que o membro selecionado no conjunto ativo

Uma equipa de engenharia com uma máquina alvo lê a fronteira ao longo do eixo de latência e escolhe o membro A.

apenas posições relativas, sem figuras medidas

Uma expressão expandida em quatro classes de formas equivalentes, com o caminho até ao alvo de extração selecionado iluminado e uma aresta recusada desenhada mas nunca iluminada

Uma expressão expandida numa rede de formas equivalentes, com condições nas arestas

Extrair para portabilidade assume a redução de força e a alteração de layout. Executa mais operações do que a forma algébrica e alcança o conjunto mais amplo de alvos suportados.

Extrair para movimento leva o mesmo passo algébrico até à classe de fusão. Executa menos operações do que a forma de layout e mantém o menor movimento de memória dos três.

Extrair para latência assume a forma algébrica e termina aí. Executa o menor número de operações e move mais dados do que a forma fundida, e tem direito à condição de largura que foi provada.

A promoção exige provas, não um controlo. Esta funcionalidade não está disponível em nenhum estado deste quadro, que é a regra que está a ser traçada.

um nó mudou e o rótulo volta a estar bem formado

a região flutuante do mesmo grafo, que esta codificação não representa

semântica exata de inteiros e uma região declarada pura pelo pacote

toda a entrada que a teoria formal pode expressar

a relação codificada em todo o domínio suportado

uma relação universal suportada foi provada sob os pressupostos declarados

qualquer entrada fora do conjunto fornecido, incluindo a condição quantificada

o comportamento de referência fornecido com o pacote, dentro do seu próprio domínio

os casos concretos escritos na especificação

os casos concretos declarados passaram e nada além deles foi afirmado

comportamento num perfil alvo que o link de execução não nomeia

a família numérica e os efeitos que o pacote permitiu, ambos fixados

o intervalo de entrada declarado num perfil alvo suportado

a relação provada, depois o plano e o artefacto que a levou à execução

grafo, plano, artefacto e identidade do resultado permanecem ligados

Não é produzido nenhum programa, e a razão é indicada.

Quatro razões para a resposta ser nenhum programa

Trazer o serviço para dentro do modelo, ou restringir a afirmação.

Parte do comportamento fica fora do limite que a verificação consegue descrever.

Uma execução mais longa, ou um método diferente.

A pesquisa atingiu o limite que lhe foi dado e parou antes de resolver a questão.

Dois comportamentos diferentes concordam nos três exemplos e discordam na quarta entrada.

As duas regras chocam de frente. Uma entrada negativa não consegue satisfazer ambas ao mesmo tempo.