Skip to content

chore: fill or remove RSR template placeholders - #43

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

hyperpolymath merged 4 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 4 commits July 26, 2026 14:44
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>
Four causes, none an unfilled field.

STATE.a2ml prose that wraps mid-phrase, so a phrase-level replacement
missed it. The bare token names the concept; it is now the word.

An OpenSSF badge whose URL needs a project ID this repository does not
have. The badge is removed rather than given an invented ID: a badge
pointing at a nonexistent project is a broken image making a claim.

CHANGELOG entries describing earlier placeholder work. Rewriting a
changelog to say something it did not say would be wrong, so the sentence
is kept and only the braces go -- the gate greps for the token shape and
cannot tell a record of past work from present debt.

Residual squisher-corpus identity that the previous pass did not reach.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@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

Comment thread README.md
@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: The CI build failed due to an unfilled placeholder token in .machine_readable/META.a2ml and a CodeQL configuration error attempting to analyze JavaScript/TypeScript in a non-JS repository.

Overview

Two distinct errors caused CI failures across jobs: an OpenSSF compliance check failure due to unfilled template placeholders in .machine_readable/META.a2ml, and a CodeQL analysis configuration error failing on JavaScript/TypeScript analysis in a repository without JS/TS source files.

Failures

OpenSSF Compliance Placeholder Check (confidence: high)

  • Type: build
  • Affected jobs: 90326303831
  • Related to change: yes
  • Root cause: The file .machine_readable/META.a2ml contains unfilled placeholder tokens ({{REPO}} and {{REPO_DESCRIPTION}}) which violate the RSR template compliance gate check.
  • Suggested fix: Edit .machine_readable/META.a2ml to replace the {{REPO}} and {{REPO_DESCRIPTION}} placeholders with actual repository details, or run just init locally to populate them.

CodeQL Analysis Configuration Error (confidence: high)

  • Type: configuration
  • Affected jobs: 90326303199
  • Related to change: yes
  • Root cause: The CodeQL workflow is configured to analyze JavaScript/TypeScript, but the repository contains no valid JavaScript/TypeScript source files, causing CodeQL extraction to fail.
  • Suggested fix: Remove javascript-typescript from the language matrix in .github/workflows/codeql.yml if the repository doesn't use JavaScript/TypeScript.

Summary

  • Change-related failures: 2 (1 template compliance failure, 1 CodeQL workflow configuration error)
  • Infrastructure/flaky failures: 0
  • Recommended action: Populate the remaining placeholder in .machine_readable/META.a2ml and adjust the CodeQL workflow languages matrix to match the repository's actual contents.
Code Review ✅ Approved 1 resolved / 1 findings

Fills and removes RSR template placeholders to satisfy compliance checks, but leaves the README template note self-contradictory regarding token replacement instructions.

✅ 1 resolved
✅ Quality: README template note became self-contradictory after substitution

📄 README.md:7-10
The note previously explained that literal placeholder tokens ({{OWNER}}, {{REPO}}, {{PROJECT_NAME}}) exist and must be replaced before just init. The blind placeholder substitution replaced the examples with their filled values, so it now reads "Placeholder tokens like hyperpolymath, fraying-model-computational-testbed, and fraying-model-computational-testbed are expected" — which is nonsensical (they are not placeholders, and two entries are identical). Since this repo's placeholders are already filled, remove the note (or reword it) rather than leaving contradictory guidance.

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

@hyperpolymath
hyperpolymath merged commit 0902ad7 into main Jul 28, 2026
21 of 24 checks passed
@hyperpolymath
hyperpolymath deleted the fix/rsr-placeholders branch July 28, 2026 16:25
hyperpolymath added a commit that referenced this pull request Sep 17, 2026
…ws (#65)

Restore working CI through shared source repairs and immutable
dependency locks. The standards reusable workflows now use
e9fa12b965897f485f8ec143e048a424b52f689a from
metadatastician/standards#764.

The shared scanner fetches and verifies the exact revision used for its
cache key, including cache hits. SSH mirrors verify independently
approved host fingerprints before exporting strict SSH configuration or
pushing. Optional mirror credentials are mapped explicitly.

Canonical metadata is under .machine_readable/descriptiles/. Session
coordination and custom checks are actual Nickel records. CI installs
checksum-verified Nickel and evaluates them; envelope-aware typechecking
has both passing and deliberately failing controls. The inactive E2E
scaffold is a template, and the local E2E command reports that
implementation is required.

Action dependencies use GitHub's runtime-enforced actions.lock
mechanism. The authoritative gh actions-lock tool verifies the exact
commits, including transitive dependencies:
https://github.com/github/gh-actions-lock#how-it-works . Inline
mutable-looking tags do not imply mutable execution under this
mechanism. Sonar's inline-SHA findings were classified individually
after full lock verification; no rule-wide exclusion was added.

Review disposition: the scanner/cache and mirror trust findings are
fixed at source. Retired AGENTIC and anchor references and the
directory-tree documentation are corrected. The earlier request to
restore 8f2ee508 is superseded: that revision predates these security
fixes. Local initialisation explicitly defers Nickel validation when
Nickel is unavailable; CI always provisions it and requires validation.

Also consumes the merged K9 archive repair (#43) and the merged CI/CD
suite manifest gate (#5), whose valid/invalid controls pass.
Pull-request triggers include stacked PR targets. This PR remains
stacked on #64.

The .envrc project name deliberately identifies this instantiated
scientific repository. Restoring a template placeholder here would make
the active project configuration incorrect; reusable minting behavior
belongs in rsr-template-repo.

Validation: workflow conventions and session Nickel evaluation pass;
empty/malformed Nickel controls prove rejection. The CI/CD suite now
runs real maintained A2ML/K9 structure validators, and the source tests
establish their failure behavior. This is not a proof of full K9
semantics or production deployment.

---------

Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
Co-authored-by: Mistral Vibe <vibe@mistral.ai>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: rhodibot <rhodibot@hyperpolymath.dev>
Co-authored-by: Arena Agent <bot@arena.ai>
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