docs(e2e): record why roadie-backstage-plugins has no app-next lane - #3327
docs(e2e): record why roadie-backstage-plugins has no app-next lane#3327gustavolira wants to merge 1 commit into
Conversation
RHIDP-16301 asks for an app-next lane here. Both of this workspace's
projects are blocked upstream, for two different reasons, so the honest
deliverable is the finding rather than a lane that cannot pass.
backstage-plugin-github-pull-requests does have an NFS surface --
src/alpha.tsx with createFrontendPlugin -- but it registers
`extensions: [githubPullRequestsApi]`, an ApiBlueprint and nothing else.
There is no EntityContentBlueprint, so the "Pull/Merge Requests" entity tab
the spec clicks cannot exist under the new frontend system. The surface
contributes an API, no UI. The package also declares no backstage.features
and has no exports map.
scaffolder-backend-module-http-request is a backend module, so NFS does not
apply to it, and its spec asserts verifyHeading("Self-service") -- a global
header element, which packages/app-next does not ship.
Both were checked at the pinned ref (c1b84e94) and on upstream main, 62
commits ahead, where alpha.tsx is unchanged. Bumping the ref would not help.
Adding a lane anyway would fail on a missing tab and read as a wiring bug
rather than as an absent upstream extension -- the failure mode this epic
keeps running into. These packages are `community` in the support matrix,
which requires no E2E at all, so the remedy is an upstream contribution or
nothing, not a lane here.
The note lives in playwright.config.ts because that is where the next person
adding a lane will look first, and the triage sheet's roadie row now carries
the same finding.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
|
🤖 Finished Review · ✅ Success · Started 1:52 PM UTC · Completed 1:57 PM UTC Commit: |
|
Closing — there is no lane to add here, so there is no PR to make. The finding stands and is recorded on RHIDP-16301 instead:
The remedy is an upstream contribution to RoadieHQ, and these packages are |
|
🤖 Finished Retro · ✅ Success · Started 1:56 PM UTC · Completed 2:05 PM UTC Commit: |
|
Review skipped — this PR is already closed. The Posted by fullsend post-review check |
Retro: PR #3327 — docs(e2e): record why roadie-backstage-plugins has no app-next laneWorkflow quality: Clean, no actionable improvements found. All identified waste is already tracked by existing issues. Timeline
AssessmentReview quality — Excellent. The agent verified technical claims (NFS surface analysis, backend module classification, support tier lookup) against actual workspace metadata. The APPROVE verdict was correct. No false positives, no missed issues. Token waste — The review agent spent $0.85 and 5.5 minutes reviewing a PR that was closed 3 minutes after opening. The work was thorough but produced no value. This is the only waste identified. Rework — None. Single commit, no iterations. Already-tracked issues (no new proposals needed)
Why no proposalsThe only waste (review on a quickly-closed PR) is a well-understood problem with 5+ open issues tracking it across the platform and agents repos. The harness dispatch error was fixed earlier today. The human's workflow was efficient — they opened a PR, realized the finding belonged elsewhere, and closed it promptly. No systemic improvement beyond what is already tracked. |



Closes RHIDP-16301.
The ticket asks for an app-next lane. Both projects in this workspace are blocked upstream, for two different reasons, so the deliverable is the finding rather than a lane that cannot pass. Docs-only.
1.
backstage-plugin-github-pull-requests— NFS surface exists, but contributes no UIThe package does have an NFS surface. At the pinned ref,
src/alpha.tsx:extensionscontains anApiBlueprintand nothing else — noEntityContentBlueprint, noEntityCardBlueprint, noPageBlueprint. So the "Pull/Merge Requests" entity tab this spec clicks cannot exist under the new frontend system. The surface registers an API; it renders nothing.The package also declares no
backstage.featuresand has noexportsmap, which is consistent with what the readiness data already showed for all six@roadiehq/*frontend packages: a servable module-federation remote with no NFS entry point.2.
scaffolder-backend-module-http-request— NFS does not apply, and the spec needs the global headerIt is a backend module, so there is no frontend surface to migrate. Separately, its spec asserts
verifyHeading("Self-service")— a global header element, andrhdh:packages/app-nextships no global header. (Same thing that broke one test in #3318.)Checked against a newer ref too
Both findings hold at the ref
source.jsonpins (c1b84e94) and on upstreammain, 62 commits ahead, wherealpha.tsxis byte-identical. Bumping the ref would not help — worth stating because that is the obvious first guess.Why not add the lane anyway
It would fail on a missing tab, and the failure would read as a wiring bug rather than as an absent upstream extension. That is precisely the misattribution this epic keeps hitting.
And per the support levels in
rhdh:docs/testing-requirements-matrix.md, every frontend package here iscommunity— a tier that requires no E2E at all, only that the published artifact installs and boots. The strategy is also explicit that for third-party plugins we do not own we should have no coverage goals, only integration checks. So the remedy is an upstream contribution to RoadieHQ, or nothing — not a lane in this repo.Where the note lives
playwright.config.ts, because that is the first file someone adding a lane opens, and the triage sheet'sroadie-backstage-pluginsrow now carries the same finding so the epic's tracking artifact agrees.Relevant to the in-flight "disable non-NFS-ready tests" work
This workspace is a concrete, evidenced member of that set. Worth noting for whoever builds the filter: keying it on the project filename will not classify this workspace correctly — neither project is named
-app-next, and neither is NFS-ready. ConverselyuseNewFrontendSystem: trueinrhdh.configure()already enables NFS without the suffix (see #3234 for homepage), so the name and the reality can diverge in both directions. The authoritative signal isrhdh.deploymentConfig.useNewFrontendSystem.🤖 Generated with Claude Code