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

ponder-lab / Hybridize-Functions-Refactoring / #3420
89%

Build:
DEFAULT BRANCH: main
Ran 14 Oct 2026 12:12AM UTC
Jobs 1
Files 45
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

13 Oct 2026 11:53PM UTC coverage: 88.058% (+0.08%) from 87.982%
#3420

push

github

web-flow
Withhold the signature when a static dimension reaches a TensorFlow shape op (#1059)

* Withhold the signature when a static dimension reaches a TensorFlow shape op

A dimension read statically from an axis the signature leaves wild is None at trace time. The check already treated tf.reshape, tf.range and tf.image.resize as consuming it, but not the other TensorFlow ops that take a shape, so a function passing x.shape[0] to tf.ones kept a signature it fails under (#1058). Each of these raises on a None dimension in TensorFlow 2.9.3, and is now a sink: tf.ones, tf.zeros, tf.fill, tf.eye, tf.random.normal, tf.random.uniform, tf.random.truncated_normal, tf.broadcast_to, tf.tile, tf.one_hot and tf.split. So are the Python builtins range and int, which raise TypeError on None.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTnpjPjJj2aZy1ZkUD1eAn

* Count a dimension only in the arguments it breaks

Each new shape op now names the arguments in which a None dimension raises at trace time, and only those count. Arguments that default to None accept it and change meaning instead, so counting them withheld signatures the function traces under: tf.random.uniform's maxval means 1 for a float dtype, tf.eye's num_columns means square, and tf.split's num, tf.one_hot's axis and on_value, and seed trace too (TensorFlow 2.9.3). The test gains two of those as controls that keep their signatures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTnpjPjJj2aZy1ZkUD1eAn

* Count tf.random.uniform's maxval unless its dtype is a float

With a float dtype, the default, a None maxval means 1. With an integer dtype it raises, since the samples come from [minval, maxval). So maxval counts unless the dtype, by keyword or position, resolves to a float type or is absent. A dtype that can't be resolved counts too, in the withholding direction.

Co-Authored-By: Claude Op... (continued)

42 of 43 new or added lines in 1 file covered. (97.67%)

1 existing line in 1 file now uncovered.

4852 of 5510 relevant lines covered (88.06%)

0.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
94.56
0.09% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/StaticShapeReadAnalysis.java

Coverage Regressions

Lines Coverage ∆ File
1
94.56
0.09% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/StaticShapeReadAnalysis.java
Jobs
ID Job ID Ran Files Coverage
1 #3420.1 14 Oct 2026 12:12AM UTC 45
88.06
Source Files on build #3420
  • Tree
  • List 45
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 1d9a9ac7 on github
  • Prev Build on gh-readonly-queue/main/pr-1057-3a72fb52a6ba08efe654b51fea9a988a36714e80
  • Next Build on main
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