Read-only smoke test for the employee schedule access resolver. This verifies the helper/service, safe resolver behavior, identity candidates, mapping health, route availability, files, and guardrails before any access enforcement is applied. It does not create middleware, apply middleware, change auth, change employee portal queries, write data, expose employee names/emails, send notifications, or touch payroll, Time Clock rules, POS shifts, reservations, payments, waivers, customer profiles, exports, PDFs, CSVs, schedule locking, or hard schedule blocking.
Quick links are consolidated here so managers do not have to hunt through the larger navigation. This strip is visual only. It does not change saves, publishing, schedule rows, employee views, notifications, locking, payroll, Time Clock, POS, reservations, payments, waivers, or customer profiles.
Use this screen for the existing manager build workflow. Before publishing, review unavailable blocks and soft conflicts. After publishing, employees should use the Employee Portal, My Schedule, Weekly Schedule, or Print Weekly.
Phase 25P-1 only adds clarity and support links. It does not change draft saves, publishing, schedule locking, employee text/email notifications, payroll, Time Clock, POS shifts, reservations, payments, waivers, or customer profiles.
Before publishing, confirm the date range, employee coverage, shift times, and soft conflicts. Once published, employees should use the Employee Portal and self-view pages for their final schedule.
Phase 25P-2 adds labels and readiness guidance only. It does not change save buttons, publish buttons, schedule rows, draft data, published data, employee visibility, notifications, locking, payroll, Time Clock, POS shifts, reservations, payments, waivers, or customer profiles.
Before the manager publishes, check unavailable blocks, appointments, manager holds, duplicate shift issues, and any soft conflicts. Conflicts are still review warnings only; this does not hard-block scheduling.
Phase 25P-3 adds this publish-review callout only. It does not change save buttons, publish buttons, draft rows, published rows, employee visibility, schedule locking, employee text/email notifications, payroll, Time Clock, POS shifts, reservations, payments, waivers, or customer profiles.
After the manager publishes, employees should use Employee Portal, My Schedule, Weekly Schedule, or Print Weekly. Managers should avoid sending employees to builder, diagnostics, route catalogs, checklists, or developer tools.
Phase 25P-4 adds this reminder only. It does not change publish behavior, employee schedule data, employee permissions, schedule locking, employee text/email notifications, payroll, Time Clock, POS shifts, reservations, payments, waivers, or customer profiles.
Generated Jun 4, 2026 11:26 PM
Resolver verification only. No access enforcement is active.
Resolver service/class/method checks that failed.
Preview behavior checks needing review.
Identity candidate checks needing review.
Mapping health paths with 95%+ coverage.
Critical route / file / guardrail / table issues.
| Check | Status | Detail | Note |
|---|---|---|---|
| Resolver class exists | Passed | App\Support\Hd\EmployeeSchedules\EmployeeScheduleAccessResolver | Reusable resolver/helper is available. |
| Resolver service injected | Passed | App\Support\Hd\EmployeeSchedules\EmployeeScheduleAccessResolver | Laravel container can provide the resolver. |
| Method exists: previewCurrentUser | Passed | previewCurrentUser | Required for safe preview and future controlled implementation. |
| Method exists: candidateIdentities | Passed | candidateIdentities | Required for safe preview and future controlled implementation. |
| Method exists: recommendedCandidate | Passed | recommendedCandidate | Required for safe preview and future controlled implementation. |
| Method exists: mappingHealth | Passed | mappingHealth | Required for safe preview and future controlled implementation. |
| Method exists: safeFilterPlan | Passed | safeFilterPlan | Required for safe preview and future controlled implementation. |
| Method exists: fallbackRules | Passed | fallbackRules | Required for safe preview and future controlled implementation. |
| Method exists: notEnforced | Passed | notEnforced | Required for safe preview and future controlled implementation. |
| Resolver has no constructor requirements | Passed | Reflection check | Keeps resolver easy to instantiate safely. |
| Check | Status | Detail | Note |
|---|---|---|---|
| Preview returned array | Passed | previewCurrentUser() | Resolver should return structured preview data. |
| Preview mode is no-enforcement | Passed | preview_only_no_enforcement | The resolver is not an enforcement layer yet. |
| Safe identity summary exists | Passed | safe_identity_summary | User summary should be anonymized and safe. |
| Candidate identities exist | Passed | candidate_identities | Candidate identity paths should be inspectable. |
| Recommended candidate exists | Passed | recommended_candidate | Resolver should always give a safe recommendation or safe no-match response. |
| Fallback rules exist | Passed | fallback_rules | Fallback rules prevent showing all shifts on mapping failure. |
| No enforcement list exists | Passed | not_enforced | Page must clearly state that enforcement is not active. |
| Check | Status | Detail |
|---|---|---|
| Candidate collection readable | Passed | Even no-login state should return a safe candidate/fallback row. candidate_identities count: 1 |
| No raw names/emails required | Passed | This smoke test intentionally displays masked identity values only. safe display policy |
| Candidate statuses available | Passed | Each identity candidate should report a safe status. status field |
| Fallback-safe recommendation | Passed | Resolver should never recommend showing all shifts on failure. No resolved employee identity yet |
| Candidate | Identity | Published Column | Matches | Status |
|---|---|---|---|---|
| No logged-in user detected not_logged_in |
No identity value | None | 0 | Not available |
| Mapping | Status | Confidence | Coverage | Availability | Note |
|---|---|---|---|---|---|
| Published Shifts user_id → Users id | Unavailable | High | 0.0% | Unavailable | Distinct shift values: 0 / matched values: 0 |
| Published Shifts employee_id → Employees id | Unavailable | High | 0.0% | Unavailable | Distinct shift values: 0 / matched values: 0 |
| Published Shifts employee_id → HD Employees id | Strong | High | 100.0% | Available | Distinct shift values: 1 / matched values: 1 |
| Published Shifts staff_id → Staff id | Unavailable | Medium | 0.0% | Unavailable | Distinct shift values: 0 / matched values: 0 |
| Published Shifts staff_id → HD Staff id | Unavailable | Medium | 0.0% | Unavailable | Distinct shift values: 0 / matched values: 0 |
| Published Shifts user_id → Employees user_id | Unavailable | Medium | 0.0% | Unavailable | Distinct shift values: 0 / matched values: 0 |
| Published Shifts user_id → HD Employees user_id | Unavailable | Medium | 0.0% | Unavailable | Distinct shift values: 0 / matched values: 0 |
| Area | Critical | Status | URI | Open |
|---|---|---|---|---|
| Access Resolver Smoke Test | Critical | Detected | hd/employee-schedules/access-resolver/smoke-test | Open |
| Employee Portal Access Resolver Smoke Test | Critical | Detected | hd/employee-schedules/employee-portal/access-resolver/smoke-test | Open |
| Access Resolver Preview | Critical | Detected | hd/employee-schedules/access-resolver | Open |
| Employee Portal Access Resolver Preview | Critical | Detected | hd/employee-schedules/employee-portal/access-resolver | Open |
| Production Home | Critical | Detected | hd/employee-schedules/production | Open |
| 25L Completion | Critical | Detected | hd/employee-schedules/production/completion | Open |
| Employee Portal | Critical | Detected | hd/employee-schedules/employee-portal | Open |
| My Schedule | Critical | Detected | hd/employee-schedules/employee-portal/my-schedule | Open |
| Weekly View | Critical | Detected | hd/employee-schedules/employee-portal/weekly | Open |
| Access Guard Design | Optional | Detected | hd/employee-schedules/access-guard-design | Open |
| Mapping Audit | Optional | Detected | hd/employee-schedules/user-mapping-audit | Open |
| File | Status |
|---|---|
|
Access Resolver Service /home/at4txjiyemp4/public_html/hdsportszone.com/app/Support/Hd/EmployeeSchedules/EmployeeScheduleAccessResolver.php |
Present |
|
Access Resolver Smoke Test Controller /home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleAccessResolverSmokeTestController.php |
Present |
|
Access Resolver Smoke Test View /home/at4txjiyemp4/public_html/hdsportszone.com/resources/views/hd/employee_schedules/navigation/access_resolver_smoke_test.blade.php |
Present |
|
Access Resolver Preview Controller /home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleAccessResolverPreviewController.php |
Present |
|
Access Resolver Preview View /home/at4txjiyemp4/public_html/hdsportszone.com/resources/views/hd/employee_schedules/navigation/access_resolver_preview.blade.php |
Present |
|
Slim Clean Navigation Partial /home/at4txjiyemp4/public_html/hdsportszone.com/resources/views/hd/employee_schedules/_clean_nav.blade.php |
Present |
|
Navigation Route File /home/at4txjiyemp4/public_html/hdsportszone.com/routes/hd_employee_schedule_navigation.php |
Present |
| Guardrail | Status | Note |
|---|---|---|
|
Auth config exists but not edited by this smoke test /home/at4txjiyemp4/public_html/hdsportszone.com/config/auth.php |
Passed | This phase does not write config/auth.php. |
|
Kernel file exists but not edited by this smoke test /home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Kernel.php |
Passed | This phase does not create/apply middleware or edit Kernel. |
|
Bootstrap middleware file exists but not edited by this smoke test /home/at4txjiyemp4/public_html/hdsportszone.com/bootstrap/app.php |
Passed | This phase does not alter bootstrap middleware registration. |
|
No enforcement middleware created by this phase /home/at4txjiyemp4/public_html/hdsportszone.com/app/Http/Middleware/HdEmployeeScheduleSelfAccess.php |
Passed | A missing enforcement middleware is expected at this stage. |
|
No employee schedule access migration created by this phase /home/at4txjiyemp4/public_html/hdsportszone.com/database/migrations |
Passed | This phase does not create migrations or mapping records. |
| Table | Status | Rows |
|---|---|---|
|
Users users |
Present | 0 |
|
Employees employees |
Not Detected | 0 |
|
HD Employees hd_employees |
Present | 4 |
|
Staff staff |
Not Detected | 0 |
|
HD Staff hd_staff |
Not Detected | 0 |
|
Published Schedule Periods hd_published_schedule_periods |
Present | 1 |
|
Published Shifts hd_published_shifts |
Present | 1 |