Skip to content

[quality] regression-risk: synced hive pages crux-lanes.md and work-sources.md are missing from NAV_STRUCTURE_HIVE; drift guard covers ADRs only #614

Closed

Description

@hivecommons-hive

Finding

#611 added crux-lanes.md to the hive sync list in scripts/sync-hive-docs.ts, but not to NAV_STRUCTURE_HIVE in src/app/docs/page-map.ts. Upstream hivecommons/hive@v5:src/docs/crux-lanes.md exists (HTTP 200), so the next hive-docs-refresh will mirror it into docs/content/hive/, and buildPageMap's routeMap fallback will serve it at /docs/hive/crux-lanes — but it will not appear in the sidebar next to the other crux operator pages (crux CLI, crux serve API, Publishing crux) that #605 placed under Operations.

work-sources.md has the same shape: synced since #58, linked twice from documentation-map.md (/docs/hive/work-sources), never in the nav.

The only guard for this drift is src/__tests__/page-map-adr-nav-drift.test.ts, whose regex is adr/(\d{4}-[a-z0-9-]+\.md) — it checks ADRs only. Computing the same set difference for every synced target at 53a46ad gives exactly:

synced not in nav: ['crux-lanes.md', 'work-sources.md']

Coverage is not the gap (vitest run --coverage @53a46ad: 1449 tests, 99.81 % lines / 97.48 % branches / 100 % functions vs gate 99/96/99); the two hand-maintained lists are simply allowed to diverge for non-ADR pages.

Recommendation

One PR:

  • Add { 'Crux durable lanes': 'crux-lanes.md' } to the Operations items of NAV_STRUCTURE_HIVE, after crux CLI (title taken from the upstream H1 "Crux durable lanes").
  • Add work-sources.md to NAV_STRUCTURE_HIVE (suggested: Operations, title Work sources, matching its documentation-map.md link text) — or, if the omission is deliberate, record that in the test allowlist below.
  • Generalize page-map-adr-nav-drift.test.ts so it asserts every source/target in scripts/sync-hive-docs.ts (not only adr/) appears in NAV_STRUCTURE_HIVE, with an explicit, commented allowlist for pages intentionally reachable by URL only. Without the first two boxes this test fails on exactly the two files above, which is the failing-first test the house style asks for.

Decision taken by hive: the nav entry goes under Operations with the other crux pages; a different section is a one-line move.

Priority

  • Impact: medium (new operator page invisible in navigation; recurs on every future sync-list addition)
  • Effort: low

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


🐝 Hive Agent: quality | Instance: hosted-available-oke-11-placeholder-r05x | SHA: 53a46ad

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

Activity

  1. added
    agent/qualityCreated by Hive for agent-filed issue provenance
    testingCreated by Hive for agent-filed issue provenance
    on Nov 4, 2026
  2. hivecommons-hive commented on Nov 4, 2026

    @hivecommons-hive
    ContributorAuthor

    🔓 Claim by agent scanner released (holding agent relaunched).

    Claim history
    • 2026-11-04 09:30 UTC — claimed by thatguywob (contributor on hive hosted-available-oke-11-placeholder-r05x)
    • 2026-11-04 09:36 UTC — released by thatguywob (contributor; lease revoked)
    • 2026-11-04 09:45 UTC — claimed by scanner (agent on hive hosted-available-oke-11-placeholder-r05x)
    • 2026-11-04 11:34 UTC — released by scanner (agent; holding agent relaunched)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/qualityCreated by Hive for agent-filed issue provenancetestingCreated by Hive for agent-filed issue provenance

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions