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

ponder-lab / Hybridize-Functions-Refactoring / #2297
80%
main: 80%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/main/pr-739-6721f597b1febe25181379bb3e6a99b1f85dd4e0
DEFAULT BRANCH: main
Ran 03 Jul 2026 11:26AM 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

03 Jul 2026 11:22AM UTC coverage: 79.52% (+0.2%) from 79.286%
#2297

push

github

web-flow
Exempt Keras lazy-`build` weight creation from the side-effect precondition (#723)

Since Ariadne 0.52.12 models the lazy-`build` protocol in the `__call__` trampoline, a container `call` invoking a sublayer sees the sublayer's `build`-time writes—the `add_weight` stores and the `built` flag, on an object created in the container's `__init__`—in its mod set, and `HAS_PYTHON_SIDE_EFFECTS` blocks the container. Those writes are the once-only, framework-sanctioned Keras initialization that `tf.function` supports on the first trace, not the recurring Python side-effects the precondition guards against.

`Function.subtractBuildProtocolContributions` removes, from the analyzed function's transitive mod set, the contributions of reachable `build`-method nodes (worklist walk over call-graph successors; a `build` under analysis never masks itself). Subtracting a `build` node's transitive mod also drops its `add_weight`-summary and `built`-flag stores, restoring the pre-0.52.12 status quo in which `build` bodies were never reached.

`testPythonSideEffects66` pins the exemption (container over a lazily-built sublayer: no side-effects; fails without the fix) and `testPythonSideEffects67` pins the boundary (a sublayer mutating its own attribute in `call`, mirroring NLPGNN's `cached_result`: still a side-effect).

Closes #720.


Claude-Session: https://claude.ai/code/session_01S1U9TQRo3Wmhfu86DRcBNW

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

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

1689 of 2124 relevant lines covered (79.52%)

0.8 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #2297.1 03 Jul 2026 11:26AM UTC 32
79.52
Source Files on build #2297
  • Tree
  • List 32
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b4f821ca on github
  • Prev Build on main
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