LearnNewsExamplesServices
Frontmatter
id13349
titleConversational app creation: first Neo widget
stateClosed
labels
epicaiarchitecture
assigneesneo-fable
createdAtJun 15, 2026, 4:06 PM
updatedAtJul 5, 2026, 5:40 AM
githubUrlhttps://github.com/neomjs/neo/issues/13349
authorneo-gpt
commentsCount12
parentIssue13012
subIssues
13355 Render first-widget transcript and blueprint evidence pane
13357 Capture first-widget requests in a safe chat surface
13361 Mutate first widget from bounded follow-up requests
13362 Create first grid through Neural Link in a live app
13413 First-widget evidence pane + deterministic grid render-together
13438 H2 first-widget: live inserted-grid evidence projection (insert-seam projector)
14642 Chat-creation module boundary inside apps/agentos: the T0 decision record
14644 Constrained-blueprint safety contract v2 for the keeper creation flow
14645 Chat-creation design SSOT: the keeper-flow artifact at the house bar
14655 Keeper request→blueprint route: promote the intake path to the create module
14656 Created-instance registry: live widgets as first-class store records
14689 Accept-path wiring: validated blueprint → live instance through the ONE create path + registry lifecycle
14711 Creation-flow state machine: the five keeper-flow states as a pure transition spine (non-view)
14718 Create-module state.Provider: flow state + registry exposure on the app-worker heap (multi-window by design)
14720 Keeper chat surface: the five-state view binding against the merged SSOT (T3.3)
14762 Keeper NL wiring: the live agent boundary replaces the deterministic fallback behind the ONE injected seam
14763 Keeper mutation grammar: follow-up intents ("make THE GRID bigger") through resolveTarget + the merge-then-validate path
14764 Keeper blueprint preview: the composing-state card renders the validated candidate before accept
14765 Keeper pane chrome: materialized instances get title bar + dispose/promote affordances, registry-truthful
14766 Keeper registry persistence: created instances survive a reload — serialize/rehydrate through the accept path
14767 Retire the first-widget childapp''s v1 grammar onto the create-module spine (one vocabulary, zero forks)
subIssuesCompleted21
subIssuesTotal21
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 5, 2026, 5:38 AM

Conversational app creation: first Neo widget

Closed Backlog/active-chunk-2 epicaiarchitecture
neo-gpt
neo-gpt commented on Jun 15, 2026, 4:06 PM

Context

Epic #13012 and ADR 0020 define the Agent Harness as three ordered product pillars:

  1. Fleet Manager / operate-your-fleet.
  2. Conversational app creation.
  3. Deploy plane.

Live decomposition now has strong H1 coverage: Fleet Manager is tracked by #13015, Electron shell/build-root is #13033, Extended-NL coordination is #13056, QT-grade docking is #13158, and multiple H1/docking leaves have already landed. The H2 product slice — a user chats with the harness and gets a live Neo widget by default — is still mostly present only in the parent epic and ADR prose.

This epic exists to give H2 its own coordination surface without stuffing #13012 with stale pseudo-subs.

Release classification: post-release Agent Harness product line; belongs on the Agent Harness project, not the v13 release board.

Problem Scope

The harness cannot stop at fleet operation. H1 proves the institution can be operated; H2 proves why a new user installs the product: they ask for a useful UI and receive a live Neo app surface rather than a generated artifact blob.

The canonical H2 demo from #13012 / ADR 0020 is deliberately small and high-signal: chat pane -> "build me a neo grid" -> a separate pane, capable of becoming its own window, containing a dummy grid such as five columns by N rows. The widget remains live-mutable afterward. That one gesture demonstrates the impedance match: LLM JSON output becomes Neo Body input, and the user gets co-inhabited runtime state instead of code pasted into an editor.

This is epic-shaped because it spans at least chat orchestration, blueprint emission, live component/window placement, transcript/evidence presentation, and persistence/write-through boundaries. Each deliverable leaf should still be one-PR-sized and linked natively under this epic.

Intended Solution Shape

H2 should produce the first end-to-end conversational creation path for the Agent Harness:

  • A user-facing chat/work surface accepts a natural-language request and preserves transcript context without using unsafe rendered HTML.
  • The agent output path emits a constrained, inspectable Neo component blueprint rather than arbitrary code execution.
  • The first widget target is intentionally narrow: a basic Neo grid or grid-like table with deterministic sample data, theme-compatible visual treatment, and stable dimensions.
  • The created widget appears in a harness pane that can participate in the existing dock / popup / multi-window model instead of being a static preview card.
  • The live object remains editable by subsequent agent/user interaction, with persistence/write-through handled by leaf tickets that can cite the appropriate Agent OS, Neural Link, and Node-git boundaries.
  • Evidence must distinguish a rendered demo from a genuine live component instance that can be inspected or mutated through Neo substrate.

The epic body intentionally does not enumerate the leaf list. Subs will be created and linked incrementally as the shape converges.

Architectural Reality

  • ADR 0020 names conversational app creation as pillar 2 and defines the canonical chat -> grid -> own-window demonstration.
  • #13012 carries the product bar: Claude-Desktop-class single-agent UX is the floor; the category bet is the flat-peer institution and co-inhabited live instances.
  • #13018 / streaming markdown VDOM already constrains transcript rendering toward safe VDOM, not innerHTML.
  • #13022 / the harness visual system seeded theme and state tokens for settings, chat, transcript, and grid-pane surfaces.
  • The docking/multi-window substrate has been decomposed separately through #13025, #13028, #13030, #13158, and the dock-zone contract; H2 should consume that work rather than inventing another pane/window model.
  • Neural Link and the Agent OS already provide mutation and runtime-introspection substrates; H2 leaves must route through those boundaries rather than building a parallel app generator.

Source Mapping

Source authority H2 disposition
#13012 pillar ordering This epic owns pillar 2: conversational app creation after the Fleet Manager foundation.
ADR 0020 canonical demo The first proof is the chat -> Neo widget -> live pane/window path.
#13022 visual system H2 surfaces consume the shared settings/chat/transcript/grid-pane visual contract.
Dock/multi-window line H2 panes consume existing dock/popup/window substrate instead of forking layout semantics.
Topological Locking guardrail H2 starts single-writer unless a leaf explicitly introduces multi-writer Scenario-C work and names its lock boundary.

Decision Record impact

Aligned with ADR 0020. No ADR amendment expected unless the H2 implementation changes the product ordering, source placement, or live-object/co-habitation model.

Out of Scope

  • Fleet Manager H1 implementation; that remains #13015 and its linked leaves.
  • Electron shell/build-root work; that remains #13033.
  • Deploy plane / monetization; that is pillar 3 and should get its own coordination surface when activated.
  • Public performance/endurance claims; those remain bound by the benchmark guardrail.
  • Partner-private workflows or client-specific UI. Public H2 work must serve a second unrelated team.

Avoided Traps / Rejected Shapes

  • Artifact preview instead of live component: rejected. H2 must prove a live Neo object, not a screenshot or static generated code block.
  • Arbitrary code generation as the first path: rejected. The first widget should use constrained component blueprints so the substrate remains inspectable and safe.
  • A second docking/window model: rejected. H2 consumes the existing dashboard/dock/popup line.
  • Bundling the whole assistant product into one leaf: rejected. This epic coordinates leaves; individual PRs close leaf tickets, not the epic.

Related

Duplicate / Claim Sweep

Live latest-open sweep: checked the latest 20 open issues immediately before creation on 2026-06-15T14:07Z; no equivalent H2 / first-widget / conversational-creation epic was present. Adjacent open issues included #13012, #13015, #13033, #13056, #13158, #13247, #13287, and active Fleet Manager / Neural Link leaves.

Targeted live GitHub searches: "first Neo widget", "First Neo Widget", "chat grid", and "Conversational app creation" found the parent epic / adjacent historical surfaces but no dedicated current H2 sub-epic.

A2A in-flight sweep: the mailbox MCP is not exposed in this Codex surface, so I queried the repo-local Memory Core graph read-only for the latest 30 MESSAGE nodes by sentAt. No [lane-claim] or [lane-intent] for H2 conversational app creation / first widget was present. The only relevant fresh coordination message was Grace's #13347 peer-role validation, which supported the already-closed one-shot Codex harness disposition and does not overlap this H2 scope.

Semantic KB sweep: ask_knowledge_base(query='first Neo widget conversational app creation chat grid Agent Harness H2 ticket duplicate', type='ticket') returned no H2 duplicate; the answer surfaced only older unrelated assistant-memory/grid history.

Exact repo/content sweep: rg for first-widget / chat-grid / conversational-creation terms found #13012 / ADR 0020 / #13022 references and no dedicated current sub-epic.

Origin Session ID: 019ec8a7-1f8e-75a3-b223-fe59cc444776

Retrieval Hint: "Agent Harness H2 conversational app creation first Neo widget chat grid live blueprint pane own window"

tobiu removed sub-issue #13353 on Jun 15, 2026, 6:00 PM