Skip to content

chore: release 0.6.2#13

Merged
maish merged 2 commits into
mainfrom
release-0.6.2
Jun 14, 2026
Merged

chore: release 0.6.2#13
maish merged 2 commits into
mainfrom
release-0.6.2

Conversation

@maish

@maish maish commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Release 0.6.2.

What's in this release

fix(core): thread label-only row-group headers across columns

Follow-up to 0.6.1's label-only-row threading. A label-only band groups a row
range
, but 0.6.1 only reached it from the value cell's own column and the
row-label columns. When a group header sits in a leading stub / line-number
column while the sub-rows leave that column empty and carry their identity in a
different column (a numbered schedule with plan × cover value columns), the
band was unreachable — so the header was dropped entirely instead of
threaded.

The maze now scans all columns for label-only bands; full-width and source
scope="rowgroup" bands keep the column-restricted scan so unrelated stub
dividers don't cross-attach. Extent still closes at the next group.

10. Travel Delay > Adult under 70 | PLANS > BASIC: 100

This also recovers data in three real-world corpus tables (pubtabnet-180372,
-357665, -374857) whose year / cohort group headers — in a stub column the
data rows leave empty — were silently dropped in 0.6.1.

Verification

  • Full suite green (4856 passed); ruff + mypy clean.
  • 3 golds recovered (dropped headers restored); new fixture
    matrix/label-only-rowgroup-stub-column.
  • Original 2-column case still matches the bug report's expected output.

🤖 Generated with Claude Code

maish and others added 2 commits June 14, 2026 20:26
0.6.1 threaded a label-only group header only when the value rows could reach
its column -- the maze scans the value cell's own column and the row-label
columns. A label-only band groups a ROW RANGE, but when the header sits in a
leading stub / line-number column while the sub-rows leave that column empty and
carry their identity in a different column (a numbered schedule with plan x cover
value columns), no scanned column touched the header's column, so the band was
unreachable and the header was dropped entirely instead of threaded.

The maze now scans ALL columns for label-only bands (those carrying an explicit
rowgroup_extent_end). Full-width and source scope="rowgroup" bands keep the
column-restricted scan (own column + row-label columns) so unrelated stub
dividers don't cross-attach. Extent still closes at the next group, so one
line-item's header does not leak onto the next.

  10. Travel Delay > Adult under 70 | PLANS > BASIC: 100

Also recovers data in three real-world corpus tables (pubtabnet-180372, -357665,
-374857) whose year / cohort group headers -- in a stub column the data rows
leave empty -- were silently dropped in 0.6.1; the 0.6.1 value-multiset check
missed it because the lost text was a band label, not a cell value.

New fixture matrix/label-only-rowgroup-stub-column. 3 golds recovered.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@maish maish merged commit 4fc6dd9 into main Jun 14, 2026
7 checks passed
@maish maish deleted the release-0.6.2 branch June 14, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant