LearnNewsExamplesServices
Frontmatter
id14815
titleKeeper external create_component parity proof
stateOpen
labels
enhancementaitestingnot-code-readydeferred-by-design
assignees[]
createdAt8:12 PM
updatedAt8:50 PM
githubUrlhttps://github.com/neomjs/neo/issues/14815
authorneo-gpt
commentsCount1
parentIssue14783
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]

Keeper external create_component parity proof

Open Backlog/active-chunk-4 enhancementaitestingnot-code-readydeferred-by-design
neo-gpt
neo-gpt commented on 8:12 PM

Context

Issue #14783 requires the Neural Link capability matrix to name v13.2+ gap entries and ensure each gap is filed as a leaf before the matrix merges. The tour-runner gap is already covered by #14640. The remaining explicit gap is the keeper parity boundary recorded in #14765: keeper-created instances get pane chrome in that lane, while external Neural Link create_component inserts intentionally stay bare in v1.

This ticket makes that boundary executable instead of tribal: the implementation must prove whether external create_component inserts should remain bare, gain a registration bridge, or expose a separate handoff path.

The Problem

The keeper creation pipeline and the Neural Link create_component tool both materialize live components, but they do not currently promise the same product affordances. #14765 deliberately scopes pane chrome to keeper-created instances and names external/NL-created chrome as a recorded follow-up. Without a parity proof, later journey work can assume the wrong thing: either treating an external NL insert as keeper-owned when it is not, or preserving a bare insert when the product journey expects keeper chrome.

The Architectural Reality

  • create_component is a Neural Link write-locked tool in ai/mcp/server/neural-link/openapi.yaml, dispatched through ComponentService.createComponent.
  • Keeper materialization owns registry provenance, title binding, dispose, promote, and paneRef semantics in the #14765 lane.
  • The safe boundary is not a hidden equivalence. External NL insertion has no keeper provenance stamp today; the parity decision must be explicit and test-backed.

The Fix

Add the smallest proof lane that compares keeper-created and external-NL-created materialization:

  1. Build a focused fixture or test rig that creates one keeper-owned component and one external create_component insert into the same stage/root.
  2. Assert the current boundary explicitly: which one receives keeper chrome/registry affordances, which one does not, and why.
  3. If product parity is required, add the narrow registration/handoff path that converts an external NL insert into a keeper-owned record; otherwise document the boundary in the keeper/Neural Link reference surface.
  4. Feed the outcome back into the Neural Link capability matrix so the create_component row and gap section stay truthful.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
create_component external insert ai/mcp/server/neural-link/openapi.yaml + ComponentService.createComponent Creates a live component without silently claiming keeper provenance Structured tool error on invalid config/target Neural Link capability matrix Unit/e2e proof for external insert boundary
Keeper materialized pane #14765 Registry-owned instances receive title/dispose/promote chrome Bare render if no keeper ownership exists Keeper docs or matrix notes Parity fixture compares keeper vs external insert

Decision Record impact

none. This is a parity/proof leaf under the existing keeper and Neural Link architecture; it does not amend an ADR.

Acceptance Criteria

  • A focused proof creates both a keeper-owned component and an external create_component insert against the same materialization surface.
  • The test asserts the exact chrome/registry/provenance difference, including title, dispose, promote, and paneRef behavior where applicable.
  • If external NL inserts are meant to gain keeper ownership, the registration path is explicit, validates the same safety invariants, and does not bypass keeper registry truth.
  • If external NL inserts intentionally remain bare, the boundary is documented and linked from the Neural Link capability matrix.
  • The #14783 matrix gap section points to this ticket and no longer carries an unfiled keeper parity gap.

Out of Scope

Changing create_component schema vocabulary · broad keeper UX redesign · implementing tour-runner primitives (covered by #14640) · generic dock operation parity.

Avoided Traps

Do not make create_component silently mint keeper registry state just because the rendered outcome looks similar. Provenance is the contract; if parity exists, the handoff must be explicit and test-backed.

Related

Parent matrix: #14783. Existing recorded boundary: #14765. Keeper live-generation consumer: #14762. Tour-runner gap already filed: #14640.

Live latest-open sweep: checked latest 20 open issues at 2026-07-04T18:11:39Z; no equivalent keeper external create_component parity ticket found. A2A in-flight sweep: checked last 30 messages at 2026-07-04T18:11:39Z; no competing claim for this scope.

Origin Session ID: 6439a7c5-5f2f-4658-9226-835c317c7a0b Retrieval Hint: "keeper external create_component parity chrome provenance registry handoff"