Skip to content

examples/dependency-upgrade-bot: blocked on unsupported_gate today, and on kernel-enforced workspace isolation after that #458

Description

@kjgbot

What I hit

Testing examples/dependency-upgrade-bot against current main (4292ec0, v2.0.16) for the flows-cookbook effort — verifying every ported recipe actually runs before publishing it.

flows run dependency-upgrade-bot.flow.ts --local-agent --input '{}' fails immediately, on the first deterministic step's gate:

FAILED [protocol_error] relayflowd could not complete the run request: unsupported_gate: postfix .gate(predicate) closures cannot be journaled; use .gate({type: "…", …}) with a slice-P named gate instead.

examples/pr-review-pipeline fails the same way, on its first .gate() call.

This is not the old BLOCKED reason

examples/README.md's gallery table currently says both examples are BLOCKED because "SDK refuses unsupported budget header before entering the body." That's stale — #421/#423/#425 already fixed the budget path, and neither example hits a budget error anymore. The actual, current blocker is the predicate-gate closures both examples use (.gate((out) => …, "…")).

#449 (open) already fixes this — it adds journaled artifact_exists + true predicate-gate support, and its own description says it updates examples/pr-review-pipeline to use artifact_exists and removes the stale BLOCKED note from examples/README.md. So pr-review-pipeline just needs #449 merged.

The remaining gap for dependency-upgrade-bot specifically

dependency-upgrade-bot.flow.ts's own header comment says the deeper issue #449 doesn't touch:

f.agent parks without an attached worker, and there is no kernel-enforced workspace isolation yet (RFC-0001 Appendix A rule 1 / gate 8), so today the "separate sandbox" boundary between upgrader and verifier is declared, not enforced.

The flow's whole premise is that a second agent, in a workspace the first agent never touched, independently verifies the upgrade before a PR opens — an upgrader's own claim of success is worth nothing on its own. Without kernel-enforced isolation between sandbox/upgrade and sandbox/verify, that boundary is cosmetic: nothing stops (or currently even lets) the verifier from running in a truly separate workspace.

Ask

Once #449 lands, dependency-upgrade-bot will get past the gate error, but will still need kernel-enforced per-workspace isolation (RFC-0001 Appendix A rule 1 / gate 8) before it can be an honest example. Filing this so that requirement has a home separate from #449's gate work — flows-cookbook is holding this example out until both land.

cc from the flows-cookbook population effort (AgentWorkforce/flows-cookbook).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions