Hosted campaigns: verify Cursor and Devin result transport - #725
Conversation
…paid dispatch (#718) - Model hosted release qualification as a closed five-check dispatch profile (auth, installation, trigger, trusted responder, result return). - Cursor Cloud Agent uses the real @cursor builder mention contract. - Unverified App transport/result-return reports unavailable with exact remediation in doctor and campaign dry-run (hosted_transport_unverified). - Add bounded offline fixtures (verified, unavailable, timeout, spoofed responder, successful return) with fixture-driven tests. - CLI-level negative test for reviewer-only campaign creation; correct stale provider identities in starting-version/context mismatch fixtures. - Docs update; metadata-only throughout. Built by Muse.
Codex audit (merge-authority lane)Head SHA: Codex Audit: BLOCKED Summary: The hosted dispatch profile is computed but not consistently enforced, allowing previews or doctor checks to pass despite failed trigger, responder, or timeout checks. Findings:
|
Claude audit (merge-authority lane)Head SHA: Claude Audit: PASS Summary: PR adds a closed five-check hosted dispatch profile (auth/installation/trigger/trusted_responder/result_return) for Cursor Cloud Agent and Devin, updates the Cursor builder trigger text from "@cursor run"/"cursor run" to the real "@cursor" mention consistently across registry/templates/docs, and makes campaign dry-run report Findings:
|
…octor Campaign dry-run now marks a hosted lane unavailable with hosted_transport_unverified whenever any check in hosted_dispatch_blockers fails -- auth, installation, trigger, trusted responder, or result return -- instead of only installation and result return. The exact bounded remediation comes from the failing profile entry, so no secret values, paths, or output leak. Auth and issue prerequisites keep their more specific errors where they already run first. Doctor warns (doctor.campaign.transport) with the bounded blocker names and remediations when any closed dispatch-profile check is false, instead of passing on credentials plus transport alone. Adds trigger and trusted-responder negative tests for both surfaces.
Codex audit (merge-authority lane)Head SHA: Codex Audit: BLOCKED Summary: Dry-run output loses remediation information whenever more than one hosted dispatch profile check fails. Findings:
|
Claude audit (merge-authority lane)Head SHA: Claude Audit: PASS Summary: Adds a closed five-check hosted dispatch profile (auth/installation/trigger/trusted_responder/result_return) used by doctor and by the campaign dry-run preview to fail closed to Findings:
|
Codex audit (merge-authority lane)Head SHA: Codex Audit: BLOCKED Summary: The hosted readiness profile applies a stricter timeout type check than the actual dispatch path, producing false unavailable results for otherwise supported configurations. Findings:
|
Claude audit (merge-authority lane)Head SHA: Claude Audit: PASS Summary: Test minimal call. Findings: none. |
Code Review ✅ Approved 1 resolved / 1 findingsHosted campaigns now verify Cursor and Devin result transport before paid dispatch, modeling readiness as separate auth, installation, trigger, trusted-responder, and result-return checks. Result return profile validation stricter than runtime timeout parser has been addressed. ✅ 1 resolved✅ Edge Case: result_return profile stricter than runtime timeout parser
OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
Codex audit (merge-authority lane)Head SHA: Codex Audit: PASS Summary: No actionable correctness issue was identified in the changed code. Findings: none. |
Claude audit (merge-authority lane)Head SHA: Claude Audit: PASS Summary: Hosted dispatch profile changes for Cursor Cloud Agent and Devin are logically sound and well tested; no blocking issues found. Findings:
|
Closes #718
Summary
Safety
--applycan dispatch and only explicit--retry-providercan repeat paid workVerification
1720 passed, 829 subtests passed363 passed, 208 subtests passedProvenance
Builder: Muse (
muse-spark-1.3-contributor)Orchestrator integration: corrected two test expectations and stale post-split Cursor documentation; no contract expansion.