{
  "version": 1,
  "language": "en",
  "title": "Build the next model request",
  "description": "A teaching trace builds the next model request from a summary, recent tool-call/result pairs, and current source excerpts. The selections are independent.",
  "caption": "A summary, recent tool-call/result pairs, and current source excerpts join in the next model request. The selections are independent. Author-created teaching trace, not a product architecture or required read order. Playback time is not measured runtime.",
  "alt": "Flow diagram: a task summary, recent tool-call/result pairs, and current source excerpts join in the next model request.",
  "sources": [
    {
      "file": "../../post.md",
      "role": "Author-created context construction example"
    },
    {
      "url": "https://github.com/earendil-works/pi/blob/v0.80.6/packages/coding-agent/docs/compaction.md",
      "role": "Context reconstruction mechanism reference"
    }
  ],
  "limitations": [
    "Constructed teaching trace, not product internals or measured execution.",
    "Independent selections advance together for teaching; no mandatory runtime order or concurrency is claimed.",
    "Playback timing is illustrative."
  ],
  "targets": {
    "history": {
      "id": "context-history",
      "kind": "node",
      "label": "Saved history"
    },
    "files": {
      "id": "context-files",
      "kind": "node",
      "label": "Current files"
    },
    "summary": {
      "id": "context-summary",
      "kind": "node",
      "label": "Task summary"
    },
    "recent": {
      "id": "context-recent",
      "kind": "node",
      "label": "Recent tool-call/result pairs"
    },
    "evidence": {
      "id": "context-evidence",
      "kind": "node",
      "label": "Source excerpts"
    },
    "request": {
      "id": "context-request",
      "kind": "node",
      "label": "Next model request"
    },
    "history-summary": {
      "id": "context-history-summary",
      "kind": "edge",
      "label": "Summarize selected history"
    },
    "history-recent": {
      "id": "context-history-recent",
      "kind": "edge",
      "label": "Keep call-result pairs"
    },
    "files-evidence": {
      "id": "context-files-evidence",
      "kind": "edge",
      "label": "Retrieve current source"
    },
    "summary-request": {
      "id": "context-summary-request",
      "kind": "edge",
      "label": "Include task summary"
    },
    "recent-request": {
      "id": "context-recent-request",
      "kind": "edge",
      "label": "Include recent pairs"
    },
    "evidence-request": {
      "id": "context-evidence-request",
      "kind": "edge",
      "label": "Include current source"
    }
  },
  "stateLabels": {
    "history": "Saved records",
    "summary": "Task summary",
    "recent": "Recent call-result pairs",
    "evidence": "Current source",
    "request": "Next request"
  },
  "scenarios": [
    {
      "id": "assemble-context",
      "title": "Assemble a continuation request",
      "description": "Keep the locale constraint while selecting current source and tool results paired with their calls.",
      "initial": {
        "history": "Original records remain saved",
        "summary": "Not selected",
        "recent": "Not selected",
        "evidence": "Not retrieved",
        "request": "Goal and instructions available; request not assembled"
      },
      "unselected": [],
      "steps": [
        {
          "title": "Select request inputs",
          "description": "Select summary content and recent tool-call/result pairs from history, and retrieve current source. These independent branches are shown together without prescribing their runtime order.",
          "duration": 3600,
          "active": [
            "history",
            "files",
            "summary",
            "recent",
            "evidence"
          ],
          "paths": [
            "history-summary",
            "history-recent",
            "files-evidence"
          ],
          "state": {
            "history": "Original records remain saved",
            "summary": "Locale constraint and pending test retained",
            "recent": "Read calls stay paired with their results",
            "evidence": "Current cache key and renderer excerpts selected",
            "request": "Goal and instructions available; request not assembled"
          }
        },
        {
          "title": "Join the selected information",
          "description": "The request is assembled after its selected inputs are available. The summary, recent pairs, and source excerpts join with the goal and instructions.",
          "duration": 3600,
          "active": [
            "summary",
            "recent",
            "evidence",
            "request"
          ],
          "paths": [
            "summary-request",
            "recent-request",
            "evidence-request"
          ],
          "state": {
            "history": "Original records remain saved",
            "summary": "Locale constraint and pending test retained",
            "recent": "Read calls stay paired with their results",
            "evidence": "Current cache key and renderer excerpts selected",
            "request": "Assembled: goal, instructions, summary, recent pairs, current source"
          }
        },
        {
          "title": "Continue from selected inputs",
          "description": "The next model call can use these inputs. Older records remain saved and recoverable outside this request. This trace simulates no model call or result.",
          "duration": 2800,
          "active": [
            "request"
          ],
          "paths": [],
          "state": {
            "history": "Original records remain saved",
            "summary": "Locale constraint and pending test retained",
            "recent": "Read calls stay paired with their results",
            "evidence": "Current cache key and renderer excerpts selected",
            "request": "Ready for the next inference; no model call is simulated"
          }
        }
      ]
    }
  ]
}
