Skip to content

diffity inbox: watch review-requested PRs, prepare reviews ahead of the reviewer #79

Description

@fiddur

A personal, local daemon that removes the triage-and-wait loop from PR reviews: by the time the reviewer looks, the review is already prepared.

Components

1. Review bundle (export/import) — the portable, restart-surviving form of a prepared review: threads (with replies and status) and walkthrough tours, as versioned JSON pinned to the PR's base/head SHA. diffity agent export-bundle from a session, diffity agent import-bundle into one (refusing a head mismatch, since anchors are working-tree lines). Also the future path to sharing prepared reviews (e.g. a GitHub Actions artifact any diffity user could import).

2. Watcher/preparer (diffity inbox) — polls gh search prs --review-requested=@me (configurable interval, default 5 min), tracks each PR in SQLite, and reacts to transitions:

  • new interesting PR → prepare: isolated worktree from the base clone, agent runs the review skill producing local threads + a tour, bundle saved
  • head moved → mark stale, re-prepare
  • closed/merged → tear down worktree/instance, keep the bundle
  • switched to draft → hide, keep state

Objective skips (draft, own PR, bot author) happen in code; subjective filtering ("skip payments-focused PRs") is free-text config injected into the prepare agent's prompt, which can answer SKIP with a reason instead of reviewing. The prepare command itself is a config template, so the agent runtime is not a diffity dependency.

3. Inbox page — a plain page on a fixed port for a pinned tab: what needs attention (prepared, smallest first), what's preparing, what's stale, what was skipped and why. One click ensures the diffity instance for that PR is running, opens it in a new tab, and parks a live agent on it to answer questions.

Nothing is ever posted to the forge by any of this — prepared reviews are local drafts the reviewer curates and submits themselves.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions