Skip to content

v7 preview: reconcile the ticket tree with the tracker #2958

Description

@JakeSelby

Describe your idea
A read-only check that compares the ticket tree with the tracker and lists what has drifted.

Why is this needed?
query reads one ticket, a container's children, or a word search. Nothing shows a tracker item that is missing, closed on one side only, reparented, blocked by something after no longer names, filed twice, or filed outside BMad with no parent. With hooks not integrated yet, that drift builds up between runs, and #2956 is one way it starts. A check like this gives the person and the agent the same picture of the board before either of them acts on it.

How should it work?
tickets.py reconcile <folder> --tracker <listing>. Each store's query verb gains a sentence on producing the listing (number, state, parent, blocked-by, labels, and the id and parent lines from the body), and tickets.py compares it with the tree and prints JSON grouped by kind of drift. Fixing stays with write and the user.

PR
I'd like to write it, under 400 lines with tests, once the shape suits you.

Additional context
I run an independent BMad-to-GitHub sync in my agent harness (https://github.com/JakeSelby/agent-harness) that runs this check daily across more than 400 issues. It also taught me that ids handed out on two branches at once collide, so it surveys every branch before allocating one; I can propose that separately.

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