Surfaced while building clock-weather-widgets (PR #4). None are caused by that change — all findings sit in files it did not touch. Filing so they are not lost.
| Gate |
Finding |
| gate-6 orphan-auth |
lib/Service/PublicShareContext.php:90 isBearer defined-but-never-called |
| gate-7 no-admin-idor |
lib/Controller/AcknowledgementController.php:94 acknowledge, :152 pending — #[NoAdminRequired] with no auth guard in body |
| gate-9 semantic-auth |
lib/Controller/PublicShareController.php:252 show, :326 unlock — #[PublicPage] annotation with an auth check in the body |
| gate-30 effective-manifest-crossref |
menu entry dashboards route /dashboards resolves to no pages[].id/pages[].route |
| gate-46 spec-anchor-existence |
427 unresolved @spec targets (legacy debt) |
| gate-52 orphaned-write-capability |
TileService::createTile, DashboardService::writeDashboardContent — write-capable, zero production callers |
gate-7 and gate-9 are genuine authorization findings and should be triaged first: an #[NoAdminRequired] endpoint with no per-object guard is the classic IDOR shape (ADR-005 Rule 3), and gate-52's orphaned write methods are the 'spec-says-done but nothing calls it' defect class.
Surfaced while building
clock-weather-widgets(PR #4). None are caused by that change — all findings sit in files it did not touch. Filing so they are not lost.lib/Service/PublicShareContext.php:90isBearerdefined-but-never-calledlib/Controller/AcknowledgementController.php:94acknowledge,:152pending—#[NoAdminRequired]with no auth guard in bodylib/Controller/PublicShareController.php:252show,:326unlock—#[PublicPage]annotation with an auth check in the bodydashboardsroute/dashboardsresolves to nopages[].id/pages[].route@spectargets (legacy debt)TileService::createTile,DashboardService::writeDashboardContent— write-capable, zero production callersgate-7 and gate-9 are genuine authorization findings and should be triaged first: an
#[NoAdminRequired]endpoint with no per-object guard is the classic IDOR shape (ADR-005 Rule 3), and gate-52's orphaned write methods are the 'spec-says-done but nothing calls it' defect class.