Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Agent ingress HTML-escapes message bodies and silently truncates long bodies

Aperta
#53,224 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@rekram1-node ci sta già lavorando.

Dal 4/10/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

Description

Message bodies arriving at opencode agents via the Slack bridge are corrupted in two silent ways. Nothing errors; the text is just wrong when it lands in agent context, beads, PRs, and shell commands.

Defect 1 — HTML entity escaping (silent, length-preserving)

Message bodies are HTML-escaped on ingress: < → &lt;, > → &gt;, & → &amp;.

Evidence (2026-09-30):

  • An agent sent a raw <main> inside a plain-text sentence; the receiving agent quoted it back still escaped — confirms escaping affects Slack messages themselves, not just downstream tooling.
  • Inbound scope blocks reached agents with &lt;main&gt; and &amp; already escaped.
  • Ruled out: voltron slack-post delivery path, model output — this is a normalising transform on ingress in the harness/context-assembly layer.

Impact: any agent copying an HTML tag, shell metacharacter (>, |, &), or comparison operator out of a bridge message pastes corrupted text into code, beads, PRs, or shell commands. Silent wrong-state.

Defect 2 — long-body truncation (lossy)

Long message bodies are cut off, usually mid-block. Observed three times in one session:

  1. A task group (4 items) arrived entirely absent — heading survived, content did not.
  2. Groups C, D, E of a 138-line source file arrived absent (lines 85–138).
  3. A closing rationale cut mid-sentence.

System details

  • OpenCode version: 1.18.34
  • Operating system: macOS 27.0
  • Slack bridge/client setup: custom fleet bridge (voltron/scripts/slack-post) delivering agent messages into opencode agent sessions; corruption observed on ingress into the agent context layer, after bridge delivery (bridge itself verified clean — entity forms present in agent-received bodies, not in bridge output)

Steps to reproduce

  1. Send any message containing <, >, or & through the Slack bridge to an opencode agent; observe the entity form in the agent's received body.
  2. Send a body above some length threshold; observe truncation mid-block.

Expected behavior

Message bodies arrive byte-identical: raw <, >, & preserved; long multi-block bodies complete.

Ask

  1. Locate the ingress/context-assembly path where entities are escaped and where bodies are truncated.
  2. Preserve raw text on ingress (or provide an explicit escape contract agents can rely on).
  3. Fix or remove the truncation limit — silent mid-block loss destroys task scope.
  4. Regression test: body with <, >, &, and a >2k multi-block message arrives byte-identical.

Cross-reference

  • Linear: MG-1550 (metrograph-ai)
  • Folded bead: MG-1552 (closed, scope merged into MG-1550)
  • Original investigation ruled out: voltron delivery path, model output
Lingua principale
TypeScript
Stelle
212k
Fork
28.1k
Merge medio
9h 17m
PR unite (30g)
396

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di anomalyco/opencode

Tutte le issue di anomalyco/opencode

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.