Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Trajectory: Fix PR CI command snapshot

> **Status:** ✅ Completed
> **Confidence:** 95%
> **Started:** June 18, 2026 at 05:12 PM
> **Completed:** June 18, 2026 at 05:13 PM

---

## Summary

Fixed PR CI by adding the newly registered fleet workspace CLI commands to the bootstrap expected command list.

**Approach:** Standard approach

---

## Key Decisions

### Updated bootstrap expected CLI commands for fleet workspace controls

- **Chose:** Updated bootstrap expected CLI commands for fleet workspace controls
- **Reasoning:** CI failed because createProgram now registers fleet config/enable/disable/inherit, but the bootstrap test expected list still omitted them.

---

## Chapters

### 1. Work

_Agent: default_

- Updated bootstrap expected CLI commands for fleet workspace controls: Updated bootstrap expected CLI commands for fleet workspace controls
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"id": "traj_m2ldjnpmev99",
"version": 1,
"task": {
"title": "Fix PR CI command snapshot"
},
"status": "completed",
"startedAt": "2026-06-18T21:12:34.284Z",
"completedAt": "2026-06-18T21:13:09.669Z",
"agents": [
{
"name": "default",
"role": "lead",
"joinedAt": "2026-06-18T21:13:06.028Z"
}
],
"chapters": [
{
"id": "chap_4j4606o10yjt",
"title": "Work",
"agentName": "default",
"startedAt": "2026-06-18T21:13:06.028Z",
"endedAt": "2026-06-18T21:13:09.669Z",
"events": [
{
"ts": 1781817186029,
"type": "decision",
"content": "Updated bootstrap expected CLI commands for fleet workspace controls: Updated bootstrap expected CLI commands for fleet workspace controls",
"raw": {
"question": "Updated bootstrap expected CLI commands for fleet workspace controls",
"chosen": "Updated bootstrap expected CLI commands for fleet workspace controls",
"alternatives": [],
"reasoning": "CI failed because createProgram now registers fleet config/enable/disable/inherit, but the bootstrap test expected list still omitted them."
},
"significance": "high"
}
]
}
],
"retrospective": {
"summary": "Fixed PR CI by adding the newly registered fleet workspace CLI commands to the bootstrap expected command list.",
"approach": "Standard approach",
"confidence": 0.95
},
"commits": [],
"filesChanged": [],
"projectId": "AgentWorkforce/relay",
"tags": [],
"_trace": {
"startRef": "6399193c4713e29ae6a9c280720c7d4d4edb4ee1",
"endRef": "6399193c4713e29ae6a9c280720c7d4d4edb4ee1"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Trajectory: Expose workspace fleet node flag in Relay SDK and CLI

> **Status:** ✅ Completed
> **Confidence:** 82%
> **Started:** June 18, 2026 at 01:47 PM
> **Completed:** June 18, 2026 at 01:47 PM

---

## Summary

Added Relay SDK workspace.fleetNodes get/set/inherit, CLI fleet config/enable/disable/inherit commands, docs and changelog entries, and updated Relay workspaces to @relaycast/sdk 4.1.1, which ships the Relaycast SDK workspace fleet-node method. SDK tests/build and focused fleet CLI tests pass; full CLI build is blocked by existing current-main cloud auth StoredAuth type errors.

**Approach:** Standard approach

---

## Key Decisions

### Require Relaycast SDK workspace fleet config API

- **Chose:** Require Relaycast SDK workspace fleet config API
- **Reasoning:** Relay should not duplicate the Relaycast REST call. The missing workspace.fleetNodes method belongs in @relaycast/sdk, so Relay delegates to the SDK surface and the Relaycast fix is tracked separately.

---

## Chapters

### 1. Work

_Agent: default_

- Require Relaycast SDK workspace fleet config API: Require Relaycast SDK workspace fleet config API
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"id": "traj_ws73z8bvitw0",
"version": 1,
"task": {
"title": "Expose workspace fleet node flag in Relay SDK and CLI"
},
"status": "completed",
"startedAt": "2026-06-18T17:47:07.114Z",
"completedAt": "2026-06-18T17:47:15.340Z",
"agents": [
{
"name": "default",
"role": "lead",
"joinedAt": "2026-06-18T17:47:11.173Z"
}
],
"chapters": [
{
"id": "chap_a3bv93ofiw3n",
"title": "Work",
"agentName": "default",
"startedAt": "2026-06-18T17:47:11.173Z",
"endedAt": "2026-06-18T17:47:15.340Z",
"events": [
{
"ts": 1781804831174,
"type": "decision",
"content": "Require Relaycast SDK workspace fleet config API: Require Relaycast SDK workspace fleet config API",
"raw": {
"question": "Require Relaycast SDK workspace fleet config API",
"chosen": "Require Relaycast SDK workspace fleet config API",
"alternatives": [],
"reasoning": "Relay should not duplicate the Relaycast REST call. The missing workspace.fleetNodes method belongs in @relaycast/sdk, so Relay delegates to the SDK surface and the Relaycast fix is tracked separately."
},
"significance": "high"
}
]
}
],
"retrospective": {
"summary": "Added Relay SDK workspace.fleetNodes get/set/inherit, CLI fleet config/enable/disable/inherit commands, docs and changelog entries, and updated Relay workspaces to @relaycast/sdk 4.1.1, which ships the Relaycast SDK workspace fleet-node method. SDK tests/build and focused fleet CLI tests pass; full CLI build is blocked by existing current-main cloud auth StoredAuth type errors.",
"approach": "Standard approach",
"confidence": 0.82
},
"commits": [],
"filesChanged": [],
"projectId": "AgentWorkforce/relay",
"tags": [],
"_trace": {
"startRef": "e4cbf8385499b9da734a2a36e99acc2dbc4f9bf5",
"endRef": "e4cbf8385499b9da734a2a36e99acc2dbc4f9bf5"
}
}
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `@agent-relay/config` `CLI_AUTH_CONFIG` adds an `xai` provider (Grok CLI): `grok login --device-auth` device-code connect, `~/.grok/auth.json` credential capture, and the official x.ai installer as the sandbox fallback — so cloud sandboxes can authenticate the `grok` harness from a connected account instead of an API key.
- `@agent-relay/sdk` wires the durable delivery surface to the Relaycast backend: `inbox.list`, `inbox.subscribe`, `inbox.ack/fail/defer`, and `deliveries.ack/fail/defer` now use the hosted delivery ledger, agent-scoped capabilities report `serverDeliveryState: true`, and `DeliveryRunner` works against Relaycast-backed inbox items.
- `@agent-relay/sdk` adds `placement.spawn({ capability, node?, repo? })` — node-targeted/`self`/least-eligible placement that gates on advertised capability and repo-key map, queues with a bounded TTL until an eligible live node appears, and surfaces queue/fail visibility through `onReconcile` events. A `spawn:<cli>` capability pins the broker harness — a mismatched `input.cli` is rejected — and the exported `RelayPlacementError` reports `capability_mismatch` / `placement_queue_full` / `placement_ttl_expired` / `unmapped_repo`.
- `agent-relay fleet config|enable|disable|inherit` and `@agent-relay/sdk` `workspace.fleetNodes` expose the per-workspace fleet node rollout flag.
- Two-node fleet E2E (`tests/e2e/fleet`, `npm run test:e2e`, `Fleet E2E` CI workflow): boots a real relaycast engine plus two `agent-relay fleet serve` nodes (real Rust broker + sidecar each) and asserts the live control wire — boot/register (real broker `Authorization: Bearer` node auth), negative auth, capability-filtered roster, cross-node action dispatch + ack, declarative trigger fire-once with loop guard, end-to-end spawn completion (token mint+inject), capability-routed + least-loaded + resume placement, `capability_mismatch` failure, in-flight reschedule on node death + restart reconcile, and bounded-mailbox TTL dead-letter.

### Changed
Expand Down
Loading
Loading