Skip to content

release: prepare v1.4.0#80

Open
gaelic-ghost wants to merge 5 commits into
mainfrom
runtime/send-shell-command
Open

release: prepare v1.4.0#80
gaelic-ghost wants to merge 5 commits into
mainfrom
runtime/send-shell-command

Conversation

@gaelic-ghost
Copy link
Copy Markdown
Owner

@gaelic-ghost gaelic-ghost commented May 22, 2026

Release

  • prepares v1.4.0 from branch runtime/send-shell-command
  • keeps protected main updates behind pull request review and CI
  • release tag v1.4.0 was created locally before this PR so the reviewed release candidate is preserved exactly

Review Loop

Before merge, scripts/repo-maintenance/release.sh watches CI and stops on review comments unless the maintainer has already addressed or resolved them and reruns with --review-comments-addressed.

Summary by CodeRabbit

  • New Features

    • Added code review functionality with inline and detached placement modes via startReview(against:placement:).
    • Added shell command execution capability via sendShellCommand(_:), with explicit gating for user-level shell access.
    • Added subagent lifecycle hook events (subagentStart, subagentStop).
  • Updates

    • Updated Codex CLI compatibility support to version 0.133.x.
    • Enhanced remote control diagnostics to include installation and server identifiers.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 22, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 4cc63066-4532-4272-b0d6-af4461b84113

📥 Commits

Reviewing files that changed from the base of the PR and between 57698d0 and 5df9988.

⛔ Files ignored due to path filters (1)
  • Sources/SwiftASB/Generated/CodexWire/Latest/CodexLifecycleV2Batch+JSONValue.swift is excluded by !**/generated/**
📒 Files selected for processing (35)
  • README.md
  • ROADMAP.md
  • Sources/SwiftASB/Protocol/CodexAppServerProtocol+Types.swift
  • Sources/SwiftASB/Protocol/CodexAppServerProtocol.swift
  • Sources/SwiftASB/Public/CodexAppServer+CodexExtensions.swift
  • Sources/SwiftASB/Public/CodexAppServer+Hooks.swift
  • Sources/SwiftASB/Public/CodexAppServer+WireMapping.swift
  • Sources/SwiftASB/Public/CodexAppServer.swift
  • Sources/SwiftASB/Public/CodexDiagnostics.swift
  • Sources/SwiftASB/Public/CodexReviewHandle.swift
  • Sources/SwiftASB/Public/CodexThread+Dashboard.swift
  • Sources/SwiftASB/Public/CodexThread.swift
  • Sources/SwiftASB/Public/CodexWorkspace.swift
  • Sources/SwiftASB/Public/SwiftASBFeaturePolicy.swift
  • Sources/SwiftASB/SwiftASB.docc/CodexThread.md
  • Sources/SwiftASB/SwiftASB.docc/CodexWorkspace.md
  • Sources/SwiftASB/SwiftASB.docc/FeaturePermissionPolicy.md
  • Sources/SwiftASB/SwiftASB.docc/GeneratedWireBoundary.md
  • Sources/SwiftASB/Transport/CodexCLIExecutableResolver.swift
  • Tests/SwiftASBTests/Protocol/CodexAppServerProtocolTests.swift
  • Tests/SwiftASBTests/Public/CodexAppServerLiveApprovalProbeTests.swift
  • Tests/SwiftASBTests/Public/CodexAppServerLiveElicitationProbeTests.swift
  • Tests/SwiftASBTests/Public/CodexAppServerLiveIntegrationTests.swift
  • Tests/SwiftASBTests/Public/CodexAppServerStoredThreadTests.swift
  • Tests/SwiftASBTests/Public/CodexAppServerTestSupport.swift
  • Tests/SwiftASBTests/Public/CodexAppServerTests.swift
  • Tests/SwiftASBTests/Public/CodexAppServerThreadManagementTests.swift
  • Tests/SwiftASBTests/Public/CodexAppServerTurnLifecycleTests.swift
  • Tests/SwiftASBTests/Public/SwiftASBFeaturePolicyTests.swift
  • Tests/SwiftASBTests/Transport/CodexCLIExecutableResolverTests.swift
  • docs/maintainers/interactive-lifecycle-release-boundary.md
  • docs/maintainers/quicktype-codegen-notes.md
  • docs/maintainers/v1-public-api-audit.md
  • docs/maintainers/v1-public-api-symbol-inventory.md
  • scripts/generate-wire-types.sh

📝 Walkthrough

Walkthrough

SwiftASB v1.4.0 adds code review (startReview) and thread shell command (sendShellCommand) APIs, narrows Codex CLI compatibility to v0.133.x, simplifies permission semantics to profile-ID strings, and expands diagnostics with installation/server identification and new hook event types.

Changes

SwiftASB v1.4.0 Release: Review and Shell Command Features

Layer / File(s) Summary
Protocol Methods and Wire Types for New Features
Sources/SwiftASB/Protocol/CodexAppServerProtocol+Types.swift, Sources/SwiftASB/Protocol/CodexAppServerProtocol.swift
Adds thread/shellCommand and review/start JSON-RPC methods with request builders and response decoders; introduces CodexProtocolThreadShellCommandResponse; updates protocol parameter types for permission fields from structured selection to simple String type.
Thread Shell Command Feature
Sources/SwiftASB/Public/CodexAppServer.swift, Sources/SwiftASB/Public/SwiftASBFeaturePolicy.swift, Sources/SwiftASB/SwiftASB.docc/CodexThread.md, Sources/SwiftASB/SwiftASB.docc/FeaturePermissionPolicy.md, Tests/SwiftASBTests/Public/CodexAppServerTests.swift, Tests/SwiftASBTests/Public/SwiftASBFeaturePolicyTests.swift
Implements sendThreadShellCommand API with initialization/feature-gate validation and empty-command rejection; registers shellCommandExecution as a built-in feature category (disabled by default, high-impact); documents unsandboxed shell behavior; includes feature policy tests.
Code Review Feature and Review Handle
Sources/SwiftASB/Public/CodexThread.swift, Sources/SwiftASB/Public/CodexReviewHandle.swift, Sources/SwiftASB/Public/CodexAppServer.swift, Sources/SwiftASB/Public/CodexAppServer+WireMapping.swift, Tests/SwiftASBTests/Public/CodexAppServerTests.swift, Tests/SwiftASBTests/Public/CodexAppServerTestSupport.swift
Introduces ReviewSubject and ReviewPlacement enums, new CodexReviewHandle struct; implements startReview(against:placement:) with thread reservation, review request/response handling, turn session creation, and history recording; adds wire mappings and test coverage for inline/detached review flows.
Turn Handle Creation Refactoring
Sources/SwiftASB/Public/CodexAppServer.swift
Extracts makeTurnHandle helper to manage shared turn-handle and minimap initialization, used by both startTurn and startReview.
Permission Model Simplification for v0.133
Sources/SwiftASB/Public/CodexWorkspace.swift, Sources/SwiftASB/Public/CodexAppServer+WireMapping.swift, Tests/SwiftASBTests/Public/CodexAppServerThreadManagementTests.swift, Tests/SwiftASBTests/Public/CodexAppServerStoredThreadTests.swift, Tests/SwiftASBTests/Public/CodexAppServerTurnLifecycleTests.swift, Sources/SwiftASB/SwiftASB.docc/CodexWorkspace.md, docs/maintainers/interactive-lifecycle-release-boundary.md
Changes permission fields from structured CodexWirePermissionProfileSelectionParams to simple String in thread resume/fork; updates PermissionSelection.wireValue to emit profile ID only; simplifies ActivePermissionProfile to always return empty modifications; removes NetworkPermissions wire initializer; updates all test assertions and documentation.
Diagnostics and Hook Event Extensions
Sources/SwiftASB/Public/CodexDiagnostics.swift, Sources/SwiftASB/Public/CodexAppServer+CodexExtensions.swift, Sources/SwiftASB/Public/CodexAppServer+Hooks.swift, Sources/SwiftASB/Public/CodexThread+Dashboard.swift, Sources/SwiftASB/Public/CodexAppServer+WireMapping.swift, Tests/SwiftASBTests/Protocol/CodexAppServerProtocolTests.swift
Adds installationID and serverName fields to CodexRemoteControlStatusDiagnostic; extends hook event names with subagentStart and subagentStop cases across app-server and dashboard; includes wire mappings and test verification.
Thread Goal Status Expansion
Sources/SwiftASB/Public/CodexThread.swift
Extends CodexThread.Goal.Status with blocked and usageLimited cases; updates wire conversion for new goal states.
Wire Payload Field Additions
Sources/SwiftASB/Public/CodexAppServer+WireMapping.swift
Adds requestAttestation: nil to capabilities, runtimeWorkspaceRoots: nil to thread/turn start params, detail: nil to turn input elements, and sets permissionProfile: nil in thread session initialization.
Codex CLI Version and Compatibility Window Update
Sources/SwiftASB/Transport/CodexCLIExecutableResolver.swift, Tests/SwiftASBTests/Public/CodexAppServerTests.swift, Tests/SwiftASBTests/Transport/CodexCLIExecutableResolverTests.swift
Updates latestSupportedPublicRelease from 0.130.0 to 0.133.0; updates all CLI-related test expectations from 0.130.x to 0.133.x compatibility window.
Protocol Test Updates
Tests/SwiftASBTests/Protocol/CodexAppServerProtocolTests.swift
Adds encoding tests for new protocol methods; adjusts thread-start permission expectations from structured to string format; adds detail: nil assertions; removes v0.128 permission-profile decoding tests; verifies new diagnostic fields.
Live Probe Test Payload Updates
Tests/SwiftASBTests/Public/CodexAppServerLiveApprovalProbeTests.swift, Tests/SwiftASBTests/Public/CodexAppServerLiveElicitationProbeTests.swift, Tests/SwiftASBTests/Public/CodexAppServerLiveIntegrationTests.swift
Updates deterministic request payloads with new wire fields (requestAttestation: nil, runtimeWorkspaceRoots: nil, detail: nil); adjusts capability initialization formatting; replaces MCP directory assertion with v0.133 routing comment.
Test Support and Fake Transport Updates
Tests/SwiftASBTests/Public/CodexAppServerTestSupport.swift
Adds fake transport handlers for thread/shellCommand and review/start RPC methods with appropriate response generation logic.
Public API Documentation
Sources/SwiftASB/SwiftASB.docc/CodexThread.md
Documents startReview(against:placement:) with inline/detached placement modes and sendShellCommand(_:) with unsandboxed behavior, feature gating, and symbol index updates.
Workspace Permission Documentation Updates
Sources/SwiftASB/SwiftASB.docc/CodexWorkspace.md
Clarifies that v0.133 accepts selected profile ID only and PermissionSelection/modifications is local-only backwards compatibility not sent to app-server.
Feature Policy and Wire Boundary Documentation
Sources/SwiftASB/SwiftASB.docc/FeaturePermissionPolicy.md, Sources/SwiftASB/SwiftASB.docc/GeneratedWireBoundary.md
Documents shellCommandExecution feature category settings; adds promotion examples for shell commands and code review with hand-owned types.
Maintainer Release Boundary and Code Generation Documentation
docs/maintainers/interactive-lifecycle-release-boundary.md, docs/maintainers/quicktype-codegen-notes.md
Documents v0.133.x support window, new public APIs, permission semantics, and v0.133.0 schema batch changes.
Public API Audit and Symbol Inventory
docs/maintainers/v1-public-api-audit.md, docs/maintainers/v1-public-api-symbol-inventory.md
Updates v1.4.0 release boundary; documents new CodexReviewHandle type, review enums, new methods, expanded enum cases, post-v1 schema namespace additions (goal statuses, diagnostic fields, hook events).
README and Roadmap Version Updates
README.md, ROADMAP.md
Updates version from v1.3.2 to v1.4.0; narrows CLI compatibility to v0.133.x; adds usage documentation for startReview and sendShellCommand; updates feature matrix, compatibility decisions, migration notes, and readiness checklist.
Wire Type Generation Script Updates
scripts/generate-wire-types.sh
Switches schema version to v0.133.0; adds thread shell command and review start request/response types to generated batch.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • gaelic-ghost/SwiftASB#69: Extends the same CodexRemoteControlStatusDiagnostic surface touched in PR #69, adding new required fields (installationID, serverName) on top of the baseline.

Suggested labels

enhancement


🐰 Hops excitedly through the code
Shell commands and reviews now take flight—
v0.133 makes features bright!
Permission strings shine crystal clear,
While diagnostics bring cheer.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 11.11% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'release: prepare v1.4.0' directly and clearly summarizes the main objective of this PR, which is preparing the v1.4.0 release.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch runtime/send-shell-command

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

1 participant