HD Sports Zone Bookmark 26A-12 — First Real Save Manual Test Instructions / Gates Stay Disabled

Manager/owner instructions for a future one-row draft-save test. This phase does not enable gates, submit a save form, or write schedule data.

Gate status: Safe: both gates are currently disabled
HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_ENABLED: false
HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_OWNER_APPROVED: false
26A-12 does not edit .env or enable any gate. It is instructions only.
No database write was performed.
Generated: Jun 5, 2026 12:16 AM

Target Table

Tablehd_draft_shifts
ExistsYes
Rows5
ConfidenceHigh

Row Count Safety

Before5
After5
Delta0
Note26A-12 only reads row counts. It does not insert, update, or delete anything.

Confirmation Phrase

Required phrase
SAVE_ONE_DRAFT_SHIFT
Only for the future controlled one-row test. Not used by 26A-12.

Manual Test Steps for Later

StepTitleDetail
1 Confirm this is HD Sports Zone Run all commands only from ~/public_html/hdsportszone.com. Do not use Payfast Office.
2 Open the locked save page first Open /hd/employee-schedules/builder/draft-shift-locked-real-save and confirm it loads.
3 Confirm gates are still disabled Both HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_ENABLED and HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_OWNER_APPROVED should remain false until the actual one-row test.
4 Record row count before the real test Use the target-table row count shown on this page before enabling any gate.
5 Use only one test shift The first real test should create only one simple draft shift for one employee and one date.
6 Use exact confirmation phrase The locked route requires SAVE_ONE_DRAFT_SHIFT exactly.
7 Verify row delta equals 1 After the future one-row test, the target-table row count must increase by exactly one.
8 Confirm nothing published The first real draft save must not appear in employee self-view or published schedule screens.
9 Disable gates immediately after test After the one-row test, set both gates back to false and clear Laravel caches.

Future Test Payload

FieldExampleNote
employee_id 1 Use a real existing employee ID only during the future controlled test.
shift_date 2026-06-05 Use a safe test date.
start_time 09:00 Use HH:MM format.
end_time 10:00 End time must be later than start time.
period_id blank or 1 Optional, depending on table mapping.
role_position Test Draft Shift Optional.
notes 26A controlled one-row test Optional manager note.
manual_confirmation SAVE_ONE_DRAFT_SHIFT Required exactly for future real insert.

Gate Instructions

  • Do not enable gates during 26A-12.
  • A future actual one-row test requires HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_ENABLED=true.
  • A future actual one-row test also requires HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_OWNER_APPROVED=true.
  • After changing .env in a future phase, Laravel caches must be cleared.
  • The confirmation phrase must be typed exactly as SAVE_ONE_DRAFT_SHIFT.
  • If either gate is false, the locked save route should refuse to insert.

Rollback Instructions

  • Set HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_ENABLED=false.
  • Set HD_EMPLOYEE_SCHEDULE_DRAFT_SAVE_OWNER_APPROVED=false.
  • Run php artisan optimize:clear, route:clear, view:clear, config:clear, cache:clear.
  • Reopen the locked smoke test page and confirm both gates show disabled.
  • Do not delete schedule tables as rollback.
  • If one test row was created later and must be removed, identify it first from the result page ID and handle with a specific rollback phase.

Safety Checks

CheckStatusNote
Instruction page is GET-only Passed 26A-12 does not submit any save route.
No ENV changes Passed This phase does not edit .env or enable gates.
No insert/update/delete Passed Controller performs no database write statements.
Row count unchanged Passed Detected row delta: 0
No publish action Passed Employee-facing schedules are not changed.
No employee notifications Passed No text/email behavior is introduced.
No production override Passed Production remains separate.

Route Checks

ScreenExpectedStatusOpen
26A-12 Manual Test Instructions
hd/employee-schedules/builder/draft-shift-manual-test-instructions
GET Passed Open
26A-11 Locked Save Smoke Test
hd/employee-schedules/builder/draft-shift-locked-save-smoke-test
GET Passed Open
26A-10 Locked Real Save
hd/employee-schedules/builder/draft-shift-locked-real-save
GET Passed Open
26A-10 Locked Real Save POST
hd/employee-schedules/builder/draft-shifts/locked-real-save
POST Passed Open
26A-9 Final Safety Checklist
hd/employee-schedules/builder/draft-shift-final-safety-checklist
GET Passed Open
26A-8 Insert Dry Run
hd/employee-schedules/builder/draft-shift-insert-dry-run
GET Passed Open
Production / Build
hd/employee-schedules/production
GET Passed Open

File Checks

FileStatusModified
26A-12 Controller
app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleDraftShiftManualTestInstructionsController.php
Passed 2026-06-02 10:32:18
26A-12 View
resources/views/hd/employee_schedules/draft_shift_manual_test_instructions.blade.php
Passed 2026-06-02 11:26:40
26A-11 Controller
app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleDraftShiftLockedSaveSmokeTestController.php
Passed 2026-06-02 08:58:52
26A-10 Controller
app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleDraftShiftLockedRealSaveController.php
Passed 2026-06-02 08:46:18
26A-9 Controller
app/Http/Controllers/Hd/EmployeeSchedules/EmployeeScheduleDraftShiftFinalSafetyChecklistController.php
Passed 2026-06-02 08:36:09