diff --git a/docs/classroom-roadmap.md b/docs/classroom-roadmap.md index bd7f5d4..b8d9d9f 100644 --- a/docs/classroom-roadmap.md +++ b/docs/classroom-roadmap.md @@ -248,15 +248,15 @@ Merged via PR #332 as `8ad3eb2b80d080d244556b9280a0fd2f83565193`. Removed the le Merged PR #333 as `b04684f2432aa474cb84874aa26aa08a5f4c5ab7` implements the canonical contract in `docs/admin-maintenance.md`: a separately authorized maintenance surface that inventories Classroom and Standalone collaboration data, derives idle/expired state from server timestamps + recent presence, previews destructive cleanup, and safely purges selected or bulk stale records. Administration is not a fourth Intake experience role. It also becomes the intentional recovery path for rotating/reissuing Instructor authority after #328 removes the public Instructor access-code form. -**#330 — Startup experience hub + explicit resume — ACTIVE** +**#330 — Startup experience hub + explicit resume — COMPLETE** -Draft PR #334 replaces implicit role restoration with a startup hub that offers **Continue where you left off** when valid saved/resumable context exists, plus **Work independently**, **Join a class**, **Run a class**, and secondary **Administration / Maintenance** entry. Cached Intake, Student resume, and Instructor resume are presented as separate explicit choices rather than silently selecting a role. +Merged PR #334 as `ad7b9835adf3fd5338658f29b634e18b13b2def5` replaces implicit role restoration with a startup hub that offers **Continue where you left off** when valid saved/resumable context exists, plus **Work independently**, **Join a class**, **Run a class**, and secondary **Administration / Maintenance** entry. Cached Intake, Student resume, and Instructor resume are presented as separate explicit choices rather than silently selecting a role. Exact-head GitHub gates passed and the merged `main` deployment reached Vercel production **READY**. ### P1 — production simulation enablement **#316 — Protected staged case assets and rich Student case rendering** -Still technically unblocked, but intentionally ordered **after #328–#330**. Add server-gated protected assets plus accessible table/image/document-page rendering without weakening progressive disclosure or the minimal public-static boundary. +**ACTIVE NEXT SLICE.** Pre-production hardening #328–#330 is complete. Add server-gated protected assets plus accessible table/image/document-page rendering without weakening progressive disclosure or the minimal public-static boundary. **#317 — Author and validate the first production staged KT Case Study** @@ -278,7 +278,7 @@ PRODUCTION SIMULATION ENABLEMENT #317 first production staged KT Case Study ``` -**Current product decision:** #328 and #329 are complete. **#330 Startup experience hub is active on draft PR #334**. Finish and production-verify #330 before #316/#317 so rich staged assets build on finalized compatibility, maintenance, and startup contracts. +**Current product decision:** #328–#330 are complete and production-published. **#316 Protected staged case assets and rich Student case rendering is now the active next slice**, followed by #317 first production staged KT Case Study. ## Stacked PR rules diff --git a/docs/classroom-workstream.md b/docs/classroom-workstream.md index 22f9080..47b611f 100644 --- a/docs/classroom-workstream.md +++ b/docs/classroom-workstream.md @@ -34,8 +34,8 @@ The secure Classroom foundation (#288), live-class management (#312), staged-sim | Join/mobile polish | #320 | Complete | PR #324 merged as `273ae643...` | Safe share/QR + compact mobile Class/Case/Team/Notes/Instructor chrome | | Compatibility reset | #328 | Complete / published | PR #332 merged as `8ad3eb2b...` | Current one-code/session model only; obsolete Classroom access/schema and pre-production save migrations removed | | Admin / Maintenance | #329 | Complete / published | PR #333 merged as `b04684f2...` | Server-authorized inventory, recovery, signed preview, guarded purge, responsive maintenance UI | -| Startup experience hub | #330 | **Active implementation** | Draft PR #334 / `feature/startup-experience-hub` | Explicit Continue / Work independently / Join / Run / Admin choices | -| Rich staged assets | #316 | Deferred until hardening complete | Open | Secure image/table/document-page delivery | +| Startup experience hub | #330 | Complete / published | PR #334 merged as `ad7b9835...` | Explicit Continue / Work independently / Join / Run / Admin choices | +| Rich staged assets | #316 | **Active next slice** | Open | Secure image/table/document-page delivery | | First production staged case | #317 | Deferred / blocked by #316 | Open | Source-faithful official case authoring/rehearsal | ## Current architecture decisions diff --git a/docs/preproduction-hardening.md b/docs/preproduction-hardening.md index 30a6b9e..066dc8f 100644 --- a/docs/preproduction-hardening.md +++ b/docs/preproduction-hardening.md @@ -31,7 +31,7 @@ PRODUCTION SIMULATION ENABLEMENT #317 first production staged KT Case Study ``` -#328 and #329 are complete and published. #329 merged via PR #333 as `b04684f2432aa474cb84874aa26aa08a5f4c5ab7`; its canonical runtime contract is `docs/admin-maintenance.md`. **#330 is active on draft PR #334** and now integrates the proven Admin entry. +#328–#330 are complete and published. #329 merged via PR #333 as `b04684f2432aa474cb84874aa26aa08a5f4c5ab7`; its canonical runtime contract is `docs/admin-maintenance.md`. #330 merged via PR #334 as `ad7b9835adf3fd5338658f29b634e18b13b2def5`; the exact merged `main` deployment reached Vercel production **READY**. The active next slice is #316. ## End-state access model @@ -155,7 +155,7 @@ Do **not** add autonomous scheduled deletion in the first Admin slice. Prove the ## Startup experience hub -**Implementation status:** active in #330 / draft PR #334 on `feature/startup-experience-hub`. +**Implementation status:** complete in #330 / merged PR #334 as `ad7b9835adf3fd5338658f29b634e18b13b2def5`; production deployment verified **READY**. Ordinary app launch should no longer silently resume a role solely because `kt-experience-role-v1` exists.