Repository navigation
Description
Problem
tests/skills/agent-merge-pr/loosens.bats (423 lines, 22 cases) tests the loosened-gate scan and lifecycle.bats (175 lines, 10 cases) tests the review input, refusals, merge outcome handling and cleanup, through the shell scripts. After the wrappers exec Go, children 02, 09, 10, 11 and 12 hold the equivalent Go tests.
Part of #324, within #588. Child 17 in #324's Children list. Retires cases of tests/skills/agent-merge-pr/loosens.bats and tests/skills/agent-merge-pr/lifecycle.bats.
Acceptance criteria
- AC1: Given each of the 32 cases in the files named above, when the ledger is read, then the case is deleted with the name of the Go test that covers it, or kept with a one-line reason it needs a real shell. The ledger also lists any case a prerequisite issue added to these files before this change, with the same disposition.
- AC2: Given the Go tests named in the ledger, when
mise run test-goruns, then each passes and asserts the same outcome as the Bats case it replaces (the coverage comes from children 02 and 09 to 12). - AC3: Given the cases kept, when
mise run test-hooksruns on the files, then they pass against the wrappers. - AC4: Given a deleted case, when a regression is introduced in the behavior it covered, then a named Go test fails; the pull request shows one such mutation per ten deleted cases.
- AC5: Given a search of both test families (
tests/skillsandtests/hooks) and of the documentation for the helper names and files this change leaves unused, when it runs, then no reference to a removed Bats case or helper remains, and the shared helpers that other suites still load stay in place for child 24. - AC6: Non-functional: the Bats suite wall time does not increase.
Scope and non-goals
Scope: the Bats files named in the problem, helpers loaded by them alone, and the ledger in the pull request description.
Non-goal: porting new behavior or editing production code. Non-goal: removing shared helpers other suites still load, which child 24 does. Non-goal: the other agent-merge-pr suites.
Approach
Meet AC1 to AC6 by building the ledger first, then deleting cases whose Go counterpart exists, then mutation-checking a sample and running the reference audit.
Dependencies
Blocked by: #874, #875, #876, #333.
Prerequisites: #333.
Size
S. One pull request, about 600 lines changed, almost all deletions.
Verify plan
- AC1: the ledger lists all 32 cases, plus prerequisite additions, with a disposition each.
- AC2, AC3:
mise run test-goandmise run test-hooks tests/skills/agent-merge-prat the merged head. - AC4: the sampled mutation runs, with the failing test names.
- AC5: the search output, run over both test families and the documentation.
- AC6: Bats wall times before and after.
- Definition of done: D1 each AC is verified at the merged head, with the commands and results cited in the pull request's Verification. D2 an independent review approves the exact merged head, and every finding has a recorded disposition. D3 required checks pass with no gate loosened. D4 the leak scans the repository specifies are clean, and every post made for this work passes the per-post leak review before it is posted. D5 every commit is signed. D6 the documentation matches the change or the Verification says why there is no impact. D7 every commit has an
Assisted-bytrailer and the pull request has theprovenance:agent-assistedlabel. D8 the pull request stays within the size limits. D9 follow-ups are filed as issues and listed under Related. D10 the merge closes the issue through a closing reference, the board shows Done, and the finalStatus:comment names the merge commit.
Risks
A deleted case with no true Go equivalent loses coverage of the loosened-gate scan or of cleanup, where a gap lets a loosened gate through or loses work. The ledger and the mutation sample are the controls. Undo: revert the deletion.
Operator authority
None.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Work type
Projects
- StatusShow more project fieldsBacklog
Activity
tbhb-agent commentedon Oct 27, 2026
Refinement: READY — The loosens and lifecycle Bats cases are retired where Go covers them
Model: gpt-6-astra
Child 17 The loosens and lifecycle Bats cases are retired where Go covers them
Verdict: READY
Checked: Review-input and refusal coverage are acknowledged, each deleted case requires an actual Go equivalent, and helper auditing is independently verified. The suites contain 554 code lines. Relevant lifecycle coverage appears at
tests/skills/agent-merge-pr/lifecycle.bats:89andtests/skills/agent-merge-pr/lifecycle.bats:96.Gaps: None.
Split: None needed.
Definition of done
The definition of done for this issue (Chore). Tick each item and give its evidence.
check-leaks.shwith the repository's private-strings list, and the leak review of each post.docs/, CHANGELOG or help text), or the Verification section says "No doc impact" and why.provenance:agent-assistedlabel.Status:comment names the merge commit.mise run checkis green, and so are the coverage floorsmise run cover-go-checkandmise run cover-py-check, whichcheckdoesn't run.packages/agents/source/commits whatmise run generate-skills, thenmise run skill-tokens, thenapm installrewrite, in that order, andcheck-generated-skills(part oflint) passes.docs/agent-skills-migration.mdor the adoption docs, or the PR's Verification says "No consumer impact" and why.Round: 3 of 3