You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Spun out of daily-failure triage #1361 (run 31163810520, 2026-08-07). Filed against the Guard-Tripped Rule's today-only-collateral default — see Preliminary read.
Upstream:not filed
Symptom
Seven @stable tests hard-failed with one shape: a project the backend confirms exists (POST /api/v1/projects → 201) never resolves in the home sidebar under the testid the suite builds from its name. Every one failed on all three attempts, each attempt creating a fresh project, across worker indices 2–17 and outside the run's single 108 s outage window.
The suite addresses a project by name in two places, and both are in the failing call logs: sidebar-nav-<name> and more-options-button_<slugified name>.
Spec (line)
Waits for
Signature
tests/tests-automations/regression/core-functionality/project-management/folder-deletion-integrity.spec.ts:166 ("deleting a folder should update the folder list immediately")
getByTestId('sidebar-nav-del-integrity-<ts>')
Error: expect(locator).toBeVisible() failed
tests/tests-automations/regression/core-functionality/project-management/folder-deletion-integrity.spec.ts:227 ("deleting one folder should not affect other folders")
getByTestId('sidebar-nav-New Project')
Error: expect(locator).toBeVisible() failed
tests/tests-automations/regression/core-functionality/project-management/folder-deletion-integrity.spec.ts:307 ("creating a new folder after deletion should work correctly")
getByTestId('sidebar-nav-New Project (3)')
Error: expect(locator).toBeVisible() failed
tests/tests-automations/regression/core-functionality/project-management/folder-crud.spec.ts:26 ("creates, renames and deletes an empty project folder via the UI")
getByTestId('sidebar-nav-New Project')
Error: expect(locator).toBeVisible() failed
tests/tests-automations/regression/core-functionality/project-management/folder-crud.spec.ts:86 ("deleting a folder that contains a flow removes the flow with it")
getByTestId('sidebar-nav-crud-del-folder-<ts>')
Error: expect(locator).toBeVisible() failed
tests/tests-automations/regression/core-functionality/project-management/bulk-actions.spec.ts:8 ("user should be able to select flows with different methods and perform bulk actions")
The shared dimension is how the suite addresses a project, not the assertion. The signatures differ — five are toBeVisible() failed and two are locator.click: Timeout — and they are grouped anyway because the locator underneath is the same construction in both forms:
sidebar-nav-${name} — tests/helpers/flows/create-project-through-sidebar.ts:40,57,60, tests/pages/MainPage.ts:95,103,116,129, and inline in all four specs
more-options-button_${slugified name} — tests/pages/MainPage.ts:96, tests/helpers/filesystem/clean-old-folders.ts:18, and inline in folder-deletion-integrity.spec.ts and mcp-server-starter-projects.spec.ts
Every failing wait is one of those two. No spec-level change is common to the four files; three of them do not import each other at all. The one thing they share is the addressing scheme, and the run before this one (2026-08-06) had zero failures in any of them.
The two locator.click: Timeout entries are not wedge collateral: locator.click is deliberately absent from scripts/lib/infra-signature-patterns.json because a real breakage produces it too, and here the click target is the very testid the other five wait on.
Preliminary read (descriptive — NOT a verdict)
This surfaced on a mass-failure day — 8 hard failures against the guard threshold of 5, so daily-stable.yml tripped the mass-failure guard and auto-removed @stable from nothing. The run also carried a confirmed backend outage (108 s on shard 1, 09:07:57→09:09:46 UTC). Neither explains this cluster: it survived every retry, spans both shards and worker indices 2–17, and sits outside the outage window — so the triage's verdict on the day is that it was not environmental, and these seven were quarantined manually (the workflow did not).
Lead to rule out first — stated as a hypothesis, not a cause. Upstream commit 23f91d8587 (fix(authz): support scoped project visibility, langflow-ai/langflow#14429, 2026-08-05) changes both testids in src/frontend/src/components/core/folderSidebarComponent/:
The commit is on release-1.12.0 — the line langflowai/langflow-nightly:latest is cut from — and not on main. That is consistent with the failure landing on 08-07 and not on 08-06, but the image the 08-06 run actually pulled has not been checked, so the correlation is unconfirmed.
A second-order effect worth measuring rather than assuming: cleanOldFolders addresses the kebab the same way, so if it stopped deleting, leftover projects accumulate within a run — which is what the retries show (New Project → New Project (5) across six attempts).
Scope is wider than the seven tests that failed.tests/pages/MainPage.ts (deleteProject, clickProject, uploadFlowByDragDrop), tests/helpers/flows/create-project-through-sidebar.ts, tests/helpers/filesystem/clean-old-folders.ts, plus tests/tests-automations/regression/core-functionality/project-management/folder-drag-drop-flow.spec.ts and tests/tests-automations/regression/core-functionality/project-management/flow-navigation-between-folders.spec.ts carry the same addressing. The last two carry no @stable, so they never ran in this daily.
Investigation directive
Investigate independently, product as prime suspect first. (a) On the current nightly, confirm whether a project entry still renders a name-derived data-testid at all — read the DOM, do not infer it from the commit above. (b) If the testid is now the project id, decide whether that is a product regression (a11y/automation contract broken for users of the id) or an internal rename the suite must adapt to — the two have different homes, and only the second is a suite fix. (c) Rule out the alternative readings the diff does not cover: the same commit wraps the entry in ProjectRenamePermission, so confirm the entry is not being gated away by an authz check rather than merely renamed. (d) Measure whether cleanOldFolders still deletes; if not, the leftover accumulation is a second defect riding on the first.
Whichever way (b) lands, the fix belongs in the shared layer (MainPage.ts, create-project-through-sidebar.ts, clean-old-folders.ts) before the four specs — addressing by the id the create response already returns removes the ambiguity #1023 documented, rather than trading one name for another.
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.fixmeand 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 two non-@stable specs carrying the same addressing (tests/tests-automations/regression/core-functionality/project-management/folder-drag-drop-flow.spec.ts, tests/tests-automations/regression/core-functionality/project-management/flow-navigation-between-folders.spec.ts) are fixed in the same PR — they are latently broken and invisible to the daily.
tests/helpers/filesystem/clean-old-folders.ts is confirmed to actually delete again, measured, not assumed — a silently-failing cleanup is what let leftovers accumulate inside a single run.
If the verdict is a product regression, a row is owed in REGRESSIONS.md and an upstream ticket filed; if it is an internal rename, say so explicitly here so the next reader does not re-open the same question.
Spun out of daily-failure triage #1361 (run 31163810520, 2026-08-07). Filed against the Guard-Tripped Rule's today-only-collateral default — see Preliminary read.
Upstream: not filed
Symptom
Seven
@stabletests hard-failed with one shape: a project the backend confirms exists (POST /api/v1/projects→201) never resolves in the home sidebar under the testid the suite builds from its name. Every one failed on all three attempts, each attempt creating a fresh project, across worker indices 2–17 and outside the run's single 108 s outage window.The suite addresses a project by name in two places, and both are in the failing call logs:
sidebar-nav-<name>andmore-options-button_<slugified name>.tests/tests-automations/regression/core-functionality/project-management/folder-deletion-integrity.spec.ts:166("deleting a folder should update the folder list immediately")getByTestId('sidebar-nav-del-integrity-<ts>')Error: expect(locator).toBeVisible() failedtests/tests-automations/regression/core-functionality/project-management/folder-deletion-integrity.spec.ts:227("deleting one folder should not affect other folders")getByTestId('sidebar-nav-New Project')Error: expect(locator).toBeVisible() failedtests/tests-automations/regression/core-functionality/project-management/folder-deletion-integrity.spec.ts:307("creating a new folder after deletion should work correctly")getByTestId('sidebar-nav-New Project (3)')Error: expect(locator).toBeVisible() failedtests/tests-automations/regression/core-functionality/project-management/folder-crud.spec.ts:26("creates, renames and deletes an empty project folder via the UI")getByTestId('sidebar-nav-New Project')Error: expect(locator).toBeVisible() failedtests/tests-automations/regression/core-functionality/project-management/folder-crud.spec.ts:86("deleting a folder that contains a flow removes the flow with it")getByTestId('sidebar-nav-crud-del-folder-<ts>')Error: expect(locator).toBeVisible() failedtests/tests-automations/regression/core-functionality/project-management/bulk-actions.spec.ts:8("user should be able to select flows with different methods and perform bulk actions")getByTestId('sidebar-nav-bulk-actions-folder-<ts>')TimeoutError: locator.click: Timeout 20000ms exceeded.tests/tests-automations/regression/mcp/server/mcp-server-starter-projects.spec.ts:61("user must be able to see starter projects for mcp servers")getByTestId('more-options-button_new-project').last()TimeoutError: locator.click: Timeout 20000ms exceeded.Why these failures are one cause
The shared dimension is how the suite addresses a project, not the assertion. The signatures differ — five are
toBeVisible() failedand two arelocator.click: Timeout— and they are grouped anyway because the locator underneath is the same construction in both forms:sidebar-nav-${name}—tests/helpers/flows/create-project-through-sidebar.ts:40,57,60,tests/pages/MainPage.ts:95,103,116,129, and inline in all four specsmore-options-button_${slugified name}—tests/pages/MainPage.ts:96,tests/helpers/filesystem/clean-old-folders.ts:18, and inline infolder-deletion-integrity.spec.tsandmcp-server-starter-projects.spec.tsEvery failing wait is one of those two. No spec-level change is common to the four files; three of them do not import each other at all. The one thing they share is the addressing scheme, and the run before this one (2026-08-06) had zero failures in any of them.
The two
locator.click: Timeoutentries are not wedge collateral:locator.clickis deliberately absent fromscripts/lib/infra-signature-patterns.jsonbecause a real breakage produces it too, and here the click target is the very testid the other five wait on.Preliminary read (descriptive — NOT a verdict)
This surfaced on a mass-failure day — 8 hard failures against the guard threshold of 5, so
daily-stable.ymltripped the mass-failure guard and auto-removed@stablefrom nothing. The run also carried a confirmed backend outage (108 s on shard 1, 09:07:57→09:09:46 UTC). Neither explains this cluster: it survived every retry, spans both shards and worker indices 2–17, and sits outside the outage window — so the triage's verdict on the day is that it was not environmental, and these seven were quarantined manually (the workflow did not).Lead to rule out first — stated as a hypothesis, not a cause. Upstream commit
23f91d8587(fix(authz): support scoped project visibility, langflow-ai/langflow#14429, 2026-08-05) changes both testids insrc/frontend/src/components/core/folderSidebarComponent/:The commit is on
release-1.12.0— the linelangflowai/langflow-nightly:latestis cut from — and not onmain. That is consistent with the failure landing on 08-07 and not on 08-06, but the image the 08-06 run actually pulled has not been checked, so the correlation is unconfirmed.A second-order effect worth measuring rather than assuming:
cleanOldFoldersaddresses the kebab the same way, so if it stopped deleting, leftover projects accumulate within a run — which is what the retries show (New Project→New Project (5)across six attempts).Scope is wider than the seven tests that failed.
tests/pages/MainPage.ts(deleteProject,clickProject,uploadFlowByDragDrop),tests/helpers/flows/create-project-through-sidebar.ts,tests/helpers/filesystem/clean-old-folders.ts, plustests/tests-automations/regression/core-functionality/project-management/folder-drag-drop-flow.spec.tsandtests/tests-automations/regression/core-functionality/project-management/flow-navigation-between-folders.spec.tscarry the same addressing. The last two carry no@stable, so they never ran in this daily.Investigation directive
Investigate independently, product as prime suspect first. (a) On the current nightly, confirm whether a project entry still renders a name-derived
data-testidat all — read the DOM, do not infer it from the commit above. (b) If the testid is now the project id, decide whether that is a product regression (a11y/automation contract broken for users of the id) or an internal rename the suite must adapt to — the two have different homes, and only the second is a suite fix. (c) Rule out the alternative readings the diff does not cover: the same commit wraps the entry inProjectRenamePermission, so confirm the entry is not being gated away by an authz check rather than merely renamed. (d) Measure whethercleanOldFoldersstill deletes; if not, the leftover accumulation is a second defect riding on the first.Whichever way (b) lands, the fix belongs in the shared layer (
MainPage.ts,create-project-through-sidebar.ts,clean-old-folders.ts) before the four specs — addressing by the id the create response already returns removes the ambiguity#1023documented, rather than trading one name for another.Deliverables (Done when)
--retries=0runs), fixing waits/flow as needed.test.fixmeand restore@stable, re-validated perCONTRIBUTING.md. (Nothing to lift if nothing was quarantined.)langflowai/langflow-nightly:latest(or therelease-1.x.xbranch), is re-validated there, and@stableis restored — not on a test-side mute.@stablespecs carrying the same addressing (tests/tests-automations/regression/core-functionality/project-management/folder-drag-drop-flow.spec.ts,tests/tests-automations/regression/core-functionality/project-management/flow-navigation-between-folders.spec.ts) are fixed in the same PR — they are latently broken and invisible to the daily.tests/helpers/filesystem/clean-old-folders.tsis confirmed to actually delete again, measured, not assumed — a silently-failing cleanup is what let leftovers accumulate inside a single run.REGRESSIONS.mdand an upstream ticket filed; if it is an internal rename, say so explicitly here so the next reader does not re-open the same question.