Compare commits

...

2 Commits

Author SHA1 Message Date
Alexander Whitestone
8b681443b0 docs: verify issue 658 already implemented on main
Some checks failed
Architecture Lint / Linter Tests (pull_request) Successful in 18s
Smoke Test / smoke (pull_request) Failing after 18s
Validate Config / YAML Lint (pull_request) Failing after 14s
Validate Config / JSON Validate (pull_request) Successful in 19s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 57s
Validate Config / Python Test Suite (pull_request) Has been skipped
Validate Config / Shell Script Lint (pull_request) Failing after 58s
Validate Config / Cron Syntax Check (pull_request) Successful in 11s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 12s
Validate Config / Playbook Schema Validation (pull_request) Successful in 23s
Architecture Lint / Lint Repository (pull_request) Failing after 20s
PR Checklist / pr-checklist (pull_request) Failing after 4m19s
2026-04-22 14:54:21 -04:00
Alexander Whitestone
c8386e9532 test: add issue 658 verification doc coverage 2026-04-22 14:53:32 -04:00
2 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
# Issue #658 Verification
## Status: ✅ ALREADY IMPLEMENTED ON MAIN
Issue #658 is a dated triage report snapshot (`27 Open PRs` on 2026-04-14), but the repo-side capability it asked for already exists on `main` today.
The current mainline implementation is stronger than the original static report:
- `scripts/pr_backlog_triage.py` provides reusable PR backlog analysis for one repo or an entire org
- `scripts/pr-backlog-triage.py` preserves the original hyphenated CLI entrypoint for the earlier workflow
- `scripts/pr-triage-automation.py` extends the same lane into automation / optional cleanup behavior
- `tests/test_pr_backlog_triage.py` locks the categorization, duplicate detection, stale-reference detection, and report formatting behavior
## Mainline evidence
Files already present on `main` in a fresh clone:
- `scripts/pr_backlog_triage.py`
- `scripts/pr-backlog-triage.py`
- `scripts/pr-triage-automation.py`
- `tests/test_pr_backlog_triage.py`
What the implementation already does:
- categorizes open PRs by type
- detects duplicate PRs by shared issue references
- detects stale PRs that reference closed issues
- emits markdown / JSON triage output
- supports org-wide or repo-scoped backlog analysis
## Historical trail
- PR #763 (`feat: PR backlog triage script + 9 duplicate PRs closed (#658)`) was closed unmerged
- the exact requested branch name `fix/658` still exists remotely from that earlier pass
- despite that closed unmerged PR state, the backlog-triage capability is already on `main` today through the current maintained scripts and tests
## Fresh verification on current main
Commands run from the fresh clone:
- `pytest -q tests/test_pr_backlog_triage.py`
- `python3 -m py_compile scripts/pr_backlog_triage.py scripts/pr-backlog-triage.py scripts/pr-triage-automation.py`
- `python3 scripts/pr_backlog_triage.py Timmy_Foundation/timmy-config --json`
Observed results:
- targeted test suite passed (`25 passed`)
- the three PR-triage entrypoints compiled cleanly
- live smoke output reported the current repo state as `26 open PRs` (the issue body's `27 open PRs` snapshot is now stale)
- live smoke output also reported zero current `duplicate PRs` and zero current `stale PRs`
## Why this issue should close
Issue #658 describes a backlog-analysis need. That need is already satisfied on `main` by the reusable triage tooling listed above. The remaining gap is not missing code in `timmy-config`; it is only that the original dated issue body still reflects the old 2026-04-14 snapshot instead of the current live repo state.
## Recommendation
Close issue #658 as already implemented on `main`.
This verification PR only records the evidence trail cleanly so the stale issue can be resolved without regenerating duplicate backlog-analysis tooling.

View File

@@ -0,0 +1,24 @@
from pathlib import Path
def test_issue_658_verification_doc_exists_with_mainline_pr_triage_evidence() -> None:
text = Path("docs/issue-658-verification.md").read_text(encoding="utf-8")
required_snippets = [
"# Issue #658 Verification",
"## Status: ✅ ALREADY IMPLEMENTED ON MAIN",
"scripts/pr_backlog_triage.py",
"scripts/pr-backlog-triage.py",
"scripts/pr-triage-automation.py",
"tests/test_pr_backlog_triage.py",
"PR #763",
"closed unmerged",
"python3 scripts/pr_backlog_triage.py Timmy_Foundation/timmy-config --json",
"pytest -q tests/test_pr_backlog_triage.py",
"26 open PRs",
"duplicate PRs",
"stale PRs",
]
missing = [snippet for snippet in required_snippets if snippet not in text]
assert not missing, missing