chore(repo): add community health files, security policy and code scanning - #14
Conversation
There was a problem hiding this comment.
Findings outside the diff
These sit on lines this PR did not change, but this PR is what makes them wrong. They cannot be posted as inline comments.
- [WARNING]
.github:2— Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: amannn/action-semantic-pull-request@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Reviewer callouts (3)
Non-blocking observations. Nothing here needs to change before merge.
.github/workflows/codeql.yml:23— Pin to a full commit SHA for reproducible builds (e.g. actions/checkout@ # v7)..github/workflows/scorecard.yml:22— Pin to a full commit SHA for reproducible builds (e.g. actions/checkout@ # v7)..github/workflows/scorecard.yml:32— Pin to a full commit SHA for reproducible builds (e.g. actions/upload-artifact@ # v7).
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
|
Review round handled, two commits. 3440690 pins every action in the two new workflows to a full commit SHA with a trailing version comment: 4861ca4 takes The email address in Left for a separate change: Unrelated to this PR, but it surfaced while pushing it: the default branch has two open Dependabot alerts, both against |
|
🎉 This PR is included in version 0.2.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
What this changes
Adds the community and security files the repository was missing: issue forms, a pull request template,
SECURITY.md,CODE_OF_CONDUCT.md,CODEOWNERS, Dependabot, CodeQL and OpenSSF Scorecard. No source or test files are touched.The issue forms are shaped around what this project actually needs to hear. The first template is a divergence report, which asks for the transaction hash or byte vector, the ethrex commit or endpoint, and the rule set the reporter priced under, because a disagreement with the reference client is a result rather than a nuisance and is unusable without those three. The bug form asks for the viem version separately, since a duplicated peer copy is the common cause of type errors around
client.extend. Blank issues are off and the config links point at the ethrex tracker for node bugs and at a private advisory for anything in the signing or hashing path.Why
Someone arriving at this repository had no way to tell which reports are wanted, where a vulnerability goes, or what a pull request is expected to argue. The invariants were already written down in
CONTRIBUTING.md, but nothing put them in front of a contributor at the moment they open a pull request. The template now asks which of the three oracles pins the change, and whether it touched anything under "Rules that are not style preferences".SECURITY.mdstates a scope rather than a disclaimer. hegota-testnet assets are not real, so the risk worth reporting is that this library produces bytes a signer is asked to authorise, and that consumers will carry the same code onto a chain where the assets are real. In scope: thev || r || slayout and recovery id encoding, a re-encoding that does not reproduce its hash,assertValidFrameTxaccepting an envelope consensus rejects, and gas accounting that understatesmaxCost. Out of scope and stated as such: node bugs, the public endpoint, andencodeFrameTxnot validating, which is by design.Dependabot carries
cooldown: default-days: 7to matchminimumReleaseAgeinbunfig.toml. Without it every proposed bump would be a version a localbun installrefuses to resolve.How the new behaviour is pinned
frame_tx_wire_tests.rsmaxCost, or thegasUseddecomposition)The workflows and the YAML forms were validated with
actionlintand a YAML parse, which is the only verification this change admits.Load-bearing rules
CONTRIBUTING.mdgains pointers to the new files and a note on what the pull request and divergence templates ask for. No existing prose was rewritten.Checks
bun run testbun run typecheckbun run build && bunx @arethetypeswrong/cli --pack .(required ifexports,files,typesVersionsortsup.config.tschanged; otherwise N/A)bun run test:live(optional, hits the public endpoint, not a gate)293 tests pass and the type check is clean. The packaging check is N/A: nothing in the published tarball or the exports map changes.
Release impact
docs,chore,test,ci,refactor,style,perf,build)fix)feat)feat!or aBREAKING CHANGE:footer)AI assistance
Two things that need repository settings, not code
Private vulnerability reporting is disabled, so the advisory link in
SECURITY.mddoes not yet work for anyone outside the organisation. It needs enabling under Settings, Security. An API call to enable it returned 404 for lack of admin rights.CODEOWNERSis ignored in silence for any account without write access, so both handles listed there should be confirmed before merging.Related issues
Four issues were opened from
docs/OPEN-ITEMS.mdto give the newgood first issuelabel something to point at: #10, #11, #12 and #13.