Software factory change - #1842
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Devin Review found 1 potential issue.
1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
|
|
||
| ### Breaking Changes | ||
|
|
||
| - SDK consumers must remove references to `workspace.fleetNodes` and `RelayWorkspaceFleetNodesConfig`. |
There was a problem hiding this comment.
🟡 Breaking SDK ships as patch
RelayWorkspace loses fleetNodes while [Unreleased - Patch] remains the pending release level. A 12.4.x release breaks consumers that accept patch upgrades.
Learn more
The SDK package is versioned independently as a public package. This change removes members from its exported RelayWorkspace and RelayMessagingClient interfaces, so existing consumers can no longer compile against the new declaration files. The repository rule requires [Unreleased - Major] for a SemVer-major change and forbids lowering the pending level.
Example: A consumer declares "@agent-relay/sdk": "^12.4.1" and calls relay.workspace.fleetNodes.get(). Installing a 12.4.2 release containing this change removes that member despite the compatible patch range.
Recommended fix: Raise the root changelog heading to [Unreleased - Major] and release @agent-relay/sdk with a major version. If a patch release is required, retain a deprecated typed compatibility surface until the next major release.
Was this helpful? React with 👍 or 👎 to provide feedback.
Removing `workspace.fleetNodes` and `RelayWorkspaceFleetNodesConfig` from `@agent-relay/sdk` drops members from a published interface, so consumers on a compatible range stop compiling. The entry already carries Breaking Changes and Migration Guidance sections, which the repo rules reserve for a SemVer-major change, while the heading still said Patch. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Fixed in 40b06e6 — the heading is now Agreed on the substance: removing Took the version-raise rather than the deprecated-compatibility-surface option: the underlying service API no longer exists (relaycast#212 removed it), so a retained typed surface could only fail at runtime. |
# Conflicts: # CHANGELOG.md
summary.md is the flow's own pull-request body source, not part of the change. The flow that produced this branch committed it before working-file exclusion landed, which would have added a build artifact to the repo root. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Rebased onto main and resolved. Conflict. Only Also dropped |
Retire the removed workspace fleet rollout API
fleet config,fleet enable,fleet disable, andfleet inheritcalled an API removed by Relaycast, so every invocation failed. They now remain as hidden compatibility commands that exit 0, accept legacy SDK options, and print a deprecation notice without creating a client.configemits a JSON deprecation object;disableexplicitly says nodes have not been disabled.Removed
workspace.fleetNodes, its messaging implementation, andRelayWorkspaceFleetNodesConfigfrom the SDK. SDK consumers must remove references to that API/type. Fleet nodes need no per-workspace enablement.Updated help tests, current docs and skills, the feature manifest, verification procedures, and the Unreleased changelog. The cleanroom harness retains all 110 operations and verifies the four no-ops against an unreachable
--base-url, with no workspace key in argv.Regenerating the CLI inventory surfaced pre-existing drift: four board operations (
node-agent-set-model,node-agent-set-model-app-server-a/b,node-agent-new-reject-headless) requirenode agentoptions the built CLI no longer defines (--json,--endpoint,--protocol,--session-id,--release), so they fail on a live campaign with commander's unknown-option error. Rather than let the regenerated inventory silently erase that signal, the six leaf/option gaps are declared inmatrix.optionDriftand tracked by #1844. NewvalidateFleetOptionDriftchecks theargvMustContain → inventorydirection nothing validated before: undeclared drift fails at matrix load, and a declaration fails once the CLI defines the option again.Validation:
npm run buildandnpm run typecheckpassed.npm run lintpassed with 107 warnings and no errors.fleetNodesreferences in SDK/CLI source, obsolete policy-restoration fields, or fleet-off-by-default guidance.The live Daytona campaign was not run; validation covers local regression tests and the built CLI.
Note
High Risk
Major breaking SDK removal plus behavioral change for scripts that relied on fleet enable/disable; compatibility shims reduce CLI breakage but consumers must migrate off
workspace.fleetNodes.Overview
Retires the removed workspace fleet rollout API and documents that fleet nodes no longer need per-workspace enablement.
The SDK drops
workspace.fleetNodesandRelayWorkspaceFleetNodesConfig(breaking for consumers).fleet config,enable,disable, andinheritstay as hidden commands that exit 0 without opening a workspace client: they print a deprecation notice,configemits a JSON deprecation object, and legacy SDK flags are accepted but ignored.Public docs, skills, the feature manifest, and verification procedures no longer treat those four as first-class features. Feature checks and the Daytona cleanroom harness now assert no-op behavior (including against an unreachable
--base-url) instead of mutating or restoring workspace policy. The regenerated CLI inventory marks the four commands hidden and reflects other CLI surface drift (e.g. newfleet spawn/fleet releaseoptions).Reviewed by Cursor Bugbot for commit e00add4. Bugbot is set up for automated code reviews on this repo. Configure here.