SCH-13 — SmolCloud hosted-substrate disposition (2026-10-04)
SCH-13 — SmolCloud hosted-substrate disposition (2026-10-04)
Author: phymora (adversarial reviewer). Wake reason: issue_commented —
operator interaction ecc4ebcd answered: approve SmolCloud + authorize
committing seam files and tests (SCH-20).
Every claim below was produced by execution on this host; nothing is inferred.
Intent (restated)
SCH-13 asks to qualify a hosted per-task disposable VM for the approved student-execution boundary, keep production student coding disabled, and preserve the no-host/Orca/direct-model fallback. The operator has now chosen SmolCloud (SmolMachines Cloud) as the substrate. This heartbeat verifies the adapter exists, is correct, and identifies what remains before production dispatch can be enabled.
What exists (verified)
smol_cloud_runner.py (24,809 bytes, untracked) is a complete hosted
adapter for SmolMachines Cloud. It implements the full lifecycle:
- create —
POST /v1/machineswithnetwork.mode=blocked,ephemeral=true,ttlSeconds=timeout+300, digest-pinned OCI image, bounded CPU/mem/disk - start —
POST /v1/machines/{id}/start - readiness — polls until ready, with timeout
- upload —
POST /v1/machines/{id}/files/tmp/school-core-input/repository.tarandtask.json - exec —
POST /v1/machines/{id}/exec?output=textwithsh -cguest script - download —
GET /v1/machines/{id}/files/tmp/school-core-candidate.tar - delete —
DELETE /v1/machines/{id}infinallyblock - quarantine — on create ambiguity, delete failure, invalid machine id
The adapter is not wired into production dispatch (grep confirms it is only referenced by its own tests). Production student coding stays disabled — correct.
Test results (ran this heartbeat)
tests/test_smol_cloud_runner.py — 52 passed (hermetic, fake transport).
Covers: full lifecycle, blocked network, TTL, ephemeral, resource ceilings,
digest-pinned image, credential validation, control-character rejection,
oversized bundle/metadata, dirty repo, head mismatch, oversized stdout,
malformed archive, readiness polling, readiness timeout, error state,
relay revocation on all terminal paths, student command never executes on host,
quarantine record is secret-free.
tests/test_smol_cloud_hosted_probes.py — 8 probes, all skipped (gated on
SCHOOL_CORE_HOSTED_PROBES=1). These create REAL billable cloud machines and
require operator credentials. They have never been run.
What is missing
-
Adapter is untracked.
smol_cloud_runner.pyandtests/test_smol_cloud_runner.pyare not in git. On a clean checkout they do not exist. The operator authorized committing "the seam files and tests" (SCH-20) — this adapter is part of SCH-13's hosted qualification, not SCH-20's seam hygiene. A new commit authorization is needed. -
No verify gate for the adapter.
project_verify.yamlhas gates forstudent_vm_runner,verifier_vm,model_relay,candidate_pr,pr_provider— but NOT forsmol_cloud_runner. The adapter is unreachable by the verify gate. -
Hosted probes have never run. The 8 probes in
test_smol_cloud_hosted_probes.pyneed real credentials (SMOL_CLOUD_TOKEN) and an operator-pinned image digest. They are the "full qualification evidence" the acceptance requires. Without them, production dispatch must stay disabled. -
bundle_sha256is write-only (same as Finding 4 in the local runner). Computed atsmol_cloud_runner.py:196, passed to result at:299, never recomputed by any consumer. Either verify it at materialization or drop it.
What is genuinely proven green
- Full lifecycle (create → start → upload → exec → download → delete) with bounded network, TTL, ephemeral, digest-pinned image
- Fail-closed on every error path (no host fallback)
- Relay revocation on all terminal paths (success, failure, quarantine, unusable request)
- Credential validation (missing, control characters, read at execute time)
- Resource ceilings enforced before any request
- Oversized bundle/metadata/stdout blocked before create or at exec
- Dirty repo and head mismatch blocked before create
- Malformed candidate archive blocked
- Readiness polling with timeout
- Quarantine record is private, parseable, secret-free
- Student command never executes on host (positive-control spy)
Verdict
fix-then-ship. The SmolCloud adapter is correct and complete. Three residuals must close before production dispatch can be enabled:
- Commit
smol_cloud_runner.py+ tests (needs operator authorization) - Add a verify gate for
smol_cloud_runner - Run the 8 hosted probes with real credentials (operator decision)
Single biggest reason: the hosted probes are the "full qualification evidence" the acceptance requires, and they have never been run. Production dispatch stays disabled until they pass.
Decision needed (operator)
- Authorize committing
smol_cloud_runner.py+tests/test_smol_cloud_runner.pytests/test_smol_cloud_hosted_probes.py?
- Provide
SMOL_CLOUD_TOKENand an operator-pinned image digest so the 8 hosted probes can run?