Repository navigation
[quality] RadarReports' empty-corpus arms have no end-to-end coverage, and a variant build alone cannot fold them #1097
Description
Activity
- addedhive/hosted-available-lke648397-260827-5n31Approved by a Hive merger/owner for auto-merge on green CIApproved by a Hive merger/owner for auto-merge on green CIqualityApproved by a Hive merger/owner for auto-merge on green CIApproved by a Hive merger/owner for auto-merge on green CItestingApproved by a Hive merger/owner for auto-merge on green CIApproved by a Hive merger/owner for auto-merge on green CIagent/qualityApproved by a Hive merger/owner for auto-merge on green CIApproved 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 verified that an open PR references or claims this issue; still actionable until confirmedhive/likely-doneHive verified that a merged PR references or claims this issue; pending confirmationHive verified that a merged PR references or claims this issue; pending confirmationand removedhive/covered-by-prHive verified that an open PR references or claims this issue; still actionable until confirmedHive verified that an open PR references or claims this issue; still actionable until confirmed
on Oct 5, 2026 hivecommons-hive commented
on Oct 6, 2026 ContributorAuthorMore actionstask-list sweep: 0 of 2 items ticked. Not closing yet — outstanding boxes remain.
Outstanding items:
- 🔲
tests/e2e/fixtures/data-variants/radar-reports.jsonclearsgeneratedAt - 🔲
src/components/RadarReports/index.jslines 6 and 24 leave the
Merged PRs referencing this issue so far:
- test: cover RadarReports' empty-corpus arms in the e2e variant build #1098 — test: cover RadarReports' empty-corpus arms in the e2e variant build
This comment is edited in place by the task-list sweep on every cycle; it is not duplicated.
- 🔲
hivecommons-hive commented
on Oct 6, 2026 ContributorAuthorMore actionshive/verified-open: verified at 589c15b after #1098 merged (2026-10-06T00:14Z).
- Box 1 — delivered:
tests/e2e/fixtures/data-variants/radar-reports.jsonclearsgeneratedAtandradarReports, andtests/e2e/radar-reports-variant.spec.jspairs/resources/radar-reportswith/e2e-coverage-variant/resources/radar-reports, asserting provenance + six reports on the first and neither on the second. - Box 2 — not achievable yet: the variant build demonstrably drives both arms (the spec passes only if the browser takes them), but
getRegionCoveragekeys regions on exact original coordinates and the two builds map the branches to different keys, so the union keeps regions 6 and 24 at zero. This is the region-attribution problem tracked in [quality] e2e region union does not fold single-line '||' fallback arms across the real and variant builds, so correct variant tests lower the gate #1066 and [quality] e2e region union still counts three demonstrably-executed single-line arms uncovered; their covered twin differs in START column, which #1066's proposed key would miss #1079 — [quality] e2e region union still counts three demonstrably-executed single-line arms uncovered; their covered twin differs in START column, which #1066's proposed key would miss #1079 remains open and owns the containment-fold fix.
Not closing: the second checkbox is genuinely outstanding. Labeled
hive/verified-open; the remainder lands via #1079 (quality lane), not a new deliverable here.
🐝 Hive Agent:
scanner| Instance:hosted-available-lke648397-260827-5n31| SHA:unknown— hive: agent=scanner backend=copilot model=kimi-k3 copilot=1.0.88
- Box 1 — delivered:
- removedhive/likely-doneHive verified that a merged PR references or claims this issue; pending confirmationHive verified that a merged PR references or claims this issue; pending confirmation
on Oct 6, 2026 hivecommons-hive commented
on Oct 6, 2026 ContributorAuthorMore actionsThe first box here landed in #1098. The second — "
src/components/RadarReports/index.jslines 6 and 24 leave the uncovered-region list" — is gated on #1066 / #1079, and that gate has now been measured rather than assumed.On the published
e2e-coverageartifact11390121619(run 37412914368), re-rendered locally atmain7ab301e, this file still reads:src/components/RadarReports/index.js | 100.00 | 66.67 | | 6 24#1079's proposed containment fold would move line 24 off that list — its zero region
24:40:24:46is enclosed by a covered region — but it would do so for the wrong reason. Line 24 is a genuine arm, and the same enclosure holds for GroupLinkStatus (#1094) and DirectoryFreshness (PR #1104), which are also genuine. Full measurements are in my comment on #1079; the short version is that enclosure does not distinguish a drifted region from an uncovered one, so the rule that would tick this box is one that should not land.Line 6 (
6:25:6:37) is enclosed by nothing at all (lineContain=0 spanContain=0 overlap=0), so no coordinate-folding rule proposed so far reaches it either.So the second box is not merely waiting on #1066 / #1079 — it is waiting on a mechanism nobody has yet, and I would not expect it to be ticked by the work those issues currently describe. #1114 adds the regression test that keeps a future fold from ticking it incorrectly.
No change to this issue's first box or to #1098. Flagging it here so the box is not read as simply unstarted.
🐝 Hive Agent:
quality| Instance:hosted-available-lke648397-260827-5n31| SHA:90af8e1— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88
hivecommons-hive commented
on Oct 6, 2026 ContributorAuthorMore actionsStatus at
main=7ab301e, so the next reader does not have to re-derive it.Box 1 is done.
tests/e2e/fixtures/data-variants/radar-reports.jsonand
tests/e2e/radar-reports-variant.spec.jsboth landed ind2dc077(#1098) and
are onmaintoday.Box 2 is still open and still not reachable by a PR. CI artifact
e2e-coverage, id11428330480, from run
37496141453, job
End-to-end coverage, head4fff765:src/components/RadarReports/index.js | 100.00 | 66.67 | | 6 24Lines 6 and 24 are exactly where this issue left them — the file moved from
60% to 66.67% only because the region denominator changed, not because either
zero region was retired. That is the region-attribution behaviour this issue
already documented: the variant build's generated code maps back to different
original coordinates, andgetRegionCoveragekeys a region on its exact
line:column:endLine:endColumn, so the union keeps both zeros.So this issue is blocked on #1066 / #1079, not on more test code. Writing a
second variant overlay or a second spec against these two arms would add no
coverage and would duplicateradar-reports-variant.spec.js. Leaving it open
as the record of the remaining box, with no PR attached, is deliberate.The same wall now holds
src/components/PeopleFreshness/index.jslines 7 and
22 (40% regions) despite
tests/e2e/fixtures/data-variants/community-people.jsonand the
data-variants.spec.jscase that drives both arms — a second instance of the
same union defect, worth noting on #1066 as evidence that it is not specific to
RadarReports.
🐝 Hive Agent:
quality| Instance:hosted-available-lke648397-260827-5n31| SHA:3571f68— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88
hivecommons-hive commented
on Oct 7, 2026 ContributorAuthorMore actionsStanding down on the second box — it is occupied, not abandoned
Box 1 landed in #1098:
tests/e2e/fixtures/data-variants/radar-reports.jsonandtests/e2e/radar-reports-variant.spec.jsboth exist at03cfcfe.Box 2 — "
src/components/RadarReports/index.jslines 6 and 24 leave the uncovered-region list" — is not a change that belongs in this issue's file cluster. As the body states, it is gated on the region union folding the two builds' coordinates (#1066 / #1079), which means an edit totests/tools/e2e-coverage-report.mjs.That file is currently claimed by open hold-gated PR #1163 (fix(coverage): fold e2e regions whose spans cross across artifacts), which touches exactly
tests/tools/e2e-coverage-report.mjsandtests/e2e-coverage-report.test.mjsand is awaiting human review. Writing a second fold rule into the same function while that PR is held would produce two competing implementations over the same lines.No further work is being done on this issue until #1163 resolves. Re-check box 2 against the union output once it merges — #1163 folds a crossing zero region into its covered twin, and RadarReports' two zeros at
6:25:6:37and24:40:24:46are enclosed by covered spans rather than crossed by them (7:2:24:40and24:46:29:26in the real build), so #1163 by itself is not expected to clear them. That enclosure shape is deliberately preserved by the guard merged in #1114, which means closing box 2 needs the ordinal-key approach in #1066 rather than a further containment rule here.
🐝 Hive Agent:
quality| Instance:hosted-available-lke648397-260827-5n31| SHA:03cfcfe— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88
- added a commit that references this issue
on Oct 8, 2026
Finding
src/components/RadarReports/index.jsbranches on two document-level fields ofdata/radar-reports.json, and neither arm is reachable in the browser againstthe data the site ships:
The checked-in corpus always carries a
generatedAtand six reports. Both armsare ordinary shapes rather than defensive dead code: the file is regenerated
daily from cncf.io by
npm run collect:radar-reportsvia.github/workflows/refresh-radar-reports.yml, so a collector run that fetchesnothing is exactly what produces them.
Evidence and provenance
tests/radar-reports-fallbacks.test.mjsdrives both armsdirectly through
tests/helpers-component-data.mjs("no generatedAt rendersno provenance line while the list still renders", and the
missing-
radarReportscase).npm run test:unit:coverage(
TZ=UTC node tests/tools/coverage-report.mjs, node v26.10.0) run locally on2026-10-05 at
8afaa67reports no sub-100% region for this file; the onlysub-100% source file in the repository is
scripts/lib/svg-active-content.mjs.e2e-coverage, id11348560988, from run37317061554,
workflow
Validate repository, jobEnd-to-end coverage,mainat8afaa67— the same revision as the unit run.report.json:{"file":"src/components/RadarReports/index.js","regions":5,"coveredRegions":3,"regionPercent":60,"uncoveredRegions":[6,24]}.coverage-evidence rules.
What a variant build achieves, and what it does not
Both arms turn on document-level fields read by the single
/resources/radar-reportspage, so clearing them in the ordinary coveragebuild would trade the provenance line and all six rendered reports for them
rather than add a case. That is the variant-build shape, like
AwardsTimeline'sprovenance paragraph.
A variant overlay clearing
generatedAtandradarReportsdoes make thebrowser take both arms. Verified locally at
8afaa67: the variant chunk keepsthe branches (
function i(){if(!o.ro)return null;...}andlet e=o.Gb||[]inbuild/e2e-coverage-variant/assets/js/b8512184.*.js, compiled against{"ro":null,...,"Gb":null}), the page serves, and the full coverage suite isgreen at 300 passed.
The two regions still do not leave the uncovered list. Rendering the same
run reports:
getRegionCoverageintests/tools/e2e-coverage-report.mjskeys a region onits exact original coordinates (
line:column:endLine:endColumn), and the twobuilds' generated code maps back to different ones. Dumped from the union site,
instrumented to print each key with its count:
The variant emits no key matching either zero region, so the union keeps both
zeros. This is the region-attribution problem tracked in #1066 and #1079, not
something a fixture can reach.
Recommendation
tests/e2e/fixtures/data-variants/radar-reports.jsonclearsgeneratedAtand
radarReports, and a spec pairs/resources/radar-reportswith/e2e-coverage-variant/resources/radar-reports, asserting the provenanceline and six reports on the first and neither on the second
src/components/RadarReports/index.jslines 6 and 24 leave theuncovered-region list
The first box is what the PR below lands; the second is gated on the region
union folding the two builds' coordinates, i.e. on #1066 / #1079.
Coordination
The change touches only
tests/e2e/fixtures/data-variants/radar-reports.json(new) and
tests/e2e/radar-reports-variant.spec.js(new). It does not edittests/e2e-data-fixtures.test.mjs(occupied by #1034 and #1078),tests/e2e/data-variants.spec.js(occupied by #1034), ortests/tools/e2e-coverage-report.mjs(occupied by #1040 and #1070) — thecaseslists intests/e2e-data-fixtures.test.mjsare hardcoded and notexhaustive, so a new variant overlay needs no edit there, exactly as #1093's
metrics.jsonvariant needed none. A separate spec file follows #1093'sprecedent. The CI gate is
--check-source-regions 80(
.github/workflows/ci.yml:233), which only rises, so no workflow file isinvolved.
Priority
untested in the shipped bundle; 2 of the report's uncovered regions)
🐝 Hive Agent:
quality| Instance:hosted-available-lke648397-260827-5n31| SHA:8afaa67— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88