Skip to content

Board: connect provider-neutral remote lifecycle observations #950

Description

@jeffhuber

Part of #945 and roadmap #900.

Problem

Board also needs trustworthy hosted progress, questions, completion, and failure observations without importing Devin-specific state into its read model or causing provider mutations during refresh.

Scope

Adapt the provider-neutral remote lifecycle from #906 and its safe public_projection into the accepted Board observation contract. Connect existing remote-session, hosted work-order, review, and controller evidence paths through one provider-neutral adapter. Preserve product-specific reason mappings behind the provider adapter; do not add another remote state machine or expose raw provider records.

No Slack-specific mapping or cloud schema changes belong here; those remain #921. Board reads must never dispatch, retry paid create, send a message/answer, approve, terminate/archive, or collect private result prose.

Dependencies

Acceptance criteria

  • Provider-neutral fixtures cover pending, active, waiting-for-user, waiting-for-approval, succeeded, failed, cancelled, suspended, creation-unknown, stale, and unavailable observations.
  • Assigned, dispatched, provider-observed running, provider-reported stage, completed implementation, verified PR/review evidence, and merged remain separate facts.
  • Current PR/head and review freshness are verified independently; a done label cannot become a current-head PASS.
  • Provider GET failure preserves the dated last observation and safe reason instead of reporting idle or stopped.
  • Refresh is side-effect free for provider and GitHub mutations and does not consume private structured results.
  • Hosted Devin passes the adapter contract, while fake-provider tests prove the Board model is not Devin-specific.
  • Raw messages, questions/answers, prompts, structured result bodies, provider references, credentials, cost detail without coverage, and private state paths never enter Board output.
  • Crash/restart and stale-result/fix-round regressions preserve exact round/head binding.

Initial ownership

Provider-neutral session/events track, sequential after B3. Planned builder: Code Mower Codex.

Code Mower delivery

Produce one independently reviewable PR for this issue. Record the named Code Mower builder, keep one writer on the branch, obtain an independent audit against the exact current head, resolve every P0/P1/P2 finding, and pass focused tests, relevant full tests, privacy checks, normal CI, and code-mower/gate. Upload only allowlisted metadata. No umbrella PR.

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions