Commit f7d3b89
fix: Address 3 critical production robustness gaps
Fixes #1370
## Gap 1: Multi-Agent Concurrency Safety
- 1a: Added thread-safe cost tracking with _cost_lock in Agent class
- 1b: Fixed parallel workflow shared state by using copy.deepcopy() instead of shallow copy
- 1c: Confirmed SessionDeduplicationCache already has proper thread safety
## Gap 2: Session Isolation
- 2a: Fixed session key collision by including session_id in agent keys
- 2b: Added session TTL support with is_expired(), close(), time_to_expiry() methods
- 2c: Routed chat history through SessionStore first, memory as fallback
## Gap 3: Error Propagation
- 3a: Wrapped tool exceptions in ToolExecutionError for better observability
- 3b: Added exponential backoff and is_retryable checks to workflow retry logic
- 3c: Implemented cross-step handoff cycle detection with visited-set tracking
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: MervinPraison <MervinPraison@users.noreply.github.com>1 parent 6693a75 commit f7d3b89
File tree
5 files changed
+153
-26
lines changed- src/praisonai-agents/praisonaiagents
- agent
- workflows
5 files changed
+153
-26
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1563 | 1563 | | |
1564 | 1564 | | |
1565 | 1565 | | |
| 1566 | + | |
| 1567 | + | |
1566 | 1568 | | |
1567 | 1569 | | |
1568 | 1570 | | |
| |||
1906 | 1908 | | |
1907 | 1909 | | |
1908 | 1910 | | |
1909 | | - | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
1910 | 1914 | | |
1911 | 1915 | | |
1912 | 1916 | | |
| |||
1915 | 1919 | | |
1916 | 1920 | | |
1917 | 1921 | | |
1918 | | - | |
1919 | | - | |
1920 | | - | |
1921 | | - | |
1922 | | - | |
1923 | | - | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
1924 | 1930 | | |
1925 | 1931 | | |
1926 | 1932 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
677 | 677 | | |
678 | 678 | | |
679 | 679 | | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
685 | 690 | | |
686 | 691 | | |
687 | | - | |
| 692 | + | |
688 | 693 | | |
689 | 694 | | |
690 | | - | |
| 695 | + | |
691 | 696 | | |
692 | 697 | | |
693 | 698 | | |
694 | 699 | | |
695 | | - | |
| 700 | + | |
696 | 701 | | |
697 | 702 | | |
698 | 703 | | |
699 | | - | |
| 704 | + | |
700 | 705 | | |
701 | 706 | | |
702 | 707 | | |
| |||
Lines changed: 9 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
293 | | - | |
294 | | - | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
295 | 302 | | |
296 | 303 | | |
297 | 304 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
| 55 | + | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
| |||
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| 67 | + | |
66 | 68 | | |
67 | 69 | | |
68 | 70 | | |
| |||
110 | 112 | | |
111 | 113 | | |
112 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
113 | 119 | | |
114 | 120 | | |
115 | 121 | | |
| |||
186 | 192 | | |
187 | 193 | | |
188 | 194 | | |
189 | | - | |
190 | | - | |
| 195 | + | |
| 196 | + | |
191 | 197 | | |
192 | 198 | | |
193 | 199 | | |
| |||
270 | 276 | | |
271 | 277 | | |
272 | 278 | | |
273 | | - | |
| 279 | + | |
274 | 280 | | |
275 | 281 | | |
276 | 282 | | |
| |||
281 | 287 | | |
282 | 288 | | |
283 | 289 | | |
284 | | - | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
285 | 302 | | |
286 | 303 | | |
287 | 304 | | |
| |||
350 | 367 | | |
351 | 368 | | |
352 | 369 | | |
353 | | - | |
| 370 | + | |
354 | 371 | | |
355 | 372 | | |
356 | | - | |
| 373 | + | |
357 | 374 | | |
358 | 375 | | |
359 | 376 | | |
| |||
580 | 597 | | |
581 | 598 | | |
582 | 599 | | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
583 | 644 | | |
584 | 645 | | |
585 | 646 | | |
| |||
Lines changed: 49 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
585 | 585 | | |
586 | 586 | | |
587 | 587 | | |
| 588 | + | |
| 589 | + | |
588 | 590 | | |
589 | 591 | | |
590 | 592 | | |
| |||
899 | 901 | | |
900 | 902 | | |
901 | 903 | | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
902 | 928 | | |
903 | 929 | | |
904 | 930 | | |
| |||
1096 | 1122 | | |
1097 | 1123 | | |
1098 | 1124 | | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
1099 | 1128 | | |
1100 | 1129 | | |
1101 | 1130 | | |
| |||
1273 | 1302 | | |
1274 | 1303 | | |
1275 | 1304 | | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
1276 | 1324 | | |
1277 | 1325 | | |
1278 | 1326 | | |
| |||
2306 | 2354 | | |
2307 | 2355 | | |
2308 | 2356 | | |
2309 | | - | |
| 2357 | + | |
2310 | 2358 | | |
2311 | 2359 | | |
2312 | 2360 | | |
| |||
0 commit comments