Go to file
Lucio Lelii b54c4ef35d Run a flow's loops: go round, keep every round, stop at the limit
When a loop's guard chooses the output that leads back, the execution
resets the loop's steps and starts the next round from the entry with
the value the guard produced. Every step of the loop leads to the guard,
so all of them have finished by then; the reset and the delivery happen
under one lock.

The back edge is not wired like other connections, which push their
value the moment it is produced, before the loop has been reset. Left
unwired, the entry's input still counts as open when nothing else feeds
it, so the first round takes it from the person starting the run. Inputs
from outside the loop keep their values from round to round. The guard's
other outputs are not marked as branches not taken while it goes round,
since a later round may leave through them.

Each step knows its round, events of loop steps carry it, and each
round's steps are kept in the execution's step history, so earlier
rounds and earlier verdicts stay readable after a reload. Choosing to go
round with no rounds left fails the execution with
LOOP_ITERATION_LIMIT_REACHED rather than leaving the loop.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 11:27:30 +02:00
.mvn/wrapper upgrade to springboot 4 2026-05-05 19:22:53 +02:00
src Run a flow's loops: go round, keep every round, stop at the limit 2026-09-25 11:27:30 +02:00
.gitattributes first commit 2025-03-27 11:38:06 +01:00
.gitignore Remove the internal host and the working notes from the published source 2026-09-21 14:22:05 +02:00
CITATION.cff Point the project at its home on the ISTI Gitea 2026-09-21 14:48:54 +02:00
Dockerfile Harden Maven downloads in Docker build 2026-09-10 11:34:39 +02:00
LICENSE Release under the AGPL with an attribution term 2026-09-16 12:10:26 +02:00
LICENSE-ADDENDUM Point the project at its home on the ISTI Gitea 2026-09-21 14:48:54 +02:00
NOTICE Point the project at its home on the ISTI Gitea 2026-09-21 14:48:54 +02:00
README.md Point the project at its home on the ISTI Gitea 2026-09-21 14:48:54 +02:00
mvnw first commit 2025-03-27 11:38:06 +01:00
mvnw.cmd first commit 2025-03-27 11:38:06 +01:00
ollama-preloaded-docker image for test with ollama added 2025-09-29 17:00:57 +02:00
pom.xml Point the project at its home on the ISTI Gitea 2026-09-21 14:48:54 +02:00
run_service.sh Replace Flyway schema setup with JPA mappings 2026-09-09 12:20:36 +02:00

README.md

RUN LOCAL SERVICE

./run_service.sh

BUILD DOCKER IMAGE

docker buildx build –platform linux/amd64,linux/arm64 -t luciolelii/humainflow:latest . –push

License

Copyright (C) 2025-2026 Lucio Lelii — ISTI-CNR.

HumAIn Flow is released under the GNU Affero General Public License v3.0 or later (LICENSE), with an additional attribution term under section 7(b) of that license (LICENSE-ADDENDUM).

In practice this means:

  • you may use, study, modify and redistribute it freely;

  • if you run a modified version as a network service, you must offer its source to the users of that service;

  • any work based on it must keep the attribution below, both in the source and where the interface shows its legal notices:

    Based on HumAIn Flow, originally developed by Lucio Lelii (ISTI-CNR) — https://gitea-s2i2s.isti.cnr.it/lelii/humainflow-service

If you use HumAIn Flow in academic work, please cite it — see CITATION.cff.