Skip to content

Common Parameters

These parameters are shared across many CausalIQ workflow actions. Individual action documentation specifies which parameters apply and any action-specific behaviour.

input Parameter

Specifies the source of data for the action.

Usage Description
Workflow cache Path to .db file containing entries to process
Data files Path to input files (CSV, GraphML, etc.)
with:
  input: "results/graphs.db"       # Process entries from cache

For update and aggregate patterns, input typically points to a workflow cache. For create patterns, it may point to data files.

Multiple Inputs

Some actions accept multiple input sources:

with:
  input:
    - "results/llm_graphs.db"
    - "results/discovery_graphs.db"

output Parameter

Specifies where results should be stored.

Usage Description
Workflow cache Path to .db file for storing results
Directory Path to directory for file output
with:
  output: "results/merged.db"      # Store results in cache

Note: Update pattern actions do not use output — they modify entries in the input cache directly.

Output Behaviour by Pattern

Pattern Output Behaviour
Create Required New entries added to output cache
Update Prohibited Results added to input cache entries
Aggregate Required Aggregated entries added to output cache

filter Parameter

Restricts which entries are processed by the action.

with:
  input: "results/graphs.db"
  filter: "sample_size >= 100 and network in ['asia', 'cancer']"

Filter Syntax

Filter expressions use Python syntax with supported operators:

Category Operators
Comparison ==, !=, >, <, >=, <=
Boolean and, or, not
Membership in
Grouping ()

Supported Functions

Function Description
len() Length of string or list
str() Convert to string
int() Convert to integer
float() Convert to float
bool() Convert to boolean
abs() Absolute value
min() Minimum of values
max() Maximum of values

Filter Variables

Filter expressions can reference any metadata variable from cache entries:

# Filter by algorithm and score
filter: "algorithm == 'pc' and f1_score > 0.8"

# Filter by multiple networks
filter: "network in ['asia', 'cancer', 'alarm']"

# Complex conditions
filter: "(sample_size >= 1000 or seed == 0) and status == 'success'"

Filter vs Conservative Execution

Mechanism Purpose Result
filter Exclude entries from processing Entry status: IGNORED
Conservative execution Skip already-processed entries Entry status: SKIPPED

Filtered entries are never processed, even with --mode=force.

reference Parameter

For evaluation actions, specifies the ground truth for comparison.

with:
  action: "evaluate_graph"
  input: "results/graphs.db"
  reference: "networks/{{network}}/true.graphml"

The reference path often uses template variables to match entries with their corresponding ground truth files.

metric Parameter

Specifies which metrics to compute for evaluation actions.

with:
  action: "evaluate_graph"
  input: "results/graphs.db"
  reference: "networks/asia/true.graphml"
  metric:
    - f1
    - precision
    - recall
    - shd

Available metrics depend on the specific action. See action documentation for supported metrics.

Template Variables in Parameters

Most parameters support template variable substitution:

id: "exp-001"

matrix:
  network: [asia, cancer]

steps:
  - name: "Evaluate"
    uses: "causaliq-analysis"
    with:
      action: "evaluate_graph"
      input: "results/{{id}}/graphs.db"
      reference: "networks/{{network}}/true.graphml"

See Core Concepts for variable resolution order.