Skip to content

docs(reports): generate an index for TECHNICAL_REPORTS - #2689

Open
inureyes wants to merge 1 commit into
mainfrom
docs/issue-1708-technical-reports-index
Open

inureyes wants to merge 1 commit into
mainfrom
docs/issue-1708-technical-reports-index

Conversation

@inureyes

Copy link
Copy Markdown
Member

Closes #1708

TECHNICAL_REPORTS/ has grown to 980 files (490 en/ko pairs) since the issue was filed, with mixed heading and date formats. A hand-written table would go stale on the next report, so this PR generates the index and has CI enforce it.

  • scripts/ci/gen_reports_index.py writes TECHNICAL_REPORTS/README.md: one row per report, newest number first, with a PR link, the H1 title minus the Technical Report: PR #N - boilerplate, the date (file-name suffix, else the header Date/Updated line) and en/ko links. A missing language shows as -. --check exits 1 when the committed index is stale.
  • tests/test_gen_reports_index.py breaks a synthetic directory the way a report PR would (new report, retitled report, hand edit, missing index) and asserts --check rejects each one. It also checks that the repository's committed index is current and that it links every report file on disk. The suite runs in the existing python-tooling CI job, so a report PR that skips make reports-index fails there with a message naming the fix.
  • make reports-index / make verify-reports-index, plus a pointer section in docs/README.md.

TECHNICAL_REPORTS/ is gitignored, so the README is force-added the same way the reports are.

Validation: all 490 reports get a title, a date and both language links. python3 -m unittest discover -s tests passes (206 tests), and so do make verify-reports-index and the license-header check. This PR has no Rust changes.

TECHNICAL_REPORTS/ held 980 files (490 en/ko pairs) with no index and no inbound link, so a report could not be found or mapped to its PR. A hand-kept table would drift on the next report, so the index is generated.

- scripts/ci/gen_reports_index.py writes TECHNICAL_REPORTS/README.md: one row per report stem, newest number first, with the PR link, the cleaned H1 title, the date (file-name suffix, else the header Date/Updated line) and en/ko links. --check exits 1 when the committed index is stale.
- tests/test_gen_reports_index.py covers the stale cases (new report, retitled report, hand edit, missing index), unpaired and pipe-bearing titles, and asserts the committed index is current and links every report file. It runs in verify-python-tooling and CI's python-tooling job, so a report PR that skips `make reports-index` fails there.
- Makefile gains reports-index and verify-reports-index; docs/README.md points at the directory.

TECHNICAL_REPORTS/ is gitignored, so the README is force-added like the reports.

Closes #1708
@inureyes inureyes added type:docs Documentation improvements or additions priority:low Low priority status:review Under review labels Oct 27, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority:low Low priority status:review Under review type:docs Documentation improvements or additions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(reports): add an index README for the 308-file TECHNICAL_REPORTS directory

1 participant