Skip to content

qualify Fleet PRs #1665/#1666 on current main - #1737

Open
khaliqgant wants to merge 275 commits into
mainfrom
relay1665-safe-restack-0910
Open

khaliqgant wants to merge 275 commits into
mainfrom
relay1665-safe-restack-0910

Conversation

@khaliqgant

@khaliqgant khaliqgant commented Sep 10, 2026 •

Copy link
Copy Markdown
Member

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

  • 108-operation Fleet matrix: 29 CLI leaves / 35 command records.
  • Current --workspace-id / --sandbox-id contract; no removed snapshot argv.
  • Independent Daytona provider, Fleet node, and agent rereads with raw-output SHA-256 hashes.
  • 120-second spawn ambiguity classification and peer-survival/ownership assertion.
  • Synthetic fake control-plane proof removed.

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

  • Change type: feature
  • RelayFlow case: 1665-immutable-fleet-snapshot

Note

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.json gating, 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-snapshot RelayFlow, broker init.rs readiness, standalone Bun workflow runtime, #1711 Daytona 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.

Proactive Runtime Bot and others added 30 commits September 5, 2026 23:10
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread packages/cli/src/cli/commands/local-agent.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread scripts/relayfile-cross-repo-qualification/harness.test.mjs Outdated
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .github/workflows/relay-cleanroom-qualification-consumer.yml Outdated
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: c596a6f846

ℹ️ 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".

@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread .github/workflows/relay-cleanroom-qualification-consumer.yml
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@khaliqgant

Copy link
Copy Markdown
Member Author

@cursor review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment on lines +161 to +163
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');

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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') {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

Please independently review exact head a99c773. Hosted case now observes cloud workspace reconcile help/exit and derives outcome from it; no credentials enter PR-authored case code.

@khaliqgant

Copy link
Copy Markdown
Member Author

@cursor review

Please independently review exact head a99c773, especially pull_request_target credential isolation, observed 404 cleanup status, and the corrected non-arm-dependent red/green case.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment on lines +48 to +52
const hasReconcileCommand =
reconcileHelp.status === 0 &&
['--idempotency-key <key>', '--name <name>', '--relayfile-cloud-deployment <id>', '--json'].every(
(option) => reconcileHelpText.includes(option)
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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.

@khaliqgant

Copy link
Copy Markdown
Member Author

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.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants