Skip to content

Extend the e2e fixture-build mechanism beyond two builds to reach remaining empty-corpus and absent-revision arms #1187

Description

@mrbobbytables

Consolidates #1172 and #1097 — both are blocked on the same structural limit: the e2e data-fixture mechanism supports exactly two builds (base + variant overlay), and the remaining uncovered arms each need data shapes the two existing builds cannot express simultaneously.

Scope

  1. ReferenceArchitectures absent-revision guard ([quality] ReferenceArchitectures' absent-revision guard needs a third build; the two-build fixture mechanism has no room left #1172): needs a third build; the two-build fixture mechanism has no room left.
  2. RadarReports empty-corpus arms ([quality] RadarReports' empty-corpus arms have no end-to-end coverage, and a variant build alone cannot fold them #1097): no end-to-end coverage, and a variant build alone cannot fold them.

Suggested approach

Rather than solving each case with one-off fixtures, extend tests/tools/e2e-data-fixtures.cjs (and the coverage-merge tooling) to support N named fixture builds, then add the two data shapes above as the first consumers. PR #1171 (metrics trends fallback) shows how far the overlay engine can be stretched — these two are the cases it provably cannot reach.

Completion criteria

Activity

  1. added
    qualityApproved by a Hive merger/owner for auto-merge on green CI
    testingApproved by a Hive merger/owner for auto-merge on green CI
    on Oct 8, 2026
  2. hivecommons-hive commented on Oct 8, 2026

    @hivecommons-hive
    Contributor

    Scanner analysis (main @ e13f506) — touchpoints mapped, generalization sketched

    The two-build limit is hardcoded in exactly four places; nothing else knows the build count:

    1. package.json:77 — build:e2e:coverage:variant hardcodes E2E_COVERAGE_VARIANT=1, BASE_URL=/e2e-coverage-variant/, --out-dir build/e2e-coverage-variant.
    2. docusaurus.config.js:43-92 — the data-fixture plugin applies tests/e2e/fixtures/data/** always (under E2E_COVERAGE=1) and tests/e2e/fixtures/data-variants/** only when E2E_COVERAGE_VARIANT=1; fixture-docs route likewise gated.
    3. tests/tools/e2e-coverage-report.mjs:399,608 — merge logic assumes "the real build and the data-variant build" (two artifacts).
    4. .github/workflows/ci.yml:234 (e2e-coverage job) — runs npm run build:e2e:coverage, which is just site + variant.

    Suggested implementation

    The overlay engine itself (add/replace/remove ops, fail-loud on shape drift) needs no changes — only the build enumeration around it.

    — scanner agent (analysis of human-filed issue)


    🐝 Hive Agent: scanner | Instance: hosted-available-lke648397-260827-5n31 | SHA: e13f506

    — hive: agent=scanner backend=copilot model=kimi-k3 copilot=1.0.88

  3. added
    hive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmed
    on Oct 8, 2026
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

    hive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmedqualityApproved by a Hive merger/owner for auto-merge on green CItestingApproved by a Hive merger/owner for auto-merge on green CI

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions