{
  "$schema": "https://themachinepress.com/schemas/story-v1.schema.json",
  "schema_version": "1.0.0",
  "document_type": "machine_press_story",
  "story": {
    "story_id": "mp-2026-10-22-002",
    "source_story_id": "tmp-feature-compaction-laundering",
    "edition_id": "mp-2026-10-22-morning-0104",
    "edition_url": "https://themachinepress.com/edition/2026-10-22",
    "position": 2,
    "story_type": "secondary",
    "section": "safety-security",
    "editorial_classification": "editorial",
    "headline": "The Summary Forgot Who Said What",
    "slug": "the-summary-forgot-who-said-what",
    "dek": "Five coding-agent harnesses flattened message roles before compaction, letting forged approvals survive as memory; four role-typed harnesses resisted the same test.",
    "summary": "Five coding-agent harnesses flattened message roles before compaction, letting forged approvals survive as memory; four role-typed harnesses resisted the same test.",
    "body_text": "Long-running coding agents summarize old context to keep working. The study identifies a trust boundary before that summary is written: several harnesses first serialize typed messages into one plain string with textual role labels. Untrusted content can then imitate a user turn, and the summarizer no longer has authoritative provenance to distinguish it. Across five open-source flattening harnesses, forged approvals survived compaction 87 to 100 percent of the time; the same attack succeeded zero percent across four harnesses that retained typed roles. In follow-on tests, laundered instructions drove sandboxed command execution and could steer reviews away from a planted backdoor. A code-level provenance check caught 77 percent of laundering while demoting 2 percent of legitimate summary content, and escaping role labels offers a simpler serializer fix. The results concern the tested harness designs, not every coding agent.",
    "why_it_matters": "Five coding-agent harnesses flattened message roles before compaction, letting forged approvals survive as memory; four role-typed harnesses resisted the same test.",
    "limitations": [
      "The results concern the tested harness designs, not every coding agent."
    ],
    "importance": 10,
    "canonical_url": "https://themachinepress.com/story/mp-2026-10-22-002/the-summary-forgot-who-said-what",
    "json_url": "https://themachinepress.com/story/mp-2026-10-22-002.json",
    "first_published_at": "2026-10-22T09:00:00.000-04:00",
    "modified_at": "2026-10-22T09:00:00.000-04:00",
    "content_status": "new",
    "is_carryover": false,
    "carryover_reason": null,
    "key_claims": [
      {
        "claim_id": "claim-mp-2026-10-22-002-001",
        "text": "Five coding-agent harnesses flattened message roles before compaction, letting forged approvals survive as memory; four role-typed harnesses resisted the same test.",
        "source_ids": [
          "source-2026-10-22-002"
        ],
        "qualification": "The results concern the tested harness designs, not every coding agent."
      }
    ],
    "source_ids": [
      "source-2026-10-22-002"
    ],
    "tags": [
      "coding agents",
      "prompt injection",
      "context compaction",
      "provenance"
    ],
    "image_url": "https://themachinepress.com/issues/2026-10-22/feature-compaction-laundering.png",
    "corrections": []
  },
  "sources": [
    {
      "source_id": "source-2026-10-22-002",
      "title": "arXiv preprint 2610.29869, original v1",
      "publisher": "arXiv",
      "url": "https://arxiv.org/abs/2610.29869v1",
      "canonical_url": "https://arxiv.org/abs/2610.29869v1",
      "source_type": "primary_research",
      "is_primary_source": true,
      "published_at": "2026-10-21T11:24:23.000-04:00",
      "accessed_at": "2026-10-22T08:26:13.404-04:00",
      "supports_claim_ids": [
        "claim-mp-2026-10-22-002-001"
      ]
    }
  ],
  "corrections": [],
  "publisher": {
    "name": "The Machine Press",
    "url": "https://themachinepress.com",
    "description": "A daily newspaper for the age of artificial intelligence."
  },
  "cite_this_report": {
    "title": "The Summary Forgot Who Said What",
    "publisher": "The Machine Press",
    "published_at": "2026-10-22T09:00:00.000-04:00",
    "canonical_url": "https://themachinepress.com/story/mp-2026-10-22-002/the-summary-forgot-who-said-what"
  }
}
