Skip to content

Reject Clay source failures before publication#416

Open
jamiepratt wants to merge 1 commit into
ClojureCivitas:mainfrom
jamiepratt:codex/reject-clay-render-failures
Open

Reject Clay source failures before publication#416
jamiepratt wants to merge 1 commit into
ClojureCivitas:mainfrom
jamiepratt:codex/reject-clay-render-failures

Conversation

@jamiepratt

@jamiepratt jamiepratt commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Review status

CAUTION: This is an AI-generated CI/publication-policy change. It requires independent review and approval by someone other than the author. Do not merge without that approval.

Summary

  • run Clay on Java 21 with a production-like 1 MiB stack
  • fail when Clay prints a Clay FAILED marker even if the process exits zero, with GitHub error annotations
  • retain a synthetic historical StackOverflowError regression test
  • run the complete strict Clay plus Quarto publication gate on pull requests
  • deploy only for pushes to upstream main

Separation

The Beta article overflow repair was separated and merged in #417. This PR contains no article source or extracted asset changes; it contains only the five strict-gate workflow, script, test, and documentation files.

Validation

  • bash syntax and shellcheck passed
  • regression fixture rejects the previous StackOverflowError behavior
  • strict Clay passed for the complete site with JAVA_TOOL_OPTIONS=-Xss1m
  • Quarto rendered 233/233 pages

Model validation: not applicable; this changes publication infrastructure only.

Generated by AI. Human review required.

@jamiepratt

Copy link
Copy Markdown
Collaborator Author

AI-authorship/review note: this PR was generated by OpenAI Codex and has not received human approval. Please review before merge.

Negative control against merged commit b0c9217:

  • full Clay run reproduced java.lang.StackOverflowError
  • strict wrapper returned exit 1
  • GitHub annotation emitted: ::error title=Clay source render failed::Clay FAILED: src/language_learning/vocabulary_estimation/math_explanations.clj

Positive control at 9fe3381:

  • affected Beta-binomial and shared explanation sources pass under -Xss1m
  • full Clay has no failure marker
  • Quarto renders 233/233 pages

Highest-value review areas: shell PIPESTATUS propagation, failure-marker matching/annotations, and the classpath resource load.

@jamiepratt

Copy link
Copy Markdown
Collaborator Author

Follow-up from Codex: commit 64a2614 now runs the full publication build on pull_request and guards the deploy job to pushes on main. The PR therefore gets a blocking pre-merge build check; forced Clay failures appear as GitHub ::error annotations naming each rejected source. Human review is still required.

@jamiepratt

jamiepratt commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator Author

AI-generated verification report — human review still required before merge.

The gate was exercised against the real failure mode in GitHub Actions:

Please review the shell failure-detection logic, workflow trigger/deploy guard, and byte-preserving resource extraction rather than treating the green run as approval.

@jamiepratt jamiepratt force-pushed the codex/reject-clay-render-failures branch from 7926c34 to ba004c3 Compare July 15, 2026 13:26
@jamiepratt

Copy link
Copy Markdown
Collaborator Author

Branch rewritten after separation: ba004c3 is the complete gate-only change. Earlier combined commit SHAs and comments referring to article/resource extraction are superseded; the repair is already merged separately as #417. This PR must remain unmerged until independently reviewed and approved.

@jamiepratt

Copy link
Copy Markdown
Collaborator Author

Gate-only verification complete: GitHub Actions run 29419194974 passed the build on ba004c3, including the historical failure-detection regression, full strict Clay render, and full Quarto render. The deploy job was skipped as required for a pull request. This is verification, not approval; independent human review is still required before merge.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant