Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Scope the builder Pre-Execution Protocol to task shape

Aberta
#1,214 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
66/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
sql, typescript

Direção de pesquisa

Comece por packages/opencode/src/altimate/prompts/builder.txt e inspecione o precedente existente de SessionTermination.completionInstruction para injeção de prompt específica do modo de execução. Rastreie como headless mode, o builder agent e a presença de um projeto dbt são determinados. Está concluído quando o Pre-Execution Protocol é omitido somente em execuções de headless builder sem um projeto dbt e permanece em todos os outros casos, incluindo workspaces não classificados.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Problem

packages/opencode/src/altimate/prompts/builder.txt carries a ## Pre-Execution Protocol section that makes sql_analyze + altimate_core_validate mandatory before every sql_execute. builder is a PRIMARY agent, so that section reaches every builder surface at once: dbt authoring, interactive chat, and headless question-answering runs.

An internal pre-registered paired prompt ablation (540 trials on a public data-question benchmark, one binary across both arms, per-trial system prompts verified by sha256) measured what the section costs on the question-answering surface:

macro Pass@1
control 0.6667
treatment (protocol removed, among other changes) 0.6807
delta +0.0140
  • query-blocked sign-flip permutation, 20,000 resamples: p = 0.7358
  • cluster-bootstrap 95% CI: [-0.0400, +0.0674]

That is a null on score. The point estimate is positive and the interval comfortably contains zero — it is not an improvement and must not be reported as one.

What did move:

control treatment delta
wall clock per trial (restricted mean) 440.9s 319.4s -27.6%
model turns per trial 11.9 8.6 -27.7%
generation seconds per trial 187.6 127.2 -32.2%
altimate_core_validate calls (arm total) 1,476 0 -1,476
sql_analyze calls (arm total) 1,329 0 -1,329
sql_execute calls (arm total) 1,716 2,554 +49%
trials hitting the 900s timeout 27 16 -11

The 2,805 ritual tool calls going to zero is the number directly attributable to this text. The ritual is prompt-ordered: deleting the order deletes it completely, not partially. The freed budget went into actual querying (sql_execute +49%).

Why not just delete it

Two reasons, both from the experiment's own caveats:

  1. The latency win is not attributable to this section alone. The treatment arm bundled five coupled changes; the experiment explicitly declined to attribute and a factorial was not run.
  2. The measurement covers data questions only. dbt authoring and interactive chat are unmeasured builder surfaces where a pre-execution discipline may genuinely earn its place. Deleting on this evidence would over-generalise from one workload.
Proposal

Scope the section to task shape rather than delete it, following the precedent already in the tree: SessionTermination.completionInstruction moved a run-mode-only instruction out of builder.txt and injects it only when headless AND the agent is builder.

Drop the protocol only in the cell that was measured (headless + builder + no dbt project in the workspace) and keep it everywhere else, including whenever the workspace cannot be classified. The cost of keeping it is 27% latency on one workload; the cost of wrongly dropping it is unmeasured.

Out of scope

main also carries a ## Finish Protocol section (shipped in #1171) — a second mandatory ritual in the same family, added after the binary the ablation measured was built. No measurement covers it and this issue does not propose touching it.

A follow-up measurement on dbt tasks is needed before the gate could be widened, or the section deleted outright.

Linguagem predominante
TypeScript
Estrelas
815
Forks
135
Merge médio
1d 12h
PRs com merge (30d)
56

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de AltimateAI/altimate-code

Todas as issues de AltimateAI/altimate-code

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.