# MEGA™ v1.8 — Workshop Flow Test Report

| Test | Result |
|---|---|
| PHP syntax across all application source files | PASS |
| JavaScript parser syntax | PASS |
| Existing scoring test (587 taxonomy entries; arithmetic) | PASS |
| Existing user-friendly error-message checks | PASS |
| Mock rendered workshop workspace | PASS (HTML emitted) |
| Mock rendered risk assessment | PASS (HTML emitted) |
| Scheduled/Live/Completed UI states and action routes, static inspection | PASS (code inspection) |
| Source configuration (`app/config.php`) byte-for-byte unchanged | PASS |
| Full ZIP file integrity | PASS (packaging verification) |
| Runtime PHP/MySQL workflow on Afrihost | **NOT TESTED** |
| 5–50 simultaneous workshop participants | **NOT TESTED** |
| Browser screenshot of redesigned pages | **NOT VERIFIED** (headless browser stalled locally) |
| Robust, individual one-person-one-vote identity assurance | **NOT IMPLEMENTED** (existing browser-based restriction remains) |
| Security penetration testing and production certification | **NOT DONE** |

## Critical staging acceptance path
1. Create two departments and import objectives.
2. Schedule a departmental workshop: confirm the application opens its workspace automatically.
3. Add a risk: verify department is fixed, objectives and category/title selectors filter as expected.
4. Confirm voting is blocked while Scheduled.
5. Start workshop. Open a risk and a voting round; vote from separate devices and verify average scoring.
6. Close vote: confirm inherent score, enter controls and factor, confirm residual score.
7. Assign risk owner; create action owner, due date and budget status.
8. Submit completed risk, approve as manager; verify appearance in the consolidated register.
9. End workshop and confirm voting/adding risks are unavailable.
10. Verify historic records and `app/config.php` remain intact.

Passing lint and mock rendering does not certify a live workshop. Test against staging MySQL before an official municipal assessment.
