Skip to content

Epic: Devin peer participant and lifecycle support for v1.4.0 #901

Description

@jeffhuber

Part of roadmap #900.

Devin peer participant, hosted lifecycle, context, builder, and reviewer support for v1.4.0

Problem

Code Mower v1.3.1 recognizes Devin as a participant, has a maintained local CLI builder/informational reviewer, and can create and poll hosted Devin v3 release-qualification sessions. It does not yet provide a reusable provider-neutral lifecycle for dispatch, progress, questions, answers, cancellation, recovery, result collection, or PR binding. Coworker context supports only Claude and Codex. The dormant hosted devin reviewer configuration also declares merge authority despite current documentation and calibration policy saying Devin is not promoted.

Outcome

A session started from Claude, Codex, or Devin can select Devin and use the same provider-neutral commands to dispatch a trusted work order, inspect state, answer a clarification, collect a verified PR/result, cancel, and recover after restart. Devin receives the same explicitly authorized Coworker or later Graphify context packet as other participants. Local CLI and hosted API remain distinct transports under one product identity. Both reviewer transports remain informational until calibration independently earns promotion.

Target user surface:

code-mower session dispatch SESSION.json --to devin --role builder --work-order WORK_ORDER --max-acu 2 --apply
code-mower session status SESSION.json --participant devin
code-mower session message SESSION.json --participant devin --message-stdin --apply
code-mower session collect SESSION.json --participant devin --apply
code-mower session cancel SESSION.json --participant devin --apply

Scope and sequence

  1. Capability model and safe reviewer posture.
  2. Reusable Devin v3 create/get/list-messages/send/terminate/archive client plus lifecycle state machine and uncertain-create reconciliation.
  3. Provider-neutral session dispatch, status, message, cancel, collect, persistence, Board state, and recovery.
  4. Hosted Devin work-order delivery, exact repository/issue/branch policy, completion schema, PR binding, provenance, and fix rounds.
  5. Private context delivery to Devin orchestrator/builder/reviewer roles.
  6. Local and hosted exact-head reviewer parity, kept informational pending calibration.
  7. Devin host/skill/doctor and optional first-run setup.
  8. Qualification and public sanitized scorecard.
  9. v1.4.0 release, package rehearsal, campaign, Board refresh, and CodeMower.com metadata upload.

Architecture and safety contract

  • Product identity is separate from devin_cli and devin_api_v3 transports.
  • Capability declarations cover coordinate, build, review, message, cancel, context, and structured result behavior.
  • Normalize lifecycle to received/dispatching/active/waiting-for-user/waiting-for-approval/succeeded/failed/cancelled/creation-unknown.
  • Checkpoint before paid create. Reconcile uncertain creation through a unique bounded tag and created-after query; accept exactly one match. Never auto-retry a paid create.
  • Require exact repository allowlisting, bounded response sizes/time, explicit --apply, and a positive ACU cap for live work.
  • Keep credentials, context, prompts, messages, transcripts, and raw output in protected local state only. Board/cloud receive allowlisted metadata.
  • Verify returned repository, issue, PR, author/provenance, and current head before accepting completion.
  • Correct hosted reviewer merge authority immediately; selection never promotes a reviewer.

Dependencies

The lifecycle contract must stabilize before substantial Slack runtime work. Graphify #876 may run in parallel. The Graphify packet adapter later reuses the same context-recipient contract.

Delivery protocol

Each child issue produces one PR. Use a named Code Mower builder and an independent reviewer; exact-head evidence, focused tests, full relevant CI, privacy checks, and code-mower/gate are required. Once lane admission lands, use Devin itself for bounded subsequent child deliveries so the epic dogfoods the target capability.

Scorecard

Child Builder PR/head Peer audit Tests/gate Live evidence State
Capability/posture (#904) Codex #925 / 5782403b240c3a2512f0f6881d42288b5919bd53 Requested; both configured audit paths disabled Focused checks pass; CI fixture correction remains local; gate awaits Claude Metadata-only upload dry run passed; no live upload needs-owner: Git metadata write denied and audit runner disabled
v3 lifecycle pending pending pending pending bounded API blocked by capability
Session lifecycle pending pending pending pending recovery fixture blocked
Builder/PR binding pending pending pending pending bounded delivery blocked
Context pending pending pending pending private canary blocked
Reviewer parity pending pending pending pending calibration blocked
Setup/doctor pending pending pending pending fresh install blocked
Qualification pending pending pending pending scorecard blocked
Release pending pending pending pending v1.4.0 blocked

Definition of done

  • Devin has peer-level session hosting, lifecycle control, local and hosted builder use, private context delivery, recoverability, and informational exact-head review.
  • Hosted and local transports expose consistent states and safe reason codes while preserving product-specific differences.
  • Five bounded delivery samples, two clean reviewer controls, two known-blocked catches, and adjudicated findings are recorded; reviewer authority changes only if the published promotion thresholds are met.
  • Claude + Codex remains the initial default; Devin setup is optional and clear.
  • v1.4.0 is published and installed, its qualification campaign passes, and allowlisted metadata is visible on CodeMower.com.

Delivery checklist

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    contract-firstRequires product/data/merge contract agreement before dependent work mergesenhancementNew feature or requestepicEpic tracking issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions