Skip to content

[Daily #1121] mcp-server-starter-projects: MCP server name is "langflow-agentic", assertion expects "lf-starter_project" (deterministic, 3/3) #1123

Description

@Victor-w-Madeira

Spun out of daily-failure triage #1121 (run 30534416609, 2026-07-30). @stable was auto-removed from this test by the daily workflow (committed to main). The run was a clean, non-guarded daily (466 passed, 2 hard failures, 10 flakes — the mass-failure guard did not trip), so this failure is not mass-failure collateral. Backend liveness measured no mid-run outage on 4/4 shards, but 31 single-probe failures were discarded as blips, so a wedge is not fully ruled out for the run (#1030); this test's last error is not transport-level, and the run attributed it to the spec.

Upstream: not filed

Symptom

On the Settings → MCP Servers page, the first server row renders the name langflow-agentic; the test asserts it contains lf-starter_project. The failure is deterministic — identical on all 3 attempts — and it is the very first assertion of the spec, so nothing after it (project creation, rename, delete) was exercised at all.

Spec (line) Waits for Signature
tests-automations/regression/mcp/server/mcp-server-starter-projects.spec.ts:7 ("user must be able to see starter projects for mcp servers") getByTestId("mcp_server_name_0") textContent to contain "lf-starter_project" Error: expect(received).toContain(expected) // indexOf

Why these failures are one cause

Single test, single assertion — no grouping claim. Filed on its own because the symptom is a name mismatch on a settings row, unrelated to the day's other hard failure (a keyboard-focus path in ui-ux/).

Preliminary read (descriptive — NOT a verdict)

Two readings fit the evidence, and the triage asserts neither. (a) Row addressing: the assertion reads mcp_server_name_0 — index 0 of whatever the page lists first. The daily runs against a shared superuser account, and cleanOldFolders(page) runs immediately before, so if a project named langflow-agentic survives that sweep (or is created by a concurrent shard), it can legitimately occupy row 0 while the starter project sits further down. (b) Upstream rename: the starter project — and therefore the lf-<project> MCP server name derived from it — may have been renamed upstream, in which case langflow-agentic is the new expected value and the test is asserting a stale constant. Determinism across 3 attempts rules out a timing/wait defect either way.

Investigation directive

  1. Reproduce against the current langflowai/langflow-nightly:latest at --retries=0 and capture the full MCP Servers list, not just row 0.
  2. Read GET /api/v1/mcp/servers (or the endpoint the page consumes) directly: establish whether a starter-project-derived lf-starter_project entry exists at all, or whether the starter project itself was renamed upstream.
  3. If it exists but is not first, the defect is the index-0 addressing plus whatever leaves langflow-agentic on the account — decide whether cleanOldFolders should remove it, or whether the assertion should address the row by name.
  4. If it does not exist, treat it as an upstream naming change, record the new expected value, and check which other specs assume lf-starter_project.

Deliverables (Done when)

  • Root cause confirmed per spec (product regression vs. test/wait-strategy vs. environment), with evidence on the current nightly.
  • Each spec passes reliably (multiple clean --retries=0 runs), fixing waits/flow as needed.
  • Quarantine lifted in the fix PR — remove test.fixme and restore @stable, re-validated per CONTRIBUTING.md. (Nothing to lift if nothing was quarantined.)
  • If the root cause is a product (Langflow) regression: recorded as such here, and this issue stays open until the upstream fix lands in langflowai/langflow-nightly:latest (or the release-1.x.x branch), is re-validated there, and @stable is restored — not on a test-side mute.
  • The assertion no longer depends on the position of the row unless position is what is being validated — or the reason position is load-bearing is written down.
  • @stable restored on the test (it was auto-removed by the daily workflow), re-validated per CONTRIBUTING.md.

Metadata

Metadata

Labels

area:mcpModel Context Protocoldaily-failureFailure detected by the daily @stable E2E workflow

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions