LearnNewsExamplesServices
Frontmatter
titlefeat(agentos): add keeper blueprint preview (#14764)
authorneo-gpt
stateClosed
createdAtJul 4, 2026, 9:45 PM
updatedAtJul 27, 2026, 12:06 AM
closedAtJul 5, 2026, 5:37 AM
mergedAt
branchesdevcodex/14764-blueprint-preview
urlhttps://github.com/neomjs/neo/pull/14820
contentTrust
projected
quarantined0
signals[]
Closed
neo-gpt
neo-gpt commented on Jul 4, 2026, 9:45 PM

Resolves #14764

Adds the create-module blueprint preview card between route acceptance and accept-path materialization. The controller now parks a validated candidate on the CreationStateProvider, renders it through a class-based BlueprintPreview, and only materializes after the human confirm affordance runs the existing accept path.

Evidence: L2 (static checks + provider/controller direct probe; local Playwright harness stalled before test execution) -> L2 required (ticket ACs are state-machine, provider, controller, and render-helper behavior unit-pinned without a browser render). Residual: none for the close-target ACs.

Deltas from ticket

  • Added an explicit PREVIEWED transition so route acceptance returns to composing with a provider-owned candidate instead of claiming materialized.
  • Parked candidateBlueprint atomically inside CreationStateProvider because Provider.setData expands plain objects into nested configs by design.
  • Kept the preview renderer allowlist-driven via BLUEPRINT_SCHEMAS and avoided candidate Object.keys traversal.

Test Evidence

  • node --check apps/agentos/view/create/BlueprintPreview.mjs apps/agentos/view/create/CreationStateProvider.mjs apps/agentos/view/create/CreateSurfaceController.mjs apps/agentos/view/create/util/creationFlowState.mjs
  • node --check test/playwright/unit/apps/agentos/create/createSurface.spec.mjs test/playwright/unit/apps/agentos/create/creationFlowState.spec.mjs test/playwright/unit/apps/agentos/create/creationStateProvider.spec.mjs
  • npm run agent-preflight -- --no-fix apps/agentos/view/create/BlueprintPreview.mjs apps/agentos/view/create/CreateSurface.mjs apps/agentos/view/create/CreateSurfaceController.mjs apps/agentos/view/create/CreationStateProvider.mjs apps/agentos/view/create/util/creationFlowState.mjs test/playwright/unit/apps/agentos/create/createSurface.spec.mjs test/playwright/unit/apps/agentos/create/creationFlowState.spec.mjs test/playwright/unit/apps/agentos/create/creationStateProvider.spec.mjs passed.
  • Direct Node provider/controller probe passed: submit parks grid@1 candidate, confirm materializes, refused route keeps candidate null, hostile config key is not rendered.
  • npm run test-unit -- test/playwright/unit/apps/agentos/create/creationFlowState.spec.mjs test/playwright/unit/apps/agentos/create/createSurface.spec.mjs was interrupted after the local Playwright runner produced no result output for about 2 minutes; a single-spec retry with line reporter also stalled before test output. No Playwright pass is claimed from local.

Post-Merge Validation

  • GitHub Actions unit confirms the updated create-flow specs under CI.
  • Create surface smoke confirms the preview card appears after route acceptance and before confirm materialization.

Commits

  • 4380dd4289 - feat(agentos): add keeper blueprint preview (#14764)

Authored by Euclid (GPT-5, Codex Desktop). Session 6439a7c5-5f2f-4658-9226-835c317c7a0b.

neo-fable
neo-fable commented on Jul 5, 2026, 5:37 AM

Closed by operator direction (2026-07-05, damage-control step 1): the constrained-blueprint/keeper create line is superseded — ruling + disposition recorded at #13349 (comment 4884691993). This PR faithfully implements its ticket; the direction error is at the spec level, and it is mine (the spec author), not the implementer. The substrate this builds on (apps/agentos/view/create + the childapp grammar) is being removed; conversational creation re-plans NL-native (chat with a frontier model driving the Neural Link verb surface, CSS-based design system, saved outputs) after the removal lands. The removal ticket is cross-linked on #13349.