Skip to content

Expose full merge train feedback and read models #606

@cbusillo

Description

@cbusillo

Objective

Make train state visible to PR authors and operators. A full train needs feedback beyond “selected PR”: queued position, current candidate, blocked-by entry, validation state, and next action.

Finish Line

Expose full merge train feedback and read models

Current Status

State: Planned.
Next action: Define feedback payloads once queue records define status fields.
Blocked by: Queue records; authz/feedback actor rules; UI/read-model direction.
Last verified: 2026-05-13; current dry-run records queue entries but does not publish durable position feedback.

Scope

  • In: PR labels/comments, service read models, operator UI/API projection, and redacted audit summaries.
  • Out: replacing GitHub checks UI or exposing secrets/provider tokens.

Acceptance Criteria

  • Queued PRs receive clear feedback when they enter, move, block, reflow, validate, or merge.
  • Later PRs can see which earlier PR or candidate state they are waiting on.
  • Operator read models show active train generations and entries.
  • Feedback writes are idempotent and do not spam comments on every scheduler pass.
  • Authorization for feedback actors is explicit and audited.

Relationships

Validation

  • Unit tests for feedback diffing/idempotency.
  • Service/read-model tests for redacted train state.
  • Live dry-run or low-risk smoke verifying labels/comments are understandable.

Decisions

  • Feedback must be derived from records and fresh provider evidence, not from log parsing.

Open Questions

  • Should Launchplane use one evolving status comment per PR or multiple event comments?

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:activeCurrent active plan

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions