Skip to content

conformance: map signal step to public track_signal API (DEV-1201) - #18

Merged
pavel-y-ivanov merged 1 commit into
mainfrom
devin/dev-1201-signal-rust
Jul 14, 2026
Merged

conformance: map signal step to public track_signal API (DEV-1201)#18
pavel-y-ivanov merged 1 commit into
mainfrom
devin/dev-1201-signal-rust

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Harness PR #47 activated the signal capability + added two experimental signal scenarios. This maps the harness signal step onto the Rust SDK's public signal surface and bumps the pinned harness ref. Driver-only; no SDK behavior change.

The SDK already exposes public Client::track_signal(Signal) (with Signal/SignalKind re-exported from the crate root), shipping event_id/signal_name/signal_type to signals/track with signal_type defaulting to "default". The driver's signal step was previously reported unsupported (exit 3); it is now implemented.

  • conformance/src/main.rs: add signal to CAPABILITIES, add "signal" => step_signal dispatch arm (drops it from the unsupported fallthrough), add step_signal() mapping the step args onto Signal { event_id, name, kind←signal_type, sentiment, timestamp, properties, attachment_id, comment, after }.
  • .github/workflows/conformance.yml: HARNESS_REFcf744e9 (harness main, DEV-1201).

event_id/name are required (required_str); the rest map via the existing optional_str/properties/timestamp helpers, matching how the other steps are wired.

Verified locally (toolchain matching MSRV/stable): cargo build --manifest-path conformance/Cargo.toml clean, cargo fmt --check clean. Fault lane against the bumped corpus: signal-request-shape@faultpass, runner exit 0. conformance/failures.txt unchanged — the other four experimental scenarios (hang-request-deadline, reconnect-identical-body, retry-500-then-200, retry-after-cap) are status: experimental (report-only) pre-existing gaps and do not gate.

Link to Devin session: https://app.devin.ai/sessions/c59705fa818b4a9ca7c51a24480064b1


Note

Low Risk
Changes are limited to the conformance driver and CI harness pin; production SDK code is untouched.

Overview
The conformance driver now advertises and implements the harness signal capability instead of returning unsupported (exit 3). Harness scenarios that require signal can run against this SDK.

step_signal maps harness args onto public Client::track_signal (event_id, name, optional signal_typekind, plus sentiment, timestamp, properties, attachment_id, comment, after). CI bumps the pinned raindrop-sdk-harness ref to the commit that activates signal scenarios.

No SDK behavior change — only the standalone conformance driver and workflow pin.

Reviewed by Cursor Bugbot for commit 6d0a0df. Bugbot is set up for automated code reviews on this repo. Configure here.

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@pavel-y-ivanov pavel-y-ivanov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

DEV-1201 pt3: signal step via public track_signal, conformance-only. CI green.

@pavel-y-ivanov
pavel-y-ivanov merged commit 69aa975 into main Jul 14, 2026
7 checks passed
@pavel-y-ivanov
pavel-y-ivanov deleted the devin/dev-1201-signal-rust branch July 14, 2026 11:57
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