Skip to content

fix: install parity and spawn deserialization fallback#541

Merged
khaliqgant merged 8 commits intomainfrom
fix/install-parity-and-spawn
Mar 11, 2026
Merged

fix: install parity and spawn deserialization fallback#541
khaliqgant merged 8 commits intomainfrom
fix/install-parity-and-spawn

Conversation

@khaliqgant
Copy link
Member

@khaliqgant khaliqgant commented Mar 11, 2026

  • Add installDashboardBinary() and installRelayAcpBinary() to postinstall so npm install downloads the same binaries as the curl installer
  • Add JSON fallback handler for agent.spawn_requested events that fail serde deserialization (e.g. task: null or missing fields), preventing silently dropped spawn requests
  • Add debug logging for spawn/release event processing

Summary

Test Plan

  • Tests added/updated
  • Manual testing completed

Screenshots


Open with Devin

devin-ai-integration[bot]

This comment was marked as resolved.

khaliqgant added a commit that referenced this pull request Mar 11, 2026
Prevents agent.spawn_requested events handled by the JSON fallback
from falling through to map_ws_event message processing. The normal
deserialization path already had a continue at line 2591 but the
fallback path was missing it.

Addresses Devin review comment on #541.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
devin-ai-integration[bot]

This comment was marked as resolved.

khaliqgant added a commit that referenced this pull request Mar 11, 2026
Match the pattern used by installDashboardBinary — run --version to
verify the binary is functional, not just present on disk. Fixes stale
or corrupt binaries being treated as "already installed".

Addresses Devin review comment on #541.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
devin-ai-integration[bot]

This comment was marked as resolved.

khaliqgant and others added 8 commits March 11, 2026 15:22
- Add installDashboardBinary() and installRelayAcpBinary() to postinstall
  so npm install downloads the same binaries as the curl installer
- Add JSON fallback handler for agent.spawn_requested events that fail
  serde deserialization (e.g. task: null or missing fields), preventing
  silently dropped spawn requests
- Add debug logging for spawn/release event processing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prevents agent.spawn_requested events handled by the JSON fallback
from falling through to map_ws_event message processing. The normal
deserialization path already had a continue at line 2591 but the
fallback path was missing it.

Addresses Devin review comment on #541.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Match the pattern used by installDashboardBinary — run --version to
verify the binary is functional, not just present on disk. Fixes stale
or corrupt binaries being treated as "already installed".

Addresses Devin review comment on #541.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Aligns fallback JSON spawn path with primary path — dedup.insert_if_new
is now always called regardless of whether the local echo dedup applies.
Prevents theoretical edge case where re-delivered events with different
JSON could bypass dedup.
The codegen script outputs to packages/config/src/cli-registry.generated.ts
but CI was checking packages/sdk/src/models.generated.ts (which doesn't exist).
Also check __init__.py in the diff step.
@khaliqgant khaliqgant force-pushed the fix/install-parity-and-spawn branch from c6e689a to c4ed694 Compare March 11, 2026 14:23
@khaliqgant khaliqgant merged commit de3fc45 into main Mar 11, 2026
40 of 41 checks passed
@khaliqgant khaliqgant deleted the fix/install-parity-and-spawn branch March 11, 2026 14:39
khaliqgant added a commit that referenced this pull request Mar 25, 2026
* fix: install parity and spawn deserialization fallback

- Add installDashboardBinary() and installRelayAcpBinary() to postinstall
  so npm install downloads the same binaries as the curl installer
- Add JSON fallback handler for agent.spawn_requested events that fail
  serde deserialization (e.g. task: null or missing fields), preventing
  silently dropped spawn requests
- Add debug logging for spawn/release event processing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: add continue after JSON fallback spawn path

Prevents agent.spawn_requested events handled by the JSON fallback
from falling through to map_ws_event message processing. The normal
deserialization path already had a continue at line 2591 but the
fallback path was missing it.

Addresses Devin review comment on #541.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: validate relay-acp binary before skipping reinstall

Match the pattern used by installDashboardBinary — run --version to
verify the binary is functional, not just present on disk. Fixes stale
or corrupt binaries being treated as "already installed".

Addresses Devin review comment on #541.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* update models

* Update cli-registry.yaml

* fix: always insert local spawn echo dedup key in fallback path

Aligns fallback JSON spawn path with primary path — dedup.insert_if_new
is now always called regardless of whether the local echo dedup applies.
Prevents theoretical edge case where re-delivered events with different
JSON could bypass dedup.

* codegen

* fix: codegen CI references wrong output file path

The codegen script outputs to packages/config/src/cli-registry.generated.ts
but CI was checking packages/sdk/src/models.generated.ts (which doesn't exist).
Also check __init__.py in the diff step.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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