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

lsm / neokai / 25867795621 / 24
83%
dev: 83%

Build:
DEFAULT BRANCH: dev
Ran 14 May 2026 03:10PM UTC
Files 295
Run time 21s
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: 17.969% (-0.01%) from 17.981%
25867795621.24

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)

14314 of 79659 relevant lines covered (17.97%)

9.35 hits per line

Source Files on job daemon-online-mcp - 25867795621.24
  • 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.2)
  • 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