Skip to content

Audit missing GitHub change signals for agent feedback loops #23

Description

@diegomarino

Context

Batutas v2 is being designed as a daily workbench for collaborating with agents across ADEs such as Orca, Paseo, and Agent Orchestrator-style systems.

The motivating problem is that agents cannot be trusted to reliably communicate state to each other or continuously monitor GitHub themselves. gh-delta exists to provide a deterministic GitHub issue/PR change detector.

Recent comparison against AO and Paseo suggests the right boundary is:

  • gh-delta detects that relevant GitHub state changed;
  • consumers such as Batutas query GitHub for richer details when a delta matters;
  • Batutas/ADE adapters decide attention, routing, alerting, and delivery policy.

So this issue is not asking gh-delta to classify agent routing or decide who should act.

Problem

Before Batutas v2 relies on gh-delta as its first SCM signal source, we should audit whether gh-delta misses any GitHub state transitions that are important for agent feedback loops.

Known current coverage includes, among others:

  • PR and issue creation/closed/reopened/missing/reappeared lifecycle;
  • PR merged;
  • comment count increase;
  • CI/check changes;
  • review decision / latest review changes;
  • unresolved review thread count changes;
  • total review thread changes;
  • draft -> ready;
  • mergeability and mergeStateStatus transitions;
  • issue label changes;
  • optional baseline-state emission for pre-existing open items.

The question is whether any relevant GitHub change signals are absent, not whether wrappers need better routing policy.

Audit Questions

Evaluate at least these candidate gaps:

  1. PR review comments edited/deleted when counts do not change.
  2. Review threads resolved/reopened cases that may not change the current counters in a detectable way.
  3. Issue or PR body/title edits: whether they are intentionally ignored, caught only as opaque updated, or should have explicit classes.
  4. Requested reviewers / review request added or removed.
  5. Assignee changes.
  6. Milestone changes.
  7. Base branch changes.
  8. Head branch/ref changes beyond head SHA updates.
  9. Branch deletion/restore after merge or close, if GitHub exposes it usefully.
  10. Project/status fields, if accessible and relevant enough for the package scope.
  11. More granular check-run/check-suite transitions, if current ci-changed detail is insufficient for consumers to decide when to query.
  12. Issue comments edited/deleted where total count is unchanged.

Expected Output

Produce a short audit matrix:

Signal Relevant to agent feedback? Currently detected? Current class/detail if yes Proposed action

Actions should be one of:

  • already covered;
  • covered but docs/tests should clarify;
  • intentionally out of scope;
  • add new fingerprint field;
  • add new delta class;
  • add detail only;
  • requires consumer follow-up query, no gh-delta change.

Constraints

  • Keep gh-delta a detector, not a scheduler, queue, ADE adapter, or routing policy engine.
  • Do not add agent-role, audience, attention, or routing concepts to the gh-delta contract.
  • Prefer detecting neutral state transitions over interpreting business meaning.
  • If a consumer can safely perform a follow-up GitHub query from an existing delta, prefer documenting that over bloating fingerprints.
  • Avoid breaking report.schemaVersion === 1; additive classes/details/fields are acceptable only if they fit the existing compatibility policy.

Acceptance Criteria

  • The audit identifies which AO/Paseo-style feedback-loop signals gh-delta already detects.
  • Any proposed implementation work is limited to missing neutral GitHub change signals.
  • If no implementation is needed, the issue can close with docs/test clarifications only.
  • Batutas can use the result to decide whether slice 001 Doctor should validate gh-delta as an SCM signal source without requiring private wrapper assumptions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions