openai-sdk: empty systemPrompt produces trailing blank lines in agent instructions
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- ai
Línea de trabajo
Comienza en src/agents/openai-sdk.ts, en buildInstructions, e inspecciona cómo se une systemPrompt con baseInstructions. Añade cobertura para prompts vacíos y compuestos únicamente por espacios en blanco, verificando que su salida coincida con el caso undefined y no tenga líneas en blanco finales.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Observed behavior
buildInstructions in src/agents/openai-sdk.ts only branches on systemPrompt === undefined:
return systemPrompt === undefined
? baseInstructions
: `${baseInstructions}\n\n${systemPrompt}`;
When systemPrompt is the empty string (or whitespace-only), the join produces ...this mode.\n\n and the resulting instructions value ends with trailing blank lines.
import { buildSandboxAgentOptions } from 'loop-the-loop/agents/openai-sdk';
const opts = buildSandboxAgentOptions({ systemPrompt: '' }, false, '/repo');
console.log(/\n\s*$/.test(opts.instructions)); // true
This mirrors the codex-cli issue fixed in #17.
Expected behavior
An empty or whitespace-only systemPrompt should be treated as if it were omitted, so the rendered instructions match the systemPrompt === undefined output exactly (no trailing blank lines, no extra separator).
Possible fix
const trimmed = systemPrompt?.trim();
return trimmed ? `${baseInstructions}\n\n${trimmed}` : baseInstructions;
Add a test that passes systemPrompt: '' and asserts the result equals the undefined case.
Severity: S4. Trailing whitespace is cosmetic and unlikely to confuse the model, but the inconsistency is easy to fix.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 1
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de joewalker/loop-the-loop
-
bug S4
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
joewalker/loop-the-loop#88 ·
-
Git exec(): child killed by a signal rejects with new Error('') and loses the signal informationAbiertobug S3
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
joewalker/loop-the-loop#84 ·
-
bug S3
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
joewalker/loop-the-loop#83 ·
-
bug S3
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
joewalker/loop-the-loop#82 ·
-
bug S4
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
joewalker/loop-the-loop#79 ·
Todos los issues de joewalker/loop-the-loop
Issues similares
-
freshness freshness:observed-only
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
thoroc/context-radar#282 ·
-
bug P2 rust
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
area: web
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
gabe-santana/arkdraw#25 ·
-
bug require-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
expressjs/expressjs.com#2549 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
bug good first issue hacktoberfest
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
codercops/discord-bot#101 · 1 comentario ·
Los mantenedores suelen responder en 1 día