HD Sports Zone Bookmark 25M-2 — Access Resolver Smoke Test / No Enforcement

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.

Builder Help Strip

Manager build workflow: Build → Review → Publish → Employee View

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.

1. Build Use existing builder.
2. Draft Draft until published.
3. Review Check conflicts.
4. Publish Existing publish flow.
5. Employees Published self-view.
Manager Schedule Builder — Safe Workflow

Build here. Review conflicts before publishing. Employees view only published schedules.

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.

1. Build Use the current builder workflow.
2. Review Check unavailable blocks and soft conflicts.
3. Publish Publish only after manager review.
4. Employee View Employees use published self-view pages.
Draft Status / Publish Readiness

Treat this as draft work until the manager intentionally publishes it.

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.

Draft Build and review shifts here.
Coverage Confirm staff, roles, dates, and times.
Conflict Review Review soft conflicts before publish.
Published Employees use published self-view pages.
Publish Review Reminder

Review soft conflicts before publishing this schedule.

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.

Unavailable Review unavailable blocks.
Appointments Check appointment overlap.
Manager Holds Review manager holds.
Coverage Check staff coverage.
Publish Publish after review.
Employee View Reminder

Employees should view published schedules only from Employee Portal.

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.

Draft Manager-only build work.
Review Conflicts and coverage.
Publish Existing manager action.
Employee View Published self-view pages.

Smoke Test Summary

No employee schedule access enforcement is active. This smoke test confirms the resolver is safe before we ever use it to filter live employee schedule pages.

Generated Jun 4, 2026 11:26 PM

Read Only Smoke Test Mode

Resolver verification only. No access enforcement is active.

0 Service Issues

Resolver service/class/method checks that failed.

0 Behavior Issues

Preview behavior checks needing review.

0 Candidate Issues

Identity candidate checks needing review.

1 Strong Mappings

Mapping health paths with 95%+ coverage.

0/0/0/3 Route/File/Guard/Table Issues

Critical route / file / guardrail / table issues.

Preserved Boundaries

Read-only resolver smoke test No middleware created No middleware applied No permission enforcement No auth config changes No route middleware changes No database writes No migrations No employee PII output No existing routes removed No existing pages deleted No schedule edits No published schedule edits No draft schedule edits No employee texts No employee emails No notifications No payroll changes No Time Clock rules changes No POS shifts changes No reservations changes No payments changes No waivers changes No customer profile changes No exports generated No PDF generation No CSV export No schedule locking No hard schedule blocking changes

Service Checks

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.

Resolver Behavior Checks

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.

Identity Candidate Checks

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

Safe Expectations

  • Resolver can be instantiated by Laravel.
  • Resolver preview returns structured data safely.
  • Resolver does not display employee names or emails.
  • Resolver returns a safe fallback when no user or no mapping exists.
  • Resolver does not enforce access yet.
  • Resolver does not modify employee portal schedule queries yet.
  • Resolver does not show all shifts to unmapped employees.

Resolver Candidate Snapshot

Candidate Identity Published Column Matches Status
No logged-in user detected
not_logged_in
No identity value None 0 Not available

Mapping Health Checks

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

Route Checks

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 Checks

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 Checks

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 Checks

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

Not Enforced

  • No middleware file is created.
  • No middleware is applied to routes.
  • No config/auth.php changes are made.
  • No app/Http/Kernel.php changes are made.
  • No bootstrap/app.php middleware changes are made.
  • No employee portal query is changed.
  • No schedule data is written.
  • No notifications are sent.
  • No payroll, Time Clock, POS shifts, reservations, payments, waivers, customer profiles, exports, PDFs, CSVs, schedule locking, or hard schedule blocking are touched.

Next Recommended Phase

25M-3 — Employee Schedule Access Resolver Fallback Preview / No Enforcement
Recommended next phase should add a dedicated fallback-preview page showing exactly what employees would see when no mapping or no published shifts exist, without enforcing anything yet.
  1. Keep it read-only.
  2. Preview no-login, no-mapping, no-published-shifts, and mapped-user outcomes.
  3. Keep manager/admin troubleshooting visible.
  4. Do not apply employee-only filtering yet.
  5. Do not add middleware or auth changes yet.
  6. Do not send notifications or touch payroll, Time Clock, POS shifts, reservations, payments, waivers, customer profiles, exports, or locking.