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

ponder-lab / Hybridize-Functions-Refactoring / #2417
83%

Build:
DEFAULT BRANCH: main
Ran 10 Jul 2026 03:05AM 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

10 Jul 2026 02:56AM UTC coverage: 81.243% (+0.01%) from 81.23%
#2417

push

github

web-flow
Harden the numpy shape precondition: poison ambiguous descriptors and cache the type index (#752)

* Harden the numpy shape precondition: poison ambiguous descriptors, cache the index

Two post-merge review findings on #750:

- colorShapeFrom let the last writer win when a value received shape provenance
  from two conflicting sources (e.g. a phi merge), which could "prove" staticness
  from one source only. Poison such a value to an ambiguous descriptor (null
  source, so it resolves to ⊤/unprovable), the conservative outcome.
- indexTensorTypes was rebuilt on every appliesNumpyToParameters call, i.e. per
  call-graph node of every function. Build it once per function and reuse it
  across the function's nodes; indexTensorTypes is now the shared entry point.

Behavior-preserving on the corpus and the unit fixtures (no conflicting
descriptors arise there); suite 570 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01He1ULx8nRoHzGicMryry1A

* Make indexTensorTypes package-private

It is only used within the analysis package (from Function); no need to
widen the API surface.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01He1ULx8nRoHzGicMryry1A

* Re-enqueue a value when its shape descriptor changes

colorShapeFrom only re-enqueued a value on first taint, so poisoning an
already-processed value to the ambiguous descriptor never re-evaluated its
uses, leaving a sink decided on the stale descriptor. Re-enqueue on any
descriptor change too; descriptors are monotone (unset -> concrete ->
ambiguous), so this terminates.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01He1ULx8nRoHzGicMryry1A

---------

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

11 of 12 new or added lines in 2 files covered. (91.67%)

2079 of 2559 relevant lines covered (81.24%)

0.81 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
89.34
-0.08% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Util.java
Jobs
ID Job ID Ran Files Coverage
1 #2417.1 10 Jul 2026 03:05AM UTC 32
81.24
Source Files on build #2417
  • Tree
  • List 32
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 6f685250 on github
  • Prev Build on gh-readonly-queue/main/pr-750-06947bae34502b32c05c0d81b53bf303595bc8c8
  • 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