Skip to content

Add flow connector#57

Merged
gustavo-batista merged 17 commits into
mainfrom
add_flow_connector
May 14, 2026
Merged

Add flow connector#57
gustavo-batista merged 17 commits into
mainfrom
add_flow_connector

Conversation

@gustavo-batista

@gustavo-batista gustavo-batista commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

Context

Add a new type of dynamic flow called FlowConnector

Add a new field to Execution called child_executions to track if it was called from a previous one, this works by passing parent_execution and parent_node_id to a Executor when calling run method. This will add the new Execution to the parent_execution's child_execution attribute.

This new behavior is only valid for NodeKind.CONNECTOR and NodeKind.FLOW

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Tests Skipped Failures Errors Time
13 0 💤 0 ❌ 13 🔥 5.186s ⏱️

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Tests Skipped Failures Errors Time
13 0 💤 0 ❌ 13 🔥 3.919s ⏱️

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Tests Skipped Failures Errors Time
13 0 💤 0 ❌ 13 🔥 5.312s ⏱️

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Tests Skipped Failures Errors Time
13 0 💤 0 ❌ 13 🔥 4.069s ⏱️

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Tests Skipped Failures Errors Time
13 0 💤 0 ❌ 13 🔥 5.411s ⏱️

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Tests Skipped Failures Errors Time
13 0 💤 0 ❌ 13 🔥 4.166s ⏱️

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Tests Skipped Failures Errors Time
13 0 💤 0 ❌ 13 🔥 5.209s ⏱️

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown
Tests Skipped Failures Errors Time
13 0 💤 0 ❌ 13 🔥 4.339s ⏱️

@gustavo-batista gustavo-batista self-assigned this Feb 4, 2026
@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py65494%46, 144, 151, 154
   executor.py125993%62, 74–75, 144, 211, 255, 271, 275, 287
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py130596%15, 35–36, 134, 143
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL15859394% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 4.983s ⏱️

@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py65494%46, 144, 151, 154
   executor.py125993%62, 74–75, 144, 211, 255, 271, 275, 287
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py130596%15, 35–36, 134, 143
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL15859194% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 3.920s ⏱️

* origin:
  add suggestions
  Bump version from 3.4.1a0 to 3.4.1
  bump version
  streaming serialization
@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py65494%46, 145, 152, 155
   executor.py125993%62, 74–75, 144, 211, 255, 271, 275, 287
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL161110494% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 5.150s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py65494%46, 145, 152, 155
   executor.py125993%62, 74–75, 144, 211, 255, 271, 275, 287
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL161110294% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 3.912s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py65494%46, 145, 152, 155
   executor.py125993%62, 74–75, 144, 211, 255, 271, 275, 287
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL161110494% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 5.004s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py65494%46, 145, 152, 155
   executor.py125993%62, 74–75, 144, 211, 255, 271, 275, 287
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL161110294% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 4.002s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py65494%46, 145, 152, 155
   executor.py125993%62, 74–75, 144, 211, 255, 271, 275, 287
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL161110494% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 5.244s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py65494%46, 145, 152, 155
   executor.py125993%62, 74–75, 144, 211, 255, 271, 275, 287
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL161110294% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 3.892s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py702860%33–34, 39–42, 47–53, 56, 59, 62–64, 67–71, 120, 123–151, 155, 165
   executor.py1297343%50, 54, 62, 66, 74–75, 89–95, 106–139, 144–187, 221, 230–231, 265–269, 276–316
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   base.py53492%92, 104, 109, 112
   check.py41393%23, 26, 89
   connectors.py11191%17
   constants.py93595%115, 123, 126, 134, 171
   datetime.py78199%76
   getchar.py16194%30
   lowercase.py13192%25
   match.py18194%41
   math.py43198%75
   outputs.py16194%43
   substring.py14286%32–36
retrack/nodes/dynamic
   base.py16194%26
   conditional_connector.py27196%48
   csv_table.py44295%60, 63
   flow.py441175%18, 61–76
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051982%77–78, 81–82, 85–86, 91–92, 101, 112–123, 150
   exceptions.py281836%14–24, 42–63, 76–97, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py15613812%11, 16–19, 31–46, 51–77, 102–156, 168–222, 227, 235–340, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162135378% 

Tests Skipped Failures Errors Time
92 0 💤 24 ❌ 0 🔥 5.265s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py702860%33–34, 39–42, 47–53, 56, 59, 62–64, 67–71, 120, 123–151, 155, 165
   executor.py1297343%50, 54, 62, 66, 74–75, 89–95, 106–139, 144–187, 221, 230–231, 265–269, 276–316
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   base.py53492%92, 104, 109, 112
   check.py41393%23, 26, 89
   connectors.py11191%17
   constants.py93595%115, 123, 126, 134, 171
   datetime.py78199%76
   getchar.py16194%30
   lowercase.py13192%25
   match.py18194%41
   math.py43198%75
   outputs.py16194%43
   substring.py14286%32–36
retrack/nodes/dynamic
   base.py16194%26
   conditional_connector.py27196%48
   csv_table.py44295%60, 63
   flow.py441175%18, 61–76
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051982%77–78, 81–82, 85–86, 91–92, 101, 112–123, 150
   exceptions.py281836%14–24, 42–63, 76–97, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py15613812%11, 16–19, 31–46, 51–77, 102–156, 168–222, 227, 235–340, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162135378% 

Tests Skipped Failures Errors Time
92 0 💤 24 ❌ 0 🔥 4.565s ⏱️

@github-actions

github-actions Bot commented Apr 2, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py702860%33–34, 39–42, 47–53, 56, 59, 62–64, 67–71, 120, 123–151, 155, 165
   executor.py1297343%50, 54, 62, 66, 74–75, 89–95, 106–139, 144–187, 221, 230–231, 265–269, 276–316
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   base.py53492%92, 104, 109, 112
   check.py41393%23, 26, 89
   connectors.py11191%17
   constants.py93595%115, 123, 126, 134, 171
   datetime.py78199%76
   getchar.py16194%30
   lowercase.py13192%25
   match.py18194%41
   math.py43198%75
   outputs.py16194%43
   substring.py14286%32–36
retrack/nodes/dynamic
   base.py16194%26
   conditional_connector.py27196%48
   csv_table.py44295%60, 63
   flow.py441175%18, 61–76
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051982%77–78, 81–82, 85–86, 91–92, 101, 112–123, 150
   exceptions.py281836%14–24, 42–63, 76–97, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py15613812%11, 16–19, 31–46, 51–77, 102–156, 168–222, 227, 235–340, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162135378% 

Tests Skipped Failures Errors Time
92 0 💤 24 ❌ 0 🔥 4.906s ⏱️

@github-actions

github-actions Bot commented Apr 2, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py701776%42, 48, 53, 62–64, 67–71, 123–151, 155
   executor.py1291787%62, 74–75, 92–95, 135, 153, 178, 180, 221, 267, 306–316
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   base.py53394%104, 109, 112
   check.py41393%23, 26, 89
   constants.py93496%123, 126, 134, 171
   datetime.py78199%76
   getchar.py16194%30
   lowercase.py13192%25
   match.py18194%41
   math.py43198%75
   outputs.py16194%43
   substring.py14286%32–36
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44295%18, 76
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051982%77–78, 81–82, 85–86, 91–92, 101, 112–123, 150
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py15613812%11, 16–19, 31–46, 51–77, 102–156, 168–222, 227, 235–340, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162126084% 

Tests Skipped Failures Errors Time
92 0 💤 24 ❌ 0 🔥 6.566s ⏱️

@github-actions

github-actions Bot commented Apr 2, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py701776%42, 48, 53, 62–64, 67–71, 123–151, 155
   executor.py1291787%62, 74–75, 92–95, 135, 153, 178, 180, 221, 267, 306–316
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   base.py53394%104, 109, 112
   check.py41393%23, 26, 89
   constants.py93496%123, 126, 134, 171
   datetime.py78199%76
   getchar.py16194%30
   lowercase.py13192%25
   match.py18194%41
   math.py43198%75
   outputs.py16194%43
   substring.py14286%32–36
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44295%18, 76
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051982%77–78, 81–82, 85–86, 91–92, 101, 112–123, 150
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py15613812%11, 16–19, 31–46, 51–77, 102–156, 168–222, 227, 235–340, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162125884% 

Tests Skipped Failures Errors Time
92 0 💤 24 ❌ 0 🔥 5.300s ⏱️

@github-actions

github-actions Bot commented Apr 2, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 155
   executor.py1311092%62, 74–75, 155, 227, 273, 291, 295, 307, 315
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310693% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 5.330s ⏱️

@github-actions

github-actions Bot commented Apr 2, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 155
   executor.py1311092%62, 74–75, 155, 227, 273, 291, 295, 307, 315
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310494% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 4.189s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 155, 227, 273, 291, 295, 307, 315
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310693% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 5.169s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 155, 227, 273, 291, 295, 307, 315
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310494% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 4.154s ⏱️

@gustavo-batista gustavo-batista requested review from a team and gabrielguarisa May 6, 2026 12:40
@gustavo-batista gustavo-batista changed the title WIP: Add flow connector Add flow connector May 6, 2026
@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 153, 225, 271, 289, 293, 305, 313
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310494% 

Tests Skipped Failures Errors Time
92 0 💤 1 ❌ 0 🔥 3.935s ⏱️

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 153, 225, 271, 289, 293, 305, 313
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310693% 

Tests Skipped Failures Errors Time
92 0 💤 1 ❌ 0 🔥 5.295s ⏱️

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 153, 225, 271, 289, 293, 305, 313
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310693% 

Tests Skipped Failures Errors Time
92 0 💤 1 ❌ 0 🔥 5.655s ⏱️

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 153, 225, 271, 289, 293, 305, 313
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310494% 

Tests Skipped Failures Errors Time
92 0 💤 1 ❌ 0 🔥 3.344s ⏱️

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 153, 225, 271, 289, 293, 305, 313
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310693% 

Tests Skipped Failures Errors Time
92 0 💤 1 ❌ 0 🔥 5.381s ⏱️

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 153, 225, 271, 289, 293, 305, 313
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310494% 

Tests Skipped Failures Errors Time
92 0 💤 1 ❌ 0 🔥 4.305s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 153, 225, 271, 289, 293, 305, 313
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28582%17–18, 106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310693% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 5.299s ⏱️

@github-actions

Copy link
Copy Markdown

coverage

Coverage Report
FileStmtsMissCoverMissing
retrack/engine
   base.py70593%48, 62–64, 152
   executor.py1311092%62, 74–75, 153, 225, 271, 289, 293, 305, 313
   request_manager.py67790%17, 36, 55, 70–71, 154, 157
   rule.py50394%87, 109, 116
retrack/nodes
   check.py41393%23, 26, 89
   constants.py93397%123, 126, 171
   math.py43198%75
retrack/nodes/dynamic
   base.py16194%26
   csv_table.py44295%60, 63
   flow.py44198%18
   flow_connector.py251252%24–48
retrack/utils
   component_registry.py1051883%77–78, 81–82, 85–86, 91–92, 101, 112–123
   exceptions.py28389%106–127
   graph.py60788%35, 46, 59, 61, 63, 84, 86
   registry.py34682%23–26, 38, 43, 51
   transformers.py1561690%17, 37–38, 52, 57–58, 63, 66, 69, 72, 75, 109, 169, 178, 227, 353
retrack/validators
   base.py4175%14
   node_exists.py15287%36, 38
   node_validator.py33391%31, 56–57
TOTAL162310494% 

Tests Skipped Failures Errors Time
92 0 💤 0 ❌ 0 🔥 4.185s ⏱️

@gustavo-batista gustavo-batista merged commit df75a38 into main May 14, 2026
3 checks passed
@gustavo-batista gustavo-batista deleted the add_flow_connector branch May 14, 2026 15:15
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.

3 participants