{ "id": "PR_kwDOAgent47", "title": "feat(prompts): split context loading from execution workers", "state": "OPEN", "is_draft": true, "created_at": "2026-04-30T14:22:00Z", "author": { "login": "leaferiksen", "avatar_url": "https://avatars.githubusercontent.com/u/5151?v=4" }, "base_branch_name": "main", "base_repo_slug": "kennethnym/agent-tooling", "base_ref": "8c79c9054e0c28b7ff4b79dd55b04c9af0d81132", "head_branch_name": "feat/worker-context-envelope", "head_repo_slug": "kennethnym/agent-tooling", "head_ref": "4a8df12be732c0f9e5d194cd2af7430c0d2fb8d4", "body": "## Goal\n\nSplit context loading from execution workers so delegation stays predictable while this pull request is still in draft.\n\n### Why\n- workers should receive a compact payload\n- prompt packing should be testable without spawning a worker\n- retry policy should stay in one place\n\n### Boundaries\n| Boundary | Responsibility |\n| --- | --- |\n| `ContextLoader` | Hydrate repository and file context |\n| `PromptAssembler` | Build compact worker payloads |\n| `WorkerRunner` | Apply retry policy and collect results |\n\n### Proposed flow\n1. Load repository context once.\n2. Normalize file excerpts and metadata.\n3. Hand workers a stable execution envelope.\n\n```text\nContextLoader -> PromptAssembler -> WorkerRunner\n```\n\n> Draft status stays until we decide whether token counts belong in the worker response.\n\n### Questions\n- Should `ContextLoader` expose cache hit metrics?\n- Should worker retries carry the same prompt hash?\n- [ ] Add a regression test for interrupted workers" }