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

lsm / neokai / 25867795621 / 23
81%
dev: 81%

Build:
DEFAULT BRANCH: dev
Ran 14 May 2026 03:10PM UTC
Files 295
Run time 19s
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

14 May 2026 03:07PM UTC coverage: 21.931% (-0.02%) from 21.954%
25867795621.23

push

github

web-flow
feat: cache gate-open state to skip re-evaluation on every message (#1894)

* feat: cache gate-open state to skip re-evaluation on every message delivery

Once a gate evaluates to open, subsequent deliverMessage/canDeliver calls
skip re-evaluation — the gate's purpose is to gate *activation*, and after
that canSend topology authorization controls messaging.

Cache is bypassed for cyclic channels whose gate has resetOnCycle=true,
where the gate must always re-evaluate to enforce revision loops.

The cached open state is cleared when incrementAndResetCyclicChannel
resets gate data, ensuring the next delivery re-evaluates against fresh data.

* fix: address review feedback on gate-open cache

- Remove cacheGateOpened from canDeliver to keep it side-effect free
  (P1: a UI readiness check must not permanently cache a gate as open)
- Add evictRunCache() to prevent unbounded memory growth in long-lived
  daemons; call it when archived runs are detected
- Fail closed when cached gate definition disappears from workflow
  (force re-evaluation so evaluator returns "Gate not found")
- Add evictRunCache test

* fix: check gate existence before cyclic shortcut in mustReevaluateGate

Move the gate definition existence check before the non-cyclic channel
early return so that ALL channels (not just cyclic ones) re-evaluate
when the gate definition disappears from the workflow, failing closed
with "Gate not found" instead of silently allowing delivery.

Also evict gate-open cache on terminal run reopen in activateNode.

* fix: evict gate-open cache on run completion via event bus

Subscribe to `space.workflowRun.completed` in ChannelRouter to
automatically evict opened-gate cache entries when runs transition
to terminal status (done/cancelled/blocked). Add `destroy()` method
for cleanup. Prevents unbounded cache growth in long-lived routers.

* fix: make gate-cache event bus subscription opt-in

Add `subscribeToRunCompletion` config option (defaults to false) so
only... (continued)

17144 of 78171 relevant lines covered (21.93%)

11.51 hits per line

Source Files on job daemon-online-convo - 25867795621.23
  • Tree
  • List 295
  • Changed 9
  • Source Changed 9
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25867795621
  • e3c0b128 on github
  • Prev Job for on dev (#25846753320.8)
  • Next Job for on dev (#25884037273.27)
  • Delete
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