Documentation / Build
Four languages. One workflow.
Rust ingests, Python extracts, Node.js checks, and Java publishes. A failed check reworks only the affected shard.
Simulated business logic; no AWS or AI calls. From the runner checkout. Download the displayed JSON into the checkout root. The local runner reads JSON.
Run all four runtimes
javac examples/java/RippflowHandler.java
rippflow dev polyglot.workflow.json --handlers polyglot.handlers.json --shards stmt-jan.pdf,stmt-feb.pdf --report polyglot-report.jsonDownload the handler manifest beside the workflow. Expected report payloads: rust, python, node, java; February is reworked once, then the terminal phase completes.
Workflow definition
JSON
{
"name": "mixed-polyglot-pipeline",
"version": "2.0.0",
"default_group": "python-standard",
"phases": {
"ingest-packet": {
"requires": [],
"service": "simulated.splitter",
"scope": "root",
"inputs": {
"simulated": true
},
"group": "rust-light"
},
"parse-statement": {
"requires": [
"ingest-packet"
],
"service": "simulated.ocr_extract",
"scope": "per_shard",
"inputs": {
"dpi": 300,
"simulated": true
},
"group": "python-standard"
},
"verify-balance": {
"requires": [
"parse-statement"
],
"service": "simulated.balance_auditor",
"scope": "per_shard",
"outcomes": {
"completed": {
"advance_barrier": true
},
"rework": {
"rerun_phase": "parse-statement",
"max_loops": 2,
"override_inputs": {
"dpi": 600,
"high_accuracy_table_mode": true
}
}
},
"group": "node-standard"
},
"emit-underwriting-summary": {
"requires": [
"verify-balance"
],
"service": "simulated.underwriter_summary",
"scope": "fan_in_all",
"terminal": true,
"group": "java-standard"
}
}
}YAML
name: mixed-polyglot-pipeline
version: 2.0.0
default_group: python-standard
phases:
ingest-packet:
requires: []
service: simulated.splitter
scope: root
inputs:
simulated: true
group: rust-light
parse-statement:
requires:
- ingest-packet
service: simulated.ocr_extract
scope: per_shard
inputs:
dpi: 300
simulated: true
group: python-standard
verify-balance:
requires:
- parse-statement
service: simulated.balance_auditor
scope: per_shard
outcomes:
completed:
advance_barrier: true
rework:
rerun_phase: parse-statement
max_loops: 2
override_inputs:
dpi: 600
high_accuracy_table_mode: true
group: node-standard
emit-underwriting-summary:
requires:
- verify-balance
service: simulated.underwriter_summary
scope: fan_in_all
terminal: true
group: java-standardVerified sources
Checked 2026-11-05.
- Workflow definition 6495ab9 · main
- Simulated handler 6495ab9 · main
- Local runner behavior 6495ab9 · main
- Java handler 6495ab9 · main
- Node.js handler 6495ab9 · main
- Rust handler 6495ab9 · main
