fabro/docs/public/examples
Bryan Helmkamp f6932529fa
Let a node execute max_visits times before the cycle guard fires
The executor incremented a node's visit count on entry and refused the
visit once the count reached the limit, so a node with max_visits=N
executed at most N-1 times. The documented contract in
stages-and-nodes.mdx is "Max times this node can execute in a run",
and both published examples describe bounded retry loops under that
reading. A graph with max_visits=2 on a designed
one-correction loop therefore failed as "stuck in a cycle" before the
correction could run.

Check the completed-visit count before entry instead: a node with
max_visits=N now executes exactly N times, and the refused entry is
not reported as a visit, so the error's count names the executions
that actually happened. Also correct the nlspec example prose, which
claimed the workflow "moves on with the best result" at the limit;
exceeding max_visits fails the run.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 21:01:53 -04:00
..
clone-substack.mdx Shared-checkout parallel execution (recovered from run 01KY7YH7RYCJ1BDVTTP96ZA4HV) 2026-07-24 06:19:11 -04:00
definition-of-done.mdx feat(validate): warn on inert node and edge attributes 2026-07-23 10:48:18 -04:00
nlspec-conformance.mdx Let a node execute max_visits times before the cycle guard fires 2026-08-05 21:01:53 -04:00
repl-handoff.mdx refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
semantic-port.mdx feat: add model-keyed fallback policies 2026-07-30 12:02:41 -04:00
solitaire.mdx feat: add model-keyed fallback policies 2026-07-30 12:02:41 -04:00