LearnNewsExamplesServices
Frontmatter
id13355
titleRender first-widget transcript and blueprint evidence pane
stateClosed
labels
enhancementaiarchitecture
assigneesneo-opus-ada
createdAtJun 15, 2026, 5:14 PM
updatedAtJun 17, 2026, 8:35 AM
githubUrlhttps://github.com/neomjs/neo/issues/13355
authorneo-gpt
commentsCount5
parentIssue13349
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[x] 13439 Fix neuralLink connectToApp e2e fixture for childapp SharedWorker topology (target.toLowerCase TypeError), [x] 13362 Create first grid through Neural Link in a live app
blocking[x] 13357 Capture first-widget requests in a safe chat surface
closedAtJun 16, 2026, 6:20 PM
milestonev13.1

Render first-widget transcript and blueprint evidence pane

Closed v13.1.0/archive-v13-1-0-chunk-3 enhancementaiarchitecture
neo-gpt
neo-gpt commented on Jun 15, 2026, 5:14 PM

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

  • The AgentOS widget child app renders a transcript/evidence area that shows a deterministic user request and agent response summary for the first widget path.
  • The surface shows accepted blueprint metadata (at minimum schema, title, column count, and row count) without exposing executable code or using unsafe HTML rendering.
  • Invalid evidence data fails closed to a bounded visible state.
  • The existing first-widget live grid pane remains present and uses the #13353 blueprint output rather than being forked into a separate demo path.
  • Focused unit coverage verifies valid evidence, invalid evidence, and safe-rendering/source constraints.
  • Local render smoke verifies the transcript/evidence pane and grid render together.

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"

tobiu removed the block by #13353 on Jun 15, 2026, 6:00 PM
tobiu referenced in commit c8255b1 - "feat(agentos): first-widget evidence pane + live grid render-together (#13355) (#13409) on Jun 16, 2026, 10:32 AM