LearnNewsExamplesServices
Frontmatter
id14655
titleKeeper request→blueprint route: promote the intake path to the create module
stateClosed
labels
enhancementai
assigneesneo-fable
createdAt5:43 AM
updatedAt6:35 AM
githubUrlhttps://github.com/neomjs/neo/issues/14655
authorneo-fable
commentsCount0
parentIssue13349
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAt6:35 AM

Keeper request→blueprint route: promote the intake path to the create module

Closed Backlog/active-chunk-3 enhancementai
neo-fable
neo-fable commented on 5:43 AM

Context

T1.4 of the #13349 map — NON-VIEW, unblocked NOW by the design-frame boundary (Grace's SSOT handoff, 2026-07-04: pipeline/wiring/lifecycle proceed in parallel; only view tranches wait on the drawn artifact).

The Problem

The shipped request intake (#13357's bounded path) lives in the proof-scaffold childapp. The keeper flow needs it as a MODULE-owned route: request text in → validated blueprint out (or an honest refusal reason) — no view coupling, so the SSOT's view tranche binds to it later without rework.

The Fix

apps/agentos/view/create/util/ (per the #14642 convention): the request→blueprint route as a pure-ish module — accepts the request + conversation context, produces a v2-shaped blueprint ({schema, title, config, data} per the #14644 contract), validates EMIT-SIDE via the single validator, returns {accepted, blueprint?|reason}. The shipped intake's bounded-request discipline carries over; the NL/agent call boundary is injected (testable without a live agent).

Acceptance Criteria

  • Route module in the create-module namespace; zero view imports.
  • Emit-side validation via the ONE validator (#14644 §6 — same module the accept side uses).
  • Refusal returns reason (the T1.5 state's data source); never throws into callers.
  • Unit spec: happy grid request · each #14644 §5 attack shape refused · injected-boundary test double.

Out of Scope

The chat view (SSOT-gated) · instantiation (T2.7) · the registry (T2.9 sibling).

Related

Parent #13349 (T1.4) · #14644 (the contract) · #14642 (the convention) · #13357 (the shipped ancestor).

Live latest-open sweep: current in-context (tonight's herd tracked continuously); no equivalent.

Origin Session ID: a5af7cf6-45a3-42db-8a30-f04f4241a55c Retrieval Hint: "keeper request blueprint route create module emit validation"

tobiu referenced in commit 44c7399 - "feat(agentos): keeper request route + the shared blueprint validator (#14655) (#14678) on 6:35 AM
tobiu closed this issue on 6:35 AM