Repository navigation
Generated aggregate docs: render in CI, publish to generated, never commit (#5057) - #5062
Merged
Merged
Conversation
… commit (#5057) oracle_assumptions.md and cics_spec_status.md are git-ignored; PRs commit their sources only. generated-docs.yml renders them on every PR (must succeed and be deterministic; diff vs base in the job summary) and publishes them from main to the `generated` branch. Readers use the register sources. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s the shared shape (#5057) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
…113Z # Conflicts: # docs/language_status/cics_spec_status.md # docs/language_status/oracle_assumptions.md
Owner
Author
|
No description provided. |
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.
Closes #5057. Draft.
Design: the aggregate pages rendered from committed sources are git-ignored. A PR commits its sources only. CI renders the pages (the render must succeed and give the same output twice) and shows the diff. A post-merge job publishes them to
generated. This is the pattern of #4825 / #5017.Class: committed generated files
docs/language_status/oracle_assumptions.mdregister.py renderdocs/language_status/cics_spec_status.mdcics_spec_status.py renderdocs/language_status/evidence_report/*evidence_report.pyevidence_report --check,estate_intake)docs/self_scan/graph_comparison_ledger.jsoncall_graph_accuracy.py --ledgergenerated(#4847)cics_field_testing.md+fact_channel_confidence.jsonfield_testing.py report --writeskeleton_export.py); low churnfresh_estate_trials.md/.svgtrial.py report --writecics_crucible.mdcics_crucible.py --update-baselinebaseline.jsondocs/signal_contracts.mdsignal_contract_audit.py --renderCicsSpec.java,ggcics_spec.hgitgalaxy.standards.cics regendocs/gitgalaxy_architecture_brief.mdgitgalaxy.ymlself-scanci/requirements/*.txt,templates/requirements/*.txt,ebcdic_dbcs/cp93*.json,det/cvda.pycics_command_spec.md, the wiki cookbook pages andregister/_parts/*matched the search but are hand-written (the parts are inputs to the register page).Code
tests/tools/generated_docs.py, withPAGES = {path: renderer}:check [--out DIR]renders every page twice. It fails on an exception (e.g. an entry_layout.jsondoes not place) or on two renders that differ.diff BASE NEWprints the markdown diff used in the job summary.renderwrites the pages into the working tree for local reading.cics_spec_status.register_rows()readsregister.load_entries();evidence_report.register()and the Db2 digest test readregister.render(). I checked locally that each gives the same result as reading the old page.register.py --checkandcics_spec_status.py render --checknow check only that the page renders; there is no committed page to compare against.pr_gates --fasthas a newgen-docsgate. It replaces the staleness tests, which ran in the suite;pr_gatesitself had no staleness gate for these pages.test_generated_docs.py:test_generated_branch.py:generated-docs.ymlis added toMOVED.cics_spec_status.test_the_combined_register_page_is_current,test_the_committed_page_is_current,test_check_fails_on_a_stale_page) are replaced by consistency and render tests.CLAUDE.md, the skills (det-port, cics-command-slice, blocker-slice, box-capacity) and the agent files say to commit sources only.Workflow lines changed
generated-docs.yml:renderruns onpull_request(path-filtered to the render inputs) and on every push to main, so the published copies always match main. Its permissions arecontents: readandpersist-credentials: false. It runsgenerated_docs.py check. On a PR it also renders the base and puts the diff in the job summary and thegenerated-docs-diffartifact. A base from before ci/docs: stop committing generated aggregate docs in PRs (oracle_assumptions.md et al.): render post-merge to the generated branch #5057 falls back to the base's committed pages.publishruns only on a push or dispatch onrefs/heads/main. It hascontents: write, used only forgenerated_branch.py publish --stamp generated-docs <2 pages>, which is a no-op when nothing changed.workflow_dispatchfrom main is the fallback.evidence-refresh.yml: removed the step "Re-render the CICS spec status page" and thecics_spec_status.mdline inadd-paths; updated the header comment and the PR body text.smoke-test.yml: removed the advisory step "CICS spec status page"; the render job above replaces it.test_only_the_listed_workflows_commit_to_mainis unchanged and passes.Cross-repo / in-flight
Open PRs #5015, #5038 and #5041 edit the pages this PR deletes. After this merges, each gets a modify/delete conflict on them. Resolve it by taking the deletion (
git rmthe page); their register entry files carry the content.Gates
pr_gates --fast: 6/6 pass (lint, audits, secrets, xray, gen-docs, gauntlet).pr_gates --ratchets: 7 pass, 0 fail, 0 skipped.pytestfrom/tmp: all pass excepttest_evidence_report.py::test_the_committed_reports_are_current. That test also fails on unmodified origin/main (evidence_report.py --check: zecs, as bot output to the generated branch: ground-truth history, evidence report, census reader (Part of #4963) #5017 noted), and it is advisory in PR CI.🤖 Generated with Claude Code