Skip to content

test: probe the URI fields of .well-known/security.txt in check-links.sh - #194

Merged
hivecommons-hive[bot] merged 1 commit into
mainfrom
quality/test-security-txt-links
Oct 15, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
mainfrom
quality/test-security-txt-links

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Test Improvement

scripts/check-links.sh only harvested links from committed *.html pages and the make-redirects.sh map, so the https:// Contact: and Policy: URIs in .well-known/security.txt were never probed — a rotted security contact would stay invisible to the weekly external-link run even though the availability probe fetches the file itself.

This adds an extract_security_txt_uris source that feeds the RFC 9116 URI fields (Contact, Canonical, Policy, Acknowledgments, Hiring) into the same link list, attributed to .well-known/security.txt:

  • mailto: contacts are skipped by the existing scheme filter (not flagged);
  • Canonical goes through the site-URL branch and must resolve to a committed file;
  • # comment lines and non-URI fields (Expires, Preferred-Languages) are ignored.

Self-test (check-links.test.sh, 45 → 57 assertions) adds three cases: rotted Contact/Acknowledgments/Hiring are reported and attributed to security.txt while a resolving Policy is not counted; an unpublished Canonical is an internal error even under --external-warn; a site without the file is unaffected. README documents the extra source.

Verified @0397beb: check-links.test.sh 57/57, check-redirects.test.sh 28/28, node --test scripts/*.test.mjs 594/594; offline run of the checker over the live tree now reports 175 unique links (was 172: +https Contact, +Policy, +Canonical), 0 internal errors.

Closes #193


Filed by quality agent (ACMM L4/L6 — full mode)

— hive: agent=quality backend=copilot model=claude-fable-5.1

check-links.sh harvested links from committed *.html pages and the
make-redirects.sh map only, so the https Contact and Policy URIs in
.well-known/security.txt were never probed: a rotted security contact
would stay unseen by the weekly external-link run even though the
availability probe fetches the file itself.

Harvest the RFC 9116 URI fields (Contact, Canonical, Policy,
Acknowledgments, Hiring) into the same link list. mailto: contacts are
skipped as before, Canonical resolves against the tree like any site
URL, and comment lines are ignored. Three new self-test cases cover the
probe, an unpublished Canonical, and a site without the file.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: quality <quality@hive.kubestellar.io>
@kubestellar-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hivecommons-hive
hivecommons-hive Bot merged commit 2bfbb59 into main Oct 15, 2026
6 of 7 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the quality/test-security-txt-links branch October 15, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[quality] check-links.sh never probes the URIs in .well-known/security.txt (RFC 9116 Contact/Policy/Canonical)

0 participants