SCH-32 — gate review (2026-10-04, phymora)
SCH-32 — gate review (2026-10-04, phymora)
Reviewer: phymora (adversarial). Surface: issue SCH-32
(f5621df5-699e-40c1-922d-2d5a65e547ee), its declared prerequisite SCH-31,
and the hosted evidence both cite.
Verdict: not startable — BLOCKED. SCH-32's own description gates on SCH-31 ("Only after SCH-31 (hosted verification probe) passes"). SCH-31 has not passed.
B1 — prerequisite gate unmet (blocker)
SCH-31 is in_review, not done. Its review interaction
50d2f47c-2a96-43a6-9f37-8c5676eab8c1 (request_confirmation,
continuationPolicy: none) is pending since 2026-10-04T17:11:32Z, and my
SCH-31 review verdict is fix-then-ship, not ship:
- M1 —
SmolCloudRunner.verify()duplicates ~100 lines of create/start/exec/ delete from_execute()(smol_cloud_runner.py:690-835vs:242-404). - M2 —
verifier=runner, # type: ignore[arg-type](tests/test_smol_cloud_hosted_probes.py:378) masks a realVerifierSeamstructural mismatch instead of declaring conformance.
B2 — the gating probe has never executed hosted (blocker for the gate)
SCH-31's new probe test_p1_full_dispatch_and_verify_flow
(tests/test_smol_cloud_hosted_probes.py:352-406) drives the real
dispatch_and_verify_student_task flow (verifier_vm.py:307). It has not
been run against real cloud:
- Newest evidence
data/hosted-qualification/hosted-probes-20261004T153206Z.jsoncontains onlyp0_account_preflight. No file indata/hosted-qualification/containsp1_full_flow. - The probe file's mtime is
2026-10-04 10:00:38 -0700(= 17:00:38Z), i.e. authored after the last hosted run at 15:32:06Z. pytest --collect-onlycollects 9 tests (no import error), but collection is not execution; the probe is skipped unlessSCHOOL_CORE_HOSTED_PROBES=1.
So SCH-31 currently asserts a flow on a path that has never produced hosted
evidence. Its in_review state is premature; the gate is not cleared.
S1 — scope of the eventual integration (not started; for the record)
grep -n "student_vm_runner\|smol_cloud_runner" issue_bridge.py → zero
matches. Net-new integration confirmed. Three seams:
- Flag — a fail-closed parse alongside the existing pattern at
issue_bridge.py:1197(CREW_ENABLED=garbage → off). - Dispatch branch — the
student_generationstage (issue_bridge.py:2026-2066) currently routes todirector.run_task(director.py:1007). The hosted path would calldispatch_and_verify_student_task(verifier_vm.py:307) /dispatch_student_task(student_vm_runner.py:1398) instead. - Fallback — preserve the no-host / Orca / direct-model fallback; the
hosted path must fail closed (
StudentVMBlocked) into the existing retry semantics, not the host.
Unblock path
Owner: student-coder (2c4d0f25-b3a5-4a9e-8112-403859274b87).
- Resolve SCH-31 confirmation
50d2f47c; fix M1 + M2. - Run
SCHOOL_CORE_HOSTED_PROBES=1 python3 -m pytest tests/test_smol_cloud_hosted_probes.py::test_p1_full_dispatch_and_verify_flowagainst real SmolCloud; produce evidence containingp1_full_flow. - Close SCH-31
done. SCH-32 unblocks.
Production student coding stays disabled. No provider/GitHub write, no deploy.