Skip to content

dashboard-widget-icons: two requirements share two scenario titles, so four scenarios collapse to two addressable slugs #320

Description

@rubenvdlinde

Summary

Two gate-19 refs in openspec/specs/dashboard-widget-icons/spec.md are addressable by only one anchor each while describing two different behaviours. Same defect class as doriath#215 / .github#354, now confirmed in a third and fourth app (larpingapp here, launchpad separately).

The collision

 6: ### Requirement: KPI widget icon set (REQ-DWI-001)
 9: #### Scenario: Configured icon name resolves to a supported icon
14: #### Scenario: Unknown or missing icon name renders no icon
19: ### Requirement: Recent-items widget icon set (REQ-DWI-002)
22: #### Scenario: Configured icon name resolves to a supported icon
27: #### Scenario: Unknown or missing icon name renders no icon

Two requirements — KPI widget and Recent-items widget — declare the same two scenario titles. Both collapse to:

dashboard-widget-icons::configured-icon-name-resolves-to-a-supported-icon
dashboard-widget-icons::unknown-or-missing-icon-name-renders-no-icon

No anchor can distinguish them, so a single @e2e on the KPI widget necessarily credits the Recent-items widget too — and vice versa.

How it surfaced

--mode report does not de-duplicate; --mode gate does. On development @ 3936113f:

mode uncovered
--mode report 44 rows
--mode gate (and CI) 42 distinct

The 2-row gap is the collision. Quoting either number alone hides it — which is exactly how doriath#215 was found, and the reason that lesson is worth re-running per app.

Fix

Rename the four scenarios so each names its widget (e.g. "KPI widget: configured icon name resolves to a supported icon").

⚠️ A rename changes the slug. Any @e2e / @spec anchor pointing at the old ref must move in the same change — a dangling anchor is not reported as an error by gate-19, so it will silently read as coverage loss rather than as a broken reference.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions