KB-2986

Action-Ready Blocker — Phase-2 Offline MVP End-to-End Execution Path (B4′ operator action required; program-macro level)

7 min read Revision 1
tool-kiem-thuaction-ready-blockerphase2-offline-mvpexecution-pathB4-primeoperator-action-requiredno-exec-surfacevpsci-runner2026-06-09

Action-Ready Blocker — Phase-2 Offline MVP End-to-End Execution Path

Macro: PROGRAM_MACRO_CLOSE_PHASE2_OFFLINE_MVP_END_TO_END_ON_VPS_OR_APPROVED_CI_2026_06_09 Run date: 2026-06-10 (macro dated 2026-06-09) · Audience: operator + owner Final status: B4_PRIME_OPERATOR_ACTION_REQUIRED — the whole end-to-end path stops at the same load-bearing true blocker: no agent execution surface can create/run a disposable container on an approved venue. Production mutation: NO · Codex consulted: NO · Mac-local evidence used: NO · Install/system mutation: NO · Container created by agent: NO

No destructive command. No assumed owner/operator approval. This packet provisions nothing. It records a re-verified blocker at the program-macro (end-to-end) level and routes to the operator/owner. It does not duplicate or supersede the canonical command-level fix — that remains checkpoints/operator-blocker-packet-sandbox-attestation-2026-06-09.md.


0. Where the end-to-end path stopped, and why

This program macro asked to close every safe branch of the Phase-2 offline-MVP path end-to-end (read SSOT → verify venue → run B4′ → build MVP → run tests → bind evidence → persist), or produce an action-ready blocker. It stops at Track 2 (venue/runtime) with branch B, exactly as the macro's own step-3 instructs ("If no execution permission exists, create action-ready blocker and stop").

The decisive constraint is unchanged from the prior SANDBOX_ATTESTATION_PARTIAL determination and was re-verified live on 2026-06-10: the agent has no execution surface to run the deny-by-default sandbox on an approved venue. Downstream tracks (build, acceptance/negative tests, FIX7 fixture, matrix binding) are structurally unreachable until B4′ is attested, and fabricating them would be a fake-green / Article-14 violation.

1. The one blocker (load-bearing)

Field Value
Blocker ID B4′ (carried; load-bearing)
Class OWNER_OPERATOR_REQUIRED + INSUFFICIENT_NO_AGENT_EXECUTION_SURFACE (resource)
State BLOCKED
Blocks build acceptance AND everything downstream (MVP build, the 45 enforcement-bound tests, FIX7 read/report fixture, matrix binding). It does not block authoring design/blocker docs (this doc).
Why it blocks The MVP's L1 primary boundary (rev4 §12.1) can only be attested by running the §6 probes inside a real deny-by-default container on an approved venue. The agent cannot create/run such a container. Without attestation, the MVP's own P1/L3 self-check fails closed to BLOCKED / exit 3 and ~11 of 45 acceptance tests (#25/#27/#28/#29/#33/#34/#35/#37 + siblings) cannot pass.

2. Evidence (re-verified 2026-06-10, read-only)

  1. Governed VPS Docker surface is read-only by design. Live list_docker (2026-06-10) returned 11 containers, unchanged set incl. the ephemeral pg-restore-test-20260520T031054Z; the tool's own contract states "Read-only; Docker socket is mounted read-only." The exposed VPS toolset is list_docker, docker_logs, pg_schema, query_pg, read_file, write_file (text-only to /opt/incomex/docs/mcp-writes), directus_*. There is no docker run/exec/create, no shell, no container-creation tool.
  2. No approved CI runner is reachable from the agent tool surface (no runner-trigger / job-dispatch tool exposed).
  3. Mac-local is rejected as a B4′ substitute (owner direction; Article-14 venue-confusion). Its daemon state is irrelevant — the macro and owner forbid it as evidence.
  4. Architecture is operator-provisions → agent-verifies (rev4 / operator packet). The agent verifies returned evidence read-only; it does not run the sandbox itself.

These match the prior machine record reports/sandbox-host-attestation-for-phase2-offline-mvp-2026-06-09.json (decisive_constraint.agent_can_provision_or_run_sandbox = false). No new tool, permission, or venue appeared between 2026-06-09 and 2026-06-10.

3. Exact next action (who / what)

Step Owner Action
A — provision + attest B4′ operator Run checkpoints/operator-blocker-packet-sandbox-attestation-2026-06-09.md on an approved venue only: V1 a throwaway --rm container on the already-deployed VPS Docker runtime (Option B; do not reuse/touch any prod container/network/volume) or V2 an approved deny-by-default CI runner (Option D). Build tki-inspector:attest from the profile's Dockerfile.sandbox + seccomp-deny-by-default.json (§4a), run the §5 exact command, execute the 12 §6 probes, and return the §4 evidence bundle to reports/sandbox-attestation-evidence-<venue>-<date>.json or /opt/incomex/docs/mcp-writes/sandbox-attestation-<date>.json.
B — verify (follow-up agent) follow-up agent Read the bundle read-only, confirm each probe actual == §3 expected (EPERM/EROFS/empty keyset/lo-only/no docker.sock), bind to rev4 matrix #24–#37, then assert B4′ acceptance.
C — dispose B0‴ owner B0‴ (Codex rev4 re-seal) is WAIVED for this offline-MVP prototype-prep scope only; it does not cover B4′ and may be honored later once sandbox/test evidence exists. No action required to unblock B4′.
D — build builder agent Only after B4′ acceptance: execute the gated build prompt planning/build-offline-packet-mvp-with-guard-harness-program-macro-prompt-2026-06-09.md (both hard preconditions cleared).

4. If the venue genuinely cannot run it

If neither V1 (VPS throwaway container) nor V2 (approved CI runner) can be provisioned/attested, the build stays BLOCKED (rev4 §21 hard fallback B) and this escalates to a genuine owner/operator resource constraint. Current governed evidence (Docker runtime already deployed, 11 live containers, no install needed) indicates this is not the expected path — the gap is a missing agent-facing run/create capability, not a missing host.

5. What was NOT done (honest scope)

  • B4′ sandbox not attested (0/12 probes run — no execution surface).
  • MVP not built; the 45 acceptance/negative tests not run; FIX7 read/report fixture not run; matrix binding not produced. All are downstream of B4′ and were correctly not fabricated.
  • No production mutation, no install, no container creation, no Codex call, no Mac-local evidence, no live KB/PG read by any MVP (no MVP exists), no gate consumer, no proof-of-run surface.

Action-ready, program-macro level. The canonical command-level provisioning instructions live in checkpoints/operator-blocker-packet-sandbox-attestation-2026-06-09.md; this doc records that the end-to-end close attempt re-verified the same B4′ blocker on 2026-06-10 and routes it to the operator/owner. Claude performed no provisioning, install, container creation, sandbox run, or production mutation.

Back to Knowledge Hub knowledge/dev/laws/tool-kiem-thu/checkpoints/action-ready-blocker-after-phase2-offline-mvp-execution-path-2026-06-09.md