Orchestrator._watch is only called when a plan is posted to its Gitea issue (_post_plan_to_board) or a milestone PR is published (_publish_milestone). Orchestrator.start never calls it. After a restart:
Open plan gate: approvals posted as comments on the Gitea plan issue go unseen until the next plan revision is posted. Matrix approvals still work.
PR_OPEN: review comments on the PR go unseen, so the agent never responds to them.
Nothing errors or warns, so the operator has no sign their Gitea comments are being ignored.
Expected: on boot, re-attach the plan watch when a gate is open and board data holds an issue, and the review watch in PR_OPEN from the saved pr data. prime then skips comments that were already handled. Open question for review: comments posted while the agent was down would also be marked seen and skipped. Should the poller catch up on those since the last recorded comment instead?
Test: open a gate with a fake poller factory, restart the orchestrator on the same store, and check that a plan watch exists and a Gitea approval comment is applied. Do the same for review in PR_OPEN.
Found while fixing #57.
`Orchestrator._watch` is only called when a plan is posted to its Gitea issue (`_post_plan_to_board`) or a milestone PR is published (`_publish_milestone`). `Orchestrator.start` never calls it. After a restart:
- **Open plan gate:** approvals posted as comments on the Gitea plan issue go unseen until the next plan revision is posted. Matrix approvals still work.
- **`PR_OPEN`:** review comments on the PR go unseen, so the agent never responds to them.
Nothing errors or warns, so the operator has no sign their Gitea comments are being ignored.
**Expected:** on boot, re-attach the `plan` watch when a gate is open and `board` data holds an issue, and the `review` watch in `PR_OPEN` from the saved `pr` data. `prime` then skips comments that were already handled. Open question for review: comments posted while the agent was down would also be marked seen and skipped. Should the poller catch up on those since the last recorded comment instead?
**Test:** open a gate with a fake poller factory, restart the orchestrator on the same store, and check that a `plan` watch exists and a Gitea approval comment is applied. Do the same for `review` in `PR_OPEN`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found while fixing #57.
Orchestrator._watchis only called when a plan is posted to its Gitea issue (_post_plan_to_board) or a milestone PR is published (_publish_milestone).Orchestrator.startnever calls it. After a restart:PR_OPEN: review comments on the PR go unseen, so the agent never responds to them.Nothing errors or warns, so the operator has no sign their Gitea comments are being ignored.
Expected: on boot, re-attach the
planwatch when a gate is open andboarddata holds an issue, and thereviewwatch inPR_OPENfrom the savedprdata.primethen skips comments that were already handled. Open question for review: comments posted while the agent was down would also be marked seen and skipped. Should the poller catch up on those since the last recorded comment instead?Test: open a gate with a fake poller factory, restart the orchestrator on the same store, and check that a
planwatch exists and a Gitea approval comment is applied. Do the same forreviewinPR_OPEN.🤖 Generated with Claude Code