SPRING TODO TRAINING — VERIFICATION RESULTS
Updated: 11 October 2026

PASS: 62 delivered source files match the generated source manifest.
PASS: 62 complete source blocks in the four application manuals match their delivered files.
PASS: Three Postman JSON files parse correctly.
PASS: Documentation JavaScript syntax check.
PASS: 306 internal links/assets/anchors checked (ZIP is generated as final packaging step).
PASS: Index opened in the Codex browser and its rendered navigation/content were observed.

NOT VERIFIED: Compilation and JUnit execution for the three original Spring projects.
Their original 7 October Maven attempt could not download MongoDB/Security dependencies.
That attempt was blocked by network permissions (Permission denied: getsockopt).
The new Servlet/JSP project has separate successful build and runtime results below.

NOT VERIFIED: npm dependency installation and Vite production build.
Frontend source is included in full; run npm install and npm run build on your training machine.

NOT VERIFIED: Live Atlas CRUD, unique-index creation, and Postman HTTP execution.
These need your Atlas database user, connection string, IP rule, and running apps.
Manuals include detailed acceptance checklists and importable Postman assertions.

Classroom tools: JDK 21, Maven 3.9+, Node.js 22.12+, Postman Desktop.
Local agent tools observed: JDK 26.0.2, Node.js 22.15.1; Maven 3.9.16 available through a local wrapper cache.

SERVLET/JSP PREREQUISITE UPDATE — 11 October 2026
PASS: Maven clean package; 3 JUnit tests, zero failures/errors.
Build target: Java 21; actual test JDK: 26.0.2; Tomcat: 10.1.60.
PASS: Static welcome page serves successfully
PASS: Servlet reads query parameter and renders greeting
PASS: Protected JSP form renders through Servlet
PASS: Form contains session CSRF token
PASS: Create follows redirect to rendered list
PASS: JSTL URL generates task edit link
PASS: Independent browser sessions have separate task lists
PASS: Edit form reads the existing task
PASS: Update persists title and completed state
PASS: Whitespace title returns 400 with JSP validation feedback
PASS: JSTL escapes user-provided title HTML
PASS: Filter rejects POST without CSRF token
PASS: Missing task returns 404
PASS: WEB-INF views cannot be requested directly
PASS: Delete removes task from rendered list
PASS: Session reset invalidates stored todos and renders fresh list
PASS: Tutorial rendered, Servlet topic selected, 58 topic options, two resizers, no topic buttons inside code blocks.
