Repository navigation
Description
Problem
Child of #793, sibling of #977 and #978. Moves the command-level fixture test out of #976's pull request (#961) into its own change, so that pull request carries the command and this one carries the evidence for three of its criteria.
The file is internal/agentrepo/watch_command_internal_test.go as it stands on commit 4e661a5: the TestMain GitHub CLI fixture, TestWatchCommandRepository and watchGitState. #978 reuses the fixture for its parity test but asserts different things, so it doesn't cover these outcomes.
Acceptance criteria
- AC1: Given the real
agentrepo checks watchcommand against the portable GitHub CLI fixture, when a watch ends in success, failure, timeout or read error, then no repository content, index or refs change. This is the evidence for feat(checks): add the Go pull request watch command #976's AC4. - AC2: Given an invocation from a nested directory of the repository, when the command makes its requests, then they run at the repository root. This is the nested-directory half of feat(checks): add the Go pull request watch command #976's AC1.
- AC3: Given an invocation outside any repository, when the command starts, then it refuses with status 2 and makes no request. This is the missing-repository half of feat(checks): add the Go pull request watch command #976's AC1.
- AC4: Non-functional: the fixture handles the
.exesuffix and the test passes on Windows as well as Linux and macOS. This is the Windows half of feat(checks): add the Go pull request watch command #976's AC11. - AC5: Non-functional: the moved assertions match those in
internal/agentrepo/watch_command_internal_test.goat commit 4e661a5, plus the outside-repository no-request assertion that AC3 needs, and no command behavior changes.
Scope and non-goals
In scope: only internal/agentrepo/watch_command_internal_test.go, moved as it stands.
Non-goals: any change to the command (#976), the wrapper (#977) or the parity proof (#978), and the remaining #976 criteria, whose evidence stays in #961.
Approach
After #961 merges, move the file into its own pull request without editing assertions.
Dependencies
Blocked on: none; pull request 961 merged as e29e643
Parent: #793.
Size
S
Verify plan
- Failing test first: run the moved tests against a tree without the watch command and confirm they fail, then pass once feat(checks): watch pull requests in Go #961 is merged.
- AC1: run the success, failure, timeout and read-error outcomes and compare repository content, index and refs before and after each.
- AC2: invoke from a nested directory and check the fixture's logged request directory is the root.
- AC3: invoke outside a repository and check status 2 and an empty request log.
- AC4: run the test on Linux, macOS and Windows in CI.
- AC5: diff the file against commit 4e661a5 and confirm the only added assertion is the outside-repository case checking the request log is unchanged.
- Run
mise run check,mise run cover-go-checkandmise run cover-py-check, recording results on the reviewed head. - D1–D10: Verify every AC on the merged head and cite its evidence in the PR; obtain independent exact-head approval and passing required checks; complete gitleaks, the repository leak scan and the review of every content post; sign commits and squash; update docs; include Assisted-by trailers and the provenance:agent-assisted label; check actual PR size limits; file follow-ups with Problem and numbered ACs, list them in PR Related and link deferred code to them; close the issue with a closing reference, move it to Done and record the merge commit in the final Status comment.
Risks
The file may change in #961 before it merges, so compare against the merged head, not only 4e661a5.
Undo: revert this change. Nothing depends on the test at runtime.
Operator authority
None
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Work type
Projects
- StatusShow more project fieldsBacklog
Activity
tbhb-agent commentedon Oct 31, 2026
Proof allocation for #976: this issue covers AC4, the nested-directory and missing-repository cases of AC1, and the portable-fixture half of AC11. Its pull request carries "Fixes #976", and #976 closes when this merges. Its ACs do not change.
tbhb-agent commentedon Oct 31, 2026
Status: delivered by #1000, merged as bfa8937. AC1 to AC3 are proved by the moved watch-command fixture test; AC5 holds with the one added outside-repository no-request assertion that AC3 needs. The issue stays open until the close verbs exist or the description-only close lands; counted as delivered.
tbhb-dev-reviews commentedon Oct 31, 2026
Refinement: READY — amended fixture-test scope matches merged PR #1000
Checked
Read #994 and its two comments, parent Epic #793, shell-freeze Epic #588, siblings #976/#977/#978, merged PRs #961/#1000, and overlapping open PRs #824/#962. Accepted the supplied mechanical PASS; did not rerun it or any tests/full suite.
Round count: no earlier comment on #994 starts with
Refinement:. Computed round is 1 = 1 + 0, not the suggested 2. There are no earlier refinement gaps on this issue.GitHub main and local origin/main both resolve to bfa8937 (#1000). Native parent is #793; GraphQL issueDependenciesSummary and native dependency lists show no blockers or dependents. #961 merged as e29e643, matching the amended blocker statement.
Every AC is testable and traced in Verify plan:
The fixture, request log and state helper serve current calls. No speculative guard/layer, production change, new shell logic or consumer-contract change is proposed. Operator authority None and test-only revert undo are appropriate.
Gaps
No readiness blockers. Already delivered by #1000: do not open another implementation PR. READY assesses the plan and its agreement with merged code, not completed DoD. #1000 closes #976 rather than #994; its Verification lacks individual AC citations and an explicit doc-impact statement. Evidence reconciliation and closure/Done remain completion work. The existing allocation comment and #961's published description establish this proof split despite older allocation wording in #976's Approach.
Split
S fits one PR: one Go test file, 175 added lines, below 800 code lines. No split needed; wrapper and parity work remain separate.
Definition of done
Ticks indicate planning coverage in the ACs and Verify plan, not completed delivery obligations.
Repository additions: check and both coverage floors are explicitly planned. Skill generation is inapplicable because no skill source changes. No consumer impact: only internal regression tests change.
Round: 1 of 3