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

ponder-lab / Hybridize-Functions-Refactoring / #1427
71%
main: 72%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/main/pr-567-46992106ce4b6e7b917a97e2458275e35b49c04a
DEFAULT BRANCH: main
Ran 18 May 2026 06:26PM UTC
Jobs 1
Files 30
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

18 May 2026 06:23PM UTC coverage: 71.393% (+0.02%) from 71.375%
#1427

push

travis-pro

web-flow
Hoist `inferTensorTypes` to fire unconditionally on `isTensorTyped` entry (#496)

* Hoist `inferTensorTypes` to fire unconditionally on `isTensorTyped` entry.

Closes #495.

The previous Phase 2 placement of `inferTensorTypes(tensorAnalysis)` left the per-Parameter tensor-types cache unpopulated for:
- self parameters (early return before the call),
- type-hint-classified parameters with `followTypeHints` enabled (Phase 1 returns true before Phase 2),
- parameters in functions with empty call-graph nodes (already gated on `!nodes.isEmpty()`).

Downstream consumers that read the cache via `getTensorTypes()` (no-arg) saw an empty set in these cases—silently dropping type-hint-classified tensor parameters from `Function.inferInputSignature`'s output even when Ariadne had a concrete `TensorType` for them at the call site.

Hoist the `inferTensorTypes` call to fire right after the `isSelf` check, still gated on `!nodes.isEmpty()`. Phase 1 (type hints) and Phase 2 (Ariadne cache read) now both see a consistent cache state. Phase 2 no longer re-invokes `inferTensorTypes`; it reads the field via `getTensorTypes()` directly.

Self parameters remain excluded from the cache (no semantic need; `inferInputSignature` already filters them out by `isSelf()`). Empty-nodes remains excluded (no information to populate).

`./mvnw verify` green: 471 tests, 0 failures, 0 errors, 11 skipped (baseline).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Add regression test for `Parameter.isTensorTyped` cache-hoist (#496).

`testInferredTensorTypesUnderFollowTypeHints` pins the cache-population behavior under `experimental_follow_type_hints=True` + `tf.Tensor` type hint + concrete tensor call site.

- Before #496's hoist: `Parameter.isTensorTyped`'s Phase 1 (type hints) returns true before Phase 2 (Ariadne query) runs. `inferTensorTypes` is never called for this parameter; `param.getTensorTypes()` stays at the empty default. Verified: this test fails on ... (continued)

2 of 2 new or added lines in 1 file covered. (100.0%)

1133 of 1587 relevant lines covered (71.39%)

0.71 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #1427.1 18 May 2026 06:26PM UTC 30
71.39
Source Files on build #1427
  • Tree
  • List 30
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • d779e8e2 on github
  • Prev Build on main (#26051895032)
  • Next Build on gh-readonly-queue/main/pr-496-d5cde3bb41a9874a28b4b1a63e02c959a09bc194 (#26052273456)
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