Skip to content

implemented sub flow support#204

Merged
raphael-goetz merged 2 commits into
#186-new-module-structurefrom
#184-support-sub-flows
May 30, 2026
Merged

implemented sub flow support#204
raphael-goetz merged 2 commits into
#186-new-module-structurefrom
#184-support-sub-flows

Conversation

@raphael-goetz
Copy link
Copy Markdown
Member

Resolves: #184

Copilot AI review requested due to automatic review settings May 30, 2026 20:04
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

GitLab Pipeline Action

General information

Link to pipeline: https://gitlab.com/code0-tech/development/taurus/-/pipelines/2564384697

Status: Passed
Duration: 2 minutes

Job summaries

docs:preview

Documentation preview available at https://code0-tech.gitlab.io/-/development/telescopium/-/jobs/14616674890/artifacts/out/index.html

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Implements sub-flow execution by function identifier (in addition to existing starting-node sub-flows), letting handlers receive a deferred call into another built-in function whose arguments are bound through SubFlowSettings (defaults, hidden, optional/required). Threads a new Thunk abstraction through the handler/executor/tracer stack, replacing the previous i64 node-id thunks.

Changes:

  • Introduce Thunk { Node, Function } and FunctionThunk (handler/argument.rs) and update HandlerFn/ThunkRunner plus every handler signature to take &Thunk instead of i64.
  • Compile sub_flow.functionIdentifier to a new CompiledThunk::Function and execute it in executor.rs via execute_function_thunk, resolving each setting (hidden → default, null → default, missing → default/null/T-CORE-000107).
  • Switch tracing from node_id: i64 to a string target (node=.. / function=..), retire compiler error T-CORE-000106, add T-CORE-000107, and add fixture/engine tests.

Reviewed changes

Copilot reviewed 18 out of 19 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
crates/taurus-core/src/handler/argument.rs New Thunk/FunctionThunk types; Argument::Thunk now carries a Thunk.
crates/taurus-core/src/handler/registry.rs New ThunkRunner type alias; HandlerFn switched to it.
crates/taurus-core/src/runtime/engine/model.rs CompiledArg::Deferred(CompiledThunk) with Node/Function variants.
crates/taurus-core/src/runtime/engine/compiler.rs Compile function-identifier sub-flows; remove T-CORE-000106.
crates/taurus-core/src/runtime/engine/executor.rs Dispatch Thunk execution; build/resolve function sub-flow settings; new T-CORE-000107.
crates/taurus-core/src/runtime/engine.rs New engine unit tests covering function sub-flow semantics.
crates/taurus-core/src/runtime/execution/trace.rs ArgKind::Thunk uses target: String.
crates/taurus-core/src/runtime/execution/tracer.rs mark_thunk_executed matches by string target.
crates/taurus-core/src/runtime/execution/render.rs Render thunk arg with target string.
crates/taurus-core/src/runtime/functions/*.rs Update all handler signatures and test dummies to ThunkRunner/&Thunk.
docs/errors.md Replace T-CORE-000106 row with T-CORE-000107.
flows/11_function_subflow.json New fixture exercising functionIdentifier + hidden/default settings.
Cargo.lock Consolidate to a single tucana version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/taurus-core/src/runtime/engine/executor.rs Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@raphael-goetz raphael-goetz merged commit c7bb276 into #186-new-module-structure May 30, 2026
2 of 3 checks passed
@raphael-goetz raphael-goetz linked an issue May 30, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Taurus needs to handle SubFlows

2 participants