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

ponder-lab / Hybridize-Functions-Refactoring / #3131
86%
main: 89%

Build:
Build:
LAST BUILD BRANCH: keras-symbolic-argument-across-frames
DEFAULT BRANCH: main
Ran 14 Sep 2026 11:29AM UTC
Jobs 1
Files 42
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

14 Sep 2026 11:24AM UTC coverage: 85.724% (+0.2%) from 85.55%
#3131

push

github

web-flow
Stop reporting an unresolved context as a dtype conflict (#970)

* Stop reporting an unresolved context as a dtype conflict

The absence reason for a parameter whose spec reduced to bottom sized the
distinct dtype set with `DType.UNKNOWN` counted as a member. A parameter
observed as `INT32` at one context and `UNKNOWN` at another therefore had two
distinct dtypes, took the heterogeneous branch, and never reached the unknown
branch, which is gated on not being heterogeneous.

The INFO it emitted read that the parameter "receives tensors with conflicting
dtypes across call sites". For that pair there is no conflict. There is one
dtype and one context the analysis could not resolve, so the message asserted a
property of the program where the truth was a property of the analysis.

The distinction is load-bearing because the two call for different work. A
genuine conflict is a fact about the callers that no engine improvement
removes. One concrete dtype alongside `UNKNOWN` is a precision gap: resolving
that context collapses the set and the parameter becomes specifiable. The
absence reasons are read as a work list, so the old reason pointed that work at
the callers instead of at the resolver.

`HETEROGENEOUS_DTYPE`'s own javadoc named the defect without noticing it: it
specified the set as having size greater than one, which is exactly the count
that includes `UNKNOWN`. Both the enum text and the block comment above the
predicate described three cases while the predicate implemented two.

Adds `PARTIAL_DTYPE` for the third case, and lifts the predicate into one
`classifyDtypeBottom`. The flat-parameter and container-element paths each
carried their own copy and so each carried the same defect, which is why it now
lives in one place rather than at either call site.

Fixes #969

* Key the drop diagnostic on the reason instead of branching beside it

The message naming why the reduction bottomed was a four-way branch written out
at each emission site. That is... (continued)

21 of 21 new or added lines in 2 files covered. (100.0%)

3651 of 4259 relevant lines covered (85.72%)

0.86 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #3131.1 14 Sep 2026 11:29AM UTC 42
85.72
Source Files on build #3131
  • Tree
  • List 42
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b4721a20 on github
  • Prev Build on gh-readonly-queue/main/pr-966-c465173218627b042b09dd8c35e7b2482776d637
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc