fastapi-loopguard 0.6.0__tar.gz → 0.7.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1803) hide show
  1. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/.github/workflows/ci.yml +3 -3
  2. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/.github/workflows/publish.yml +2 -2
  3. fastapi_loopguard-0.7.0/CHANGELOG.md +375 -0
  4. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/CLAUDE.md +56 -18
  5. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/FINDINGS.md +19 -9
  6. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/LICENSE +1 -1
  7. fastapi_loopguard-0.7.0/PKG-INFO +260 -0
  8. fastapi_loopguard-0.7.0/README.md +214 -0
  9. fastapi_loopguard-0.7.0/assets/demo.gif +0 -0
  10. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/assets/demo.tape +1 -1
  11. fastapi_loopguard-0.7.0/assets/error-page.gif +0 -0
  12. fastapi_loopguard-0.7.0/docs/AI-HARNESS.md +309 -0
  13. fastapi_loopguard-0.7.0/docs/CONFIGURATION.md +359 -0
  14. fastapi_loopguard-0.7.0/docs/loopguard-report.schema.json +102 -0
  15. fastapi_loopguard-0.7.0/evals/README.md +444 -0
  16. fastapi_loopguard-0.7.0/evals/adapters.py +313 -0
  17. fastapi_loopguard-0.7.0/evals/matrix.py +535 -0
  18. fastapi_loopguard-0.7.0/evals/requirements.txt +12 -0
  19. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-1.py +12 -0
  20. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-1.response.txt +14 -0
  21. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-1.verdict.json +26 -0
  22. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-2.py +10 -0
  23. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-2.response.txt +12 -0
  24. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-2.verdict.json +26 -0
  25. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-3.py +9 -0
  26. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-3.response.txt +11 -0
  27. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-3.verdict.json +26 -0
  28. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-4.py +11 -0
  29. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-4.response.txt +13 -0
  30. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-4.verdict.json +26 -0
  31. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-5.py +11 -0
  32. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-5.response.txt +13 -0
  33. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/hinted/sample-5.verdict.json +26 -0
  34. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-1.py +12 -0
  35. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-1.response.txt +14 -0
  36. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-1.verdict.json +26 -0
  37. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-2.py +14 -0
  38. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-2.response.txt +16 -0
  39. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-2.verdict.json +26 -0
  40. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-3.py +12 -0
  41. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-3.response.txt +14 -0
  42. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-3.verdict.json +26 -0
  43. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-4.py +11 -0
  44. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-4.response.txt +13 -0
  45. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-4.verdict.json +26 -0
  46. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-5.py +12 -0
  47. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-5.response.txt +14 -0
  48. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/01-user-lookup/neutral/sample-5.verdict.json +26 -0
  49. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-1.py +16 -0
  50. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-1.response.txt +18 -0
  51. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-1.verdict.json +27 -0
  52. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-2.py +19 -0
  53. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-2.response.txt +21 -0
  54. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-2.verdict.json +27 -0
  55. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-3.py +17 -0
  56. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-3.response.txt +19 -0
  57. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-3.verdict.json +27 -0
  58. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-4.py +32 -0
  59. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-4.response.txt +34 -0
  60. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-4.verdict.json +27 -0
  61. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-5.py +19 -0
  62. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-5.response.txt +21 -0
  63. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/hinted/sample-5.verdict.json +27 -0
  64. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-1.py +18 -0
  65. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-1.response.txt +20 -0
  66. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-1.verdict.json +26 -0
  67. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-2.py +26 -0
  68. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-2.response.txt +28 -0
  69. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-2.verdict.json +26 -0
  70. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-3.py +26 -0
  71. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-3.response.txt +28 -0
  72. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-3.verdict.json +26 -0
  73. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-4.py +16 -0
  74. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-4.response.txt +18 -0
  75. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-4.verdict.json +26 -0
  76. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-5.py +20 -0
  77. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-5.response.txt +22 -0
  78. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/02-price-fanout/neutral/sample-5.verdict.json +26 -0
  79. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-1.py +14 -0
  80. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-1.response.txt +16 -0
  81. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-1.verdict.json +27 -0
  82. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-2.py +18 -0
  83. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-2.response.txt +20 -0
  84. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-2.verdict.json +27 -0
  85. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-3.py +14 -0
  86. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-3.response.txt +16 -0
  87. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-3.verdict.json +27 -0
  88. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-4.py +14 -0
  89. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-4.response.txt +16 -0
  90. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-4.verdict.json +28 -0
  91. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-5.py +18 -0
  92. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-5.response.txt +20 -0
  93. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/hinted/sample-5.verdict.json +28 -0
  94. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-1.py +12 -0
  95. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-1.response.txt +14 -0
  96. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-1.verdict.json +27 -0
  97. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-2.py +13 -0
  98. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-2.response.txt +15 -0
  99. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-2.verdict.json +27 -0
  100. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-3.py +9 -0
  101. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-3.response.txt +11 -0
  102. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-3.verdict.json +28 -0
  103. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-4.py +12 -0
  104. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-4.response.txt +14 -0
  105. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-4.verdict.json +28 -0
  106. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-5.py +11 -0
  107. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-5.response.txt +13 -0
  108. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/03-report-export/neutral/sample-5.verdict.json +27 -0
  109. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-1.py +16 -0
  110. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-1.response.txt +18 -0
  111. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-1.verdict.json +27 -0
  112. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-2.py +13 -0
  113. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-2.response.txt +15 -0
  114. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-2.verdict.json +28 -0
  115. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-3.py +12 -0
  116. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-3.response.txt +14 -0
  117. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-3.verdict.json +28 -0
  118. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-4.py +14 -0
  119. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-4.response.txt +16 -0
  120. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-4.verdict.json +28 -0
  121. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-5.py +12 -0
  122. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-5.response.txt +14 -0
  123. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/hinted/sample-5.verdict.json +27 -0
  124. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-1.py +11 -0
  125. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-1.response.txt +13 -0
  126. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-1.verdict.json +28 -0
  127. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-2.py +12 -0
  128. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-2.response.txt +14 -0
  129. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-2.verdict.json +28 -0
  130. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-3.py +12 -0
  131. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-3.response.txt +14 -0
  132. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-3.verdict.json +28 -0
  133. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-4.py +10 -0
  134. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-4.response.txt +12 -0
  135. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-4.verdict.json +28 -0
  136. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-5.py +17 -0
  137. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-5.response.txt +19 -0
  138. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/04-image-thumbnail/neutral/sample-5.verdict.json +30 -0
  139. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-1.py +13 -0
  140. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-1.response.txt +15 -0
  141. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-1.verdict.json +26 -0
  142. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-2.py +13 -0
  143. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-2.response.txt +15 -0
  144. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-2.verdict.json +26 -0
  145. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-3.py +13 -0
  146. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-3.response.txt +15 -0
  147. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-3.verdict.json +26 -0
  148. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-4.py +11 -0
  149. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-4.response.txt +13 -0
  150. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-4.verdict.json +26 -0
  151. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-5.py +13 -0
  152. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-5.response.txt +15 -0
  153. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/hinted/sample-5.verdict.json +27 -0
  154. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-1.py +12 -0
  155. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-1.response.txt +14 -0
  156. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-1.verdict.json +26 -0
  157. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-2.py +13 -0
  158. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-2.response.txt +15 -0
  159. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-2.verdict.json +27 -0
  160. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-3.py +12 -0
  161. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-3.response.txt +14 -0
  162. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-3.verdict.json +27 -0
  163. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-4.py +11 -0
  164. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-4.response.txt +13 -0
  165. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-4.verdict.json +26 -0
  166. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-5.py +14 -0
  167. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-5.response.txt +16 -0
  168. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/05-audit-log/neutral/sample-5.verdict.json +26 -0
  169. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-1.py +23 -0
  170. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-1.response.txt +25 -0
  171. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-1.verdict.json +27 -0
  172. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-2.py +20 -0
  173. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-2.response.txt +22 -0
  174. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-2.verdict.json +27 -0
  175. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-3.py +17 -0
  176. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-3.response.txt +19 -0
  177. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-3.verdict.json +26 -0
  178. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-4.py +13 -0
  179. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-4.response.txt +15 -0
  180. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-4.verdict.json +27 -0
  181. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-5.py +12 -0
  182. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-5.response.txt +14 -0
  183. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/hinted/sample-5.verdict.json +27 -0
  184. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-1.py +13 -0
  185. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-1.response.txt +15 -0
  186. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-1.verdict.json +26 -0
  187. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-2.py +11 -0
  188. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-2.response.txt +13 -0
  189. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-2.verdict.json +29 -0
  190. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-3.py +18 -0
  191. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-3.response.txt +20 -0
  192. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-3.verdict.json +26 -0
  193. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-4.py +14 -0
  194. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-4.response.txt +16 -0
  195. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-4.verdict.json +29 -0
  196. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-5.py +13 -0
  197. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-5.response.txt +15 -0
  198. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/06-document-save/neutral/sample-5.verdict.json +29 -0
  199. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-1.py +28 -0
  200. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-1.response.txt +30 -0
  201. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-1.verdict.json +26 -0
  202. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-2.py +21 -0
  203. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-2.response.txt +23 -0
  204. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-2.verdict.json +27 -0
  205. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-3.py +24 -0
  206. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-3.response.txt +26 -0
  207. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-3.verdict.json +26 -0
  208. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-4.py +1 -0
  209. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-4.verdict.json +23 -0
  210. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-5.py +29 -0
  211. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-5.response.txt +31 -0
  212. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-5.verdict.json +26 -0
  213. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-1.py +27 -0
  214. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-1.response.txt +29 -0
  215. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-1.verdict.json +27 -0
  216. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-2.py +22 -0
  217. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-2.response.txt +24 -0
  218. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-2.verdict.json +29 -0
  219. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-3.py +20 -0
  220. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-3.response.txt +22 -0
  221. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-3.verdict.json +29 -0
  222. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-4.py +22 -0
  223. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-4.response.txt +24 -0
  224. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-4.verdict.json +26 -0
  225. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-5.py +23 -0
  226. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-5.response.txt +25 -0
  227. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/neutral/sample-5.verdict.json +29 -0
  228. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-1.py +10 -0
  229. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-1.response.txt +12 -0
  230. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-1.verdict.json +27 -0
  231. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-2.py +11 -0
  232. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-2.response.txt +13 -0
  233. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-2.verdict.json +26 -0
  234. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-3.py +14 -0
  235. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-3.response.txt +16 -0
  236. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-3.verdict.json +26 -0
  237. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-4.py +10 -0
  238. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-4.response.txt +12 -0
  239. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-4.verdict.json +26 -0
  240. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-5.py +12 -0
  241. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-5.response.txt +14 -0
  242. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/hinted/sample-5.verdict.json +26 -0
  243. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-1.py +10 -0
  244. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-1.response.txt +12 -0
  245. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-1.verdict.json +27 -0
  246. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-2.py +11 -0
  247. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-2.response.txt +13 -0
  248. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-2.verdict.json +26 -0
  249. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-3.py +10 -0
  250. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-3.response.txt +12 -0
  251. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-3.verdict.json +26 -0
  252. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-4.py +16 -0
  253. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-4.response.txt +18 -0
  254. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-4.verdict.json +26 -0
  255. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-5.py +10 -0
  256. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-5.response.txt +12 -0
  257. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/08-order-pipeline/neutral/sample-5.verdict.json +26 -0
  258. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-1.py +10 -0
  259. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-1.response.txt +12 -0
  260. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-1.verdict.json +26 -0
  261. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-2.py +9 -0
  262. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-2.response.txt +11 -0
  263. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-2.verdict.json +26 -0
  264. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-3.py +10 -0
  265. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-3.response.txt +12 -0
  266. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-3.verdict.json +26 -0
  267. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-4.py +8 -0
  268. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-4.response.txt +10 -0
  269. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-4.verdict.json +26 -0
  270. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-5.py +9 -0
  271. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-5.response.txt +11 -0
  272. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/hinted/sample-5.verdict.json +26 -0
  273. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-1.py +11 -0
  274. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-1.response.txt +13 -0
  275. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-1.verdict.json +26 -0
  276. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-2.py +11 -0
  277. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-2.response.txt +13 -0
  278. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-2.verdict.json +26 -0
  279. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-3.py +10 -0
  280. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-3.response.txt +12 -0
  281. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-3.verdict.json +26 -0
  282. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-4.py +20 -0
  283. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-4.response.txt +22 -0
  284. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-4.verdict.json +26 -0
  285. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-5.py +11 -0
  286. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-5.response.txt +13 -0
  287. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/01-user-lookup/neutral/sample-5.verdict.json +26 -0
  288. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-1.py +17 -0
  289. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-1.response.txt +19 -0
  290. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-1.verdict.json +27 -0
  291. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-2.py +28 -0
  292. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-2.response.txt +30 -0
  293. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-2.verdict.json +27 -0
  294. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-3.py +21 -0
  295. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-3.response.txt +23 -0
  296. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-3.verdict.json +27 -0
  297. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-4.py +24 -0
  298. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-4.response.txt +26 -0
  299. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-4.verdict.json +27 -0
  300. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-5.py +26 -0
  301. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-5.response.txt +28 -0
  302. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/hinted/sample-5.verdict.json +27 -0
  303. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-1.py +23 -0
  304. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-1.response.txt +25 -0
  305. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-1.verdict.json +26 -0
  306. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-2.py +16 -0
  307. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-2.response.txt +18 -0
  308. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-2.verdict.json +26 -0
  309. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-3.py +15 -0
  310. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-3.response.txt +17 -0
  311. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-3.verdict.json +26 -0
  312. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-4.py +15 -0
  313. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-4.response.txt +17 -0
  314. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-4.verdict.json +26 -0
  315. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-5.py +19 -0
  316. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-5.response.txt +21 -0
  317. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/02-price-fanout/neutral/sample-5.verdict.json +26 -0
  318. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-1.py +13 -0
  319. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-1.response.txt +15 -0
  320. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-1.verdict.json +28 -0
  321. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-2.py +13 -0
  322. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-2.response.txt +15 -0
  323. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-2.verdict.json +27 -0
  324. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-3.py +13 -0
  325. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-3.response.txt +15 -0
  326. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-3.verdict.json +27 -0
  327. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-4.py +13 -0
  328. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-4.response.txt +15 -0
  329. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-4.verdict.json +27 -0
  330. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-5.py +15 -0
  331. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-5.response.txt +17 -0
  332. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/hinted/sample-5.verdict.json +27 -0
  333. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-1.py +13 -0
  334. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-1.response.txt +15 -0
  335. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-1.verdict.json +27 -0
  336. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-2.py +12 -0
  337. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-2.response.txt +14 -0
  338. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-2.verdict.json +30 -0
  339. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-3.py +179 -0
  340. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-3.response.txt +179 -0
  341. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-3.verdict.json +28 -0
  342. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-4.py +10 -0
  343. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-4.response.txt +12 -0
  344. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-4.verdict.json +28 -0
  345. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-5.py +10 -0
  346. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-5.response.txt +12 -0
  347. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/03-report-export/neutral/sample-5.verdict.json +27 -0
  348. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-1.py +12 -0
  349. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-1.response.txt +14 -0
  350. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-1.verdict.json +27 -0
  351. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-2.py +13 -0
  352. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-2.response.txt +15 -0
  353. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-2.verdict.json +27 -0
  354. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-3.py +16 -0
  355. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-3.response.txt +18 -0
  356. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-3.verdict.json +27 -0
  357. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-4.py +12 -0
  358. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-4.response.txt +14 -0
  359. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-4.verdict.json +27 -0
  360. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-5.py +12 -0
  361. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-5.response.txt +14 -0
  362. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/hinted/sample-5.verdict.json +27 -0
  363. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-1.py +12 -0
  364. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-1.response.txt +14 -0
  365. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-1.verdict.json +30 -0
  366. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-2.py +11 -0
  367. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-2.response.txt +13 -0
  368. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-2.verdict.json +30 -0
  369. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-3.py +12 -0
  370. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-3.response.txt +14 -0
  371. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-3.verdict.json +30 -0
  372. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-4.py +146 -0
  373. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-4.response.txt +146 -0
  374. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-4.verdict.json +28 -0
  375. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-5.py +12 -0
  376. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-5.response.txt +14 -0
  377. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/04-image-thumbnail/neutral/sample-5.verdict.json +30 -0
  378. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-1.py +14 -0
  379. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-1.response.txt +16 -0
  380. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-1.verdict.json +26 -0
  381. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-2.py +13 -0
  382. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-2.response.txt +15 -0
  383. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-2.verdict.json +26 -0
  384. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-3.py +12 -0
  385. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-3.response.txt +14 -0
  386. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-3.verdict.json +26 -0
  387. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-4.py +12 -0
  388. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-4.response.txt +14 -0
  389. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-4.verdict.json +27 -0
  390. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-5.py +13 -0
  391. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-5.response.txt +15 -0
  392. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/hinted/sample-5.verdict.json +26 -0
  393. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-1.py +12 -0
  394. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-1.response.txt +14 -0
  395. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-1.verdict.json +26 -0
  396. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-2.py +15 -0
  397. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-2.response.txt +17 -0
  398. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-2.verdict.json +26 -0
  399. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-3.py +14 -0
  400. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-3.response.txt +16 -0
  401. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-3.verdict.json +26 -0
  402. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-4.py +10 -0
  403. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-4.response.txt +12 -0
  404. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-4.verdict.json +27 -0
  405. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-5.py +15 -0
  406. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-5.response.txt +17 -0
  407. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/05-audit-log/neutral/sample-5.verdict.json +26 -0
  408. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-1.py +11 -0
  409. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-1.response.txt +13 -0
  410. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-1.verdict.json +26 -0
  411. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-2.py +20 -0
  412. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-2.response.txt +22 -0
  413. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-2.verdict.json +27 -0
  414. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-3.py +20 -0
  415. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-3.response.txt +22 -0
  416. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-3.verdict.json +26 -0
  417. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-4.py +14 -0
  418. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-4.response.txt +16 -0
  419. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-4.verdict.json +26 -0
  420. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-5.py +15 -0
  421. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-5.response.txt +17 -0
  422. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/hinted/sample-5.verdict.json +26 -0
  423. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-1.py +14 -0
  424. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-1.response.txt +16 -0
  425. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-1.verdict.json +26 -0
  426. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-2.py +11 -0
  427. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-2.response.txt +13 -0
  428. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-2.verdict.json +27 -0
  429. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-3.py +10 -0
  430. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-3.response.txt +12 -0
  431. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-3.verdict.json +26 -0
  432. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-4.py +16 -0
  433. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-4.response.txt +18 -0
  434. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-4.verdict.json +26 -0
  435. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-5.py +15 -0
  436. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-5.response.txt +17 -0
  437. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/06-document-save/neutral/sample-5.verdict.json +26 -0
  438. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-1.py +22 -0
  439. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-1.response.txt +24 -0
  440. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-1.verdict.json +27 -0
  441. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-2.py +19 -0
  442. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-2.response.txt +21 -0
  443. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-2.verdict.json +27 -0
  444. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-3.py +23 -0
  445. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-3.response.txt +25 -0
  446. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-3.verdict.json +27 -0
  447. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-4.py +22 -0
  448. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-4.response.txt +24 -0
  449. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-4.verdict.json +27 -0
  450. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-5.py +23 -0
  451. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-5.response.txt +25 -0
  452. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/hinted/sample-5.verdict.json +26 -0
  453. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-1.py +21 -0
  454. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-1.response.txt +23 -0
  455. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-1.verdict.json +26 -0
  456. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-2.py +21 -0
  457. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-2.response.txt +23 -0
  458. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-2.verdict.json +27 -0
  459. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-3.py +21 -0
  460. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-3.response.txt +23 -0
  461. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-3.verdict.json +27 -0
  462. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-4.py +26 -0
  463. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-4.response.txt +28 -0
  464. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-4.verdict.json +26 -0
  465. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-5.py +21 -0
  466. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-5.response.txt +23 -0
  467. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/07-legacy-billing/neutral/sample-5.verdict.json +27 -0
  468. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-1.py +15 -0
  469. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-1.response.txt +17 -0
  470. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-1.verdict.json +26 -0
  471. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-2.py +12 -0
  472. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-2.response.txt +14 -0
  473. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-2.verdict.json +26 -0
  474. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-3.py +11 -0
  475. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-3.response.txt +13 -0
  476. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-3.verdict.json +26 -0
  477. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-4.py +17 -0
  478. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-4.response.txt +19 -0
  479. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-4.verdict.json +26 -0
  480. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-5.py +14 -0
  481. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-5.response.txt +16 -0
  482. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/hinted/sample-5.verdict.json +26 -0
  483. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-1.py +10 -0
  484. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-1.response.txt +12 -0
  485. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-1.verdict.json +26 -0
  486. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-2.py +11 -0
  487. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-2.response.txt +13 -0
  488. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-2.verdict.json +27 -0
  489. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-3.py +10 -0
  490. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-3.response.txt +12 -0
  491. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-3.verdict.json +26 -0
  492. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-4.py +9 -0
  493. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-4.response.txt +11 -0
  494. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-4.verdict.json +26 -0
  495. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-5.py +9 -0
  496. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-5.response.txt +11 -0
  497. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-super-120b-a12b_free/08-order-pipeline/neutral/sample-5.verdict.json +26 -0
  498. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-1.py +11 -0
  499. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-1.response.txt +13 -0
  500. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-1.verdict.json +26 -0
  501. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-2.py +11 -0
  502. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-2.response.txt +13 -0
  503. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-2.verdict.json +26 -0
  504. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-3.py +11 -0
  505. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-3.response.txt +13 -0
  506. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-3.verdict.json +26 -0
  507. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-4.py +11 -0
  508. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-4.response.txt +13 -0
  509. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-4.verdict.json +26 -0
  510. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-5.py +11 -0
  511. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-5.response.txt +13 -0
  512. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/hinted/sample-5.verdict.json +26 -0
  513. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-1.py +11 -0
  514. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-1.response.txt +13 -0
  515. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-1.verdict.json +26 -0
  516. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-2.py +11 -0
  517. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-2.response.txt +13 -0
  518. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-2.verdict.json +26 -0
  519. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-3.py +10 -0
  520. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-3.response.txt +12 -0
  521. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-3.verdict.json +26 -0
  522. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-4.py +11 -0
  523. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-4.response.txt +13 -0
  524. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-4.verdict.json +26 -0
  525. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-5.py +11 -0
  526. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-5.response.txt +13 -0
  527. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/01-user-lookup/neutral/sample-5.verdict.json +26 -0
  528. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-1.py +13 -0
  529. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-1.response.txt +15 -0
  530. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-1.verdict.json +27 -0
  531. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-2.py +12 -0
  532. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-2.response.txt +14 -0
  533. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-2.verdict.json +27 -0
  534. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-3.py +14 -0
  535. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-3.response.txt +16 -0
  536. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-3.verdict.json +27 -0
  537. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-4.py +13 -0
  538. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-4.response.txt +15 -0
  539. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-4.verdict.json +27 -0
  540. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-5.py +12 -0
  541. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-5.response.txt +14 -0
  542. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/hinted/sample-5.verdict.json +27 -0
  543. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-1.py +13 -0
  544. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-1.response.txt +15 -0
  545. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-1.verdict.json +26 -0
  546. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-2.py +15 -0
  547. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-2.response.txt +17 -0
  548. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-2.verdict.json +26 -0
  549. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-3.py +14 -0
  550. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-3.response.txt +16 -0
  551. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-3.verdict.json +26 -0
  552. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-4.py +14 -0
  553. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-4.response.txt +16 -0
  554. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-4.verdict.json +26 -0
  555. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-5.py +12 -0
  556. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-5.response.txt +14 -0
  557. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/02-price-fanout/neutral/sample-5.verdict.json +26 -0
  558. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-1.py +11 -0
  559. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-1.response.txt +13 -0
  560. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-1.verdict.json +27 -0
  561. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-2.py +20 -0
  562. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-2.response.txt +22 -0
  563. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-2.verdict.json +27 -0
  564. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-3.py +14 -0
  565. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-3.response.txt +16 -0
  566. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-3.verdict.json +27 -0
  567. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-4.py +14 -0
  568. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-4.response.txt +16 -0
  569. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-4.verdict.json +27 -0
  570. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-5.py +18 -0
  571. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-5.response.txt +20 -0
  572. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/hinted/sample-5.verdict.json +27 -0
  573. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-1.py +15 -0
  574. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-1.response.txt +17 -0
  575. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-1.verdict.json +27 -0
  576. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-2.py +17 -0
  577. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-2.response.txt +19 -0
  578. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-2.verdict.json +27 -0
  579. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-3.py +12 -0
  580. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-3.response.txt +14 -0
  581. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-3.verdict.json +27 -0
  582. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-4.py +16 -0
  583. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-4.response.txt +18 -0
  584. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-4.verdict.json +27 -0
  585. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-5.py +16 -0
  586. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-5.response.txt +18 -0
  587. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/03-report-export/neutral/sample-5.verdict.json +27 -0
  588. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-1.py +18 -0
  589. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-1.response.txt +20 -0
  590. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-1.verdict.json +27 -0
  591. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-2.py +12 -0
  592. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-2.response.txt +14 -0
  593. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-2.verdict.json +27 -0
  594. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-3.py +14 -0
  595. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-3.response.txt +16 -0
  596. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-3.verdict.json +27 -0
  597. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-4.py +13 -0
  598. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-4.response.txt +15 -0
  599. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-4.verdict.json +27 -0
  600. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-5.py +13 -0
  601. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-5.response.txt +15 -0
  602. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/hinted/sample-5.verdict.json +27 -0
  603. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-1.py +12 -0
  604. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-1.response.txt +14 -0
  605. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-1.verdict.json +30 -0
  606. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-2.py +12 -0
  607. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-2.response.txt +14 -0
  608. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-2.verdict.json +27 -0
  609. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-3.py +11 -0
  610. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-3.response.txt +13 -0
  611. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-3.verdict.json +27 -0
  612. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-4.py +12 -0
  613. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-4.response.txt +14 -0
  614. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-4.verdict.json +30 -0
  615. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-5.py +11 -0
  616. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-5.response.txt +13 -0
  617. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/04-image-thumbnail/neutral/sample-5.verdict.json +27 -0
  618. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-1.py +16 -0
  619. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-1.response.txt +17 -0
  620. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-1.verdict.json +26 -0
  621. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-2.py +16 -0
  622. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-2.response.txt +18 -0
  623. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-2.verdict.json +26 -0
  624. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-3.py +1 -0
  625. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-3.response.txt +0 -0
  626. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-3.verdict.json +23 -0
  627. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-4.py +1 -0
  628. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-4.response.txt +0 -0
  629. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-4.verdict.json +23 -0
  630. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-5.py +11 -0
  631. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-5.response.txt +13 -0
  632. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/hinted/sample-5.verdict.json +26 -0
  633. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-1.py +17 -0
  634. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-1.response.txt +19 -0
  635. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-1.verdict.json +26 -0
  636. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-2.py +16 -0
  637. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-2.response.txt +18 -0
  638. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-2.verdict.json +26 -0
  639. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-3.py +16 -0
  640. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-3.response.txt +18 -0
  641. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-3.verdict.json +26 -0
  642. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-4.py +1 -0
  643. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-4.response.txt +0 -0
  644. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-4.verdict.json +23 -0
  645. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-5.py +16 -0
  646. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-5.response.txt +18 -0
  647. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/05-audit-log/neutral/sample-5.verdict.json +26 -0
  648. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-1.py +18 -0
  649. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-1.response.txt +20 -0
  650. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-1.verdict.json +26 -0
  651. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-2.py +18 -0
  652. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-2.response.txt +20 -0
  653. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-2.verdict.json +26 -0
  654. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-3.py +17 -0
  655. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-3.response.txt +19 -0
  656. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-3.verdict.json +26 -0
  657. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-4.py +17 -0
  658. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-4.response.txt +19 -0
  659. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-4.verdict.json +26 -0
  660. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-5.py +18 -0
  661. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-5.response.txt +20 -0
  662. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/hinted/sample-5.verdict.json +26 -0
  663. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-1.py +19 -0
  664. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-1.response.txt +21 -0
  665. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-1.verdict.json +26 -0
  666. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-2.py +17 -0
  667. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-2.response.txt +19 -0
  668. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-2.verdict.json +26 -0
  669. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-3.py +17 -0
  670. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-3.response.txt +19 -0
  671. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-3.verdict.json +26 -0
  672. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-4.py +17 -0
  673. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-4.response.txt +19 -0
  674. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-4.verdict.json +26 -0
  675. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-5.py +17 -0
  676. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-5.response.txt +19 -0
  677. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/06-document-save/neutral/sample-5.verdict.json +29 -0
  678. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-1.py +1 -0
  679. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-1.response.txt +0 -0
  680. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-1.verdict.json +23 -0
  681. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-2.py +22 -0
  682. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-2.response.txt +24 -0
  683. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-2.verdict.json +27 -0
  684. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-3.py +27 -0
  685. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-3.response.txt +29 -0
  686. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-3.verdict.json +26 -0
  687. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-4.py +27 -0
  688. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-4.response.txt +29 -0
  689. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-4.verdict.json +27 -0
  690. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-5.py +22 -0
  691. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-5.response.txt +24 -0
  692. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/hinted/sample-5.verdict.json +26 -0
  693. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-1.py +26 -0
  694. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-1.response.txt +28 -0
  695. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-1.verdict.json +26 -0
  696. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-2.py +28 -0
  697. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-2.response.txt +30 -0
  698. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-2.verdict.json +26 -0
  699. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-3.py +20 -0
  700. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-3.response.txt +22 -0
  701. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-3.verdict.json +26 -0
  702. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-4.py +26 -0
  703. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-4.response.txt +28 -0
  704. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-4.verdict.json +26 -0
  705. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-5.py +27 -0
  706. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-5.response.txt +30 -0
  707. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/07-legacy-billing/neutral/sample-5.verdict.json +26 -0
  708. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-1.py +11 -0
  709. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-1.response.txt +13 -0
  710. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-1.verdict.json +26 -0
  711. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-2.py +1 -0
  712. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-2.response.txt +0 -0
  713. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-2.verdict.json +23 -0
  714. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-3.py +1 -0
  715. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-3.response.txt +0 -0
  716. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-3.verdict.json +23 -0
  717. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-4.py +12 -0
  718. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-4.response.txt +14 -0
  719. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-4.verdict.json +26 -0
  720. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-5.py +12 -0
  721. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-5.response.txt +14 -0
  722. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/hinted/sample-5.verdict.json +26 -0
  723. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-1.py +11 -0
  724. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-1.response.txt +13 -0
  725. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-1.verdict.json +26 -0
  726. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-2.py +16 -0
  727. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-2.response.txt +18 -0
  728. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-2.verdict.json +27 -0
  729. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-3.py +11 -0
  730. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-3.response.txt +13 -0
  731. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-3.verdict.json +26 -0
  732. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-4.py +1 -0
  733. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-4.response.txt +0 -0
  734. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-4.verdict.json +23 -0
  735. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-5.py +16 -0
  736. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-5.response.txt +18 -0
  737. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3-ultra-550b-a55b_free/08-order-pipeline/neutral/sample-5.verdict.json +27 -0
  738. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-1.py +8 -0
  739. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-1.response.txt +10 -0
  740. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-1.verdict.json +26 -0
  741. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-2.py +10 -0
  742. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-2.response.txt +12 -0
  743. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-2.verdict.json +26 -0
  744. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-3.py +9 -0
  745. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-3.response.txt +11 -0
  746. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-3.verdict.json +29 -0
  747. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-4.py +10 -0
  748. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-4.response.txt +12 -0
  749. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-4.verdict.json +26 -0
  750. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-5.py +10 -0
  751. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-5.response.txt +12 -0
  752. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/hinted/sample-5.verdict.json +26 -0
  753. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-1.py +11 -0
  754. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-1.response.txt +13 -0
  755. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-1.verdict.json +26 -0
  756. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-2.py +10 -0
  757. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-2.response.txt +12 -0
  758. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-2.verdict.json +26 -0
  759. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-3.py +10 -0
  760. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-3.response.txt +12 -0
  761. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-3.verdict.json +26 -0
  762. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-4.py +11 -0
  763. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-4.response.txt +13 -0
  764. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-4.verdict.json +26 -0
  765. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-5.py +1 -0
  766. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-5.response.txt +1 -0
  767. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/01-user-lookup/neutral/sample-5.verdict.json +27 -0
  768. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-1.py +12 -0
  769. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-1.response.txt +14 -0
  770. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-1.verdict.json +27 -0
  771. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-2.py +14 -0
  772. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-2.response.txt +16 -0
  773. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-2.verdict.json +27 -0
  774. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-3.py +12 -0
  775. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-3.response.txt +14 -0
  776. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-3.verdict.json +27 -0
  777. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-4.py +13 -0
  778. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-4.response.txt +15 -0
  779. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-4.verdict.json +27 -0
  780. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-5.py +18 -0
  781. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-5.response.txt +20 -0
  782. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/hinted/sample-5.verdict.json +27 -0
  783. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-1.py +21 -0
  784. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-1.response.txt +23 -0
  785. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-1.verdict.json +26 -0
  786. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-2.py +12 -0
  787. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-2.response.txt +14 -0
  788. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-2.verdict.json +26 -0
  789. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-3.py +12 -0
  790. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-3.response.txt +14 -0
  791. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-3.verdict.json +26 -0
  792. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-4.py +13 -0
  793. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-4.response.txt +15 -0
  794. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-4.verdict.json +26 -0
  795. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-5.py +12 -0
  796. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-5.response.txt +14 -0
  797. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/02-price-fanout/neutral/sample-5.verdict.json +26 -0
  798. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-1.py +19 -0
  799. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-1.response.txt +102 -0
  800. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-1.verdict.json +28 -0
  801. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-2.py +11 -0
  802. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-2.response.txt +13 -0
  803. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-2.verdict.json +28 -0
  804. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-3.py +11 -0
  805. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-3.response.txt +13 -0
  806. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-3.verdict.json +28 -0
  807. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-4.py +15 -0
  808. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-4.response.txt +126 -0
  809. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-4.verdict.json +28 -0
  810. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-5.py +11 -0
  811. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-5.response.txt +13 -0
  812. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/hinted/sample-5.verdict.json +28 -0
  813. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-1.py +15 -0
  814. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-1.response.txt +17 -0
  815. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-1.verdict.json +27 -0
  816. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-2.py +10 -0
  817. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-2.response.txt +12 -0
  818. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-2.verdict.json +28 -0
  819. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-3.py +10 -0
  820. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-3.response.txt +12 -0
  821. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-3.verdict.json +28 -0
  822. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-4.py +10 -0
  823. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-4.response.txt +12 -0
  824. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-4.verdict.json +27 -0
  825. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-5.py +10 -0
  826. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-5.response.txt +12 -0
  827. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/03-report-export/neutral/sample-5.verdict.json +28 -0
  828. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-1.py +12 -0
  829. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-1.response.txt +14 -0
  830. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-1.verdict.json +27 -0
  831. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-2.py +11 -0
  832. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-2.response.txt +13 -0
  833. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-2.verdict.json +27 -0
  834. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-3.py +11 -0
  835. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-3.response.txt +13 -0
  836. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-3.verdict.json +27 -0
  837. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-4.py +11 -0
  838. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-4.response.txt +13 -0
  839. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-4.verdict.json +27 -0
  840. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-5.py +10 -0
  841. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-5.response.txt +12 -0
  842. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/hinted/sample-5.verdict.json +27 -0
  843. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-1.py +10 -0
  844. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-1.response.txt +12 -0
  845. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-1.verdict.json +30 -0
  846. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-2.py +10 -0
  847. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-2.response.txt +12 -0
  848. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-2.verdict.json +27 -0
  849. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-3.py +10 -0
  850. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-3.response.txt +12 -0
  851. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-3.verdict.json +27 -0
  852. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-4.py +11 -0
  853. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-4.response.txt +13 -0
  854. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-4.verdict.json +28 -0
  855. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-5.py +10 -0
  856. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-5.response.txt +12 -0
  857. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/04-image-thumbnail/neutral/sample-5.verdict.json +27 -0
  858. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-1.py +10 -0
  859. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-1.response.txt +12 -0
  860. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-1.verdict.json +27 -0
  861. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-2.py +16 -0
  862. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-2.response.txt +18 -0
  863. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-2.verdict.json +26 -0
  864. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-3.response.txt +48 -0
  865. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-3.verdict.json +27 -0
  866. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-4.py +10 -0
  867. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-4.response.txt +12 -0
  868. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-4.verdict.json +27 -0
  869. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-5.py +10 -0
  870. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-5.response.txt +12 -0
  871. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-5.verdict.json +27 -0
  872. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-1.py +11 -0
  873. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-1.response.txt +13 -0
  874. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-1.verdict.json +27 -0
  875. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-2.py +10 -0
  876. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-2.response.txt +12 -0
  877. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-2.verdict.json +27 -0
  878. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-3.py +10 -0
  879. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-3.response.txt +12 -0
  880. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-3.verdict.json +27 -0
  881. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-4.py +17 -0
  882. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-4.response.txt +19 -0
  883. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-4.verdict.json +27 -0
  884. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-5.py +10 -0
  885. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-5.response.txt +12 -0
  886. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/neutral/sample-5.verdict.json +27 -0
  887. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-1.py +13 -0
  888. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-1.response.txt +15 -0
  889. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-1.verdict.json +26 -0
  890. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-2.py +7 -0
  891. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-2.response.txt +7 -0
  892. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-2.verdict.json +27 -0
  893. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-3.py +13 -0
  894. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-3.response.txt +15 -0
  895. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-3.verdict.json +26 -0
  896. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-4.py +13 -0
  897. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-4.response.txt +15 -0
  898. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-4.verdict.json +26 -0
  899. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-5.py +1 -0
  900. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-5.response.txt +0 -0
  901. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/hinted/sample-5.verdict.json +23 -0
  902. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-1.py +16 -0
  903. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-1.response.txt +18 -0
  904. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-1.verdict.json +26 -0
  905. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-2.py +16 -0
  906. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-2.response.txt +18 -0
  907. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-2.verdict.json +26 -0
  908. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-3.py +16 -0
  909. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-3.response.txt +18 -0
  910. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-3.verdict.json +26 -0
  911. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-4.py +16 -0
  912. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-4.response.txt +18 -0
  913. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-4.verdict.json +26 -0
  914. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-5.py +12 -0
  915. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-5.response.txt +14 -0
  916. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/06-document-save/neutral/sample-5.verdict.json +26 -0
  917. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-1.py +17 -0
  918. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-1.response.txt +19 -0
  919. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-1.verdict.json +27 -0
  920. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-2.py +19 -0
  921. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-2.response.txt +21 -0
  922. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-2.verdict.json +27 -0
  923. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-3.py +17 -0
  924. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-3.response.txt +19 -0
  925. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-3.verdict.json +27 -0
  926. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-4.py +18 -0
  927. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-4.response.txt +20 -0
  928. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-4.verdict.json +27 -0
  929. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-5.py +18 -0
  930. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-5.response.txt +20 -0
  931. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/hinted/sample-5.verdict.json +27 -0
  932. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-1.py +16 -0
  933. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-1.response.txt +18 -0
  934. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-1.verdict.json +27 -0
  935. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-2.py +17 -0
  936. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-2.response.txt +19 -0
  937. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-2.verdict.json +27 -0
  938. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-3.py +17 -0
  939. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-3.response.txt +19 -0
  940. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-3.verdict.json +27 -0
  941. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-4.py +16 -0
  942. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-4.response.txt +18 -0
  943. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-4.verdict.json +27 -0
  944. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-5.py +18 -0
  945. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-5.response.txt +20 -0
  946. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/07-legacy-billing/neutral/sample-5.verdict.json +27 -0
  947. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-1.py +11 -0
  948. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-1.response.txt +13 -0
  949. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-1.verdict.json +26 -0
  950. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-2.py +13 -0
  951. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-2.response.txt +15 -0
  952. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-2.verdict.json +26 -0
  953. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-3.py +10 -0
  954. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-3.response.txt +12 -0
  955. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-3.verdict.json +26 -0
  956. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-4.py +11 -0
  957. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-4.response.txt +13 -0
  958. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-4.verdict.json +26 -0
  959. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-5.py +10 -0
  960. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-5.response.txt +12 -0
  961. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/hinted/sample-5.verdict.json +26 -0
  962. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-1.py +9 -0
  963. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-1.response.txt +11 -0
  964. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-1.verdict.json +26 -0
  965. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-2.py +9 -0
  966. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-2.response.txt +11 -0
  967. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-2.verdict.json +26 -0
  968. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-3.py +10 -0
  969. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-3.response.txt +12 -0
  970. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-3.verdict.json +26 -0
  971. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-4.py +9 -0
  972. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-4.response.txt +11 -0
  973. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-4.verdict.json +26 -0
  974. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-5.py +10 -0
  975. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-5.response.txt +12 -0
  976. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/08-order-pipeline/neutral/sample-5.verdict.json +26 -0
  977. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-1.py +13 -0
  978. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-1.response.txt +15 -0
  979. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-1.verdict.json +26 -0
  980. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-2.py +12 -0
  981. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-2.response.txt +14 -0
  982. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-2.verdict.json +26 -0
  983. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-3.py +12 -0
  984. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-3.response.txt +14 -0
  985. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-3.verdict.json +26 -0
  986. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-4.py +13 -0
  987. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-4.response.txt +15 -0
  988. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-4.verdict.json +26 -0
  989. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-5.py +14 -0
  990. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-5.response.txt +16 -0
  991. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/hinted/sample-5.verdict.json +26 -0
  992. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-1.py +13 -0
  993. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-1.response.txt +15 -0
  994. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-1.verdict.json +26 -0
  995. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-2.py +13 -0
  996. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-2.response.txt +15 -0
  997. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-2.verdict.json +26 -0
  998. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-3.py +13 -0
  999. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-3.response.txt +15 -0
  1000. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-3.verdict.json +26 -0
  1001. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-4.py +13 -0
  1002. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-4.response.txt +15 -0
  1003. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-4.verdict.json +26 -0
  1004. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-5.py +16 -0
  1005. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-5.response.txt +18 -0
  1006. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/01-user-lookup/neutral/sample-5.verdict.json +26 -0
  1007. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-1.py +17 -0
  1008. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-1.response.txt +19 -0
  1009. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-1.verdict.json +27 -0
  1010. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-2.py +15 -0
  1011. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-2.response.txt +17 -0
  1012. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-2.verdict.json +27 -0
  1013. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-3.py +16 -0
  1014. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-3.response.txt +18 -0
  1015. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-3.verdict.json +27 -0
  1016. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-4.py +16 -0
  1017. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-4.response.txt +18 -0
  1018. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-4.verdict.json +27 -0
  1019. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-5.py +15 -0
  1020. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-5.response.txt +17 -0
  1021. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/hinted/sample-5.verdict.json +27 -0
  1022. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-1.py +21 -0
  1023. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-1.response.txt +23 -0
  1024. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-1.verdict.json +29 -0
  1025. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-2.py +14 -0
  1026. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-2.response.txt +16 -0
  1027. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-2.verdict.json +27 -0
  1028. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-3.py +15 -0
  1029. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-3.response.txt +17 -0
  1030. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-3.verdict.json +26 -0
  1031. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-4.py +16 -0
  1032. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-4.response.txt +18 -0
  1033. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-4.verdict.json +26 -0
  1034. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-5.py +15 -0
  1035. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-5.response.txt +17 -0
  1036. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/02-price-fanout/neutral/sample-5.verdict.json +27 -0
  1037. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-1.py +16 -0
  1038. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-1.response.txt +18 -0
  1039. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-1.verdict.json +27 -0
  1040. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-2.py +18 -0
  1041. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-2.response.txt +20 -0
  1042. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-2.verdict.json +27 -0
  1043. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-3.py +18 -0
  1044. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-3.response.txt +20 -0
  1045. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-3.verdict.json +27 -0
  1046. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-4.py +17 -0
  1047. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-4.response.txt +19 -0
  1048. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-4.verdict.json +27 -0
  1049. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-5.py +21 -0
  1050. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-5.response.txt +23 -0
  1051. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/hinted/sample-5.verdict.json +27 -0
  1052. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-1.py +14 -0
  1053. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-1.response.txt +16 -0
  1054. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-1.verdict.json +30 -0
  1055. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-2.py +19 -0
  1056. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-2.response.txt +21 -0
  1057. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-2.verdict.json +30 -0
  1058. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-3.py +14 -0
  1059. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-3.response.txt +16 -0
  1060. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-3.verdict.json +30 -0
  1061. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-4.py +14 -0
  1062. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-4.response.txt +16 -0
  1063. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-4.verdict.json +30 -0
  1064. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-5.py +14 -0
  1065. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-5.response.txt +16 -0
  1066. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/03-report-export/neutral/sample-5.verdict.json +30 -0
  1067. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-1.py +15 -0
  1068. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-1.response.txt +17 -0
  1069. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-1.verdict.json +27 -0
  1070. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-2.py +18 -0
  1071. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-2.response.txt +20 -0
  1072. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-2.verdict.json +27 -0
  1073. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-3.py +15 -0
  1074. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-3.response.txt +17 -0
  1075. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-3.verdict.json +27 -0
  1076. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-4.py +17 -0
  1077. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-4.response.txt +19 -0
  1078. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-4.verdict.json +27 -0
  1079. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-5.py +14 -0
  1080. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-5.response.txt +16 -0
  1081. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/hinted/sample-5.verdict.json +27 -0
  1082. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-1.py +13 -0
  1083. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-1.response.txt +15 -0
  1084. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-1.verdict.json +30 -0
  1085. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-2.py +13 -0
  1086. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-2.response.txt +15 -0
  1087. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-2.verdict.json +30 -0
  1088. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-3.py +13 -0
  1089. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-3.response.txt +15 -0
  1090. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-3.verdict.json +30 -0
  1091. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-4.py +13 -0
  1092. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-4.response.txt +15 -0
  1093. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-4.verdict.json +30 -0
  1094. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-5.py +13 -0
  1095. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-5.response.txt +15 -0
  1096. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/04-image-thumbnail/neutral/sample-5.verdict.json +30 -0
  1097. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-1.py +15 -0
  1098. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-1.response.txt +17 -0
  1099. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-1.verdict.json +26 -0
  1100. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-2.py +17 -0
  1101. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-2.response.txt +19 -0
  1102. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-2.verdict.json +26 -0
  1103. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-3.py +16 -0
  1104. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-3.response.txt +18 -0
  1105. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-3.verdict.json +26 -0
  1106. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-4.py +16 -0
  1107. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-4.response.txt +18 -0
  1108. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-4.verdict.json +26 -0
  1109. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-5.py +20 -0
  1110. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-5.response.txt +22 -0
  1111. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/hinted/sample-5.verdict.json +26 -0
  1112. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-1.py +20 -0
  1113. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-1.response.txt +22 -0
  1114. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-1.verdict.json +26 -0
  1115. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-2.py +17 -0
  1116. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-2.response.txt +19 -0
  1117. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-2.verdict.json +26 -0
  1118. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-3.py +16 -0
  1119. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-3.response.txt +18 -0
  1120. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-3.verdict.json +26 -0
  1121. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-4.py +17 -0
  1122. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-4.response.txt +19 -0
  1123. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-4.verdict.json +26 -0
  1124. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-5.py +19 -0
  1125. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-5.response.txt +21 -0
  1126. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/05-audit-log/neutral/sample-5.verdict.json +26 -0
  1127. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-1.py +22 -0
  1128. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-1.response.txt +24 -0
  1129. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-1.verdict.json +26 -0
  1130. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-2.py +22 -0
  1131. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-2.response.txt +24 -0
  1132. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-2.verdict.json +26 -0
  1133. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-3.py +23 -0
  1134. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-3.response.txt +25 -0
  1135. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-3.verdict.json +26 -0
  1136. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-4.py +21 -0
  1137. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-4.response.txt +23 -0
  1138. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-4.verdict.json +26 -0
  1139. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-5.py +24 -0
  1140. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-5.response.txt +26 -0
  1141. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/hinted/sample-5.verdict.json +26 -0
  1142. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-1.py +20 -0
  1143. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-1.response.txt +22 -0
  1144. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-1.verdict.json +29 -0
  1145. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-2.py +16 -0
  1146. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-2.response.txt +18 -0
  1147. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-2.verdict.json +29 -0
  1148. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-3.py +16 -0
  1149. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-3.response.txt +18 -0
  1150. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-3.verdict.json +29 -0
  1151. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-4.py +16 -0
  1152. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-4.response.txt +18 -0
  1153. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-4.verdict.json +29 -0
  1154. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-5.py +15 -0
  1155. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-5.response.txt +17 -0
  1156. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/06-document-save/neutral/sample-5.verdict.json +29 -0
  1157. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-1.py +33 -0
  1158. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-1.response.txt +35 -0
  1159. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-1.verdict.json +26 -0
  1160. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-2.py +36 -0
  1161. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-2.response.txt +38 -0
  1162. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-2.verdict.json +26 -0
  1163. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-3.py +30 -0
  1164. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-3.response.txt +32 -0
  1165. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-3.verdict.json +26 -0
  1166. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-4.py +35 -0
  1167. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-4.response.txt +37 -0
  1168. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-4.verdict.json +26 -0
  1169. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-5.py +37 -0
  1170. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-5.response.txt +39 -0
  1171. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/hinted/sample-5.verdict.json +26 -0
  1172. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-1.py +23 -0
  1173. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-1.response.txt +25 -0
  1174. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-1.verdict.json +29 -0
  1175. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-2.py +30 -0
  1176. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-2.response.txt +32 -0
  1177. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-2.verdict.json +26 -0
  1178. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-3.py +27 -0
  1179. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-3.response.txt +29 -0
  1180. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-3.verdict.json +26 -0
  1181. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-4.py +29 -0
  1182. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-4.response.txt +31 -0
  1183. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-4.verdict.json +26 -0
  1184. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-5.py +27 -0
  1185. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-5.response.txt +29 -0
  1186. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/07-legacy-billing/neutral/sample-5.verdict.json +26 -0
  1187. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-1.py +14 -0
  1188. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-1.response.txt +16 -0
  1189. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-1.verdict.json +26 -0
  1190. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-2.py +16 -0
  1191. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-2.response.txt +18 -0
  1192. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-2.verdict.json +26 -0
  1193. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-3.py +14 -0
  1194. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-3.response.txt +16 -0
  1195. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-3.verdict.json +26 -0
  1196. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-4.py +17 -0
  1197. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-4.response.txt +19 -0
  1198. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-4.verdict.json +26 -0
  1199. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-5.py +17 -0
  1200. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-5.response.txt +19 -0
  1201. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/hinted/sample-5.verdict.json +26 -0
  1202. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-1.py +13 -0
  1203. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-1.response.txt +15 -0
  1204. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-1.verdict.json +29 -0
  1205. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-2.py +13 -0
  1206. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-2.response.txt +15 -0
  1207. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-2.verdict.json +29 -0
  1208. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-3.py +13 -0
  1209. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-3.response.txt +15 -0
  1210. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-3.verdict.json +29 -0
  1211. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-4.py +13 -0
  1212. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-4.response.txt +15 -0
  1213. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-4.verdict.json +29 -0
  1214. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-5.py +13 -0
  1215. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-5.response.txt +15 -0
  1216. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_openai_gpt-4.1/08-order-pipeline/neutral/sample-5.verdict.json +29 -0
  1217. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-1.py +11 -0
  1218. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-1.response.txt +13 -0
  1219. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-1.verdict.json +26 -0
  1220. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-2.py +11 -0
  1221. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-2.response.txt +13 -0
  1222. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-2.verdict.json +26 -0
  1223. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-3.py +11 -0
  1224. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-3.response.txt +13 -0
  1225. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-3.verdict.json +26 -0
  1226. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-4.py +11 -0
  1227. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-4.response.txt +13 -0
  1228. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-4.verdict.json +26 -0
  1229. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-5.py +11 -0
  1230. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-5.response.txt +13 -0
  1231. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/hinted/sample-5.verdict.json +26 -0
  1232. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-1.py +11 -0
  1233. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-1.response.txt +13 -0
  1234. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-1.verdict.json +26 -0
  1235. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-2.py +27 -0
  1236. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-2.response.txt +29 -0
  1237. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-2.verdict.json +26 -0
  1238. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-3.py +11 -0
  1239. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-3.response.txt +13 -0
  1240. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-3.verdict.json +26 -0
  1241. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-4.py +11 -0
  1242. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-4.response.txt +13 -0
  1243. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-4.verdict.json +26 -0
  1244. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-5.py +11 -0
  1245. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-5.response.txt +13 -0
  1246. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/01-user-lookup/neutral/sample-5.verdict.json +26 -0
  1247. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-1.py +15 -0
  1248. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-1.response.txt +34 -0
  1249. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-1.verdict.json +30 -0
  1250. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-2.py +14 -0
  1251. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-2.response.txt +16 -0
  1252. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-2.verdict.json +30 -0
  1253. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-3.py +18 -0
  1254. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-3.response.txt +20 -0
  1255. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-3.verdict.json +27 -0
  1256. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-4.py +12 -0
  1257. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-4.response.txt +28 -0
  1258. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-4.verdict.json +28 -0
  1259. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-5.py +19 -0
  1260. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-5.response.txt +75 -0
  1261. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/hinted/sample-5.verdict.json +27 -0
  1262. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-1.py +14 -0
  1263. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-1.response.txt +16 -0
  1264. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-1.verdict.json +26 -0
  1265. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-2.py +15 -0
  1266. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-2.response.txt +17 -0
  1267. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-2.verdict.json +26 -0
  1268. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-3.py +15 -0
  1269. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-3.response.txt +17 -0
  1270. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-3.verdict.json +29 -0
  1271. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-4.py +20 -0
  1272. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-4.response.txt +22 -0
  1273. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-4.verdict.json +27 -0
  1274. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-5.py +15 -0
  1275. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-5.response.txt +17 -0
  1276. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/02-price-fanout/neutral/sample-5.verdict.json +26 -0
  1277. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-1.py +16 -0
  1278. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-1.response.txt +18 -0
  1279. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-1.verdict.json +27 -0
  1280. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-2.py +15 -0
  1281. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-2.response.txt +17 -0
  1282. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-2.verdict.json +27 -0
  1283. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-3.py +14 -0
  1284. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-3.response.txt +16 -0
  1285. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-3.verdict.json +27 -0
  1286. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-4.py +13 -0
  1287. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-4.response.txt +15 -0
  1288. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-4.verdict.json +27 -0
  1289. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-5.py +17 -0
  1290. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-5.response.txt +35 -0
  1291. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/hinted/sample-5.verdict.json +28 -0
  1292. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-1.py +12 -0
  1293. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-1.response.txt +14 -0
  1294. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-1.verdict.json +30 -0
  1295. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-2.py +13 -0
  1296. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-2.response.txt +15 -0
  1297. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-2.verdict.json +30 -0
  1298. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-3.py +17 -0
  1299. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-3.response.txt +19 -0
  1300. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-3.verdict.json +27 -0
  1301. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-4.py +14 -0
  1302. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-4.response.txt +16 -0
  1303. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-4.verdict.json +30 -0
  1304. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-5.py +21 -0
  1305. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-5.response.txt +23 -0
  1306. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/03-report-export/neutral/sample-5.verdict.json +30 -0
  1307. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-1.py +14 -0
  1308. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-1.response.txt +16 -0
  1309. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-1.verdict.json +27 -0
  1310. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-2.py +15 -0
  1311. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-2.response.txt +17 -0
  1312. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-2.verdict.json +27 -0
  1313. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-3.py +14 -0
  1314. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-3.response.txt +20 -0
  1315. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-3.verdict.json +27 -0
  1316. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-4.py +13 -0
  1317. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-4.response.txt +15 -0
  1318. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-4.verdict.json +28 -0
  1319. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-5.py +12 -0
  1320. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-5.response.txt +32 -0
  1321. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/hinted/sample-5.verdict.json +28 -0
  1322. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-1.py +12 -0
  1323. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-1.response.txt +14 -0
  1324. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-1.verdict.json +30 -0
  1325. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-2.py +16 -0
  1326. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-2.response.txt +18 -0
  1327. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-2.verdict.json +30 -0
  1328. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-3.py +13 -0
  1329. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-3.response.txt +15 -0
  1330. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-3.verdict.json +30 -0
  1331. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-4.py +13 -0
  1332. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-4.response.txt +15 -0
  1333. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-4.verdict.json +30 -0
  1334. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-5.py +12 -0
  1335. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-5.response.txt +14 -0
  1336. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/04-image-thumbnail/neutral/sample-5.verdict.json +30 -0
  1337. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-1.py +14 -0
  1338. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-1.response.txt +16 -0
  1339. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-1.verdict.json +26 -0
  1340. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-2.py +12 -0
  1341. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-2.response.txt +14 -0
  1342. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-2.verdict.json +27 -0
  1343. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-3.py +16 -0
  1344. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-3.response.txt +18 -0
  1345. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-3.verdict.json +27 -0
  1346. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-4.py +12 -0
  1347. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-4.response.txt +14 -0
  1348. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-4.verdict.json +27 -0
  1349. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-5.py +13 -0
  1350. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-5.response.txt +15 -0
  1351. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/hinted/sample-5.verdict.json +27 -0
  1352. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-1.py +12 -0
  1353. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-1.response.txt +14 -0
  1354. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-1.verdict.json +26 -0
  1355. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-2.py +12 -0
  1356. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-2.response.txt +14 -0
  1357. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-2.verdict.json +27 -0
  1358. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-3.py +12 -0
  1359. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-3.response.txt +14 -0
  1360. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-3.verdict.json +27 -0
  1361. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-4.py +12 -0
  1362. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-4.response.txt +14 -0
  1363. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-4.verdict.json +27 -0
  1364. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-5.py +12 -0
  1365. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-5.response.txt +14 -0
  1366. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/05-audit-log/neutral/sample-5.verdict.json +27 -0
  1367. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-1.py +21 -0
  1368. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-1.response.txt +27 -0
  1369. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-1.verdict.json +26 -0
  1370. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-2.py +15 -0
  1371. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-2.response.txt +17 -0
  1372. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-2.verdict.json +26 -0
  1373. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-3.py +14 -0
  1374. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-3.response.txt +16 -0
  1375. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-3.verdict.json +27 -0
  1376. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-4.py +14 -0
  1377. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-4.response.txt +16 -0
  1378. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-4.verdict.json +27 -0
  1379. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-5.py +18 -0
  1380. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-5.response.txt +72 -0
  1381. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/hinted/sample-5.verdict.json +26 -0
  1382. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-1.py +18 -0
  1383. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-1.response.txt +20 -0
  1384. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-1.verdict.json +29 -0
  1385. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-2.py +17 -0
  1386. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-2.response.txt +19 -0
  1387. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-2.verdict.json +27 -0
  1388. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-3.py +17 -0
  1389. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-3.response.txt +19 -0
  1390. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-3.verdict.json +27 -0
  1391. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-4.py +17 -0
  1392. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-4.response.txt +19 -0
  1393. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-4.verdict.json +29 -0
  1394. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-5.py +14 -0
  1395. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-5.response.txt +16 -0
  1396. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/06-document-save/neutral/sample-5.verdict.json +29 -0
  1397. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-1.py +28 -0
  1398. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-1.response.txt +30 -0
  1399. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-1.verdict.json +27 -0
  1400. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-2.py +31 -0
  1401. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-2.response.txt +33 -0
  1402. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-2.verdict.json +27 -0
  1403. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-3.py +34 -0
  1404. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-3.response.txt +36 -0
  1405. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-3.verdict.json +26 -0
  1406. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-4.py +26 -0
  1407. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-4.response.txt +28 -0
  1408. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-4.verdict.json +26 -0
  1409. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-5.py +27 -0
  1410. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-5.response.txt +29 -0
  1411. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/hinted/sample-5.verdict.json +26 -0
  1412. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-1.py +19 -0
  1413. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-1.response.txt +21 -0
  1414. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-1.verdict.json +27 -0
  1415. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-2.py +29 -0
  1416. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-2.response.txt +31 -0
  1417. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-2.verdict.json +26 -0
  1418. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-3.py +26 -0
  1419. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-3.response.txt +28 -0
  1420. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-3.verdict.json +29 -0
  1421. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-4.py +19 -0
  1422. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-4.response.txt +21 -0
  1423. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-4.verdict.json +27 -0
  1424. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-5.py +21 -0
  1425. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-5.response.txt +23 -0
  1426. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/07-legacy-billing/neutral/sample-5.verdict.json +29 -0
  1427. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-1.py +12 -0
  1428. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-1.response.txt +14 -0
  1429. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-1.verdict.json +27 -0
  1430. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-2.py +14 -0
  1431. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-2.response.txt +16 -0
  1432. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-2.verdict.json +26 -0
  1433. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-3.py +30 -0
  1434. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-3.response.txt +32 -0
  1435. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-3.verdict.json +26 -0
  1436. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-4.py +24 -0
  1437. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-4.response.txt +26 -0
  1438. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-4.verdict.json +26 -0
  1439. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-5.py +13 -0
  1440. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-5.response.txt +15 -0
  1441. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/hinted/sample-5.verdict.json +27 -0
  1442. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-1.py +14 -0
  1443. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-1.response.txt +16 -0
  1444. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-1.verdict.json +29 -0
  1445. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-2.py +13 -0
  1446. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-2.response.txt +15 -0
  1447. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-2.verdict.json +29 -0
  1448. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-3.py +16 -0
  1449. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-3.response.txt +18 -0
  1450. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-3.verdict.json +27 -0
  1451. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-4.py +12 -0
  1452. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-4.response.txt +14 -0
  1453. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-4.verdict.json +29 -0
  1454. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-5.py +12 -0
  1455. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-5.response.txt +14 -0
  1456. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-s-2.1_free/08-order-pipeline/neutral/sample-5.verdict.json +29 -0
  1457. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-1.py +11 -0
  1458. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-1.response.txt +13 -0
  1459. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-1.verdict.json +26 -0
  1460. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-2.py +11 -0
  1461. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-2.response.txt +13 -0
  1462. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-2.verdict.json +26 -0
  1463. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-3.py +11 -0
  1464. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-3.response.txt +13 -0
  1465. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-3.verdict.json +26 -0
  1466. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-4.py +11 -0
  1467. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-4.response.txt +13 -0
  1468. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-4.verdict.json +26 -0
  1469. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-5.py +11 -0
  1470. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-5.response.txt +13 -0
  1471. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/hinted/sample-5.verdict.json +26 -0
  1472. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-1.py +10 -0
  1473. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-1.response.txt +12 -0
  1474. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-1.verdict.json +26 -0
  1475. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-2.py +11 -0
  1476. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-2.response.txt +13 -0
  1477. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-2.verdict.json +26 -0
  1478. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-3.py +11 -0
  1479. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-3.response.txt +13 -0
  1480. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-3.verdict.json +26 -0
  1481. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-4.py +11 -0
  1482. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-4.response.txt +13 -0
  1483. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-4.verdict.json +26 -0
  1484. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-5.py +10 -0
  1485. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-5.response.txt +12 -0
  1486. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/01-user-lookup/neutral/sample-5.verdict.json +26 -0
  1487. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-1.py +14 -0
  1488. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-1.response.txt +16 -0
  1489. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-1.verdict.json +27 -0
  1490. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-2.py +13 -0
  1491. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-2.response.txt +15 -0
  1492. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-2.verdict.json +30 -0
  1493. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-3.py +12 -0
  1494. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-3.response.txt +14 -0
  1495. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-3.verdict.json +27 -0
  1496. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-4.py +14 -0
  1497. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-4.response.txt +16 -0
  1498. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-4.verdict.json +27 -0
  1499. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-5.py +15 -0
  1500. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-5.response.txt +17 -0
  1501. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/hinted/sample-5.verdict.json +27 -0
  1502. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-1.py +15 -0
  1503. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-1.response.txt +17 -0
  1504. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-1.verdict.json +26 -0
  1505. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-2.py +11 -0
  1506. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-2.response.txt +13 -0
  1507. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-2.verdict.json +26 -0
  1508. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-3.py +15 -0
  1509. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-3.response.txt +17 -0
  1510. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-3.verdict.json +26 -0
  1511. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-4.py +14 -0
  1512. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-4.response.txt +16 -0
  1513. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-4.verdict.json +26 -0
  1514. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-5.py +14 -0
  1515. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-5.response.txt +16 -0
  1516. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/02-price-fanout/neutral/sample-5.verdict.json +26 -0
  1517. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-1.py +12 -0
  1518. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-1.response.txt +14 -0
  1519. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-1.verdict.json +28 -0
  1520. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-2.py +14 -0
  1521. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-2.response.txt +16 -0
  1522. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-2.verdict.json +27 -0
  1523. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-3.py +12 -0
  1524. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-3.response.txt +14 -0
  1525. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-3.verdict.json +28 -0
  1526. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-4.py +13 -0
  1527. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-4.response.txt +15 -0
  1528. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-4.verdict.json +27 -0
  1529. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-5.py +13 -0
  1530. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-5.response.txt +15 -0
  1531. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/hinted/sample-5.verdict.json +27 -0
  1532. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-1.py +12 -0
  1533. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-1.response.txt +14 -0
  1534. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-1.verdict.json +27 -0
  1535. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-2.py +12 -0
  1536. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-2.response.txt +14 -0
  1537. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-2.verdict.json +27 -0
  1538. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-3.py +12 -0
  1539. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-3.response.txt +14 -0
  1540. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-3.verdict.json +27 -0
  1541. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-4.py +12 -0
  1542. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-4.response.txt +14 -0
  1543. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-4.verdict.json +27 -0
  1544. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-5.py +12 -0
  1545. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-5.response.txt +12 -0
  1546. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/03-report-export/neutral/sample-5.verdict.json +27 -0
  1547. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-1.py +11 -0
  1548. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-1.response.txt +13 -0
  1549. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-1.verdict.json +28 -0
  1550. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-2.py +10 -0
  1551. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-2.response.txt +12 -0
  1552. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-2.verdict.json +28 -0
  1553. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-3.py +11 -0
  1554. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-3.response.txt +11 -0
  1555. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-3.verdict.json +27 -0
  1556. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-4.py +12 -0
  1557. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-4.response.txt +14 -0
  1558. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-4.verdict.json +28 -0
  1559. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-5.py +12 -0
  1560. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-5.response.txt +14 -0
  1561. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/hinted/sample-5.verdict.json +27 -0
  1562. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-1.py +11 -0
  1563. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-1.response.txt +13 -0
  1564. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-1.verdict.json +28 -0
  1565. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-2.py +12 -0
  1566. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-2.response.txt +14 -0
  1567. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-2.verdict.json +30 -0
  1568. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-3.py +11 -0
  1569. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-3.response.txt +13 -0
  1570. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-3.verdict.json +30 -0
  1571. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-4.py +12 -0
  1572. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-4.response.txt +14 -0
  1573. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-4.verdict.json +30 -0
  1574. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-5.py +11 -0
  1575. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-5.response.txt +13 -0
  1576. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/04-image-thumbnail/neutral/sample-5.verdict.json +28 -0
  1577. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-1.py +13 -0
  1578. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-1.response.txt +15 -0
  1579. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-1.verdict.json +26 -0
  1580. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-2.py +16 -0
  1581. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-2.response.txt +18 -0
  1582. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-2.verdict.json +27 -0
  1583. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-3.py +11 -0
  1584. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-3.response.txt +13 -0
  1585. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-3.verdict.json +27 -0
  1586. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-4.py +11 -0
  1587. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-4.response.txt +13 -0
  1588. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-4.verdict.json +27 -0
  1589. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-5.py +11 -0
  1590. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-5.response.txt +13 -0
  1591. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/hinted/sample-5.verdict.json +27 -0
  1592. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-1.py +11 -0
  1593. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-1.response.txt +13 -0
  1594. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-1.verdict.json +27 -0
  1595. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-2.py +11 -0
  1596. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-2.response.txt +13 -0
  1597. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-2.verdict.json +27 -0
  1598. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-3.py +12 -0
  1599. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-3.response.txt +14 -0
  1600. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-3.verdict.json +26 -0
  1601. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-4.py +11 -0
  1602. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-4.response.txt +13 -0
  1603. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-4.verdict.json +27 -0
  1604. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-5.py +11 -0
  1605. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-5.response.txt +13 -0
  1606. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/05-audit-log/neutral/sample-5.verdict.json +27 -0
  1607. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-1.py +15 -0
  1608. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-1.response.txt +17 -0
  1609. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-1.verdict.json +27 -0
  1610. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-2.py +15 -0
  1611. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-2.response.txt +17 -0
  1612. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-2.verdict.json +27 -0
  1613. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-3.py +13 -0
  1614. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-3.response.txt +15 -0
  1615. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-3.verdict.json +27 -0
  1616. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-4.py +13 -0
  1617. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-4.response.txt +15 -0
  1618. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-4.verdict.json +26 -0
  1619. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-5.py +12 -0
  1620. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-5.response.txt +14 -0
  1621. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/hinted/sample-5.verdict.json +26 -0
  1622. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-1.py +17 -0
  1623. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-1.response.txt +19 -0
  1624. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-1.verdict.json +27 -0
  1625. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-2.py +11 -0
  1626. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-2.response.txt +13 -0
  1627. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-2.verdict.json +27 -0
  1628. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-3.py +13 -0
  1629. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-3.response.txt +15 -0
  1630. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-3.verdict.json +27 -0
  1631. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-4.py +11 -0
  1632. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-4.response.txt +13 -0
  1633. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-4.verdict.json +26 -0
  1634. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-5.py +11 -0
  1635. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-5.response.txt +13 -0
  1636. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/06-document-save/neutral/sample-5.verdict.json +27 -0
  1637. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-1.py +27 -0
  1638. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-1.response.txt +29 -0
  1639. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-1.verdict.json +27 -0
  1640. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-2.py +27 -0
  1641. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-2.response.txt +29 -0
  1642. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-2.verdict.json +27 -0
  1643. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-3.py +26 -0
  1644. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-3.response.txt +28 -0
  1645. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-3.verdict.json +26 -0
  1646. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-4.py +26 -0
  1647. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-4.response.txt +28 -0
  1648. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-4.verdict.json +26 -0
  1649. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-5.py +23 -0
  1650. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-5.response.txt +25 -0
  1651. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/hinted/sample-5.verdict.json +27 -0
  1652. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-1.py +22 -0
  1653. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-1.response.txt +24 -0
  1654. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-1.verdict.json +26 -0
  1655. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-2.py +21 -0
  1656. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-2.response.txt +23 -0
  1657. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-2.verdict.json +27 -0
  1658. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-3.py +22 -0
  1659. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-3.response.txt +23 -0
  1660. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-3.verdict.json +27 -0
  1661. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-4.py +17 -0
  1662. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-4.response.txt +19 -0
  1663. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-4.verdict.json +27 -0
  1664. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-5.py +23 -0
  1665. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-5.response.txt +25 -0
  1666. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/07-legacy-billing/neutral/sample-5.verdict.json +26 -0
  1667. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-1.py +13 -0
  1668. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-1.response.txt +15 -0
  1669. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-1.verdict.json +27 -0
  1670. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-2.py +12 -0
  1671. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-2.response.txt +14 -0
  1672. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-2.verdict.json +27 -0
  1673. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-3.py +14 -0
  1674. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-3.response.txt +16 -0
  1675. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-3.verdict.json +26 -0
  1676. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-4.py +12 -0
  1677. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-4.response.txt +14 -0
  1678. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-4.verdict.json +26 -0
  1679. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-5.py +13 -0
  1680. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-5.response.txt +15 -0
  1681. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/hinted/sample-5.verdict.json +26 -0
  1682. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-1.py +10 -0
  1683. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-1.response.txt +12 -0
  1684. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-1.verdict.json +26 -0
  1685. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-2.py +11 -0
  1686. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-2.response.txt +13 -0
  1687. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-2.verdict.json +29 -0
  1688. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-3.py +11 -0
  1689. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-3.response.txt +13 -0
  1690. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-3.verdict.json +29 -0
  1691. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-4.py +10 -0
  1692. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-4.response.txt +12 -0
  1693. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-4.verdict.json +26 -0
  1694. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-5.py +10 -0
  1695. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-5.response.txt +12 -0
  1696. fastapi_loopguard-0.7.0/evals/results/raw/openrouter_poolside_laguna-xs-2.1_free/08-order-pipeline/neutral/sample-5.verdict.json +26 -0
  1697. fastapi_loopguard-0.7.0/evals/results/results.json +16683 -0
  1698. fastapi_loopguard-0.7.0/evals/results/results.md +46 -0
  1699. fastapi_loopguard-0.7.0/evals/runner.py +339 -0
  1700. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/01-user-lookup/checks.py +4 -0
  1701. fastapi_loopguard-0.7.0/evals/tasks/01-user-lookup/neutral/task.md +10 -0
  1702. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/02-price-fanout/checks.py +5 -0
  1703. {fastapi_loopguard-0.6.0/evals/tasks/02-price-fanout → fastapi_loopguard-0.7.0/evals/tasks/02-price-fanout/hinted}/task.md +2 -3
  1704. fastapi_loopguard-0.7.0/evals/tasks/02-price-fanout/neutral/task.md +11 -0
  1705. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/03-report-export/checks.py +4 -0
  1706. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/03-report-export/helpers.py +1 -1
  1707. {fastapi_loopguard-0.6.0/evals/tasks/03-report-export → fastapi_loopguard-0.7.0/evals/tasks/03-report-export/hinted}/task.md +1 -4
  1708. fastapi_loopguard-0.7.0/evals/tasks/03-report-export/neutral/task.md +10 -0
  1709. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/04-image-thumbnail/app_skeleton.py +1 -1
  1710. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/04-image-thumbnail/checks.py +4 -0
  1711. {fastapi_loopguard-0.6.0/evals/tasks/04-image-thumbnail → fastapi_loopguard-0.7.0/evals/tasks/04-image-thumbnail/hinted}/task.md +1 -3
  1712. fastapi_loopguard-0.7.0/evals/tasks/04-image-thumbnail/neutral/task.md +10 -0
  1713. fastapi_loopguard-0.7.0/evals/tasks/05-audit-log/app_skeleton.py +8 -0
  1714. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/05-audit-log/checks.py +1 -0
  1715. fastapi_loopguard-0.7.0/evals/tasks/05-audit-log/neutral/task.md +10 -0
  1716. fastapi_loopguard-0.7.0/evals/tasks/06-document-save/app_skeleton.py +8 -0
  1717. fastapi_loopguard-0.7.0/evals/tasks/06-document-save/checks.py +21 -0
  1718. fastapi_loopguard-0.7.0/evals/tasks/06-document-save/helpers.py +13 -0
  1719. fastapi_loopguard-0.7.0/evals/tasks/06-document-save/hinted/task.md +11 -0
  1720. fastapi_loopguard-0.7.0/evals/tasks/06-document-save/neutral/task.md +10 -0
  1721. fastapi_loopguard-0.7.0/evals/tasks/06-document-save/reference/blocking.py +11 -0
  1722. fastapi_loopguard-0.7.0/evals/tasks/06-document-save/reference/clean.py +15 -0
  1723. fastapi_loopguard-0.7.0/evals/tasks/07-legacy-billing/app_skeleton.py +15 -0
  1724. fastapi_loopguard-0.7.0/evals/tasks/07-legacy-billing/checks.py +19 -0
  1725. fastapi_loopguard-0.7.0/evals/tasks/07-legacy-billing/helpers.py +20 -0
  1726. fastapi_loopguard-0.7.0/evals/tasks/07-legacy-billing/hinted/task.md +11 -0
  1727. fastapi_loopguard-0.7.0/evals/tasks/07-legacy-billing/neutral/task.md +10 -0
  1728. fastapi_loopguard-0.7.0/evals/tasks/07-legacy-billing/reference/blocking.py +22 -0
  1729. fastapi_loopguard-0.7.0/evals/tasks/07-legacy-billing/reference/clean.py +23 -0
  1730. fastapi_loopguard-0.7.0/evals/tasks/08-order-pipeline/app_skeleton.py +8 -0
  1731. fastapi_loopguard-0.7.0/evals/tasks/08-order-pipeline/checks.py +19 -0
  1732. fastapi_loopguard-0.7.0/evals/tasks/08-order-pipeline/helpers.py +18 -0
  1733. fastapi_loopguard-0.7.0/evals/tasks/08-order-pipeline/hinted/task.md +12 -0
  1734. fastapi_loopguard-0.7.0/evals/tasks/08-order-pipeline/neutral/task.md +11 -0
  1735. fastapi_loopguard-0.7.0/evals/tasks/08-order-pipeline/reference/blocking.py +10 -0
  1736. fastapi_loopguard-0.7.0/evals/tasks/08-order-pipeline/reference/clean.py +12 -0
  1737. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/pyproject.toml +145 -129
  1738. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/src/fastapi_loopguard/__init__.py +14 -3
  1739. fastapi_loopguard-0.7.0/src/fastapi_loopguard/cli.py +236 -0
  1740. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/src/fastapi_loopguard/config.py +15 -4
  1741. fastapi_loopguard-0.7.0/src/fastapi_loopguard/hints.py +50 -0
  1742. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/src/fastapi_loopguard/metrics.py +77 -32
  1743. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/src/fastapi_loopguard/middleware.py +215 -90
  1744. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/src/fastapi_loopguard/monitor.py +114 -5
  1745. fastapi_loopguard-0.7.0/src/fastapi_loopguard/py.typed +0 -0
  1746. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/src/fastapi_loopguard/pytest_plugin.py +59 -16
  1747. fastapi_loopguard-0.7.0/tests/test_cli.py +542 -0
  1748. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_config.py +14 -1
  1749. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_enforcement_mode.py +580 -13
  1750. fastapi_loopguard-0.7.0/tests/test_evals_runner.py +166 -0
  1751. fastapi_loopguard-0.7.0/tests/test_hints.py +95 -0
  1752. fastapi_loopguard-0.7.0/tests/test_metrics.py +486 -0
  1753. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_middleware.py +1338 -1252
  1754. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_monitor.py +198 -0
  1755. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_packaging.py +27 -0
  1756. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_pytest_plugin.py +280 -2
  1757. fastapi_loopguard-0.6.0/CHANGELOG.md +0 -104
  1758. fastapi_loopguard-0.6.0/PKG-INFO +0 -154
  1759. fastapi_loopguard-0.6.0/README.md +0 -108
  1760. fastapi_loopguard-0.6.0/assets/demo.gif +0 -0
  1761. fastapi_loopguard-0.6.0/assets/error-page.gif +0 -0
  1762. fastapi_loopguard-0.6.0/docs/AI-HARNESS.md +0 -111
  1763. fastapi_loopguard-0.6.0/docs/CONFIGURATION.md +0 -140
  1764. fastapi_loopguard-0.6.0/evals/README.md +0 -64
  1765. fastapi_loopguard-0.6.0/evals/runner.py +0 -104
  1766. fastapi_loopguard-0.6.0/tests/test_evals_runner.py +0 -57
  1767. fastapi_loopguard-0.6.0/tests/test_metrics.py +0 -246
  1768. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/.github/dependabot.yml +0 -0
  1769. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/.gitignore +0 -0
  1770. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/assets/error-page-screenshot-console.png +0 -0
  1771. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/assets/error-page-screenshot-endpoint.png +0 -0
  1772. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/assets/loopguard-logo.webp +0 -0
  1773. /fastapi_loopguard-0.6.0/src/fastapi_loopguard/py.typed → /fastapi_loopguard-0.7.0/evals/results/raw/openrouter_cohere_north-mini-code_free/07-legacy-billing/hinted/sample-4.response.txt +0 -0
  1774. /fastapi_loopguard-0.6.0/evals/tasks/05-audit-log/app_skeleton.py → /fastapi_loopguard-0.7.0/evals/results/raw/openrouter_nvidia_nemotron-3.5-lightning_free/05-audit-log/hinted/sample-3.py +0 -0
  1775. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/01-user-lookup/app_skeleton.py +0 -0
  1776. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/01-user-lookup/helpers.py +0 -0
  1777. {fastapi_loopguard-0.6.0/evals/tasks/01-user-lookup → fastapi_loopguard-0.7.0/evals/tasks/01-user-lookup/hinted}/task.md +0 -0
  1778. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/01-user-lookup/reference/blocking.py +0 -0
  1779. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/01-user-lookup/reference/clean.py +0 -0
  1780. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/02-price-fanout/app_skeleton.py +0 -0
  1781. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/02-price-fanout/helpers.py +0 -0
  1782. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/02-price-fanout/reference/blocking.py +0 -0
  1783. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/02-price-fanout/reference/clean.py +0 -0
  1784. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/03-report-export/app_skeleton.py +0 -0
  1785. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/03-report-export/reference/blocking.py +0 -0
  1786. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/03-report-export/reference/clean.py +0 -0
  1787. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/04-image-thumbnail/helpers.py +0 -0
  1788. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/04-image-thumbnail/reference/blocking.py +0 -0
  1789. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/04-image-thumbnail/reference/clean.py +0 -0
  1790. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/05-audit-log/helpers.py +0 -0
  1791. {fastapi_loopguard-0.6.0/evals/tasks/05-audit-log → fastapi_loopguard-0.7.0/evals/tasks/05-audit-log/hinted}/task.md +0 -0
  1792. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/05-audit-log/reference/blocking.py +0 -0
  1793. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/evals/tasks/05-audit-log/reference/clean.py +0 -0
  1794. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/examples/demo_app.py +0 -0
  1795. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/examples/locustfile.py +0 -0
  1796. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/examples/run_stress_test.py +0 -0
  1797. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/examples/stress_app.py +0 -0
  1798. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/src/fastapi_loopguard/context.py +0 -0
  1799. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/src/fastapi_loopguard/logging.py +0 -0
  1800. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/__init__.py +0 -0
  1801. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_context.py +0 -0
  1802. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_cumulative_blocking.py +0 -0
  1803. {fastapi_loopguard-0.6.0 → fastapi_loopguard-0.7.0}/tests/test_logging.py +0 -0
@@ -11,13 +11,13 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
13
  matrix:
14
- python-version: ["3.12", "3.13"]
14
+ python-version: ["3.11", "3.12", "3.13", "3.14"]
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@v6
17
+ - uses: actions/checkout@v7
18
18
 
19
19
  - name: Set up Python ${{ matrix.python-version }}
20
- uses: actions/setup-python@v6
20
+ uses: actions/setup-python@v7
21
21
  with:
22
22
  python-version: ${{ matrix.python-version }}
23
23
 
@@ -13,10 +13,10 @@ jobs:
13
13
  id-token: write # Required for trusted publishing
14
14
 
15
15
  steps:
16
- - uses: actions/checkout@v4
16
+ - uses: actions/checkout@v7
17
17
 
18
18
  - name: Set up Python
19
- uses: actions/setup-python@v5
19
+ uses: actions/setup-python@v7
20
20
  with:
21
21
  python-version: "3.12"
22
22
 
@@ -0,0 +1,375 @@
1
+ # Changelog
2
+
3
+ ## 0.7.0 (2026-09-11)
4
+
5
+ Two security fixes, a detection miss that made the most common shape of
6
+ blocking code invisible, and a `loopguard` console script for enforcing the
7
+ gate outside pytest.
8
+
9
+ ### Security
10
+
11
+ - **Reflected XSS in the strict-mode 503 page.** `_generate_error_html`
12
+ interpolated the request method and path into HTML with no escaping, and
13
+ ASGI servers percent-decode the path — so a request for
14
+ `/%3Cscript%3E...%3C/script%3E` with `Accept: text/html` executed attacker
15
+ JavaScript on the application's own origin. Because blocking attributes to
16
+ every request in flight, the attacker only had to have a request in flight
17
+ while any other request stalled the loop. Both values are now escaped, and
18
+ the never-called `_generate_warning_banner()` — which had the same hole —
19
+ is deleted. Present since strict mode shipped; the JSON error body was
20
+ never affected.
21
+ - **Unbounded Prometheus label cardinality.** With `prometheus_enabled=True`,
22
+ metrics were labelled by the raw request path. Every distinct URL minted a
23
+ child metric that is never evicted, so unauthenticated traffic to random
24
+ paths grew process memory without bound — and ordinary traffic to a route
25
+ with a path parameter did the same on its own. Requests are now labelled by
26
+ the matched route template, unmatched requests collapse to `unmatched`,
27
+ non-standard HTTP verbs to `other`, and the label set is capped at 200
28
+ pairs. This shipped inert (nothing imported `metrics.py`), so no released
29
+ version was exploitable.
30
+ - **Log injection through the console banner.** The blocking banner printed
31
+ the decoded request path to stderr raw, so `%0A` forged lines in any log
32
+ aggregator reading it. Control characters are now escaped.
33
+ - `docs/CONFIGURATION.md` now says plainly that strict mode must not run in
34
+ production, and that the diagnostic headers tell any unauthenticated client
35
+ that the loop stalled while their request was in flight and by how many
36
+ milliseconds — but never which endpoint caused it, which the sentinel cannot
37
+ know. What leaks is the timing signal, not an endpoint name.
38
+
39
+ ### Fixed
40
+
41
+ - **The console banner could raise into the host application.**
42
+ `_log_console_warning` wrote the banner with an unguarded
43
+ `print(..., file=sys.stderr)`. A closed, detached, or broken stderr —
44
+ routine for a daemonised or supervised server — makes `print` raise
45
+ `ValueError` or `BrokenPipeError`, and all four call sites are on the
46
+ request path. At the two pre-response ones (warn mode's send wrapper,
47
+ strict mode's print before the 503) the exception ate the response the
48
+ client was about to receive, turning a detected stall into a failed
49
+ request. The write is now guarded in `_log_console_warning` itself, the
50
+ same `try/except Exception` + `logger.exception` shape `_poll_monitor`
51
+ and `_record_request` already use, so the operator still learns the
52
+ banner was lost through any working log handler. The request context was
53
+ never leaked — every call site sits inside `_handle_http`'s `try`.
54
+ - **A streamed response lost the console banner.** The banner was printed
55
+ only from the send wrapper, at `http.response.start` — and Starlette's
56
+ `StreamingResponse` sends that message before its body generator runs. A
57
+ 600 ms stall inside the generator therefore produced the log line and no
58
+ banner at all, so a warn-mode user who was shown the banner in the quick
59
+ start and watches for it saw nothing while the stall was real. `"warn"` and
60
+ `"strict"` now also print it after the handler returns, gated so one
61
+ request still prints at most one banner. Headers and the strict-mode 503
62
+ remain undeliverable once the `200` has shipped; `README.md` and
63
+ `docs/CONFIGURATION.md` say which channels survive.
64
+ - **The fix hints recommended an undeclared package, in a form that does not
65
+ work.** The console banner, the strict-mode 503 body and the `hints` array
66
+ in `loopguard.json` all told the reader to rewrite `open(f).read()` as
67
+ `await aiofiles.open(f)`. `aiofiles` is third-party, is declared in no
68
+ extra, and that is not how it is used — while `README.md` taught
69
+ `await asyncio.to_thread(Path(path).read_text)` on the same page.
70
+ `docs/AI-HARNESS.md` tells agents to apply the `hints` literally, so the
71
+ harness added a dependency the README avoids. The same list also suggested
72
+ `await httpx.AsyncClient().get(url)`, which leaks a client per call. Every
73
+ hint is now defined once, in `src/fastapi_loopguard/hints.py`, rendered by
74
+ the banner, both 503 bodies and the plugin report, and quoted by the
75
+ README; each one uses only the standard library or `httpx`, and closes
76
+ what it opens.
77
+ - **A blocking test failure printed the plugin before the verdict.** The
78
+ pytest plugin's wrapper is now hidden from the traceback, so
79
+ `Event loop blocking detected!` is the first line of the failure instead of
80
+ the last line under ~25 lines of the plugin's own source. An exception
81
+ raised by the test itself still reports with the test's own frame.
82
+ - **`loopguard report` said "at at".** `json.JSONDecodeError.msg` can already
83
+ end in "at", and the CLI appended another. The message now reads
84
+ `invalid JSON (Invalid control character at line 1 column 8)` and names the
85
+ column.
86
+ - **Blocking that ended without an `await` went unreported.** The sentinel
87
+ measures a tick by resuming from its own sleep, so a handler — or a test —
88
+ that blocked and then returned without awaiting left that sleep expired and
89
+ never measured: strict mode returned 200, warn mode reported
90
+ `x-blocking-detected: false`, and the pytest harness scored the test clean.
91
+ This is the ordinary shape of blocking code, so the miss was the common
92
+ case, not an edge case. `SentinelMonitor.poll()` now takes a synchronous
93
+ measurement on the response path, and `BlockingDetector.stop()` drains its
94
+ monitor instead of cancelling it — a bounded drain, and one that no longer
95
+ lets a monitor exception replace the test's own failure. The monitor loop
96
+ then reports only the residual of a polled tick, so a stall spanning a
97
+ response is reported in full and no millisecond is counted twice.
98
+ - **A cancelled or recovering monitor invented blocking.** `poll()` measured
99
+ against the tick marker even when the monitor task had been cancelled or
100
+ was inside its error-recovery sleep, reporting a stall that grew with
101
+ wall-clock time — a 503, in strict mode, for a request that did nothing
102
+ wrong. Those paths now clear the marker, and `poll()` refuses to measure a
103
+ tick no live task owns.
104
+ - **The middleware could fail a request it was only observing.** The response
105
+ path measurement and the request counter both ran unguarded, and the
106
+ measurement runs before `unregister_request` — so an exception leaked the
107
+ request context permanently, after which every later blocking event
108
+ attributed to a request that had long finished. Both now swallow and log.
109
+ - **`prometheus_enabled` now exposes metrics.** Nothing on the detection path
110
+ imported `metrics.py`, so the flag did nothing at all. The monitor records
111
+ `loopguard_blocking_total`, `loopguard_lag_seconds`,
112
+ `loopguard_requests_monitored_total` and `loopguard_threshold_seconds`.
113
+ Blocking metrics carry an `event_type` label (`single` / `cumulative`) and
114
+ no route label: the sentinel measures loop lag, not call stacks, so it
115
+ cannot say which endpoint blocked, and one event is one increment rather
116
+ than one per in-flight request.
117
+ - **A Prometheus registration failure took the app down.** Only the
118
+ missing-package case was caught, so a duplicate registration on the
119
+ process-wide registry failed startup, or the first request on apps without
120
+ lifespan. Any setup failure — a missing extra included — now logs and
121
+ leaves metrics off rather than failing the app.
122
+ - **`get_metrics()` could never find an instance.** It looked up the bare
123
+ prefix while `create_metrics()` stored `prefix` plus registry identity. It
124
+ now takes the registry and derives the same key.
125
+ - `docs/CONFIGURATION.md` listed two metric names that do not exist. It now
126
+ documents the four real ones, their labels, and how to serve them.
127
+
128
+ ### Command-line interface
129
+
130
+ - **New `loopguard` console script.** `loopguard report loopguard.json`
131
+ reads a report the pytest plugin wrote, prints a one-line summary plus a
132
+ line per flagged test, and exits `0` when clean, `1` when blocking was
133
+ detected, `2` when the report is missing, unreadable, or malformed — the
134
+ ruff/pyright convention. It lets an agent or a CI step enforce the gate
135
+ outside pytest, without parsing JSON itself. The verdict comes from the
136
+ top-level `status` key, falling back to `totals.flagged > 0` for a
137
+ `schema_version` 1 report. `--quiet` gives the exit code alone.
138
+ `docs/AI-HARNESS.md` documents the exit codes and the CI invocation.
139
+ No new dependency: `cli.py` is standard-library-only and, deliberately,
140
+ never imports `pytest_plugin` — that module imports `pytest`, which a
141
+ production install does not have. (#49)
142
+ - **`loopguard report` now exits `2`, not `0`, for a clean report that
143
+ instrumented zero tests.** A misconfigured `asyncio_mode`, a missing
144
+ `pytest-asyncio` install, or a rename that dropped every async test all
145
+ produce `{"status": "clean", "totals": {"tests": 0, ...}}` — a run that
146
+ tested nothing, previously read as a passing gate. The CLI now treats
147
+ that as a setup failure by default and prints a one-line warning to
148
+ stderr; pass `--allow-empty` to keep the old exit-`0` behavior for the
149
+ cases where zero tests is genuinely expected.
150
+
151
+ ### Report contract
152
+
153
+ The `loopguard.json` report contract is now `schema_version` 2 and has a
154
+ published schema:
155
+
156
+ - The report carries a top-level `"status": "blocked" | "clean"`, so a
157
+ consuming agent reads one key instead of deriving `totals.flagged > 0`.
158
+ A run that instrumented no tests is `"clean"` with `totals.tests: 0`;
159
+ a gate that must also insist the suite was checked reads `totals.tests`
160
+ alongside it, which is what `loopguard report` now does by default. The
161
+ change is additive — `totals` is untouched. (#48)
162
+ - `docs/loopguard-report.schema.json` (JSON Schema draft 2020-12) describes
163
+ the payload, with `additionalProperties: true` throughout because the
164
+ report grows by adding keys. CI validates the documented example and a
165
+ freshly generated report against it. (#50)
166
+
167
+ ### Packaging
168
+
169
+ - The published metadata now carries a full author name and an email
170
+ (`Author-email: Parham Davari <parham.davarii@gmail.com>`) instead of
171
+ `Author: Parham` with no address, and `[project.urls]` gained a `Changelog`
172
+ entry pointing at `CHANGELOG.md`. Note that `pip show` now prints an empty
173
+ legacy `Author:` line: a PEP 621 author with both a name and an email is
174
+ emitted as a single `Author-email: Name <address>` field, which is where
175
+ both values now live. (#71)
176
+ - `LICENSE` now reads `Copyright (c) 2025 Parham Davari`. It carried a short
177
+ form of the holder's name and a year predating this repository's first
178
+ commit; the license terms are untouched. (#71)
179
+ - Dropped the `License :: OSI Approved :: MIT License` classifier. PEP 639
180
+ deprecates license classifiers once `License-Expression` is set, and
181
+ `license = "MIT"` already emits `License-Expression: MIT`; nothing about the
182
+ license itself changed. (#71)
183
+ - The `loopguard_threshold_ms` ini option's help text now says the value is in
184
+ milliseconds and is parsed as a float, and that a value `float()` cannot
185
+ parse fails every instrumented test. The registered type stays `string` —
186
+ pytest ini options have no float type, so `pytest -h` will always print
187
+ `(string)` and the help text has to carry the rest. (#71)
188
+ - **Removed the `structlog` extra.** `pip install fastapi-loopguard[structlog]`
189
+ installed `structlog` and changed nothing, because no module in `src/` imports
190
+ it; it was also pulled in by `[all]`. Anyone depending on that extra to
191
+ install structlog must now depend on `structlog` directly — `[structlog]` is
192
+ no longer a valid extra name and pip will warn that it does not exist. The
193
+ alternative, wiring `StructuredFormatter` onto structlog, would have been a
194
+ new feature rather than a packaging fix. (#51)
195
+ - `enforcement_mode` is typed `Literal["log", "warn", "strict"]` and the alias
196
+ is exported as `fastapi_loopguard.EnforcementMode`, so a misspelled mode is a
197
+ type error at the call site instead of a `ValueError` at startup. The runtime
198
+ validation in `__post_init__` is unchanged. (#44)
199
+ - ruff's `target-version` is no longer pinned; it is derived from
200
+ `project.requires-python`, so a `ruff --fix` can never rewrite code into
201
+ syntax newer than the package claims to support. (#45)
202
+
203
+ ### Changed
204
+
205
+ - **The minimum Python is now 3.11**, down from 3.12. Nothing in the library
206
+ needed 3.12; the real floor is `asyncio.Task.cancelling()`, which landed in
207
+ 3.11. Python 3.14 is claimed at the other end: CI runs 3.11, 3.12, 3.13 and
208
+ 3.14, and the PyPI classifiers list all four. (#46)
209
+
210
+ ### Documentation
211
+
212
+ - Every `README.md` link into the repository is now an absolute
213
+ `https://github.com/.../blob/main/...` URL. The README is the PyPI long
214
+ description and the wheel ships no docs, so the relative links to
215
+ `docs/AI-HARNESS.md`, `docs/CONFIGURATION.md`, `FINDINGS.md` and
216
+ `evals/README.md` resolved under pypi.org and reached nothing. Documentation
217
+ links track `main` so they reach the current document; the images stay
218
+ pinned to a tag, so a published page cannot change under a reader.
219
+ - The README now says the detection threshold is measured at startup and
220
+ usually settles below `fallback_threshold_ms` (10 ms at the defaults, not
221
+ 50) — which is why an idle app can log a sub-50 ms "no active request"
222
+ event. `docs/CONFIGURATION.md` carries the clamp formula, the lifespan
223
+ caveat, and how to pin the threshold at the fallback.
224
+ - `docs/CONFIGURATION.md` documents `fastapi_loopguard.logging`:
225
+ `configure_logging`, its arguments, and the JSON `StructuredFormatter`.
226
+ The README's log-mode description no longer calls the default output
227
+ "structured" — it is one plain-text line unless you install that formatter.
228
+ - The enforcement-modes snippet is three self-contained blocks instead of one
229
+ block that rebound `config` three times and applied only the last, and the
230
+ strict-mode section says the educational page is HTML only when `Accept`
231
+ contains `text/html` (JSON otherwise).
232
+
233
+ ### Evals
234
+
235
+ The `evals/` benchmark and the claims it backs were also corrected;
236
+ `README.md` and `docs/AI-HARNESS.md` now quote the new figures.
237
+
238
+ - The scorer no longer reports an unmeasured sample as non-blocking. A
239
+ solution that failed to import, returned empty, or was rejected before the
240
+ endpoint body was recorded as `non_blocking: true` and kept in the
241
+ blocked-rate denominator — a bias with only one direction, pointing at the
242
+ headline number. Verdicts now carry `measured`, and unmeasured samples are
243
+ excluded from those denominators. 105 of 560 samples were affected.
244
+ - An empty completion from a provider is retried and then raised, instead of
245
+ being written out as an empty `app.py` and scored as a model failure.
246
+ - Code extraction prefers the last fenced block that parses and defines `app`,
247
+ and tolerates a language tag glued to the first statement. Previously a
248
+ response that re-listed `helpers.py` could have that listing saved as the
249
+ solution.
250
+ - Task prompts are condition-symmetric: `neutral/task.md` and `hinted/task.md`
251
+ now differ by exactly one added sentence on all eight tasks. Three pairs
252
+ previously differed by more, including one with different functional specs.
253
+ Tasks 02, 03 and 04 were regenerated against the corrected prompts.
254
+ - Each task's checks assert the provided helper actually ran, so a hardcoded
255
+ response cannot score as functional and non-blocking.
256
+ - Request pacing and retry with backoff are in the harness rather than
257
+ described in prose, so the published run is reproducible from the repository.
258
+ - `python-multipart` and `aiofiles` are declared in `evals/requirements.txt`;
259
+ without them the judge failed valid solutions at import.
260
+ - New: `python evals/matrix.py --rescore` re-judges every committed solution
261
+ with no API calls.
262
+
263
+ ## 0.6.1 (2026-08-12)
264
+
265
+ - The console blocking banner is restyled: a slim rule frame instead of
266
+ the `=`/`!` walls, with ANSI color hierarchy (headline red, explanation
267
+ dim, fixes cyan) on real terminals. Redirected streams and `NO_COLOR`
268
+ environments get identical plain text, so log grep patterns keep
269
+ working. (#9)
270
+ - The 503 page's BAD/GOOD code examples render each snippet on its own
271
+ line again: the blocks are now `<pre>` elements; the previous `<div>`s
272
+ collapsed the newlines. (#10)
273
+
274
+ ## 0.6.0 (2026-08-12)
275
+
276
+ Detection-core hardening plus the AI test harness. Fixes found by a
277
+ line-by-line audit of the detection path; every item below changes
278
+ observable behavior.
279
+
280
+ - The adaptive threshold can no longer ratchet itself blind. Recalculation
281
+ is clamped to the `fallback_threshold_ms` ceiling; previously each raise
282
+ widened the censor gate that admits the next round of samples, compounding
283
+ 50 -> 241 -> 573ms within seconds on merely-noisy traffic.
284
+ - Cumulative detection no longer counts timer jitter. The window now sums
285
+ baseline-corrected excess lag (`max(0, lag - baseline)`); raw per-tick
286
+ platform jitter (~2ms idle on macOS) alone could previously cross the
287
+ 200ms default within one 1000ms window on a completely idle loop.
288
+ - Lazy stop/start race fixed: a request arriving while the monitor was
289
+ stopping (last request just finished) used to observe stale lifecycle
290
+ flags and run unmonitored. Flags are now cleared before the stop awaits,
291
+ so a mid-stop request starts a fresh monitor.
292
+ - `stop()` no longer swallows a cancellation aimed at the calling task.
293
+ It runs inside request `finally` blocks; the old
294
+ `suppress(CancelledError)` turned client disconnects and server shutdown
295
+ into requests that ignored their own cancellation.
296
+ - `stop()` issued during a blocking `start()` calibration now vetoes the
297
+ loop start instead of being a silent no-op.
298
+ - A lifespan app that raises no longer leaks the monitor tasks.
299
+ - One blocking event now logs exactly one summary line instead of one line
300
+ per in-flight request (O(N) log formatting on the loop thread right after
301
+ a stall). The per-context `on_blocking` callback contract is unchanged.
302
+ - New config validation: `fallback_threshold_ms >= monitor_interval_ms`,
303
+ `adaptive_update_interval_ms >= monitor_interval_ms`, and `exclude_paths`
304
+ may not be a bare string (it would silently become a substring match).
305
+ - Strict mode's clean-path headers are now computed from the request
306
+ context instead of hardcoded zero literals.
307
+ - Calibration clamps a negative raw baseline (timers may fire up to
308
+ clock_resolution early) to 0.
309
+
310
+ AI test harness (pytest plugin):
311
+
312
+ - New `loopguard_all_async` mode (ini or `--loopguard-all-async`): every
313
+ async test is treated as `@pytest.mark.no_blocking`, with a new
314
+ `@pytest.mark.allow_blocking` opt-out marker. Built for gating
315
+ AI-generated code without per-test annotations.
316
+ - New `loopguard_report` option (ini or `--loopguard-report=PATH`): writes
317
+ a JSON verdict file at session end with per-test blocking events and
318
+ concrete sync->async fix hints. See `docs/AI-HARNESS.md`.
319
+ - The detector is now armed before the test body runs. A test that blocked
320
+ before its first real await (an ASGI request dispatch does exactly that)
321
+ was previously invisible to the gate.
322
+ - BREAKING: the `loopguard_detector` fixture was removed. It yielded a
323
+ detector that was never started, so assertions on its (always empty)
324
+ `blocking_events` passed unconditionally.
325
+ - `@pytest.mark.no_blocking` on a synchronous test now emits a warning
326
+ instead of silently doing nothing.
327
+ - The plugin no longer calls `asyncio.iscoroutinefunction` (deprecated on
328
+ Python 3.14), so downstream suites running `-W error` stay green.
329
+ - `BlockingDetector.stop()` no longer swallows the test's own cancellation.
330
+
331
+ Also:
332
+
333
+ - New `evals/` directory: a starter benchmark (5 FastAPI tasks + runner)
334
+ scoring whether an AI model writes non-blocking async code.
335
+ - `configure_logging()` is idempotent and disables propagation;
336
+ `StructuredFormatter` preserves `exc_info` tracebacks.
337
+ - `prometheus-client` joined the `dev` extra so the metrics tests run in CI.
338
+
339
+ ## 0.5.0 (2026-08-11)
340
+
341
+ Correctness release. Every fix below changes externally observable behavior.
342
+
343
+ - `dev_mode` no longer turns blocking into 503s. Previously, one endpoint's
344
+ sync block made every concurrent innocent request fail with 503 while the
345
+ actual culprit returned 200. `dev_mode` now only adds diagnostic headers;
346
+ a 503 requires explicitly setting `enforcement_mode="strict"`. Docs no
347
+ longer claim the library identifies which endpoint caused blocking — it
348
+ reports the requests that were in flight during the stall.
349
+ - A single blocking event is reported once, not twice. A 300ms block used to
350
+ produce two events summing to ~600ms in headers and logs (single-shot plus
351
+ a cumulative re-count of the same sample). Cumulative window sums are now
352
+ recorded separately from individual lag samples.
353
+ - Calibration can no longer be poisoned by the app's own blocking. Background
354
+ calibration during a busy blocking startup used to raise the detection
355
+ threshold to ~8x the fallback, after which real blocking went undetected.
356
+ A calibrated threshold now only ever tightens the fallback.
357
+ - The adaptive threshold no longer chases sustained blocking. ~120 blocks of
358
+ ~70ms used to yield ~9 detections and a final threshold near 380ms;
359
+ detection now keeps firing for the whole run.
360
+ - Adaptive mode no longer discards a calibration-tightened threshold. Its
361
+ floor used to be pinned at the fallback and its first update fired
362
+ immediately, snapping a calibrated 10ms threshold back to 50ms on the
363
+ first tick. The floor now follows the calibrated threshold.
364
+ - Responses using ASGI extension messages no longer hang in strict mode:
365
+ `http.response.pathsend` (Starlette `FileResponse` on Hypercorn/Granian),
366
+ `http.response.trailers`, and unknown message types now pass through.
367
+ - `"trailers": True` and any other key on `http.response.start` survive
368
+ header injection instead of being silently dropped.
369
+ - The monitor no longer leaks background tasks when startup fails
370
+ (`lifespan.startup.failed` / `lifespan.shutdown.failed` now stop it), and a
371
+ lazily started monitor (apps without lifespan, e.g. tests using
372
+ `httpx.ASGITransport`) stops when the last in-flight request finishes.
373
+ - `__version__` now matches the installed package metadata (it was hard-coded
374
+ to 0.3.0 while the package shipped as 0.4.1), and the 503 error page links
375
+ to the real repository.
@@ -27,13 +27,13 @@ python examples/stress_app.py # stress target on :8000
27
27
  python examples/run_stress_test.py --skip-locust # validation suite against a running :8000
28
28
  ```
29
29
 
30
- CI lints and type-checks `src/` and `tests/` only — `examples/` is unchecked and does not satisfy the `ANN` rules the rest of the tree does. `tests/test_metrics.py` skips entirely unless `.[prometheus]` is installed, which is why `metrics.py` reports 0% coverage on a plain `.[dev]` run; the 80% gate still passes at ~88% overall.
30
+ CI lints and type-checks `src/` and `tests/` only — `examples/` is unchecked and does not satisfy the `ANN` rules the rest of the tree does. `tests/test_metrics.py` skips entirely unless `.[prometheus]` is installed (the `dev` extra pulls it in, so a normal dev install runs them); the 80% gate passes at ~97%.
31
31
 
32
32
  ## Tech Stack (versions verified 2026-08-11)
33
33
 
34
- - Python `>=3.12`; CI matrix is 3.12 and 3.13. mypy is pinned to `python_version = "3.12"` with `strict = true`.
35
- - **One runtime dependency: `starlette>=0.37.0,<1.0`.** FastAPI is a *dev* dependency — the middleware is pure ASGI and must never import `fastapi` from `src/`. Adding any runtime dependency requires asking first.
36
- - Extras: `prometheus` (prometheus-client), `structlog`, `all`, `dev`, `stress` (locust + uvicorn). The `structlog` extra is currently declared but unused nothing imports structlog.
34
+ - Python `>=3.11`; CI matrix is 3.11, 3.12, 3.13 and 3.14. mypy is pinned to `python_version = "3.11"` with `strict = true`. The floor is 3.11 because `asyncio.Task.cancelling()` (used in `monitor.py` and `pytest_plugin.py`) landed there; nothing needs 3.12. ruff's `target-version` is deliberately unset so it derives from `requires-python` and the `UP` rewrites can never outrun the declared floor.
35
+ - **One runtime dependency: `starlette>=0.37.0,<2.0`.** FastAPI is a *dev* dependency — the middleware is pure ASGI and must never import `fastapi` from `src/`. Adding any runtime dependency requires asking first.
36
+ - Extras: `prometheus` (prometheus-client), `all`, `dev`, `stress` (locust + uvicorn). Every extra must make an observable difference once installed — a declared-but-unused `structlog` extra was removed for that reason, and adding an extra nothing imports is the same defect.
37
37
  - ruff selects `["E","F","I","N","W","UP","B","C4","SIM","ANN"]`, ignoring only `ANN401`. **`ANN` means every function needs full annotations**, tests and fixtures included. Line length 88, double quotes.
38
38
  - Build backend is hatchling; wheel packages `src/fastapi_loopguard`. Publishing triggers on a `v*` tag via PyPI trusted publishing (OIDC) — there is **no version-bump automation**, so `pyproject.toml` must be bumped by hand. `__init__.__version__` is derived from installed package metadata; after bumping, re-run `pip install -e .` or the version tests fail against stale metadata.
39
39
  - `.claude/` is git-ignored and excluded from the sdist. Committing anything there needs an explicit `.gitignore` negation.
@@ -44,18 +44,22 @@ CI lints and type-checks `src/` and `tests/` only — `examples/` is unchecked a
44
44
  src/fastapi_loopguard/
45
45
  config.py LoopGuardConfig — frozen slotted dataclass + __post_init__ validation
46
46
  context.py RequestContext, RequestRegistry, module-global _registry, free functions
47
+ hints.py FIX_HINTS — the one definition of the suggested rewrites
47
48
  monitor.py SentinelMonitor sleep-measure loop, AdaptiveThreshold
48
49
  middleware.py pure-ASGI LoopGuardMiddleware, enforcement modes, HTML/JSON error pages
49
50
  logging.py StructuredFormatter (JSON), configure_logging, log_blocking_event
50
- metrics.py optional Prometheus LoopGuardMetrics (see Known Gaps — not wired in)
51
+ metrics.py optional Prometheus LoopGuardMetrics, wired in when prometheus_enabled
51
52
  pytest_plugin.py pytest11 entry point, @pytest.mark.no_blocking, BlockingDetector
53
+ cli.py `loopguard` console script — `loopguard report PATH`, exit 0/1/2
52
54
  ```
53
55
 
54
- **Layering (strict — a module imports only lower layers):** `config`, `context` → `monitor` → `middleware`. `logging`, `metrics`, and `pytest_plugin` are leaves; nothing on the detection path imports them, and they must not import `middleware`. `middleware.py` imports `LoopGuardConfig` inside `__init__` with an "avoid circular imports" comment the cycle no longer exists, but the deferred import is harmless and not worth churning.
56
+ **Layering (strict — a module imports only lower layers):** `config`, `context` → `monitor` → `middleware`. `hints` sits below all of them: it imports nothing, so `middleware` (detection path) and `pytest_plugin` (leaf) can both read it. Every surface that suggests a rewrite — console banner, strict-mode 503 HTML and JSON, the plugin's `hints` array — renders `FIX_HINTS`; `README.md` quotes it and is synced by hand. A hint may name only the standard library or a package this project already documents (`httpx`). `logging`, `pytest_plugin`, and `cli` are leaves; nothing on the detection path imports them, and they must not import `middleware`. `metrics` is the one exception: `monitor.__init__` imports it lazily, and only when `prometheus_enabled` is set, so `prometheus_client` stays off the import path of every app that does not ask for it.
57
+
58
+ `cli.py` is the strictest leaf: it imports **only the standard library**. In particular it must never import `fastapi_loopguard.pytest_plugin`, which imports `pytest` — a dev dependency the console script's users will not have. It consumes the report as data against `docs/loopguard-report.schema.json` rather than importing the writer, and it does not validate against that schema at runtime (that needs `jsonschema`, also dev-only). `tests/test_cli.py` enforces both: an AST check on the import list and a subprocess import with `pytest` absent. `middleware.py` imports `LoopGuardConfig` inside `__init__` with an "avoid circular imports" comment — the cycle no longer exists, but the deferred import is harmless and not worth churning.
55
59
 
56
60
  `pytest_plugin.py` is registered as a `pytest11` entry point, so it auto-loads for **every** project that installs this package. Treat its hooks as public API and keep them cheap and side-effect-free for unmarked tests.
57
61
 
58
- **Detection flow:** ASGI `lifespan.startup` starts the monitor → `_handle_http` skips `exclude_paths`, then registers a `RequestContext` and writes the id to `scope["state"]["loopguard_request_id"]` → `_monitor_loop` sleeps `monitor_interval_ms` and computes `lag_ms = (elapsed - interval) * 1000` → lag over threshold calls `_handle_blocking`, which calls `record_blocking` on every active context → the send wrapper reads `ctx.blocking_count` / `ctx.total_blocking_ms` and emits headers or a 503 → `finally` unregisters (and stops a lazily started monitor once the registry empties) → any terminal lifespan message (`shutdown.complete`, `shutdown.failed`, `startup.failed`) stops the monitor.
62
+ **Detection flow:** ASGI `lifespan.startup` starts the monitor → `_handle_http` skips `exclude_paths`, then registers a `RequestContext` and writes the id to `scope["state"]["loopguard_request_id"]` → `_monitor_loop` sleeps `monitor_interval_ms` and computes `lag_ms = (elapsed - interval) * 1000` → lag over threshold calls `_handle_blocking`, which calls `record_blocking` on every active context → the send wrapper calls `monitor.poll()`, then reads `ctx.blocking_count` / `ctx.total_blocking_ms` and emits headers or a 503 → `finally` polls once more and unregisters (and stops a lazily started monitor once the registry empties) → any terminal lifespan message (`shutdown.complete`, `shutdown.failed`, `startup.failed`) stops the monitor.
59
63
 
60
64
  ## Detection Invariants (non-negotiable)
61
65
 
@@ -65,13 +69,19 @@ src/fastapi_loopguard/
65
69
  4. **Calibration never blocks the first request, and can only tighten.** `start_with_background_calibration()` starts `_monitor_loop` immediately on `fallback_threshold_ms` and calibrates in a named background task. Baseline is the **minimum** of `calibration_iterations` samples (the idle floor — robust to contamination from live traffic), and the calibrated threshold is clamped to `[monitor_interval_ms, fallback_threshold_ms]`: it may lower the fallback, never raise it. The adaptive window is censored (only sub-threshold samples admitted), its floor follows the calibrated threshold, and its recalculated value is clamped to the `fallback_threshold_ms` ceiling — without the ceiling each raise widens the censor gate and the threshold ratchets upward unboundedly. So neither calibration nor adaptation can be poisoned upward by the app's own blocking or its noise. A failed or cancelled calibration keeps the fallback threshold and must never raise into startup. Config guarantees `fallback_threshold_ms >= monitor_interval_ms`, so the clamp can never invert.
66
70
  5. **Unregister always runs.** `_handle_http` wraps dispatch in `try/finally: unregister_request(request_id)`. An exception from the wrapped app must never leak a context into the registry — a leak makes every later blocking event attribute to a dead request forever.
67
71
  6. **`dev_mode` is headers-only; a 503 requires explicit strict mode.** `_get_effective_enforcement_mode()` always returns `enforcement_mode` — `dev_mode` never changes it. Because blocking is attributed to ALL in-flight requests (invariant 2), a status change punishes innocent bystanders, so it must stay opt-in via `enforcement_mode="strict"`. No text anywhere may claim the library identifies WHICH endpoint blocked — it narrows it to the requests in flight during the stall.
68
- 7. **One blocking event is reported exactly once.** A sample that fires the single-shot detection is never appended to `_lag_history`, within one `_monitor_loop` iteration a single-lag trigger suppresses the cumulative one, and `_lag_history` is cleared after a cumulative fire so a window reports at most once. The window stores **baseline-corrected excess lag** (`max(0, lag - baseline)`), never raw lag — raw per-tick timer jitter alone would sum past the default cumulative threshold on an idle loop. Cumulative window sums are recorded in `RequestContext.cumulative_events`, separate from the individual-lag `blocking_events` list; `blocking_count` / `total_blocking_ms` sum both. One event also emits exactly **one log line** (a summary across in-flight requests), never one line per context — no O(N) work on the loop thread right after a stall.
72
+ 7. **One measured millisecond is reported exactly once.** A sample that fires the single-shot detection is never appended to `_lag_history`, within one `_monitor_loop` iteration a single-lag trigger suppresses the cumulative one, and `_lag_history` is cleared after a cumulative fire so a window reports at most once. The window stores **baseline-corrected excess lag** (`max(0, lag - baseline)`), never raw lag — raw per-tick timer jitter alone would sum past the default cumulative threshold on an idle loop. Cumulative window sums are recorded in `RequestContext.cumulative_events`, separate from the individual-lag `blocking_events` list; `blocking_count` / `total_blocking_ms` sum both. One event also emits exactly **one log line** (a summary across in-flight requests), never one line per context — no O(N) work on the loop thread right after a stall.
69
73
  8. **Lifecycle calls are idempotent, race-free, and cancellation-safe; lazy monitors stop when idle.** `start()`, `start_with_background_calibration()`, and `stop()` all return early when already in the target state. `start()` marks `_running` **before** its blocking calibration so a concurrent `stop()` vetoes the loop start. `_stop_monitor` clears `_started`/`_lazy_started`/`_monitor` **before** awaiting the monitor's stop — that await yields, and a request arriving mid-stop must see `_started=False` and start a fresh monitor rather than run unmonitored. `stop()` awaits cancelled tasks via `_cancel_and_wait`, which re-raises when the *calling* task has a pending cancellation (it runs inside request `finally` blocks; a bare `suppress(CancelledError)` would make requests ignore their own cancellation). A lifespan app that raises gets the monitor stopped in the `except` path, not leaked. `_handle_http` lazily starts the monitor for apps that run without ASGI lifespan and stops it when the last in-flight request unregisters (so `httpx.ASGITransport` tests leak no tasks); lifespan-managed monitors persist between requests. Double-start must stay a no-op. Consequence: in lazy mode background calibration rarely completes and the fallback threshold governs.
70
74
 
75
+ 9. **Detection must not depend on the app yielding.** `_monitor_loop` measures a tick by resuming from its own `asyncio.sleep`, so a handler that blocks and then returns without awaiting leaves that sleep expired and unmeasured — the stall is real, the response reports zero. `SentinelMonitor.poll()` closes it: a **synchronous** measurement of the in-progress tick against `_tick_start`, called from every send wrapper at `http.response.start` and once more in the `_handle_http` finally (which covers plain `"log"` mode and blocking after the headers are on the wire). It is synchronous on purpose — awaiting would hand control to the monitor task and reintroduce the ordering dependency it removes. `_tick_consumed` and `_tick_reported_ms` keep invariant 7 intact without losing lag: `_monitor_loop` reports only the **residual** (`lag - already reported`) of a polled tick, and feeds that residual, not the raw lag, to `_check_cumulative` and the adaptive window. The two portions are disjoint, so a stall that spans a response is reported as the polled part plus the residual — no millisecond counted twice, none dropped. A stall of 500ms that a `poll()` caught at 100ms is 100 + 400, not 100.
76
+
77
+ `poll()` refuses to measure when `_tick_start` belongs to a tick no live task owns. `stop()`, the `_monitor_loop` error handler, and the loop's exit all clear `_tick_start`, and `poll()` additionally bails when `_task` is done. Without this a cancelled or backing-off monitor makes `poll()` report a stall that grows with wall-clock time — in strict mode, a 503 for a request that did nothing wrong. **Never gate this on a maximum tick age**: a real 5-second stall is exactly the case the library exists to catch. `BlockingDetector.stop()` in `pytest_plugin.py` has the same problem and the same shape of fix — it clears `_running` and **drains** the monitor task instead of cancelling it, so the expired sleep resumes and records before teardown.
78
+
71
79
  ## Conventions
72
80
 
73
81
  - **`LoopGuardConfig` is frozen — never mutate it, construct a new one.** All validation lives in `__post_init__` and raises `ValueError` with a message naming the field.
74
82
  - Every new config option needs three things: a validation rule in `__post_init__`, a case in `TestLoopGuardConfig`, and a row in `docs/CONFIGURATION.md`. Missing any one of them is an incomplete change.
83
+ - **Everything from the request line is client-controlled.** ASGI servers percent-decode `scope["path"]`, so `ctx.path` and `ctx.method` can contain anything, newlines and HTML included. `html.escape` them before they reach the strict-mode HTML page, `_safe_for_console` them before printing, and never use the raw path as a metric label — `_route_label(scope)` returns the matched route template instead, which the app's route table bounds. The JSON error body is safe because `json.dumps` escapes for it.
84
+ - **Nothing the middleware runs on the request path may raise into the host app.** `_poll_monitor` and `_record_request` both swallow and log. The `finally` poll runs *before* `unregister_request`, so an escaping exception there would break invariant 5 and leak the context forever.
75
85
  - **Response headers are lowercase bytes.** Pass-through responses carry `x-request-id`, `x-blocking-count`, `x-blocking-total-ms`, and `x-blocking-detected`, plus `x-loopguard-warning: blocking-detected` in warn mode. The strict 503 built by `_send_strict_error` carries `x-loopguard-enforcement: strict` and **omits `x-blocking-detected`** — a separate header set, not an extension of the first.
76
86
  - `request_id` is the first 8 characters of a `uuid4` — short enough to read in a terminal, not a security token.
77
87
  - **All internal timing uses `loop.time()` or `time.monotonic()`** — never `datetime` or wall-clock, which jump under NTP.
@@ -79,7 +89,7 @@ src/fastapi_loopguard/
79
89
  - Logger name is `"fastapi_loopguard"`, shared by `monitor.py` and `logging.py`. `monitor.py` logs inline with `%`-style lazy formatting; `logging.log_blocking_event()` is a helper for library *users* and is intentionally not called internally.
80
90
  - `exclude_paths` is checked before anything else in `_handle_http`, so health checks cost nothing.
81
91
  - Backward-compat shims are public API and stay: `get_current_request`, `set_current_request`, `reset_current_request`, `init_metrics`. `get_current_request` returns an arbitrary active context and is only correct for single-request cases — new code uses `get_active_requests()`.
82
- - `logging`, `metrics`, and `pytest_plugin` are **not** re-exported from `__init__.py`; import them by module path.
92
+ - `logging`, `metrics`, `pytest_plugin`, and `cli` are **not** re-exported from `__init__.py`; import them by module path.
83
93
 
84
94
  ## Testing
85
95
 
@@ -89,15 +99,43 @@ src/fastapi_loopguard/
89
99
  - HTTP tests use `httpx.AsyncClient(transport=ASGITransport(app=app))`. Plugin tests use the `pytester` fixture to run generated test files in-process.
90
100
  - Each invariant has dedicated coverage: `test_enforcement_mode.py` for modes and dev-mode escalation, `test_monitor.py` for calibration, idempotency, and task cancellation, `test_cumulative_blocking.py` for the window, `test_context.py` for registry lifecycle and `__slots__`, `test_pytest_plugin.py` for the marker.
91
101
  - Timing tests are inherently flaky under load. Prefer driving `SentinelMonitor` directly with an `on_blocking` callback (as `test_cumulative_blocking.py` does) over asserting on wall-clock durations.
92
-
93
- ## Known Gaps (accurate as of 2026-08-11)
94
-
95
- Recorded so they are not rediscovered. None are fixed yet; fixing any of them is its own task. The fuller list, including design tensions deferred from the 0.5 correctness pass, is `FINDINGS.md`.
96
-
97
- 1. **`prometheus_enabled` is inert.** Neither `middleware.py` nor `monitor.py` imports `metrics.py`, so enabling the flag exposes nothing. Wiring it up means calling `record_blocking` / `record_request` / `set_threshold` from the monitor.
98
- 2. **`docs/CONFIGURATION.md` names metrics that do not exist.** It lists `loopguard_blocking_events_total` and `loopguard_blocking_duration_ms`; the real names are `loopguard_blocking_total`, `loopguard_lag_seconds`, `loopguard_requests_monitored_total`, and `loopguard_threshold_seconds`.
99
- 3. **`get_metrics()` can never find an instance.** It reads `_instances[prefix]` while `create_metrics` writes `f"{prefix}:{id(registry)}"`. `tests/test_metrics.py:188` documents the mismatch in a comment instead of failing on it.
100
- 4. **`_generate_warning_banner()` is dead code** defined in `middleware.py`, never called.
102
+ - **A test that asserts a request came back clean must not run against a tight threshold.** It is asserting that nothing stalled the loop, which is not something a test controls. `TestStrictModeHeaders._blocking_app` uses a 2ms tick and a 5ms threshold, so a request there has ~7ms of uninterrupted loop time before it is called blocked - thinner than an ordinary generational GC pass in this same suite, which measures 4.3-17.8ms on 3.11 under coverage. Where those passes land is a deterministic function of the session's allocation sequence, so adding a test *anywhere* in the suite shifts them, and a margin that small reopens as a 503 for a request that did nothing wrong. That is how `test_clean_strict_response_carries_diagnostic_headers` broke once already. A tight threshold can only cause false positives, so it is free for the tests that assert blocking *is* detected and unaffordable for the one that asserts it is not: the clean-path test builds its own app at the shipped defaults (`_clean_app`). Give a new clean-path assertion its own generous threshold rather than borrowing a detection app's.
103
+
104
+ ## The evals harness (`evals/`)
105
+
106
+ Not shipped with the package, but it decides what this project publishes about
107
+ other people's models, so it carries its own invariants:
108
+
109
+ 1. **A sample that never ran is never evidence.** `runner.score_task` returns
110
+ three states, not two: measured-and-clean, measured-and-blocked, and
111
+ `measured: false` with `non_blocking: None`. Unmeasured samples are dropped
112
+ from blocked-rate denominators. Folding them into "did not block" is a
113
+ one-directional bias on the exact number the benchmark advertises, and it
114
+ is the bug that reached a published table once already.
115
+ 2. **Measured means the trap actually executed.** The runner appends a counter
116
+ to its *copy* of `helpers.py` and requires a non-zero count. The tally is a
117
+ file, not a module global, because a `ProcessPoolExecutor` answer is correct
118
+ and runs the helper in a child process.
119
+ 3. **The prompt the model sees is the committed fixture, byte for byte.** All
120
+ instrumentation goes into the temp-dir copy. `neutral/task.md` and
121
+ `hinted/task.md` must differ by exactly one added line — the hint sentence.
122
+ Anything else makes the measured gap unattributable. There is a one-line
123
+ symmetry check in `evals/README.md`; run it after touching any task.
124
+ 4. **Changing a prompt invalidates that cell's samples.** `helpers.py`,
125
+ `app_skeleton.py` and either `task.md` are all part of the prompt. Archive
126
+ and regenerate the affected cells; do not re-score across a prompt change.
127
+ 5. **An empty completion is an API failure, not a model failure.** Adapters
128
+ retry it and then raise. Never write it out as an empty `app.py`.
129
+ 6. **Scoring is free; generation is not.** After any judge change run
130
+ `python evals/matrix.py --rescore`, which re-judges every committed
131
+ solution and re-derives `app.py` from the archived raw response. Only a
132
+ prompt change needs the paid path.
133
+
134
+ ## Known Gaps (accurate as of 2026-09-11)
135
+
136
+ Recorded so they are not rediscovered. Fixing any of them is its own task.
137
+
138
+ None currently recorded. `FINDINGS.md` carries the fuller list, including design tensions deferred from the 0.5 correctness pass.
101
139
 
102
140
  ## Fundamental Guidelines
103
141
 
@@ -3,6 +3,10 @@
3
3
  Everything noticed while fixing the 0.5 correctness defects (and the 0.6
4
4
  hardening pass) but deliberately left alone. Each item is its own future task.
5
5
 
6
+ Linked from the README, so it is checked against the code rather than left to
7
+ rot: every item below was re-verified on 2026-09-11. Items that have since been
8
+ fixed are struck through with a note, not deleted.
9
+
6
10
  ## Detection design
7
11
 
8
12
  1. ~~**Sub-threshold noise can still inflate the adaptive threshold.**~~
@@ -45,8 +49,9 @@ hardening pass) but deliberately left alone. Each item is its own future task.
45
49
  7. **The package could be zero-dependency.**
46
50
  `middleware.py` imports only type aliases from `starlette.types`; moving
47
51
  that import under `TYPE_CHECKING` removes the runtime dependency entirely
48
- (works on Litestar, Quart, Django ASGI, ...). Also, the `<1.0` upper bound
49
- on starlette will block installs the day Starlette 1.0 ships.
52
+ (works on Litestar, Quart, Django ASGI, ...). ~~Also, the `<1.0` upper bound
53
+ on starlette will block installs the day Starlette 1.0 ships.~~ — the bound
54
+ was widened to `<2.0` in #4; the `TYPE_CHECKING` move is still open.
50
55
 
51
56
  8. **`get_current_request()` returns an arbitrary active context.**
52
57
  A backward-compat shim that silently gives wrong answers under concurrency.
@@ -54,13 +59,18 @@ hardening pass) but deliberately left alone. Each item is its own future task.
54
59
 
55
60
  ## Dead / inert code and docs drift
56
61
 
57
- 9. **`prometheus_enabled` is inert** (known gap #1): nothing on the detection
58
- path imports `metrics.py`. Out of scope here (`metrics.py` untouchable).
62
+ 9. ~~**`prometheus_enabled` is inert**~~ fixed. `monitor.__init__` imports
63
+ `metrics.py` lazily when the flag is set, and records blocking events,
64
+ monitored requests and the current threshold.
59
65
 
60
- 10. **`_generate_warning_banner()` is dead code** (known gap #4).
66
+ 10. ~~**`_generate_warning_banner()` is dead code**~~ removed. It was also
67
+ an unescaped-HTML template, so leaving it in the file was an invitation to
68
+ wire up an XSS hole later.
61
69
 
62
- 11. **`docs/CONFIGURATION.md` names metrics that do not exist** (known gap #2)
63
- and `get_metrics()` can never find an instance (known gap #3).
70
+ 11. ~~**`docs/CONFIGURATION.md` names metrics that do not exist** and
71
+ `get_metrics()` can never find an instance~~ both fixed. The docs list
72
+ the four real metrics with their labels, and `get_metrics()` takes the
73
+ registry so it derives the same key `create_metrics()` wrote.
64
74
 
65
75
  12. ~~**`docs/CONFIGURATION.md` describes `fallback_threshold_ms` as "Used if
66
76
  calibration is unreliable"**~~ — fixed in the 0.6 pass; the docs now
@@ -69,8 +79,8 @@ hardening pass) but deliberately left alone. Each item is its own future task.
69
79
  13. ~~**`_handle_lifespan` locals `started` / `shutdown_complete` are
70
80
  write-only.**~~ — removed in the 0.6 pass.
71
81
 
72
- 14. **The `structlog` extra is declared but nothing imports structlog**
73
- (already noted in CLAUDE.md).
82
+ 14. ~~**The `structlog` extra is declared but nothing imports structlog**~~ —
83
+ the extra was removed rather than wired in (#51).
74
84
 
75
85
  ## Repro caveat worth keeping
76
86
 
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Parham
3
+ Copyright (c) 2025 Parham Davari
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal