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

ponder-lab / Hybridize-Functions-Refactoring / #1391
72%

Build:
DEFAULT BRANCH: main
Ran 18 May 2026 02:56PM 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 02:47PM UTC coverage: 71.23% (+0.05%) from 71.176%
#1391

push

travis-pro

web-flow
Cache `isTensorContainer` classification on `Parameter` (#499)

* Cache `isTensorContainer` classification on `Parameter`.

Closes #497.

`Parameter.isTensorTyped`'s Phase 3 (`hasTensorContainer`) classified a parameter as tensor-typed without populating any cache, so downstream consumers reading `Parameter.getTensorTypes()` (no-arg) saw an empty set for container parameters. `Function.inferInputSignature` (#480) silently excluded them from the inferred signature.

Add a `Boolean tensorContainer` field + `public Boolean isTensorContainer()` getter. Populate during Phase 3 of `isTensorTyped`. The new getter is the explicit query for "is this a tensor container?"; the existing `getTensorTypes()` continues to expose Ariadne's direct-tensor classification only (the asymmetry is now named on the API surface rather than hidden in the cache state).

Backward-compatible: existing callers of `isTensorTyped`/`getTensorTypes`/`getHasTensorParameter` see no behavior change. New API on `Parameter`.

Add a regression test that pins three relationships:
- Parameter-level Phase 3 classification ⇒ `Function.getHasTensorParameter()` is TRUE.
- Phase 3 cache: `Parameter.isTensorContainer()` returns TRUE.
- Asymmetry: `Parameter.getTensorTypes()` stays empty for container parameters.

Verified the test errors on `main` (compile-fail: `isTensorContainer()` undefined) and passes on this branch.

`./mvnw verify` green: 472 tests, 0 failures, 0 errors, 11 skipped (+1 from baseline).

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

* Tighten `tensorContainer` Javadoc on PR #499.

Copilot review on `Parameter.java:98` flagged the prior wording ("null until classification has run") as imprecise. `isTensorTyped`'s earlier phases (self, type-hint hit, non-empty Phase 2 result, empty call-graph nodes) can return before Phase 3 executes, leaving `tensorContainer` at its default even though `classifyAsTensor` ran. Rewrite both the field Javadoc and the `isTenso... (continued)

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

1129 of 1585 relevant lines covered (71.23%)

0.71 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #1391.1 18 May 2026 02:56PM UTC 30
71.23
Source Files on build #1391
  • Tree
  • List 30
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • f27ad1fb on github
  • Prev Build on gh-readonly-queue/main/pr-493-061dc111c1df2277c3fd8adc4db53e8d3049fd2b (#25964723652)
  • Next Build on main (#26041220751)
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