[[NO_REPLY]] marker leaks into Slack replies
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- backend
Línea de trabajo
Comienza en packages/junior/src/chat/no-reply.ts y, a continuación, sigue el tratamiento de marcadores mixtos a través de packages/junior/src/chat/services/assistant-reply.ts y packages/junior/src/chat/services/turn-result.ts. Añade o actualiza la cobertura para respuestas que contengan únicamente un marcador y para respuestas con una mezcla de marcador y prosa, y verifica que Slack reciba la prosa sin el marcador reservado, mientras que los mensajes que consistan exactamente solo en el marcador sigan suprimidos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When a terminal assistant message mixes normal prose with [[NO_REPLY]], Junior posts the full text to Slack, including the reserved marker.
Observed in production: a task turn that intended silence ended with prose plus a trailing [[NO_REPLY]], and Slack received that combined message. Session: https://junior-prod.sentry.dev/conversations/slack%3AC0BSRCZ1F9T%3A1788188446.835629
Verified behavior
- Prompt/task contract: intentional silence requires the final message to be exactly
[[NO_REPLY]]. isNoReplyMarker()only matches whole-message equality (packages/junior/src/chat/no-reply.ts).- After #1714,
decideReply()suppresses only exact marker-only text and delivers any mixed marker+prose unchanged (packages/junior/src/chat/services/assistant-reply.ts). buildTurnResult()logsai.no_reply_marker.mixed_textfor mixed cases but still returns deliverable text that retains the marker (packages/junior/src/chat/services/turn-result.ts).no-reply.tscomments thatcontainsNoReplyMarkerexists to detect leaks "before publication strips or rejects them," but delivery does not strip.- PR #1714 description said mixed text would strip the marker and post the rest; current code and tests deliver the marker inline.
Evidence
- Thread example above (assistant reply ended with visible
[[NO_REPLY]]). - Repeated production warnings:
ai.no_reply_marker.mixed_texton projectsentry/junior(for example around2026-08-31T15:03Z–15:08Z, including traces such asff5484791527491f82bba63e031e6c83).
Related
- #1714 changed mixed mentions from silence to delivery.
- #1030 is a different no-reply terminalization bug (timeout resume).
Reported by Matt Quinn.
Requested by Matt Quinn.
--
- Lenguaje dominante
- TypeScript
- Estrellas
- 397
- Forks
- 43
- Merge medio
- 8 h 29 min
- PR fusionados (30 d)
- 495
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 getsentry/junior
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
getsentry/junior#335 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
Todos los issues de getsentry/junior
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
hugomrdias/playwright-test#753 ·
Los mantenedores suelen responder en 1 día
-
Review view: Daily/Weekly Review header buttons use the app-wide toolbar control stylePosiblemente ocupada @colherdesopa la tomó hoy. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
dongdongbh/Mindwtr#1515 ·
Los mantenedores suelen responder en 1 día
-
pending-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
kirodotdev/Kiro#12301 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100