Context
Epic #13349 decomposes the H2 Agent Harness path: chat/work surface -> constrained blueprint -> live first Neo widget. The first implementation leaf #13353 / PR #13354 proves the constrained blueprint can render as a live Neo grid pane. The next H2 proof needs the surrounding conversation/evidence surface so the user can see what request produced the widget and what bounded blueprint was accepted, without treating generated content as trusted HTML or arbitrary code.
Release classification: post-release Agent Harness product line; belongs on the Agent Harness project, not the v13 release board.
The Problem
A live grid pane alone can be mistaken for a hardcoded demo. H2 needs visible provenance: the request, the accepted blueprint summary, and the rendered result need to sit together so a reviewer can verify this is the start of a conversational creation loop rather than an isolated widget.
The surface must stay deliberately constrained. Transcript/evidence text may be agent-authored or user-authored, so it must render through Neo components / safe text surfaces, not innerHTML, and it must not introduce persistence or write-through before those boundaries are explicitly owned by later leaves.
The Architectural Reality
- #13349 owns the H2 conversational app creation epic and names transcript/evidence presentation as a missing child capability.
- ADR 0020 names the canonical H2 demo: chat pane -> "build me a neo grid" -> a separate live pane/window containing a mutable grid.
- #13018 constrains transcript rendering toward safe VDOM / no unsafe HTML rendering.
- #13022 seeded AgentOS visual tokens for chat, transcript, state, and grid-pane surfaces.
- #13353 / PR #13354 is the prerequisite first live-widget pane; this ticket should build on that shape after it lands, not race the same files while the PR is under review.
The Fix
Add a one-PR H2 child slice that renders a transcript / blueprint evidence pane adjacent to or above the first-widget result inside the AgentOS widget child app.
Expected shape:
- Show a deterministic user request such as "build me a neo grid" and a deterministic agent response summary.
- Show the accepted blueprint schema / title / row-count / column-count as inspectable evidence, not raw executable code.
- Render all transcript/evidence content through bounded Neo component text surfaces or safe VDOM-equivalent rendering; no
innerHTML or arbitrary code execution.
- Keep persistence/write-through out of scope. This is visible provenance for the first widget, not durable chat history.
- Consume the first-widget live pane from #13353 rather than replacing it.
Contract Ledger Matrix
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
| AgentOS widget child app transcript/evidence pane |
#13349, ADR 0020, #13018 |
Displays deterministic request/response provenance and accepted blueprint metadata around the first live widget |
If blueprint evidence is invalid, show bounded rejected-state text |
JSDoc / @summary on new helpers or component methods |
Unit test plus local render smoke |
| Blueprint evidence projection |
#13353 blueprint contract |
Projects schema/title/row-count/column-count without exposing executable strings |
Reject unknown evidence object keys |
JSDoc / @summary |
Unit test for accepted and rejected evidence |
| Rendering safety |
#13018 safe transcript constraint |
No unsafe HTML path for transcript/evidence text |
Fail closed to safe text |
Test source assertion |
Unit test / source assertion |
Decision Record impact
Aligned with ADR 0020. No ADR amendment expected; this ticket implements H2 evidence/provenance presentation without changing the product ordering, source placement, or co-habitation model.
Acceptance Criteria
Out of Scope
- Durable transcript persistence / Memory Core write-through.
- Natural-language model invocation or streaming chat orchestration.
- User-editable mutation path for the live widget.
- Electron shell/build-root work; that remains #13033.
- Any partner-private workflow or client-specific UI.
Avoided Traps / Gold Standards Rejected
- Static demo dead end: rejected. This leaf explicitly ties the widget to visible request/evidence context.
- Unsafe transcript rendering: rejected. Agent/user text must not become trusted HTML.
- Persistence bundled too early: rejected. This leaf proves visible provenance only; persistence/write-through gets a later leaf with its own boundary.
- Duplicate Electron support: rejected. #13033 remains the canonical Electron shell/build-root lane and is not touched here.
Related
Parent: #13349.
Grandparent: #13012.
Prerequisite leaf: #13353 / PR #13354.
Sibling lane: #13033 remains the Electron shell/build-root lane.
ADR: learn/agentos/decisions/0020-agent-harness-concept.md.
Duplicate / Claim Sweep
Live latest-open sweep: checked the latest 20 open issues immediately before creation on 2026-06-15T15:15Z. Relevant results were #13349 (parent H2 epic), #13353 (first live-widget prerequisite), #13012 (grandparent harness epic), #13033 (Electron lane, not duplicate), and unrelated assigned backlog items; no equivalent transcript/evidence child leaf was present.
Targeted live GitHub searches: "first widget transcript evidence pane" and "H2 transcript blueprint evidence Agent Harness" found #13349 and #13353 but no duplicate child leaf.
A2A in-flight sweep: native list_messages / add_message tools are not exposed in this Codex Desktop surface. I could not inspect private in-flight A2A claims from this harness. Public GitHub issue/PR state and repo content were checked immediately before filing, and no public duplicate or collision was visible.
Semantic KB sweep: ask_knowledge_base(query='Agent Harness H2 first widget blueprint chat transcript persistence live edit pane', type='all') surfaced the H2 blueprint/transcript/persistence concepts and confirmed this ticket is the transcript/evidence slice, distinct from persistence/write-through and Neural Link live-edit leaves.
Exact repo/content sweep: rg "first-widget|first widget|transcript evidence|blueprint evidence|H2 transcript" resources/content/issues resources/content/discussions .agents/workflows learn -n returned no existing transcript/evidence child leaf.
Origin Session ID: 019ec8a7-1f8e-75a3-b223-fe59cc444776
Retrieval Hint: "Agent Harness H2 first-widget transcript evidence blueprint metadata safe rendering no innerHTML"
Context
Epic #13349 decomposes the H2 Agent Harness path: chat/work surface -> constrained blueprint -> live first Neo widget. The first implementation leaf #13353 / PR #13354 proves the constrained blueprint can render as a live Neo grid pane. The next H2 proof needs the surrounding conversation/evidence surface so the user can see what request produced the widget and what bounded blueprint was accepted, without treating generated content as trusted HTML or arbitrary code.
Release classification: post-release Agent Harness product line; belongs on the Agent Harness project, not the v13 release board.
The Problem
A live grid pane alone can be mistaken for a hardcoded demo. H2 needs visible provenance: the request, the accepted blueprint summary, and the rendered result need to sit together so a reviewer can verify this is the start of a conversational creation loop rather than an isolated widget.
The surface must stay deliberately constrained. Transcript/evidence text may be agent-authored or user-authored, so it must render through Neo components / safe text surfaces, not
innerHTML, and it must not introduce persistence or write-through before those boundaries are explicitly owned by later leaves.The Architectural Reality
The Fix
Add a one-PR H2 child slice that renders a transcript / blueprint evidence pane adjacent to or above the first-widget result inside the AgentOS widget child app.
Expected shape:
innerHTMLor arbitrary code execution.Contract Ledger Matrix
Decision Record impact
Aligned with ADR 0020. No ADR amendment expected; this ticket implements H2 evidence/provenance presentation without changing the product ordering, source placement, or co-habitation model.
Acceptance Criteria
Out of Scope
Avoided Traps / Gold Standards Rejected
Related
Parent: #13349. Grandparent: #13012. Prerequisite leaf: #13353 / PR #13354. Sibling lane: #13033 remains the Electron shell/build-root lane. ADR:
learn/agentos/decisions/0020-agent-harness-concept.md.Duplicate / Claim Sweep
Live latest-open sweep: checked the latest 20 open issues immediately before creation on 2026-06-15T15:15Z. Relevant results were #13349 (parent H2 epic), #13353 (first live-widget prerequisite), #13012 (grandparent harness epic), #13033 (Electron lane, not duplicate), and unrelated assigned backlog items; no equivalent transcript/evidence child leaf was present.
Targeted live GitHub searches:
"first widget transcript evidence pane"and"H2 transcript blueprint evidence Agent Harness"found #13349 and #13353 but no duplicate child leaf.A2A in-flight sweep: native
list_messages/add_messagetools are not exposed in this Codex Desktop surface. I could not inspect private in-flight A2A claims from this harness. Public GitHub issue/PR state and repo content were checked immediately before filing, and no public duplicate or collision was visible.Semantic KB sweep:
ask_knowledge_base(query='Agent Harness H2 first widget blueprint chat transcript persistence live edit pane', type='all')surfaced the H2 blueprint/transcript/persistence concepts and confirmed this ticket is the transcript/evidence slice, distinct from persistence/write-through and Neural Link live-edit leaves.Exact repo/content sweep:
rg "first-widget|first widget|transcript evidence|blueprint evidence|H2 transcript" resources/content/issues resources/content/discussions .agents/workflows learn -nreturned no existing transcript/evidence child leaf.Origin Session ID: 019ec8a7-1f8e-75a3-b223-fe59cc444776
Retrieval Hint: "Agent Harness H2 first-widget transcript evidence blueprint metadata safe rendering no innerHTML"