Repository navigation
Description
Problem
Slice 02 of #327 ports verification against the existing baseline at packages/agents/source/skills/fix-prose/shared/scripts/check-suppressions.sh:271. A passing prose linter does not prove the writer stayed within its target.
Acceptance criteria
- AC1: Target-only edits with unchanged watched files produce no findings and status 0.
- AC2: Deleting an unrelated tracked file produces its stray-edit finding and status 1.
- AC3: An unsanctioned dictionary addition produces its configuration-change finding and status 1.
- AC4: A newly added suppression in the target produces a line-numbered suppression finding and status 1.
- AC5: Each violation report ends with its observed finding total.
- AC6: A target mismatch or invalid state returns the existing exit-2 refusal.
- AC7: Non-functional: verification changes neither target nor retained workflow evidence.
- AC8: Non-functional: native verification cases pass on macOS, Linux and Windows.
Scope and non-goals
Port verification into agentrepo prose check-suppressions. Non-goal: sanction exceptions (#888), new watched classes, hook enforcement, caller switches, frozen-file edits or Bats deletion. No new shell logic. Canonical sources generate the packages and deployments; generated copies are never edited by hand. No edits to shared libraries, guard scripts, merge scripts, ownership rules, workflow files or harness configuration.
Approach
Consume #886's evidence. Record shell fixtures for every watched class, ignored style content, added/modified/deleted paths, all supported suppression forms, moved directives and combined violations before porting those branches. Preserve the oracle's ordering and line sensitivity rather than replacing it with a new policy.
Observed: target-only verify was silent/0. Removing OTHER.md produced OTHER.md:1 [error] stray-edit and TOTAL: 1 finding(s), status 1. Adding charlie to the dictionary without allowance produced linter-config-changed/TOTAL: 1 finding(s), status 1. Appending a Vale suppression at line 2 produced DRAFT.md:2 [error] suppression-comment and the same total/status. Invalid state and wrong target each returned 2.
Dependencies
Blocked on: #886
#888 must complete before #891 can deploy verification with dictionary exceptions. #753 gates rollout, not this additive command. #321's context contract remains shared work; do not edit its library.
Size
M. Existing shared suppression implementation: 263 scc code lines, shared with #886 and #888; this slice owns verification only. Counts use scc 4.1.0; generated package/deployment output and token metadata are excluded, while source, tests, fixtures and frozen copies count. One PR with fewer than 800 changed code lines and at most 2,000 prose lines. No unbuilt Go size is claimed: measure the actual staged diff before publication and split again if the cap is exceeded.
Verify plan
- AC1, AC2, AC3, AC4, AC5, AC6:
go test ./internal/agentrepo -run '^TestProseVerify' -count=1 -vrecords and compares exact status, stdout, stderr and ordered findings against unchanged shell fixtures. - AC7: the same command snapshots target, index and workflow artifacts before/after verification and fails on report-owned changes.
- AC8: execute the same command natively on macOS, Linux and Windows; record Unix oracle executions separately.
At the merged head, record each AC command and result, native platform execution and any skips. Required checks must pass without weakening gates. Obtain independent review of the exact head and record findings dispositions; use signed commits with Assisted-by trailers and the provenance:agent-assisted label. Match documentation to behavior.
- Run required repository leak scans and review each issue/PR post for leaks before publication.
- File follow-ups and deferred findings as issues with a Problem and numbered acceptance criteria; list them under Related.
- Record the closing reference, set the board status to Done, and leave a final
Status:comment naming the merge commit.
This draft authorizes no publication.
Risks
An exclusion or comparison change could hide edits. Do not deploy the incomplete sanction path. Undo: revert this additive slice; shell remains the active verifier.
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 — Detect stray edits and suppression comments in Go
Model: gpt-6-astra
Child 02 Detect stray edits and suppression comments in Go
Verdict: READY
Checked: Watched-file comparisons, deletion detection, ignored styles, diagnostic ordering and line-sensitive suppression matching remain consistent with
packages/agents/source/skills/fix-prose/shared/scripts/check-suppressions.sh:200andpackages/agents/source/skills/fix-prose/shared/scripts/check-suppressions.sh:323. Sanctions remain assigned to 03 and required before rollout. Verification, authority, undo and the 650-code-line estimate remain adequate.Gaps: None.
Split: None required.
Definition of done
The definition of done for this issue (Feature). 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: 2 of 3
tbhb-agent commentedon Oct 31, 2026
Refinement: READY — Port prose verification into Go
Checked
originidentifiestbhb-dev/devtools. Issue Detect stray edits and suppression comments in Go #887 is open and labeledrefinement:ready; with the supplied round override, this is round 3.packages/agents/source/skills/fix-prose/shared/scripts/check-suppressions.sh:271supports the stated verification behavior, including detecting changed watched files and reporting line-sensitive suppression findings. The approach follows Replace complex shell with tested Go, starting with gates and merging #588’s Go-port direction and adds no shell logic.CODEOWNERS,agent-skills.conf, review-instructions, harness config, workflow, or action path; “Operator authority: None” is accurate.Gaps
None.
Split
None required.
Definition of done
Planning coverage only: checked boxes mean the ACs and Verify plan cover the item; they do not mean the work is complete.
check-leaks.shwith the repository’s private-strings list, and the per-post leak review. Evidence: the plan requires repository leak scans and leak review of each issue/PR post before publication.Assisted-bytrailers and theprovenance:agent-assistedlabel. Evidence: the plan names both.Status:comment. Evidence: the plan requires all three records.Round: 3 of 3