Skip to content

[quality] CNCFProjectCard's version operand is unreachable end-to-end because every page that renders the component is uniform in since #1123

Description

@hivecommons-hive

Finding

src/components/CNCFProjectCard/index.js:29 guards the meta row on
(since || version):

29      {(since || version) && (
30        <div className={styles.meta}>
31          {since && <span>Since {since}</span>}
32          {version && <span>{version}</span>}
33        </div>
34      )}

The right-hand operand of that || is never reported as reached by the
end-to-end run, and no amount of visiting more architecture pages will change
that. It is the only uncovered region left in the file.

Docusaurus gives every docs page its own bundle chunk, so the browser reports
one independent set of V8 ranges per page, and V8 emits a range for version
only when that range's count differs from the count of the surrounding render.
Every page that renders the component is uniform in since:

page cards carry since
docs/architectures/adobe.md 4 4
docs/architectures/allianz.md 3 3
docs/architectures/flipkart-chaos-engineering.md 6 6
docs/architectures/swisscom-cloud-native-telco.md 12 12
docs/architectures/swisscom-kubernetes-service.md 9 9
docs/architectures/zeiss.md 5 5
docs/architectures/cern-scientific-computing.md 11 0
docs/architectures/colopl.md 2 0
tests/e2e/fixtures/docs/cncf-project-card.mdx 1 0

On the six all-since pages version is never evaluated, so each of those
chunks reports the operand zero. On cern-scientific-computing.md, colopl.md
and the existing fixture page version is always evaluated, so V8 emits no
range for it at all and those chunks contribute no entry the union could cover
with. The region therefore stays at zero however many pages the suite opens.

Measured directly rather than inferred: dumping the Istanbul branchMap the
reporter builds, per captured script, at main 7ab301e:

adobe                  29:8-29:23 count=0   29:23-32:22 count=4
allianz                29:8-29:23 count=0   29:23-32:22 count=3
flipkart               29:8-29:23 count=0   29:23-32:22 count=6
swisscom-cloud-native  29:8-29:23 count=0   29:23-32:22 count=12
swisscom-kubernetes    29:8-29:23 count=0   29:23-38:1  count=9
zeiss                  29:8-29:23 count=0   29:23-32:22 count=5
cern                                        29:23-35:22 count=0
colopl                                      29:23-35:22 count=0

29:8-29:23 is the version operand (the source span the minified (o||a)'s
right operand maps back to). It is present only in the uniform-since chunks,
always at zero; the chunks that do evaluate it emit nothing.

This is not the region-attribution problem of #1066 / #1079: the regions
here all come from the real build, their coordinates already agree, and the
union is behaving correctly. The gap is in what the suite renders.

Evidence and provenance

  • Unit — covered. npm run test:unit:coverage
    (TZ=UTC node tests/tools/coverage-report.mjs, node v26.10.0) run locally on
    2026-10-06 at main 7ab301e: src/components/CNCFProjectCard/index.js
    100.00% lines / 100.00% regions.
  • E2E — not covered. Full coverage suite reproduced locally at the same
    revision 7ab301e (npm run build:e2e:coverage, then
    npm run test:e2e:coverage with E2E_COVERAGE_DIR/E2E_COVERAGE_RUN_ID
    set, 324 tests, npm run report:e2e:coverage --input <run> --build build):
    src/components/CNCFProjectCard/index.js | 100.00 | 93.75 | | 29, with
    src files at 100.00% lines / 91.41% regions.
  • Matches CI. Published artifact e2e-coverage, id 11406607319, from run
    37450408805,
    workflow Validate repository, job End-to-end coverage. report.json:
    {"file":"src/components/CNCFProjectCard/index.js","regions":16,"coveredRegions":15,"regionPercent":93.75,"uncoveredRegions":[29]}.
  • Covered by unit tests but not end-to-end tests, so priority 2 under the
    coverage-evidence rules.

Recommendation

Give the existing end-to-end fixture page a second card, so that one chunk
renders a card that evaluates version and a card that short-circuits before
it. That is the one arrangement no production page has, and it is what reports
the operand as reached.

  • tests/e2e/fixtures/docs/cncf-project-card.mdx renders a second
    <CNCFProjectCard> carrying since and no version, beside the
    existing version-only card
  • tests/e2e/cncf-project-card.spec.js asserts the new card shows
    Since 2021 and not the other card's version, and that both cards are on
    the one page
  • src/components/CNCFProjectCard/index.js line 29 leaves the
    uncovered-region list

Verified at 7ab301e with the change applied: the same local build-and-run
reports src/components/CNCFProjectCard/index.js | 100.00 | 100.00 | | and
src files 100.00% lines / 91.52% regions, 326 tests passed. npm run check
and npm run test:unit (1966 passed) are green.

Coordination

The change touches only tests/e2e/fixtures/docs/cncf-project-card.mdx and
tests/e2e/cncf-project-card.spec.js. Neither file is touched by any open
hold-gated PR: #1114 touches tests/e2e-coverage-report.test.mjs only, #1110
touches the data-overlay mechanism, and #1104 / #1113 / #1117 / #1120 are
scoped to DirectoryFreshness, GroupLinkStatus, MetricsDashboard and the
profile lightboxes. No data/*.json overlay is involved, so
tests/e2e-data-fixtures.test.mjs and tests/e2e/data-variants.spec.js are
untouched. The CI gate is --check-source-regions 80
(.github/workflows/ci.yml:233), which the change raises the measurement
above, so no workflow file is involved.

Priority

  • Impact: medium (the one uncovered region in a component every reference
    architecture page renders, and one the suite could not reach by adding pages)
  • Effort: low

🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5n31 | SHA: 7ab301e

— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88

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
    agent/qualityApproved by a Hive merger/owner for auto-merge on green CI
    hive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmed
    on Oct 6, 2026
  2. added a commit that references this issue on Oct 8, 2026
    9d5b100
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/qualityApproved by a Hive merger/owner for auto-merge on green CIhive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmedhive/hosted-available-lke648397-260827-5n31Approved by a Hive merger/owner for auto-merge on green CIqualityApproved 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