You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add one read-only lifecycle auditor that validates live issue metadata and PR closure semantics at the two approved seams. It reports actionable violations through one public CLI and fixture interface but never closes, reopens, relabels, rewrites, or accepts an issue automatically.
Acceptance criteria
The issue audit detects missing or conflicting category/state labels, literal escaped newlines, invalid tracking/runtime queue placement, missing active ownership, and inconsistent native parent/blocker relationships.
The PR audit accepts explicit Refs, final default-branch Closes, and None, while rejecting negated closing phrases, runtime/tracking closure, ambiguous relationships, external repository-qualified closing references, and closing keywords on non-default-base stacks.
PR bodies, titles, and the complete commit list are inspected because the repository squash-merge subject can preserve a closing keyword from the PR title.
Fixture-driven focused checks cover each valid and invalid counterexample through the public auditor interface.
The public CLI supports fixture input, one-PR audit, and full live-repository audit without a workflow-specific code path.
The live dry run reports current violations and reports the automatic-close setting as unknown/unavailable via documented API rather than inferring it.
Ruby syntax, shell syntax, shellcheck, focused fixtures, live PR audit, full read-only live audit, and git diff --check are recorded.
The original combined auditor/workflow candidate exceeded the repository review boundary and had a safe rollback split. #458 now owns only the auditor and its focused fixtures; #467 owns the workflow entrypoint.
Parent
#455
What to build
Add one read-only lifecycle auditor that validates live issue metadata and PR closure semantics at the two approved seams. It reports actionable violations through one public CLI and fixture interface but never closes, reopens, relabels, rewrites, or accepts an issue automatically.
Acceptance criteria
Refs, final default-branchCloses, andNone, while rejecting negated closing phrases, runtime/tracking closure, ambiguous relationships, external repository-qualified closing references, and closing keywords on non-default-base stacks.unknown/unavailable via documented APIrather than inferring it.git diff --checkare recorded.Blocked by
#456 defines the validated lifecycle contract.
Out of scope
Split note
The original combined auditor/workflow candidate exceeded the repository review boundary and had a safe rollback split. #458 now owns only the auditor and its focused fixtures; #467 owns the workflow entrypoint.