Skip to content

Generated progress page: burned-estate ladder, components, eras, burn-down, Gap Atlas; READMEs link it (Part of #5280) - #5281

Merged
squid-protocol merged 4 commits into
mainfrom
churn/5280-progress-page
Oct 16, 2026
Merged

squid-protocol merged 4 commits into
mainfrom
churn/5280-progress-page

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #5280 (the issue stays open for the owner's call on the sibling gaps below).

What

tests/tools/progress_report.py renders docs/language_status/progress.md and progress.json (two generated_docs.PAGES entries, git-ignored, added to the generated-docs workflow publish list and its path filter). Inputs are existing artifacts only; every number names its source and the commit it was rendered at.

  1. Burned-estate ladder: fixed denominator = the programs in the burned estates' evidence reports (checked against estate4_draw.BURNED_NAMES). Today it prints 129 programs, 99 at L2+ (76.7%), 36 at L4+ (27.9%), 0 at L5.
  2. Components: translator whole/129 (110); CICS = census burned > 0 incl. the "(unlisted)"/"(unparsed)" forms counted as not modelled: 60 of 68 modelled on both runtimes, with the whole 257-entry spec (100/2/155) on a separate frontier-context line; cobolrt rules MATCHED/DIFFERS/ASSUMED/REFUSED and 0 measured on z/OS; mutation kill rate (585/642 adjusted, 585/840 raw); CICS crucible (50 programs, 152 scenarios) and estate crucible.
  3. Eras: programs per era with L2+ / L4+.
  4. Core burn-down and 5. Gap Atlas: from scope:* issue labels. Offline it reads a cached JSON (PROGRESS_ISSUES_CACHE, or progress_issues_cache.json); with GITHUB_TOKEN it fetches once per process (stdlib only). No cache and no token prints "not measured", never a number. ETA = open / (7-day net closure rate); "not converging" when the net is zero or negative, "none open" at zero; never a date.

Wording follows the evidence policy: levels and counts, no bare "proven", oracle = GnuCOBOL plus IBM documentation, not z/OS.

README option picked: pointer, not marker block

The issue allowed a rendered <!-- progress:begin --> block only if a bot refreshes main. Nothing writes to main (#5057/#4963: the docs bot publishes to generated), and test_evidence_report_single_source.py (#5206) bars main from linking generated-only report files. A committed block would go stale on every merge, or need a bot commit per merge, which is the conflict source #5057 removed. So README.md (CICS-to-Java section, hero tile) and gitgalaxy/tools/cobol_to_java/README.md (hero tiles, era table, CICS spec counts, both evidence ladder tables, E0-E4 numbers, loose counts) keep prose and link the one generated page. det_survey.md is marked a dated 2026-10-02 snapshot and its "48 proven" sentence is gone. The dated, labelled "Model-written ports (snapshot 2026-10-02)" table in <details> is kept as a per-port snapshot.

Workflow change (owner-approved)

.github/workflows/generated-docs.yml: publish list, path filter (the new inputs), issues: read on the render job, and GITHUB_TOKEN passed to the render step on main only (a PR render never gives PR code a token, and prints "not measured").

Tests

tests/tools/test_progress_report.py (18): fixture render with all 5 sections and fixed denominator; "not converging" for net zero and for net positive backlog, a day count only when shrinking; window edges, milestones, PRs excluded; burned-only CICS denominator; rules/mutation/crucible/ladder/era math; no bare "proven"; deterministic twice; non-burned estate refused; the README guard (no estate/program/command/scenario count outside <details>, 58 hits on the old text), pointer present, no marker block, det_survey snapshot. test_generated_branch.py publish-list test extended.

Gates

pr_gates --fast 6/6 pass; --ratchets 8 pass, 0 fail, 0 skipped. No parsing code touched: no golden bless. Local ruff 0.16.0 differs from CI 0.16.10; used the CI ruff for formatting.

Cross-repo

None. Near-overlap noted by churn: #5279 touches det/cics.py, which this PR does not.

Class sweep

Class: hand-written status numbers in docs that drift from generated artifacts. Handled: README.md CICS section, cobol_to_java/README.md, det_survey.md.
Sibling gaps: docs/language_status/*.md pages other than det_survey and the docs/ecosystem.md/other READMEs not swept for the same counts; the README's non-CICS hero tiles (scan speed, languages, precision) are hand-written but out of this issue's scope.

Lessons for agents

  • A bare cat > file in a compound shell command (no heredoc) waits on stdin and hangs the tool: always use the Write tool or a heredoc.
  • Adding a generated page also needs the MOVED list in tests/tools/test_generated_branch.py, not only PAGES, .gitignore and the workflow.

🤖 Generated with Claude Code

squid-protocol and others added 2 commits October 16, 2026 15:09
… burn-down, Gap Atlas; READMEs link it (Part of #5280)

tests/tools/progress_report.py renders docs/language_status/progress.md and progress.json through
generated_docs.PAGES and the generated-docs workflow publish list. README.md and the cobol_to_java
README drop their hand-written status numbers for a link to the page; det_survey.md becomes a dated
snapshot.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ogress.json (Part of #5280)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@squid-protocol squid-protocol added the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 16, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol marked this pull request as ready for review October 16, 2026 19:15
@squid-protocol squid-protocol removed the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 16, 2026
@squid-protocol
squid-protocol enabled auto-merge (squash) October 16, 2026 19:17
@squid-protocol squid-protocol added the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 16, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

…skills and the pr-worker (Part of #5280)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… rules, skills and the pr-worker (Part of #5280)"

This reverts commit 58da6f5.
@github-actions

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol squid-protocol added shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md and removed shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md labels Oct 16, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

1 similar comment
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

squid-protocol added a commit that referenced this pull request Oct 16, 2026
…skills and the pr-worker (Part of #5280) (#5284)

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
@squid-protocol
squid-protocol merged commit cdaef0e into main Oct 16, 2026
46 checks passed
@squid-protocol
squid-protocol deleted the churn/5280-progress-page branch October 16, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant