• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pirl-unc / hitlist / 25587063807
75%

Build:
DEFAULT BRANCH: main
Ran 09 May 2026 01:02AM UTC
Jobs 1
Files 28
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 May 2026 01:00AM UTC coverage: 74.402% (+0.01%) from 74.388%
25587063807

push

github

web-flow
v1.30.44: pre-add "" to compressed-categorical categories so fillna("") never TypeErrors (#241)

Same bug class as v1.30.41 / v1.30.43, surfaced by ./test.sh --all
(integration suite that loads the real observations.parquet).  12
test_export errors all of the form ``TypeError: Cannot setitem on
a Categorical with a new category ()``: every fillna("") site in
the export pipeline (``_compute_has_peptide_level_allele``,
``_compute_is_chimeric``, the per-PMID discriminator slice, etc.)
fails when a categorical column's category set doesn't include "".

This silently broke the deploy gate since v1.30.39 introduced
categorical compression — every deploy attempt would fail
``./test.sh --all`` and never reach twine upload.  Today's
v1.30.43 deploy hit it; uncovered because ``deploy.sh`` only
runs ``--all`` (CI on PRs runs ``./test.sh`` without ``--all``,
which uses synthetic frames that don't trigger compression).

## Fix (two layers, defense in depth)

1. **Build-side**: ``_compress_categoricals`` now pre-adds ``""``
   to every compressed column's category set via
   ``cat.add_categories([""])``.  Future builds bake this in;
   downstream ``fillna("")`` calls work without modification.
2. **Load-side**: ``generate_observations_table`` adds the same
   safety patch immediately after ``load_observations`` so
   parquets built before v1.30.44 still work without rebuild.
   Iterates the loaded frame's columns once; no-op for any
   categorical that already has "" or any non-categorical column.

## Drive-by test fix

``test_resolver_shapiro_2025_routes_per_ko_sample`` did
``groupby(["cell_name", "sample_label"])`` without ``observed=True``;
with ``""`` now in the categorical sets, the cartesian-product
expansion enumerated phantom (cell_name, "") pairs that the test
flagged as "mismatches".  Added ``observed=True`` (also silences
the pre-existing pandas FutureWarning the test was emitting).

## Tests

- ./format.sh ✓
- ./lint.sh ✓
- ./test.sh — 682 passed, 2 ski... (continued)

4168 of 5602 relevant lines covered (74.4%)

0.74 hits per line

Coverage Regressions

Lines Coverage ∆ File
155
62.23
0.15% builder.py
128
80.59
-0.03% export.py
Jobs
ID Job ID Ran Files Coverage
1 25587063807.1 09 May 2026 01:02AM UTC 28
74.4
GitHub Action Run
Source Files on build 25587063807
  • Tree
  • List 28
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25587063807
  • a5200ad8 on github
  • Prev Build on main (#25563211782)
  • Next Build on main (#25587641606)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc