chore(eddy): modernization sweep — CI, attestations, governance, BibTeX#2
Merged
Conversation
- build-pdf: bump actions to checkout v6 / upload-artifact v7 / xu-cheng
latex-action v4.1.0, all pinned by SHA. Workflow default permissions
read-only; job-level write + attestations + id-token for SLSA build
provenance attached to paper/main.pdf on push-to-main. Also runs on PR.
- Add Dependabot config for github-actions ecosystem (weekly).
- Add gitleaks workflow as defense-in-depth over push protection
(push / PR / weekly cron).
- Add .zenodo.json + CITATION.cff for the published DOI
(10.5281/zenodo.19074337). Author field uses legal name per Paper
layer CLAUDE.md exemption.
- Add SECURITY.md with disclosure policy + scope.
- README: add build-pdf CI status badge.
- Convert inline thebibliography (37 entries) to paper/main.bib +
\bibliography{main} with ACM-Reference-Format style. CI latexmk
handles the bibtex pass automatically.
6 tasks
heznpc
added a commit
that referenced
this pull request
May 28, 2026
…tion (#3) Addresses all 8 findings from /code-review on PR #2. [CONFIRMED, HIGH] 1. build-pdf.yml: drop pull_request paths filter so the required status check fires on every PR (not only paper/** PRs). Avoids future non-paper PRs being blocked by missing required check. 2. paper/main.bib: replace full author lists in faraone2021 and cortese2025 with `and others` (BibTeX `et al.` idiom honored by ACM-Reference-Format). Restores the truncation the original inline thebibliography had, prevents 8-page sigconf limit overrun for ASSETS 2026. [PLAUSIBLE] 3. UTF-8 / LaTeX-escape mix in main.bib resolved as side effect of fix #2 — the only previous UTF-8 entries (Bölte, Søren, César, Døpfner, etc.) lived inside faraone2021's expanded author list, which is now `and others`. Remaining diacritic `Dah{\`o}` is the sole LaTeX-escape entry; consistent. 4. build-pdf.yml: split into two jobs. `build` (contents:read + attestations:write + id-token:write) runs on all triggers. New `publish-pdf` job (needs: build, contents:write) gated to push to main does the auto-commit. SLSA attestation stays in `build`. contents:write no longer leaks into compile/attest/upload steps. 5. .zenodo.json: verified against current Zenodo InvenioRDM vocabulary (https://zenodo.org/api/vocabularies/resourcetypes). Legacy field `publication_type: workingpaper` maps to canonical `publication-workingpaper`. No code change required — finding downgraded to verified-correct. 6. gitleaks.yml: add `branches: [main]` to the pull_request trigger so it is symmetric with the push trigger. Prevents double-scanning if feature branches with their own PR cycles appear later. 7. CITATION.cff: change preferred-citation.type from `article` to `preprint`; add `repository` and `institution.name: Zenodo`. Citation managers (Zotero/Mendeley) now classify correctly. 8. .gitignore: add `*.bcf` and `*.run.xml` for biber/biblatex artifacts. Covers a future migration without leaking aux files. Branch-protection note: required check context renamed from `Compile and (on main push) publish PDF` → `build` (updated via gh api before this PR was opened).
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
Repo-modernization sweep covering everything outside the prior README/positioning pass. No P0 findings; this PR clears the P1 list and the P2 items the user opted to apply now.
CI / supply chain
Security
Governance / discoverability
Manuscript maintainability
Out of scope (deferred per user decision)
Out of scope (logged decisions retained)
Test plan