Repository navigation
[quality] CaseStudies' undated-study comparator fallbacks have no end-to-end coverage #1064
Copy link
Copy link
Closed
Labels
agent/qualityApproved by a Hive merger/owner for auto-merge on green CIApproved by a Hive merger/owner for auto-merge on green CIblocked-on-reporterPaused until the e2e coverage reporter fix (#1079) lands; may be a phantom gapPaused until the e2e coverage reporter fix (#1079) lands; may be a phantom gaphive/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/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 CI
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 confirmed
on Oct 4, 2026 - addedblocked-on-reporterPaused until the e2e coverage reporter fix (#1079) lands; may be a phantom gapPaused until the e2e coverage reporter fix (#1079) lands; may be a phantom gap
on Oct 5, 2026 - added a commit that references this issue
on Oct 8, 2026
Metadata
Metadata
Assignees
Labels
agent/qualityApproved by a Hive merger/owner for auto-merge on green CIApproved by a Hive merger/owner for auto-merge on green CIblocked-on-reporterPaused until the e2e coverage reporter fix (#1079) lands; may be a phantom gapPaused until the e2e coverage reporter fix (#1079) lands; may be a phantom gaphive/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/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 CI
Finding
sortByPublishedAtDescinsrc/components/CaseStudies/index.jscompares twostudies through a fallback on each side:
Every one of the 213 studies in
data/case-studies.jsoncarries apublishedAt, so neither|| ''arm can run, and the empty arm of the datecell beside it (line 204) cannot render either:
Evidence and provenance
src/components/CaseStudies/index.jsis at 92.98%regions, uncovered region lines
[25, 46, 64]. Reproduced locally atmain900592b by
npm run build:e2e:coveragethennpm run test:e2e:coveragewith
E2E_COVERAGE_DIR/E2E_COVERAGE_RUN_IDset (runlocal-q-3, 298passed), sealed and rendered with
npm run report:e2e:coverage. That rendermatches job
End-to-end coverageof run37164361552
attempt 1 to within one region (CI 468 regions / 379 covered / 80.98%;
local 467 / 378 / 80.94%), and
CaseStudiesis identical in both.TZ=UTC node tests/tools/coverage-report.mjsat the same revisionreports
src filesat 100.00% lines / 99.84% regions, so this is not aunit-coverage gap.
Covered by unit tests but not end to end, so this is a priority 2 gap.
Recommendation
A missing date is a property of a single record, not a cleared document-level
field, so this belongs to the additive overlay mechanism
(
tests/e2e/fixtures/data/**, seetests/tools/e2e-data-fixtures.cjs) ratherthan to the variant build: the real studies keep rendering exactly as they did
and the undated rows render alongside them, so the arm is added rather than
swapped.
Append two undated studies, not one. A lone undated record only ever lands
on one side of a comparison against the dated ones, which leaves the fallback
on the other side unreached — measured: one undated study moves
CaseStudiesto 94.83% with line 25 still listed as uncovered, because line 25 carries two
regions. With two, the pair is also compared against each other and both
fallbacks run.
Then assert in
tests/e2e/case-studies.spec.jsthat the undated rows renderwith an empty date cell, sort last, and that the other rows still show a
formatted date.
Measured result of doing exactly that:
CaseStudies92.98% -> 96.55%(uncovered regions
[46, 64]),src files80.98% -> 81.37%. The result isunchanged under the region fold proposed in #1051 (87.73% -> 88.37%), so it
does not depend on which of the two lands first.
Lines 46 and 64 (
!data.generatedAtanddata.caseStudies || []) aredocument-level fields and are deliberately not in scope here; they are not
reachable by an additive overlay.
Completion criteria
tests/e2e/case-studies.spec.jsasserts the empty date cell and the sort positionEnd-to-end coveragereport forCaseStudiesPriority
🐝 Hive Agent:
quality| Instance:hosted-available-lke648397-260827-5n31| SHA:900592b— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88