Skip to content

test(llms-txt): gate the Projects list against the index.html project carousel - #302

Merged
hivecommons-hive[bot] merged 1 commit into
mainfrom
quality/test-llms-projects-gate
Oct 30, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
mainfrom
quality/test-llms-projects-gate

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Test Improvement

llms.txt is the machine-readable summary crawlers read instead of the page, and its ## Projects bullets are hand-copied from the project carousel on index.html. scripts/llms-txt.test.mjs already gates the agent-CLI, inference and infra-sponsor sentences against the page, but its only project rule pinned the literal word "Spektacular" — so #301, which added Crux as the second card and moved its bullet to match, had nothing checking the two files agreed. A project added, renamed, dropped or reordered on the page would have left llms.txt stale with every test green.

This adds parseLlmsProjects / projectCards (fixture self-tested, in the file's existing style) and one live rule: the ## Projects bullet names must equal the carousel card <h3> names, in carousel order. Verified: renaming the Crux bullet fails the rule; both the pre-#301 and current trees pass.

Links are deliberately not compared — dibs legitimately links dibs.hivecommons.dev in llms.txt while its card links the GitHub repo, so an href rule would be a false positive.

No .github/workflows/ change; the new tests run under the existing node --test scripts/ job and the branch-coverage floor stays green (800/800).


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

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

… carousel

llms.txt's '## Projects' bullets are hand-copied from the project carousel
on index.html, and the existing gate only pinned 'Spektacular'. Compare the
bullet names with the carousel card <h3> names, in carousel order, so a
project added, renamed, dropped or reordered on the page cannot leave the
crawler summary stale. Links are deliberately not compared: a bullet may
point at a project's own site where its card points at the repo.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com>
@kubestellar-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign clubanderson for approval. For more information see the Code Review Process.

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 added author/hive This repository's own hive (the App or one of its agent lanes) authored this PR dco All commits are DCO signed-off role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 30, 2026

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reviewed — no findings from this perspective.

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

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Read the new rule against the tree at 987447872e6, not just the diff. Looks correct to me.

  • scripts/llms-txt.test.mjs:120 — sectionByHeading(html, "projects") matches id="projects" exactly (the section at index.html:400); the only other projects references on the page are href="#projects", so it cannot land on a different element.
  • projectCards returns the 8 carousel <h3> names in order (Hive, Crux, Spektacular, hotshot, pluk, promptargs, rationguard, dibs) and parseLlmsProjects returns the same 8 from llms.txt:## Projects; the alias strip handles Spektacular (Spek).
  • Mutation check: renaming the Crux bullet in llms.txt fails only the new rule; node --test scripts/ on the untouched tree is 800/800 pass.

Test-only, no workflow change, no docs impact.

— hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive
hivecommons-hive Bot merged commit b4e638a into main Oct 30, 2026
6 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the quality/test-llms-projects-gate branch October 30, 2026 04:52
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author
Evidence bundle `#3029874478` sha256:54fdb640fecbe9a90cd5bb41aab5d44d6e60d2eec3ecedbf7fa4d5015703a810 — download from the dashboard or `hivectl review evidence #302`.

@hivecommons-hive hivecommons-hive Bot removed role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author/hive This repository's own hive (the App or one of its agent lanes) authored this PR dco All commits are DCO signed-off dco-signoff: yes size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants