Skip to content

fix: add support and private security-reporting issue contacts - #720

Merged
cevheri merged 1 commit into
libredb:mainfrom
2160039878-cyber:fix/issue-contact-links-682
Sep 9, 2026
Merged

fix: add support and private security-reporting issue contacts#720
cevheri merged 1 commit into
libredb:mainfrom
2160039878-cyber:fix/issue-contact-links-682

Conversation

@2160039878-cyber

@2160039878-cyber 2160039878-cyber commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Description

The issue chooser provides no route to Discussions or the private vulnerability-reporting policy. Add both contact links and explicitly set blank_issues_enabled: true, preserving the current availability of blank issues.

Type of Change

  • Bug fix

Related Issue

Closes #682

Changes Made

  • Add .github/ISSUE_TEMPLATE/config.yml with Discussions and SECURITY.md's reporting-section links.
  • Put the private-reporting warning in the security contact's name/description.
  • Validate the YAML with the existing parser and guard its destinations, labels, blank-issue setting, and security-policy anchor.

Testing

bun run test:unit -t 'issue template contacts': 0 passed / 2 failed before the configuration existed, 2 passed / 0 failed after. Verified that Discussions is enabled upstream and that SECURITY.md contains the linked reporting heading and private-disclosure guidance. The GitHub-hosted chooser will use this configuration after it lands on the default branch.

Full Linux validation used the repository's unchanged CI workflow on submitted commit 9939e20f7025596b26e1df9999050b65308872ce: run and logs.

  • bun run test:coverage: 14,715 tests passed, all 392 core test files and 34 component isolation groups passed.
  • bun run coverage:check: 46,324 / 46,324 lines (100%).
  • Format, lint, typecheck, knip, README/chart/channel/security drift guards, application/library builds, package type-resolution checks, Helm lint, and Go launcher checks passed.
  • Browser E2E 65 passed, subpath E2E 1 passed, PostgreSQL functional smoke 1 passed, packaged tarball/npx E2E 3 passed each, Node 24/26 engine smoke passed.
  • Secret Scan, Dependency Scan, and Image Scan passed. The manual secret scan fetched and scanned all fork history and branches, including this commit.

The fork run's overall status is red solely because SonarCloud Analysis lacks the upstream token/project access. All test/build jobs passed. CLAUDE.md explicitly excludes SonarCloud from required checks, and the upstream workflow skips it for fork PRs. Upstream required workflows still need normal maintainer approval.

Full validation ran on GitHub-hosted Linux: this Windows host cannot run the container-based checks because Docker Desktop fails at inference-manager initialization, and its native full component runner encounters SQLite cleanup EBUSY. No complete native-Windows pass is claimed.

Checklist

  • Issue acceptance criteria checked; actual validation results recorded above.
  • Full tests and the 100% line-coverage gate passed on the submitted commit.
  • Diff reviewed; no database-provider changes requiring the provider triad.

Additional Notes

AI-assisted implementation, review, and validation. This branch starts independently from main and contains only this issue's change.

CI follow-up

The fork-run SonarCloud 401 is tracked in #732 and fixed by #733. The inherited condition admitted fork-owned pushes and fork-local PRs to the canonical SonarCloud project. The dedicated CI fix run now succeeds: all nine executable test/build jobs pass, and SonarCloud is scoped to the canonical repository. That run tests CI fix commit 80a318b; this PR's exact-head verification remains the original run linked above, whose nine executable jobs passed. Upstream Actions still await maintainer approval.

@cevheri

cevheri commented Sep 9, 2026

Copy link
Copy Markdown
Member

Checked against #682. All three "Done when" items hold, including the third: the body states blank_issues_enabled: true and says it preserves today's behaviour, which is the right call for a change like this. Discussions is enabled on the repository, and SECURITY.md:17 is ## Reporting a Vulnerability, so the #reporting-a-vulnerability fragment resolves exactly. The issue did not ask for a test at all; writing a guard for a config file nothing else reads was your own call, and it is the right instinct.

One thing to tighten, because the PR body claims it and it does not quite hold. The anchor check is toContain("## Reporting a Vulnerability"), a prefix match, so renaming the heading to ## Reporting a Vulnerability (private) breaks the fragment while the guard stays green. I ran exactly that: 2 pass, 0 fail. Deriving the fragment from the URL and comparing it against the slugified heading, or asserting the whole heading line, closes it.

The E2E red you saw was not yours. e2e/base-path.spec.ts raced a session-gated health probe against a navigation; I re-ran the job and it is green.

Merging shortly. If you push the anchor tightening first, I will take it.

@cevheri
cevheri merged commit 0ee39ca into libredb:main Sep 9, 2026
31 of 32 checks passed
@cevheri cevheri added documentation Improvements or additions to documentation enhancement New feature or request github-actions GitHub Actions workflow dependencies labels Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request github-actions GitHub Actions workflow dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The issue template chooser has no config.yml

2 participants