Conversation
Adds scripts/fetch_impl_prs.py, which reads raw/teps.jsonl, extracts every (repo, pr_number) implementation PR link across all TEPs (not just a curated Pass 1 sample, matching the "run all" precedent set by Sub-Task 4), and fetches PR metadata + reviews + review comments from the GitHub REST API generically across whatever tektoncd/* repos are actually linked. 404s (deleted/transferred PRs) are recorded rather than dropped. Adds an HTML coverage report, matching the pattern established by fetch_tep_prs.py. Also adds scripts/build_report_index.py: a tabbed index page (reports/index.html) that embeds every reports/*.html file in an iframe behind a tab, discovered by scanning the directory so new reports need no index update. Ran `make fetch-impl-prs` for the full set: 254 unique implementation PRs fetched (0 not found), 5740 review comments collected, committed to raw/impl_prs.jsonl and raw/impl_pr_reviews.jsonl. Also fixes the last remaining TEP-0192 reference in pyproject.toml's description (missed in the earlier renumbering pass). Signed-off-by: Andrea Frittoli <andrea.frittoli@gmail.com>
The report previously only listed implementation PRs standalone (by repo, with review decision and size), with no way to see which TEP each PR belongs to. Adds an "Implementation PRs by TEP" table: one row per TEP with implementation PR links, listing each linked PR with a review-decision badge, or a 404/not-fetched badge when the PR record is missing. Signed-off-by: Andrea Frittoli <andrea.frittoli@gmail.com>
data-collection-plan.md specifies that Sub-Task 5 records should carry discovered_via: "tep_file_link" so Sub-Task 6 (cross_repo_search.py, not yet built) can tag its own org-wide search results "search" and make the under-linking rate measurable. This was missing from the initial implementation. Adds it to both successful and 404 records, and backfills the 254 existing raw/impl_prs.jsonl records fetched so far (no re-fetch needed, the data itself is unchanged). Signed-off-by: Andrea Frittoli <andrea.frittoli@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/fetch_impl_prs.py(Sub-Task 5): readsraw/teps.jsonl, extracts every(repo, pr_number)implementation PR link across all TEPs (not a curated Pass 1 sample — matches the "run all" precedent Sub-Task 4 established), and fetches PR metadata + reviews + review comments from the GitHub REST API generically across whatevertektoncd/*repos are actually linked (13 repos observed, not just the 7 named in the plan's context note).{"repo", "pr_number", "status": 404}rather than dropped, per the plan.discovered_via: "tep_file_link", per the plan's spec — this is the only discovery mechanism implemented so far; Sub-Task 6 (cross_repo_search.py, not yet built) will later tag its own org-wide-search finds"search", making the under-linking rate measurable.reports/impl_prs_report.htmlwith an "Implementation PRs by TEP" table — one row per TEP listing its linked implementation PR(s), each with a review-decision badge (or 404/not-fetched badge) — plus coverage, per-repo breakdown, and a flat PR list. Matches the HTML-report patternfetch_tep_prs.pyestablished for Sub-Task 4.scripts/build_report_index.py: a tabbed index page (reports/index.html) that embeds everyreports/*.htmlin an iframe behind a tab, labelled from each report's<title>. Reports are discovered by scanning the directory, so a new report needs no index update. Newmake report-indextarget.make fetch-impl-prsfor the full set: 254 unique implementation PRs fetched, 0 not found, 5740 review comments — committed toraw/impl_prs.jsonl/raw/impl_pr_reviews.jsonl.TEP-0192reference inpyproject.toml's description, missed in the earlier renumbering pass (Update TEP-0192 references to TEP-0173 #13).Test plan
uv run ruff check scripts/ tests/uv run ruff format --check scripts/ tests/uv run mypy scripts/uv run pytest --cov=scripts --cov-report=term-missing(96 passed)npx markdownlint-cli "**/*.md"(matches CI's markdownlint-cli2 config)reports/index.htmland the TEP-mapping table (spot-checked TEP-0084, which has 7 linked chains PRs) — structural/HTTP check only, did not visually drive the tab-click interaction in a real browserraw/impl_prs.jsonlrecords were backfilled withdiscovered_via(no records missing it), without re-hitting the GitHub API