NF-2: Node registry + executor (no dispatch yet) #323
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#323
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As the platform, I want a typed node registry and a graph executor so that flows can be run against a
TriggerEventin unit tests, without touching HTTP or persistence.Acceptance criteria
Registry
apps/server/src/domain/flows/registry.ts— declarative registry with typed input/output ports per node type.source,router.filter,router.switch,router.all,router.race,router.try,template.string,util.log,util.guard,util.delay.Executor
apps/server/src/domain/flows/executor.ts— topological walker. Graph load builds a frozen plan; per-dispatch run walks it.ExecutionContextmap keyed bynode_id → port → value.args.timeout_ms).router.trywraps a branch and converts throws into a downstreamerredge.AbortSignalpropagated; cancel refuses to fire the next wave.Tests
router.all,router.racecancel-losers, error propagation, timeout, cancel, port-type mismatch rejection, cycle rejection.Out of scope
forge.*andagent.*node implementations — NF-3.References
specs/node-flows.md§ Execution semantics.