Skip to content

chore: fill or remove RSR template placeholders - #31

Merged
hyperpolymath merged 6 commits into
mainfrom
fix/rsr-placeholders
Jul 28, 2026
Merged

hyperpolymath merged 6 commits into
mainfrom
fix/rsr-placeholders

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

openssf-compliance.yml fails when any of the thirteen files it checks still contains a {{PLACEHOLDER}} token. This clears them, with no invention.

  • Deleted the TEMPLATE INSTRUCTIONS (delete this block before publishing) comment — the template says to delete it, and it is where every legend line lived, so a large share of the reported tokens were the file documenting its own placeholders.
  • Filled what the repository itself supplies: owner and repo from the git remote, project name, year, forge, main branch, contact email.
  • Removed PGP and website lines. https://github.com/<user>.gpg returns HTTP 200 for every account; with no key uploaded the body is a stub reading "This user hasn't uploaded any GPG keys". No key is published for either account, and commit signing here is SSH — unrelated. The template sanctions this: "Optional: Remove sections that don't apply (e.g. PGP if you don't use it)."\n\nA security policy telling a researcher to encrypt to a key that does not exist is worse than one that does not mention encryption.\n\nWhere applicable, this also fixes a misrouted advisory URL. A previous just init copied already-filled templates out of squisher-corpus, so 51 repositories directed vulnerability reports to hyperpolymath/squisher-corpus — a repository unrelated to the code being reported, meaning the affected maintainer never saw them. Repointed from this repository's own git remote.

hyperpolymath and others added 5 commits July 26, 2026 14:41
openssf-compliance.yml fails when any of the thirteen files it checks
still contains a {{PLACEHOLDER}} token. This clears them.

Three kinds of change, no invention:

The "TEMPLATE INSTRUCTIONS (delete this block before publishing)" comment
is deleted. The template says to delete it, and it is where every legend
line lives -- so a large share of the reported tokens were the file
documenting its own placeholders, not real unfilled fields.

Tokens derivable from the repository are filled: owner and repo from the
git remote, project name, year, forge, main branch, contact email.

PGP and website lines are removed rather than filled, because nothing
true could go in them. https://github.com/<user>.gpg returns HTTP 200 for
every account; with no key uploaded the body is a stub reading "This user
hasnt uploaded any GPG keys". No key is published for either account
here, and commit signing in this estate is SSH, which is unrelated. Only
one repository in the estate has a domain, so {{WEBSITE}} likewise has no
correct value. The template sanctions this: "Optional: Remove sections
that dont apply (e.g. PGP if you dont use it)." A security policy telling
a researcher to encrypt to a key that does not exist is worse than one
that does not mention encryption.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
A previous `just init` copied already-filled templates out of
squisher-corpus, so the identity landed in the BODY of the security
policy, not only in the legend block. burble/SECURITY.md directed
vulnerability reports to hyperpolymath/squisher-corpus, and 50 other
repositories did the same.

This is not cosmetic. A researcher who follows the policy files their
report against a repository that has nothing to do with the code they
were looking at, and the maintainer of the project actually affected
never sees it.

Repointed at this repository, derived from its own git remote. Also
rewords the prose that says "replace {{PLACEHOLDER}} tokens"; that is
documentation of the mechanism rather than an unfilled field, but the
OpenSSF gate greps for the token and cannot tell the difference -- the
same trap the Slavia Mustfile already records for its own probe.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@gitar-bot

gitar-bot Bot commented Jul 28, 2026 •

Copy link
Copy Markdown

Note

Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime.
Learn more

CI failed: CI validation failed due to K9 contract validation errors and unauthorized root-level files including flake.nix.

Overview

Two failures occurred in CI: K9 contract validation failed due to missing magic numbers, signatures, and pedigree blocks in 18 K9 files, and an architectural check failed because unauthorized root entries (including flake.nix) were present.

Failures

K9 Contract Validation Failure (confidence: high)

  • Type: tooling
  • Affected jobs: 90325973432
  • Related to change: yes
  • Root cause: K9 contract files lack required headers ('K9!'), signatures, and pedigree metadata blocks.
  • Suggested fix: Update all K9 contract files to include the required magic number, pedigree blocks, and signatures.

Unauthorized Root Entries & Banned File Check (confidence: high)

  • Type: tooling
  • Affected jobs: 90325974259
  • Related to change: yes
  • Root cause: Root directory contains un-allowlisted files and directories (such as flake.nix, mise.toml, ARCHITECTURE.md, etc.).
  • Suggested fix: Remove banned files like flake.nix, move unauthorized root entries into appropriate subdirectories, or add justified entries to .machine_readable allowlist files.

Summary

  • Change-related failures: 2 failures (K9 contract validation errors and unauthorized root-level files)
  • Infrastructure/flaky failures: 0
  • Recommended action: Fix the K9 contract files to include correct formatting/metadata, and clean up or allowlist root-level entries (removing flake.nix in favor of compliant configurations).
Code Review ✅ Approved 3 resolved / 3 findings

Fills RSR template placeholders and updates security policy repositories, but CODE_OF_CONDUCT.md still contains the wrong repository reference and template instruction block, and SECURITY.md retains unresolved PGP references.

✅ 3 resolved
✅ Bug: CODE_OF_CONDUCT.md still names/points to the wrong repository

📄 CODE_OF_CONDUCT.md:25 📄 CODE_OF_CONDUCT.md:313
This PR's stated goal is to fill placeholders and stop docs referencing the unrelated squisher-corpus repo, but the new CODE_OF_CONDUCT.md was missed. The Pledge (line 25) still reads "participation in Squisher Corpus" instead of the project name (Cicd Squabbler), and the Questions section (line 313) links to https://github.com/hyperpolymath/squisher-corpus/discussions — the wrong repository, so readers are routed away from this project. Replace "Squisher Corpus" with the correct project name and repoint the discussions URL to hyperpolymath/cicd-squabbler.

✅ Quality: CODE_OF_CONDUCT.md retains TEMPLATE INSTRUCTIONS block

📄 CODE_OF_CONDUCT.md:3-17
The template's own instruction block (lines 3-21) — labelled "TEMPLATE INSTRUCTIONS (delete this block before publishing)" and containing a literal {{PLACEHOLDER}} token plus the legend of values to substitute — is still present in the published file. The PR summary states this block was deleted (as done in SECURITY.md), but it was left in CODE_OF_CONDUCT.md. Delete lines 3-21. Note: this file is not in the openssf-compliance.yml checked-file list, so it won't fail CI, but the leftover {{PLACEHOLDER}} and internal notes should not ship.

✅ Quality: SECURITY.md keeps PGP references with unresolved TBD fingerprint

📄 SECURITY.md:44-55 📄 SECURITY.md:355
The PR summary says PGP lines were removed because no key is published, yet SECURITY.md still instructs researchers to download/import a key from https://github.com/hyperpolymath.gpg (lines 44, 49, 355) and lists a fingerprint of TBD (line 45). This tells researchers to encrypt to a nonexistent key and leaves an obvious placeholder in a published policy. Either remove the encrypted-email/PGP section as the summary intended, or supply a real fingerprint.

Tip

Comment Gitar fix CI to trigger a fix.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

Comment thread CODE_OF_CONDUCT.md
Comment thread CODE_OF_CONDUCT.md
Comment thread SECURITY.md
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@hyperpolymath
hyperpolymath merged commit 51114e1 into main Jul 28, 2026
32 of 37 checks passed
@hyperpolymath
hyperpolymath deleted the fix/rsr-placeholders branch July 28, 2026 17:08
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