LearnNewsExamplesServices
Frontmatter
id18427
titleLivePreview''s Dev arms: the FormsEngine guide parses on a hosted runner — its ToC renders — but no live-preview component is ever created
stateClosed
labels
bugaitesting
assigneesneo-opus-ada
createdAtSep 7, 2026, 3:28 AM
updatedAtSep 14, 2026, 11:05 PM
githubUrlhttps://github.com/neomjs/neo/issues/18427
authorneo-opus-ada
commentsCount7
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtSep 14, 2026, 11:05 PM

LivePreview's Dev arms: the FormsEngine guide parses on a hosted runner — its ToC renders — but no live-preview component is ever created

Closed Backlog/active-chunk-21 bugaitesting
neo-opus-ada
neo-opus-ada commented on Sep 7, 2026, 3:28 AM

Context

#18425's exclusion entry for LivePreviewMultiWindow names me as owner of "the 3 unexplained Dev arms". This is that lane, opened so the note in a code comment has a place to be worked rather than only read.

Distinct from #18422. Both are hosted-only portal failures and both touch learn routes, which looked like kinship — checked, and the surfaces differ. #18422 is content that does not follow a route change; this is a component that is never created inside content that did render.

The Symptom

Three of the four Environment: Dev arms fail on a hosted Ubuntu runner while all four pass locally in 40.2s. Dev needs no built bundles, so this is not the Dist half of that file's exclusion:

PASS  32  Dev - Popout LivePreview from Home Route (Helix)     8.4s
FAIL  33  Dev - Popout LivePreview from Learn Route           30.6s
FAIL  34  Dev - Sequential Route: Home -> Learn -> Popout     41.7s
FAIL  35  Dev - Sequential Route: Learn -> Home -> Popout     30.7s

Every failing arm visits #/learn/benefits/body/FormsEngine. The one that never leaves the home route passes on the same run.

Error: expect(locator).toBeVisible() failed
Locator: locator('.neo-code-live-preview').first()
Timeout: 30000ms
Error: element(s) not found

What The Artifact Establishes

From run 34063075394's uploaded artifacts. The three Dev failures are separable from the eight Dist ones by a single tell: the Dist snapshots read Cannot GET /dist/production/apps/portal/, and the Dev snapshots do not.

The Dev snapshot shows a healthy portal:

  • the top nav renders (Neo.mjs, Learn, News, Examples, Services)
  • the learn sidebar tree renders in full, down to the Forms Engine leaf
  • the "On this page" table of contents lists every heading of the FormsEngine guide — Simplifying Complex Data Input, Forms Include a State-Provider, Nested Forms, Conclusion

That ToC is derived from the guide's own headings, so the guide was fetched and parsed. The content pipeline ran. What never appears is .neo-code-live-preview, for the full 30 seconds.

What Is NOT Established

  • Why. No console error or failed request has been checked for these arms yet — only the accessibility snapshot has been read. The trace zip is in the same artifact and has not been opened.
  • Whether a user is affected. Unknown. This is an arm in a tier, not a report from a person.
  • Whether the Home-route pass is meaningful. The passing arm renders a live preview on #/home, which suggests the component works there — but its guide, its code fence and its render path all differ, so it is a weak control rather than a clean one.

Naming a cause here without those reads is how two hypotheses died on adjacent surfaces earlier tonight.

The Fix

Unknown, and deliberately not proposed. The next step is instrumentation, not a repair:

  1. Open the Dev arms' trace zips for console errors, failed requests and the DOM around where the preview should be.
  2. If the trace is silent, a hosted probe reporting what the markdown component produced for that guide's code fences.

Acceptance Criteria

  • The console and network logs for the three Dev arms are read from the existing artifact, and what they contain is recorded — including "nothing", if so.
  • The claim distinguishes "the component is not created" from "it is created and not visible", measured rather than inferred.
  • Whether the Home-route arm is a valid control is decided, not assumed.
  • Either a cause is established and the exclusion entry moves off partial, or the entry records what was ruled out.

Out of Scope

  • The 8 Dist arms, whose cause is verified and whose remedy is a build step this pipeline does not run.
  • #18422's routing divergence.
  • Any repair, until a cause exists.

Related

  • #18425 — the exclusion classification that made this debt visible.
  • #18422 — the other hosted-only portal divergence, different surface.

Origin Session ID: 95f9ff6e-1ba5-43b6-860a-208fbf7f4442

tobiu referenced in commit e4ea42e - "ci(test): make the e2e tier dispatchable as a flake probe (#18505) (#18507) on Sep 9, 2026, 10:32 AM
tobiu referenced in commit 10f627c - "fix(container): a viewport's theme reaches the body, so one surface cannot inherit another's colour (#18571) (#18599) on Sep 12, 2026, 3:14 PM
tobiu closed this issue on Sep 14, 2026, 11:05 PM