You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hermiq shipped its own graph engine (lib/Service/Graph/GraphExecutor.php, #30). It is the sixth system in this fleet called "flow", and exactly what ADR-022 exists to prevent — the OpenRegister flow-engine proposal names five others and we added one more.
It should become a consumer.
What changes
GraphExecutor is replaced by OCA\OpenRegister\Service\Flow\FlowEngine.
hermiq contributes a FlowStepDispatcher handling the step types it owns:
agent-step — run an agent turn (the thing only hermiq can do)
Its condition / router / object-write steps are dropped in favour of the engine's own If/Switch and object steps (openregister#2067).
The canvas (GraphBuilder.vue / GraphSidebar.vue) moves to the shared flow builder, keeping CnGraphCanvas underneath.
Saved agentflow objects migrate to the flow document shape. The engine already accepts the {source, target} dialect CnGraphCanvas emits, so the edge format needs no translation.
What hermiq keeps
The agent step, and only the agent step. That is the genuinely hermiq-specific capability; graph walking, branching, item handling and run tooling are not.
Watch for
The item-list contract (openregister#2064): an agent step becomes items-in/items-out, so an agent step naturally runs once per item. GraphExecutor's single flat state has no equivalent and its {{key}} placeholders become JSONLogic expressions (openregister#2069).
agentId vs agent — both are honoured in the current executor; the migration is the moment to settle on one.
hermiq shipped its own graph engine (
lib/Service/Graph/GraphExecutor.php, #30). It is the sixth system in this fleet called "flow", and exactly what ADR-022 exists to prevent — the OpenRegister flow-engine proposal names five others and we added one more.It should become a consumer.
What changes
GraphExecutoris replaced byOCA\OpenRegister\Service\Flow\FlowEngine.FlowStepDispatcherhandling the step types it owns:agent-step— run an agent turn (the thing only hermiq can do)condition/router/object-writesteps are dropped in favour of the engine's own If/Switch and object steps (openregister#2067).GraphBuilder.vue/GraphSidebar.vue) moves to the shared flow builder, keepingCnGraphCanvasunderneath.agentflowobjects migrate to the flow document shape. The engine already accepts the{source, target}dialectCnGraphCanvasemits, so the edge format needs no translation.What hermiq keeps
The agent step, and only the agent step. That is the genuinely hermiq-specific capability; graph walking, branching, item handling and run tooling are not.
Watch for
GraphExecutor's single flat state has no equivalent and its{{key}}placeholders become JSONLogic expressions (openregister#2069).agentIdvsagent— both are honoured in the current executor; the migration is the moment to settle on one.produced/passedper step) is close to what the engine's run log needs, and should inform openregister#2070 rather than being re-invented.Depends on openregister#2064.