Skip to content

I2473 — A pull request shows its trail: what the executor did to it, and the drain what the lane did lately

Show, in the PR Drain's inspector, every event the integration executor recorded about the inspected pull request, newest first, and on the drain the lane's most recent events about pull requests, each leading to that pull request's inspector.

DONE wave 3 · p1 · implementation profile · runs alone

Part of development-runtime — The runtime has a development surface.

Objective

Show, in the PR Drain's inspector, every event the integration executor recorded about the inspected pull request, newest first, and on the drain the lane's most recent events about pull requests, each leading to that pull request's inspector.

Why

The owner asked on 2026-10-11 to implement every view of the UI screenshots, maximally interactive (pack v3 M05-05: dependency graph, blockers and evidence trail; reference 03-pr-drain shows a per-PR timeline). The executor's audit trail (integration.events, one file under the common git directory) records every refresh, repair, selection, merge, refusal and verification with its actor, reasons and detail, and no screen showed it.

Current state

The PR Drain's inspector shows the queue's assessment of a pull request and nothing of what the executor did to it; nothing shows the lane's recent activity.

Desired state

The drain panel asks integration.queue and integration.events together. The inspector of ?pr=N ends with 'What the executor did': that pull request's events, newest first, at most fifteen, each with its action, detail, reasons and actor as a timeline; an event of another pull request is never its own, and a pull request the executor never touched says so. Below the drain, 'Recent activity' lists the lane's fifteen most recent events about a pull request, each leading to that pull request's inspector; an event about no pull request (an observation, the lease) is not activity.

Scope

  • apps/majordomus-cli/src/ui/prs.rs
  • .ai/repo/project/issues/I2473.yaml
  • docs/MAJORDOMUS_UI.md
  • test/cases/1078_a_pull_request_shows_its_trail.sh

Dependencies

What waits on this

Acceptance criteria

  • ?pr=N shows that pull request's events newest first and no other pull request's
  • the drain lists recent events about pull requests, each a link to its inspector, and no event about none
  • without the trail, the inspector says it was not asked

Validation

  • cargo test --lib ui::prs
  • test/run.sh 1078_a_pull_request_shows_its_trail

Evidence required

  • ui_prs_trail_unit_test
  • ui_prs_trail_case_1078

Evidence

coverstypecommandresultat commit
ui_prs_trail_unit_testcicargo test --lib ui::prs (validate run 38223440282 on 722228ef3c, the v0.21.0 top)the_inspector_shows_what_the_executor_did_and_the_drain_its_recent_activity ok (17 ui::prs tests ok)722228e
ui_prs_trail_case_1078citest/run.sh 1078_a_pull_request_shows_its_trail (validate run 38223440282 on 722228ef3c, the v0.21.0 top)case 1078_a_pull_request_shows_its_trail ok722228e

Timeline

started
2026-10-12T11:02:29Z
verified
2026-10-12T11:02:36Z
completed
2026-10-12T11:02:50Z

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I2473.yaml. Read it back with majordomus plan show I2473.

Searches the titles and descriptions of every page this site publishes.