Skip to content

test(cli-e2e): scaffold.runtime coverage for ui:add ai — McpUiWidget + generative-UI renderer#597

Merged
rickylabs merged 10 commits into
mainfrom
test/561-564-cli-e2e-ui-add-ai
Jul 10, 2026
Merged

test(cli-e2e): scaffold.runtime coverage for ui:add ai — McpUiWidget + generative-UI renderer#597
rickylabs merged 10 commits into
mainfrom
test/561-564-cli-e2e-ui-add-ai

Conversation

@rickylabs

Copy link
Copy Markdown
Owner

Summary

Adds scaffold.runtime e2e coverage for the fresh-ui ai collection ui:add path: install (scaffold.ui-add-ai), local-source dependency mapping for the unpublished @netscript/ai stack (scaffold.ui-local-source), generated-workspace type-check of the copied McpUiWidget.tsx + render-ui.tsx (generated.ui-ai-check), and a server-render behavior gate (behavior.ui-render) asserting nested layout/viz/data output, escaped text, unknown-type and max-depth fallbacks, and absence of raw HTML.

Closes #561
Closes #564

Implementation lane

WSL Codex (GPT-5.6 Sol, medium) thread 019f4e40-b1b2-7a31-a048-091559fcca4d, worktree /home/codex/repos/ns-wt-561-564, supervised by beta6-ship orchestrator fb43bc3e. Slice was implemented stacked on the #258 branch (its gate:e2e evidence) and re-merged with main after PR #594 landed.

Validation

  • deno task e2e:cli run scaffold.runtime --cleanup: 54 passed / 0 failed (full one-pass suite incl. the 4 new gates)
  • CLI e2e unit tests: 35 passed (re-run green after main merge)
  • Scoped check/lint/fmt over packages/cli (593 files): 0 diagnostics/findings
  • No new as casts; no deno.lock churn

Notes

  • Fixture nuance recorded in worklog-561-564.md: the generated root config needed the Fresh app's Preact precompile JSX settings for root-level copied TSX; applied in the local-source preparation gate (fixture config, not a source bypass).
  • Harness run dir: .llm/runs/beta6-ship--orchestrator/ (worklog committed on this branch).

rickylabs and others added 10 commits July 7, 2026 11:15
Independent security re-attack confirms:
- Depth guard complete on all 3 recursive descent paths
- Type whitelist closed, no raw HTML path
- Contract seam correct (consumes E4 input, existing registry)
- All gates green: tests, doc-lint, publish dry-run, arch:check, lock hygiene
- A1 fix verified (pre-fix bypass confirmed, post-fix guard confirmed)

Co-authored-by: openhands <openhands@all-hands.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

2 participants