From 89cc475a07c6aec471789368ab32b0b7af8ddea3 Mon Sep 17 00:00:00 2001 From: kjgbot Date: Sun, 6 Sep 2026 22:37:16 +0200 Subject: [PATCH] fix(workflows): drive sync guard still required the pre-#205 sdk/ path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both drive flows open by asserting the repo is materialized before doing anything, and the assertion listed a bare `sdk`: for required in AGENTS.md docs/RFC-0001-... ops/DIRECTIVES.md kernel sdk; do #205 moved that tree to `packages/sdk`. It updated the fourteen other `packages/` references in drive.yaml and missed this one, because the path appears here as a bare word in a shell for-loop list rather than as a `sdk/`-prefixed path — the same shape as the nine stale references that PR already had to chase. The effect is that the guard fires on a correctly materialized repository and both drive flows abort at step one with SYNC_FAIL_NOT_MATERIALIZED, which reads as an infrastructure failure rather than a stale literal. Measured on main @ de43f9e: old guard -> SYNC_FAIL_NOT_MATERIALIZED — missing: sdk new guard -> passes drive-cloud.yaml carries the same script as an escaped YAML scalar and needed the identical change; both files still parse. This matters beyond the two files: `flows-drive` is how the repo implements RFC-0001 on itself (§2, "rewrite relayflows using relayflows"). While its first step fails closed, the dogfooding loop cannot run at all. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1 --- workflows/drive-cloud.yaml | 2 +- workflows/drive.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/drive-cloud.yaml b/workflows/drive-cloud.yaml index 3fdbb688a..71e439720 100644 --- a/workflows/drive-cloud.yaml +++ b/workflows/drive-cloud.yaml @@ -46,7 +46,7 @@ workflows: \ that already has one\n# (laptop, fleet node). Both shapes are supported below; neither is\n# assumed,\ \ and an unmaterialized sandbox fails closed and typed\n# rather than failing later as an unexplained\ \ tool error.\nset -eu\necho \"SYNC_WORKDIR=$(pwd)\"\n\nmissing=\"\"\nfor required in AGENTS.md\ - \ docs/RFC-0001-everything-is-a-relayflow.md ops/DIRECTIVES.md kernel sdk; do\n [ -e \"$required\"\ + \ docs/RFC-0001-everything-is-a-relayflow.md ops/DIRECTIVES.md kernel packages/sdk; do\n [ -e \"$required\"\ \ ] || missing=\"$missing $required\"\ndone\nif [ -n \"$missing\" ]; then\n echo \"SYNC_FAIL_NOT_MATERIALIZED:\ \ the repo is not present in this execution environment.\" >&2\n echo \" missing:$missing\" >&2\n\ \ echo \" cwd: $(pwd)\" >&2\n echo \" A cloud run must upload the working tree: \\`agent-relay\ diff --git a/workflows/drive.yaml b/workflows/drive.yaml index a3482dd8a..a52be0aa6 100644 --- a/workflows/drive.yaml +++ b/workflows/drive.yaml @@ -49,7 +49,7 @@ workflows: echo "SYNC_WORKDIR=$(pwd)" missing="" - for required in AGENTS.md docs/RFC-0001-everything-is-a-relayflow.md ops/DIRECTIVES.md kernel sdk; do + for required in AGENTS.md docs/RFC-0001-everything-is-a-relayflow.md ops/DIRECTIVES.md kernel packages/sdk; do [ -e "$required" ] || missing="$missing $required" done if [ -n "$missing" ]; then