Skip to content

chore: fill or remove RSR template placeholders - #78

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

chore: fill or remove RSR template placeholders#78
hyperpolymath merged 7 commits into
mainfrom
fix/rsr-placeholders

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Jul 28, 2026

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.

Summary by Gitar

  • Documentation & Governance:
    • Added ARCHITECTURE.md, GOVERNANCE.md, and MAINTAINERS files
    • Replaced GOVERNANCE.adoc with Markdown format and updated SECURITY.md policies
  • Configuration & Tooling:
    • Added mise.toml configuration and scripts/mise_to_a2ml.py translation utility
    • Added .github/funding.yml sponsor configuration
  • Licenses & Compliance:
    • Added new license texts under LICENSES/ including AGPL-3.0-or-later.txt and updated existing license files
  • CI/CD Workflows:
    • Updated GitHub Actions workflow permissions across multiple pipeline files

This will update automatically on new commits.

hyperpolymath and others added 6 commits July 25, 2026 09:43
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
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>
Comment thread scripts/mise_to_a2ml.py
@@ -0,0 +1,55 @@
#!/usr/bin/env python3
Comment thread scripts/mise_to_a2ml.py
Comment thread scripts/mise_to_a2ml.py
@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 failures caused by a missing custom GitHub Action repository reference and a governance check violation for banned ReScript files.

Overview

Two distinct failure patterns were found across 3 analyzed logs: a missing custom GitHub Action dependency and a repository governance check violation due to banned ReScript source files.

Failures

Missing Custom GitHub Action (confidence: high)

  • Type: dependency
  • Affected jobs: 90327003313, 90327003446
  • Related to change: yes
  • Root cause: The workflow references a custom GitHub Action (hyperpolymath/a2ml-validate-action) that either does not exist, was deleted, or is in an inaccessible repository.
  • Suggested fix: Verify the repository name and path for hyperpolymath/a2ml-validate-action. Ensure the repository is accessible and the reference is correct.

Governance Banned Language Violation (confidence: high)

  • Type: configuration
  • Affected jobs: 90327010270
  • Related to change: yes
  • Root cause: The repository contains banned ReScript files (opsm_mobile/src/RuntimeBridge.res) violating the cicd_rules/banned_language_file governance policy.
  • Suggested fix: Remove or convert the ReScript file to AffineScript, or add the appropriate # hypatia:ignore cicd_rules/banned_language_file pragma.

Summary

  • Change-related failures: 2 failures (1 missing custom action reference, 1 governance banned language file check failure)
  • Infrastructure/flaky failures: 0
  • Recommended action: Fix the missing GitHub Action reference in the workflow configuration and address or exempt the banned ReScript file in opsm_mobile/.
Code Review ✅ Approved 2 resolved / 2 findings

Fills RSR template placeholders, cleans up governance files, and adds repository configuration and compliance assets. Consider addressing the TOML parsing issues and missing quote escaping in the mise_to_a2ml.py translation utility.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

✅ 2 resolved
Quality: A2ML output does not escape quotes in tool/version values

📄 scripts/mise_to_a2ml.py:27-28
generate_a2ml_scm interpolates tool names and versions directly into quoted S-expression strings ((name "{tool}") (version "{version}")) with no escaping. A value containing a double quote or backslash would emit malformed A2ML. Values from .tool-versions are normally safe, so impact is low, but escaping (or validating) the tokens would make the generator robust.

Edge Case: mise_to_a2ml.py silently mangles TOML input despite its name

📄 scripts/mise_to_a2ml.py:5-17 📄 scripts/mise_to_a2ml.py:36
The script is named mise_to_a2ml but its parser (line.split() then take parts[0]/parts[1]) only understands the whitespace-delimited .tool-versions format, not the TOML mise.toml this PR adds. If pointed at a mise.toml, [tools]/[env] headers are skipped but lines like node = "latest" or NODE_ENV = "development" parse into a bogus package whose version is "=", producing garbage A2ML with no error. Consider validating input format (reject lines whose second token is =) or renaming/documenting that the input must be .tool-versions.

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

@gitar-bot

gitar-bot Bot commented Jul 28, 2026

Copy link
Copy Markdown

⚠️ Gitar auto-approved this PR but could not enable auto-merge: auto-merge is disabled for this repository — enable "Allow auto-merge" in the repository settings.

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR and enabled auto-merge (configure)

@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Jul 28, 2026
@hyperpolymath
hyperpolymath merged commit eeb5382 into main Jul 28, 2026
18 of 21 checks passed
@hyperpolymath
hyperpolymath deleted the fix/rsr-placeholders branch July 28, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants