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

ponder-lab / Hybridize-Functions-Refactoring / #2096
80%
main: 79%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/main/pr-708-5fcd756431a89e640346913f9f98db463f7efa74
DEFAULT BRANCH: main
Ran 23 Jun 2026 07:54PM UTC
Jobs 1
Files 32
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

23 Jun 2026 07:50PM UTC coverage: 80.089% (-0.08%) from 80.169%
#2096

push

github

web-flow
Abandon the input signature for a mixed sparse/dense parameter (#652)

A parameter that is sparse at some call sites and dense at others now reduces
to bottom in `inferSpec`, matching the discipline the dtype axis already uses.
Previously the sparseness consensus failed silently and the reduction fell
through to a dense `TensorSpec` (pinned by #650). That dense spec rejects the
`SparseTensor` the function accepts at the sparse call site — and a
`SparseTensorSpec` would symmetrically reject the dense tensor — so no single
spec is sound. Emitting one changes the program's acceptance, an RQ4 soundness
violation; abandoning the whole signature is the correct conservative outcome
for an irreducibly-polymorphic parameter.

To report the drop precisely rather than mis-attributing it, the per-parameter
drop diagnostic in `inferInputSignature` is now three-way (heterogeneous dtype,
dtype-⊤, mixed sparse/dense), classified in `inferSpec`'s own precedence order
(dtype before sparseness). A new `AbsenceReason.HETEROGENEOUS_SPARSITY` carries
the reason; the `INPUT_SIGNATURE_INFERENCE` INFO names the parameter (#510).

The #650 pinning test is inverted (`testMixedSparseDenseFallsThroughToDense` ->
`testMixedSparseDenseDrops`) to assert the drop.

Call-site-precise recovery — emitting a tight spec when the polymorphism is only
apparent (one branch live at the real call sites) — is a separate enhancement
gated on Ariadne resolving the parameter's concrete type per call site, tracked
separately.

Closes #642.


Claude-Session: https://claude.ai/code/session_01FuhM8SsTRB6BraLt3Ph7ZC

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

14 of 18 new or added lines in 2 files covered. (77.78%)

1 existing line in 1 file now uncovered.

1621 of 2024 relevant lines covered (80.09%)

0.8 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
91.54
-0.35% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Function.java

Coverage Regressions

Lines Coverage ∆ File
1
91.54
-0.35% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Function.java
Jobs
ID Job ID Ran Files Coverage
1 #2096.1 23 Jun 2026 07:54PM UTC 32
80.09
Source Files on build #2096
  • Tree
  • List 32
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 9bb37402 on github
  • Prev Build on gh-readonly-queue/main/pr-651-f6d2abb67163e933c5a5d45c6d0ee73620e46652
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