qualify Fleet PRs #1665/#1666 on current main - #1737
khaliqgant wants to merge 275 commits into
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9c5e329773
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 849670a6ed
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review |
|
@codex review |
|
@cursor review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1791547152
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const target = new URL(payload.target); | ||
| if (![relayOrigin, cloudOrigin].includes(target.origin) || target.username || target.password) { | ||
| throw new Error('credential broker target is outside the approved upstream origins'); |
There was a problem hiding this comment.
Restrict credential broker requests to qualified operations
When an untrusted candidate CLI is under qualification, it receives the loopback capability and can choose any HTTP method, path, query, and body; this check restricts only the origin, after which lines 174–180 attach the trusted Cloud access token or Relay workspace key. A broken or malicious candidate can therefore issue authenticated operations outside the 108-command qualification plan—such as deleting workspace resources or minting credentials—rather than being limited to the endpoints and workspace IDs the verifier intends to exercise. Allowlist the exact method/path combinations and bind workspace-scoped parameters before adding credentials.
Useful? React with 👍 / 👎.
| throw new Error(`Workflow failed${detail}`); | ||
| } | ||
|
|
||
| if (ext === '.ts' || ext === '.tsx' || ext === '.py') { |
There was a problem hiding this comment.
Accept supported .mts and .cts workflow files
When a compiled Bun Cloud worker falls back to this bundled runner because the assignment archive omits node_modules, workflows originating from .mts or .cts files fail here as unsupported. Those extensions are explicitly classified as TypeScript by inferWorkflowFileType in packages/cloud/src/workflow-paths.ts, so they can produce valid Cloud assignments whose workflowFileName retains either extension. Handle both extensions in the TypeScript branch, or dispatch using the payload's normalized fileType instead of re-inferring from the filename.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a99c773a7a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const hasReconcileCommand = | ||
| reconcileHelp.status === 0 && | ||
| ['--idempotency-key <key>', '--name <name>', '--relayfile-cloud-deployment <id>', '--json'].every( | ||
| (option) => reconcileHelpText.includes(option) | ||
| ); |
There was a problem hiding this comment.
Distinguish a missing subcommand from invocation failures
When the base arm's dependency installation/build fails or the CLI crashes for an unrelated reason, any nonzero reconcileHelp.status makes hasReconcileCommand false and writes the expected absent observation; the preceding build run(...) results are also unchecked. This lets an unusable base checkout satisfy the red half of the hosted proof instead of surfacing a build or infrastructure failure, so classify absence only after confirming the expected unknown-subcommand response and throw for other failures.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit a99c773. Configure here.
|
Relay #1730 is now fast-forwarded to exact tested head 94efb14 (mcp-args overload retry + spawn proof). Your PR overlaps listen_api.rs, relaycast/ws.rs, runtime/api.rs, and cli_mcp_args.rs; please restack #1737 onto #1730 after #1730 merges so the overload retry and takeover-safe registration changes are preserved. |
Superseding candidate for #1665/#1666
This branch restacks the Fleet qualification work onto current
main(#1733/#1735) and intentionally does not merge either source PR.Included
--workspace-id/--sandbox-idcontract; no removed snapshot argv.Qualification status
The deterministic matrix/inventory and focused tests pass. Live acceptance is still pending candidate-bound authorization: two fresh attempts on two Daytona nodes, all 108 operations, five lifecycle trials, peer survival, 258 MiB cold plus dual concurrent Relayfile mounts, and exact cleanup/Not Found rereads. No Daytona resources were created by this branch.
PR #1736 remains independently repairable and is not stacked; runtime peer-survival proof is still required before approval.
RelayFlow Proof
feature1665-immutable-fleet-snapshotNote
Low Risk
Adds documentation and agent audit metadata only; no runtime, CI, or security-boundary code changes in this diff.
Overview
This diff only adds Agent Workforce artifacts under
.agentworkforce/trajectories/—no application, workflow, or test source changes appear in the patch.It introduces an active trajectory for finishing PR #1665 Relay/Fleet cleanroom qualification (high-significance decisions on artifact retention, dependency security deltas,
integrity.jsongating, isolated Go bundle caches, and Daytona crash recovery). It also adds many completed September 2026 trajectories and matching trace JSON that map AI-contributed line ranges to files touched in separate commits (e.g.1665-immutable-fleet-snapshotRelayFlow, brokerinit.rsreadiness, standalone Bun workflow runtime,#1711Daytona tombstone verifier, candidate hydration).Several workflow-runner trajectories are recorded as abandoned (Relaycast handshake, invalid API key, Daytona disk/unit mistakes). Together this is an audit trail of qualification campaign work aligned with relay#1665/#1666, not the Fleet matrix or verifier implementation described in the PR body.
Reviewed by Cursor Bugbot for commit a99c773. Bugbot is set up for automated code reviews on this repo. Configure here.