valanistack 0.1.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 (618) hide show
  1. valanistack-0.1.0/.github/workflows/ci.yml +252 -0
  2. valanistack-0.1.0/.github/workflows/release.yml +152 -0
  3. valanistack-0.1.0/.gitignore +53 -0
  4. valanistack-0.1.0/.pre-commit-config.yaml +50 -0
  5. valanistack-0.1.0/CHANGELOG.md +133 -0
  6. valanistack-0.1.0/CITATIONS.md +78 -0
  7. valanistack-0.1.0/CONTRIBUTING.md +125 -0
  8. valanistack-0.1.0/LICENSE +21 -0
  9. valanistack-0.1.0/PATTERNS.md +101 -0
  10. valanistack-0.1.0/PKG-INFO +262 -0
  11. valanistack-0.1.0/README.md +193 -0
  12. valanistack-0.1.0/SECURITY.md +89 -0
  13. valanistack-0.1.0/_packaging/vstack/__init__.py +38 -0
  14. valanistack-0.1.0/_packaging/vstack/py.typed +0 -0
  15. valanistack-0.1.0/benchmarks/_perf/README.md +48 -0
  16. valanistack-0.1.0/benchmarks/_perf/run_perf_suite.py +383 -0
  17. valanistack-0.1.0/examples/cookbook/01_aar_then_lewin.py +154 -0
  18. valanistack-0.1.0/examples/cookbook/02_parallel_pattern_fan_out.py +213 -0
  19. valanistack-0.1.0/examples/cookbook/03_observable_run.py +154 -0
  20. valanistack-0.1.0/examples/cookbook/README.md +35 -0
  21. valanistack-0.1.0/module-1-individual/01-lewin-formula/README.md +594 -0
  22. valanistack-0.1.0/module-1-individual/01-lewin-formula/demo/01_self_contained_demo.py +251 -0
  23. valanistack-0.1.0/module-1-individual/01-lewin-formula/essay.md +93 -0
  24. valanistack-0.1.0/module-1-individual/01-lewin-formula/eval/run_benchmark.py +159 -0
  25. valanistack-0.1.0/module-1-individual/01-lewin-formula/eval/synthetic_lewin_failures.yaml +144 -0
  26. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/CITATIONS.md +212 -0
  27. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/__init__.py +196 -0
  28. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/_calibration.py +142 -0
  29. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/_composition.py +189 -0
  30. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/_playbooks.py +286 -0
  31. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/cli.py +358 -0
  32. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/generator.py +1054 -0
  33. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/prompts.py +385 -0
  34. valanistack-0.1.0/module-1-individual/01-lewin-formula/lib/schema.py +843 -0
  35. valanistack-0.1.0/module-1-individual/01-lewin-formula/tests/conftest.py +5 -0
  36. valanistack-0.1.0/module-1-individual/01-lewin-formula/tests/test_lewin.py +270 -0
  37. valanistack-0.1.0/module-1-individual/01-lewin-formula/tests/test_lewin_cli.py +256 -0
  38. valanistack-0.1.0/module-1-individual/01-lewin-formula/tests/test_lewin_v2.py +876 -0
  39. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/README.md +344 -0
  40. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/demo/01_self_contained_demo.py +223 -0
  41. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/essay.md +100 -0
  42. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/eval/run_benchmark.py +136 -0
  43. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/eval/synthetic_ei_traces.yaml +140 -0
  44. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/CITATIONS.md +203 -0
  45. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/__init__.py +203 -0
  46. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/_calibration.py +138 -0
  47. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/_composition.py +199 -0
  48. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/_playbooks.py +297 -0
  49. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/cli.py +284 -0
  50. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/generator.py +961 -0
  51. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/prompts.py +298 -0
  52. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/lib/schema.py +721 -0
  53. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/tests/conftest.py +5 -0
  54. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/tests/test_goleman_ei.py +231 -0
  55. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/tests/test_goleman_ei_cli.py +203 -0
  56. valanistack-0.1.0/module-1-individual/02-goleman-ei-audit/tests/test_goleman_ei_v2.py +800 -0
  57. valanistack-0.1.0/module-1-individual/03-johari-window/README.md +263 -0
  58. valanistack-0.1.0/module-1-individual/03-johari-window/demo/01_self_contained_demo.py +225 -0
  59. valanistack-0.1.0/module-1-individual/03-johari-window/essay.md +82 -0
  60. valanistack-0.1.0/module-1-individual/03-johari-window/eval/run_benchmark.py +155 -0
  61. valanistack-0.1.0/module-1-individual/03-johari-window/eval/synthetic_johari_failures.yaml +105 -0
  62. valanistack-0.1.0/module-1-individual/03-johari-window/lib/CITATIONS.md +172 -0
  63. valanistack-0.1.0/module-1-individual/03-johari-window/lib/__init__.py +203 -0
  64. valanistack-0.1.0/module-1-individual/03-johari-window/lib/_calibration.py +143 -0
  65. valanistack-0.1.0/module-1-individual/03-johari-window/lib/_composition.py +209 -0
  66. valanistack-0.1.0/module-1-individual/03-johari-window/lib/_playbooks.py +246 -0
  67. valanistack-0.1.0/module-1-individual/03-johari-window/lib/cli.py +290 -0
  68. valanistack-0.1.0/module-1-individual/03-johari-window/lib/generator.py +992 -0
  69. valanistack-0.1.0/module-1-individual/03-johari-window/lib/prompts.py +361 -0
  70. valanistack-0.1.0/module-1-individual/03-johari-window/lib/schema.py +738 -0
  71. valanistack-0.1.0/module-1-individual/03-johari-window/tests/conftest.py +5 -0
  72. valanistack-0.1.0/module-1-individual/03-johari-window/tests/test_johari.py +292 -0
  73. valanistack-0.1.0/module-1-individual/03-johari-window/tests/test_johari_cli.py +179 -0
  74. valanistack-0.1.0/module-1-individual/03-johari-window/tests/test_johari_v2.py +588 -0
  75. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/README.md +191 -0
  76. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/demo/01_self_contained_demo.py +214 -0
  77. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/essay.md +71 -0
  78. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/eval/run_benchmark.py +132 -0
  79. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/eval/synthetic_emotion_batches.yaml +144 -0
  80. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/CITATIONS.md +146 -0
  81. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/__init__.py +196 -0
  82. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/_calibration.py +104 -0
  83. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/_composition.py +147 -0
  84. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/_playbooks.py +224 -0
  85. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/cli.py +268 -0
  86. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/generator.py +990 -0
  87. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/prompts.py +197 -0
  88. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/lib/schema.py +746 -0
  89. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/tests/conftest.py +5 -0
  90. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/tests/test_danva_emotion.py +240 -0
  91. valanistack-0.1.0/module-1-individual/04-danva-emotion-reader/tests/test_danva_v2.py +432 -0
  92. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/README.md +183 -0
  93. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/demo/01_self_contained_demo.py +233 -0
  94. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/essay.md +81 -0
  95. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/eval/run_benchmark.py +134 -0
  96. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/eval/synthetic_regulation_traces.yaml +72 -0
  97. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/CITATIONS.md +101 -0
  98. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/__init__.py +180 -0
  99. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/_calibration.py +104 -0
  100. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/_composition.py +141 -0
  101. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/_playbooks.py +232 -0
  102. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/cli.py +269 -0
  103. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/generator.py +712 -0
  104. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/prompts.py +245 -0
  105. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/lib/schema.py +586 -0
  106. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/tests/conftest.py +5 -0
  107. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/tests/test_cognitive_reappraisal.py +224 -0
  108. valanistack-0.1.0/module-1-individual/05-cognitive-reappraisal/tests/test_cognitive_reappraisal_v2.py +357 -0
  109. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/README.md +184 -0
  110. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/demo/01_self_contained_demo.py +196 -0
  111. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/essay.md +88 -0
  112. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/eval/run_benchmark.py +142 -0
  113. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/eval/synthetic_workload_failures.yaml +125 -0
  114. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/CITATIONS.md +160 -0
  115. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/__init__.py +171 -0
  116. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/_calibration.py +92 -0
  117. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/_composition.py +133 -0
  118. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/_playbooks.py +226 -0
  119. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/cli.py +269 -0
  120. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/generator.py +861 -0
  121. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/prompts.py +193 -0
  122. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/lib/schema.py +489 -0
  123. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/tests/conftest.py +5 -0
  124. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/tests/test_yerkes_dodson.py +223 -0
  125. valanistack-0.1.0/module-1-individual/06-yerkes-dodson-workload/tests/test_yerkes_dodson_v2.py +492 -0
  126. valanistack-0.1.0/module-1-individual/07-hexaco-personality/README.md +177 -0
  127. valanistack-0.1.0/module-1-individual/07-hexaco-personality/demo/01_self_contained_demo.py +243 -0
  128. valanistack-0.1.0/module-1-individual/07-hexaco-personality/essay.md +105 -0
  129. valanistack-0.1.0/module-1-individual/07-hexaco-personality/eval/run_benchmark.py +142 -0
  130. valanistack-0.1.0/module-1-individual/07-hexaco-personality/eval/synthetic_hexaco_traces.yaml +116 -0
  131. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/CITATIONS.md +145 -0
  132. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/__init__.py +175 -0
  133. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/_calibration.py +92 -0
  134. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/_composition.py +152 -0
  135. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/_playbooks.py +225 -0
  136. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/cli.py +268 -0
  137. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/generator.py +819 -0
  138. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/prompts.py +298 -0
  139. valanistack-0.1.0/module-1-individual/07-hexaco-personality/lib/schema.py +660 -0
  140. valanistack-0.1.0/module-1-individual/07-hexaco-personality/tests/conftest.py +5 -0
  141. valanistack-0.1.0/module-1-individual/07-hexaco-personality/tests/test_hexaco_personality.py +226 -0
  142. valanistack-0.1.0/module-1-individual/07-hexaco-personality/tests/test_hexaco_v2.py +492 -0
  143. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/README.md +181 -0
  144. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/demo/01_self_contained_demo.py +263 -0
  145. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/essay.md +80 -0
  146. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/eval/run_benchmark.py +144 -0
  147. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/eval/synthetic_strength_failures.yaml +118 -0
  148. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/CITATIONS.md +120 -0
  149. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/__init__.py +182 -0
  150. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/_calibration.py +91 -0
  151. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/_composition.py +159 -0
  152. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/_playbooks.py +226 -0
  153. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/cli.py +269 -0
  154. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/generator.py +802 -0
  155. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/prompts.py +270 -0
  156. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/lib/schema.py +593 -0
  157. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/tests/conftest.py +5 -0
  158. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/tests/test_grant_strengths.py +224 -0
  159. valanistack-0.1.0/module-1-individual/08-grant-strengths-as-weaknesses/tests/test_grant_v2.py +450 -0
  160. valanistack-0.1.0/module-1-individual/09-motivation-traps/README.md +162 -0
  161. valanistack-0.1.0/module-1-individual/09-motivation-traps/demo/01_self_contained_demo.py +200 -0
  162. valanistack-0.1.0/module-1-individual/09-motivation-traps/essay.md +87 -0
  163. valanistack-0.1.0/module-1-individual/09-motivation-traps/eval/run_benchmark.py +135 -0
  164. valanistack-0.1.0/module-1-individual/09-motivation-traps/eval/synthetic_motivation_traces.yaml +125 -0
  165. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/CITATIONS.md +118 -0
  166. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/__init__.py +179 -0
  167. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/_calibration.py +93 -0
  168. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/_composition.py +160 -0
  169. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/_playbooks.py +227 -0
  170. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/cli.py +269 -0
  171. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/generator.py +753 -0
  172. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/prompts.py +257 -0
  173. valanistack-0.1.0/module-1-individual/09-motivation-traps/lib/schema.py +534 -0
  174. valanistack-0.1.0/module-1-individual/09-motivation-traps/tests/conftest.py +5 -0
  175. valanistack-0.1.0/module-1-individual/09-motivation-traps/tests/test_motivation_traps.py +234 -0
  176. valanistack-0.1.0/module-1-individual/09-motivation-traps/tests/test_motivation_v2.py +450 -0
  177. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/README.md +157 -0
  178. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/demo/01_self_contained_demo.py +230 -0
  179. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/essay.md +105 -0
  180. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/eval/run_benchmark.py +135 -0
  181. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/eval/synthetic_sdt_traces.yaml +119 -0
  182. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/CITATIONS.md +118 -0
  183. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/__init__.py +179 -0
  184. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/_calibration.py +91 -0
  185. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/_composition.py +157 -0
  186. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/_playbooks.py +226 -0
  187. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/cli.py +269 -0
  188. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/generator.py +806 -0
  189. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/prompts.py +263 -0
  190. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/lib/schema.py +572 -0
  191. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/tests/conftest.py +5 -0
  192. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/tests/test_sdt_reward.py +227 -0
  193. valanistack-0.1.0/module-1-individual/10-sdt-intrinsic-reward/tests/test_sdt_v2.py +466 -0
  194. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/README.md +162 -0
  195. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/demo/01_self_contained_demo.py +250 -0
  196. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/essay.md +85 -0
  197. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/eval/run_benchmark.py +162 -0
  198. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/eval/synthetic_orchestrator_failures.yaml +173 -0
  199. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/CITATIONS.md +115 -0
  200. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/__init__.py +174 -0
  201. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/_calibration.py +99 -0
  202. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/_composition.py +150 -0
  203. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/_playbooks.py +224 -0
  204. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/cli.py +269 -0
  205. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/generator.py +791 -0
  206. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/prompts.py +256 -0
  207. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/lib/schema.py +559 -0
  208. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/tests/conftest.py +5 -0
  209. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/tests/test_mcgregor.py +277 -0
  210. valanistack-0.1.0/module-1-individual/11-mcgregor-orchestrator-mode/tests/test_mcgregor_v2.py +472 -0
  211. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/README.md +166 -0
  212. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/demo/01_self_contained_demo.py +204 -0
  213. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/essay.md +112 -0
  214. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/eval/run_benchmark.py +135 -0
  215. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/eval/synthetic_vroom_traces.yaml +88 -0
  216. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/CITATIONS.md +115 -0
  217. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/__init__.py +175 -0
  218. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/_calibration.py +90 -0
  219. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/_composition.py +159 -0
  220. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/_playbooks.py +224 -0
  221. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/cli.py +269 -0
  222. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/generator.py +803 -0
  223. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/prompts.py +236 -0
  224. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/lib/schema.py +557 -0
  225. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/tests/conftest.py +5 -0
  226. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/tests/test_vroom_expectancy.py +275 -0
  227. valanistack-0.1.0/module-1-individual/12-vroom-expectancy/tests/test_vroom_v2.py +462 -0
  228. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/README.md +124 -0
  229. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/demo/01_self_contained_demo.py +228 -0
  230. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/essay.md +58 -0
  231. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/eval/run_benchmark.py +177 -0
  232. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/eval/synthetic_grpi_requests.yaml +91 -0
  233. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/CITATIONS.md +76 -0
  234. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/__init__.py +172 -0
  235. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/_calibration.py +75 -0
  236. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/_composition.py +88 -0
  237. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/_playbooks.py +203 -0
  238. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/cli.py +199 -0
  239. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/generator.py +759 -0
  240. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/prompts.py +160 -0
  241. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/lib/schema.py +473 -0
  242. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/tests/conftest.py +5 -0
  243. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/tests/test_grpi.py +268 -0
  244. valanistack-0.1.0/module-2-team/13-grpi-working-agreement/tests/test_grpi_v2.py +328 -0
  245. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/README.md +114 -0
  246. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/demo/01_self_contained_demo.py +282 -0
  247. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/essay.md +96 -0
  248. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/eval/run_benchmark.py +165 -0
  249. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/eval/synthetic_process_failures.yaml +167 -0
  250. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/CITATIONS.md +31 -0
  251. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/__init__.py +125 -0
  252. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/_calibration.py +75 -0
  253. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/_composition.py +82 -0
  254. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/_playbooks.py +211 -0
  255. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/cli.py +264 -0
  256. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/generator.py +703 -0
  257. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/prompts.py +158 -0
  258. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/lib/schema.py +425 -0
  259. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/tests/conftest.py +5 -0
  260. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/tests/test_process_gain_loss.py +237 -0
  261. valanistack-0.1.0/module-2-team/14-process-gain-loss-detector/tests/test_process_gain_loss_v2.py +332 -0
  262. valanistack-0.1.0/module-2-team/15-social-loafing-detector/README.md +99 -0
  263. valanistack-0.1.0/module-2-team/15-social-loafing-detector/demo/01_self_contained_demo.py +314 -0
  264. valanistack-0.1.0/module-2-team/15-social-loafing-detector/essay.md +75 -0
  265. valanistack-0.1.0/module-2-team/15-social-loafing-detector/eval/run_benchmark.py +144 -0
  266. valanistack-0.1.0/module-2-team/15-social-loafing-detector/eval/synthetic_loafing_failures.yaml +127 -0
  267. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/CITATIONS.md +11 -0
  268. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/__init__.py +110 -0
  269. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/_calibration.py +73 -0
  270. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/_composition.py +84 -0
  271. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/_playbooks.py +206 -0
  272. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/cli.py +249 -0
  273. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/generator.py +697 -0
  274. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/prompts.py +154 -0
  275. valanistack-0.1.0/module-2-team/15-social-loafing-detector/lib/schema.py +340 -0
  276. valanistack-0.1.0/module-2-team/15-social-loafing-detector/tests/conftest.py +5 -0
  277. valanistack-0.1.0/module-2-team/15-social-loafing-detector/tests/test_social_loafing.py +291 -0
  278. valanistack-0.1.0/module-2-team/15-social-loafing-detector/tests/test_social_loafing_v2.py +307 -0
  279. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/README.md +118 -0
  280. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/demo/01_self_contained_demo.py +251 -0
  281. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/essay.md +83 -0
  282. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/eval/run_benchmark.py +155 -0
  283. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/eval/synthetic_routing_traces.yaml +185 -0
  284. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/CITATIONS.md +10 -0
  285. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/__init__.py +115 -0
  286. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/_calibration.py +73 -0
  287. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/_composition.py +76 -0
  288. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/_playbooks.py +202 -0
  289. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/cli.py +240 -0
  290. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/generator.py +791 -0
  291. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/prompts.py +138 -0
  292. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/lib/schema.py +327 -0
  293. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/tests/conftest.py +5 -0
  294. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/tests/test_superflocks.py +292 -0
  295. valanistack-0.1.0/module-2-team/16-heffernan-superflocks-detector/tests/test_superflocks_v2.py +339 -0
  296. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/README.md +123 -0
  297. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/demo/01_self_contained_demo.py +262 -0
  298. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/essay.md +97 -0
  299. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/eval/run_benchmark.py +171 -0
  300. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/eval/synthetic_multiagent_failures.yaml +151 -0
  301. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/CITATIONS.md +73 -0
  302. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/__init__.py +134 -0
  303. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/_calibration.py +77 -0
  304. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/_composition.py +84 -0
  305. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/_playbooks.py +202 -0
  306. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/cli.py +241 -0
  307. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/generator.py +750 -0
  308. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/prompts.py +154 -0
  309. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/lib/schema.py +370 -0
  310. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/tests/conftest.py +5 -0
  311. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/tests/test_lencioni.py +260 -0
  312. valanistack-0.1.0/module-2-team/17-lencioni-diagnostic/tests/test_lencioni_v2.py +378 -0
  313. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/README.md +134 -0
  314. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/demo/01_self_contained_demo.py +202 -0
  315. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/essay.md +86 -0
  316. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/eval/run_benchmark.py +160 -0
  317. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/eval/synthetic_trust_failures.yaml +153 -0
  318. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/CITATIONS.md +51 -0
  319. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/__init__.py +120 -0
  320. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/_calibration.py +77 -0
  321. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/_composition.py +93 -0
  322. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/_playbooks.py +202 -0
  323. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/cli.py +241 -0
  324. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/generator.py +779 -0
  325. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/prompts.py +179 -0
  326. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/lib/schema.py +359 -0
  327. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/tests/conftest.py +5 -0
  328. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/tests/test_trust_triangle.py +232 -0
  329. valanistack-0.1.0/module-2-team/18-trust-triangle-audit/tests/test_trust_triangle_v2.py +378 -0
  330. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/README.md +101 -0
  331. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/demo/01_self_contained_demo.py +220 -0
  332. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/essay.md +80 -0
  333. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/eval/run_benchmark.py +137 -0
  334. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/eval/synthetic_trust_failures.yaml +120 -0
  335. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/CITATIONS.md +34 -0
  336. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/__init__.py +115 -0
  337. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/_calibration.py +77 -0
  338. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/_composition.py +86 -0
  339. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/_playbooks.py +200 -0
  340. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/cli.py +241 -0
  341. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/generator.py +753 -0
  342. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/prompts.py +169 -0
  343. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/lib/schema.py +352 -0
  344. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/tests/conftest.py +5 -0
  345. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/tests/test_mcallister_trust.py +196 -0
  346. valanistack-0.1.0/module-2-team/19-mcallister-trust-dimensions/tests/test_mcallister_v2.py +348 -0
  347. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/README.md +100 -0
  348. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/demo/01_self_contained_demo.py +178 -0
  349. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/essay.md +60 -0
  350. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/eval/run_benchmark.py +143 -0
  351. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/eval/synthetic_safety_failures.yaml +90 -0
  352. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/CITATIONS.md +31 -0
  353. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/__init__.py +116 -0
  354. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/_calibration.py +78 -0
  355. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/_composition.py +99 -0
  356. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/_playbooks.py +202 -0
  357. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/cli.py +241 -0
  358. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/generator.py +722 -0
  359. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/prompts.py +163 -0
  360. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/lib/schema.py +356 -0
  361. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/tests/conftest.py +1 -0
  362. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/tests/test_psych_safety.py +202 -0
  363. valanistack-0.1.0/module-2-team/20-edmondson-psych-safety/tests/test_psych_safety_v2.py +366 -0
  364. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/README.md +96 -0
  365. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/demo/01_self_contained_demo.py +254 -0
  366. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/essay.md +87 -0
  367. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/eval/run_benchmark.py +136 -0
  368. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/eval/synthetic_conversations.yaml +165 -0
  369. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/CITATIONS.md +31 -0
  370. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/__init__.py +119 -0
  371. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/_calibration.py +91 -0
  372. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/_composition.py +92 -0
  373. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/_playbooks.py +205 -0
  374. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/cli.py +241 -0
  375. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/generator.py +741 -0
  376. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/prompts.py +169 -0
  377. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/lib/schema.py +348 -0
  378. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/tests/conftest.py +5 -0
  379. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/tests/test_glaser_conversation.py +242 -0
  380. valanistack-0.1.0/module-2-team/21-glaser-conversation-steering/tests/test_glaser_v2.py +350 -0
  381. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/README.md +90 -0
  382. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/demo/01_self_contained_demo.py +233 -0
  383. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/essay.md +82 -0
  384. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/eval/run_benchmark.py +155 -0
  385. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/eval/synthetic_trigger_failures.yaml +109 -0
  386. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/CITATIONS.md +30 -0
  387. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/__init__.py +115 -0
  388. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/_calibration.py +77 -0
  389. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/_composition.py +96 -0
  390. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/_playbooks.py +198 -0
  391. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/cli.py +241 -0
  392. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/generator.py +714 -0
  393. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/prompts.py +155 -0
  394. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/lib/schema.py +340 -0
  395. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/tests/conftest.py +5 -0
  396. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/tests/test_feedback_triggers.py +219 -0
  397. valanistack-0.1.0/module-2-team/22-stone-heen-feedback-triggers/tests/test_feedback_triggers_v2.py +349 -0
  398. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/README.md +123 -0
  399. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/demo/01_self_contained_demo.py +235 -0
  400. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/essay.md +87 -0
  401. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/eval/run_benchmark.py +142 -0
  402. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/eval/synthetic_feedback_requests.yaml +112 -0
  403. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/CITATIONS.md +32 -0
  404. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/__init__.py +112 -0
  405. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/_calibration.py +82 -0
  406. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/_composition.py +95 -0
  407. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/_playbooks.py +200 -0
  408. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/cli.py +244 -0
  409. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/generator.py +680 -0
  410. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/prompts.py +158 -0
  411. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/lib/schema.py +378 -0
  412. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/tests/conftest.py +5 -0
  413. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/tests/test_plus_delta.py +241 -0
  414. valanistack-0.1.0/module-2-team/23-plus-delta-feedback-format/tests/test_plus_delta_v2.py +354 -0
  415. valanistack-0.1.0/module-2-team/24-smart-goal-generator/README.md +93 -0
  416. valanistack-0.1.0/module-2-team/24-smart-goal-generator/demo/01_self_contained_demo.py +198 -0
  417. valanistack-0.1.0/module-2-team/24-smart-goal-generator/essay.md +76 -0
  418. valanistack-0.1.0/module-2-team/24-smart-goal-generator/eval/run_benchmark.py +138 -0
  419. valanistack-0.1.0/module-2-team/24-smart-goal-generator/eval/synthetic_smart_requests.yaml +80 -0
  420. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/CITATIONS.md +30 -0
  421. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/__init__.py +114 -0
  422. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/_calibration.py +77 -0
  423. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/_composition.py +91 -0
  424. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/_playbooks.py +198 -0
  425. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/cli.py +244 -0
  426. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/generator.py +688 -0
  427. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/prompts.py +139 -0
  428. valanistack-0.1.0/module-2-team/24-smart-goal-generator/lib/schema.py +386 -0
  429. valanistack-0.1.0/module-2-team/24-smart-goal-generator/tests/conftest.py +5 -0
  430. valanistack-0.1.0/module-2-team/24-smart-goal-generator/tests/test_smart_goal.py +230 -0
  431. valanistack-0.1.0/module-2-team/24-smart-goal-generator/tests/test_smart_goal_v2.py +362 -0
  432. valanistack-0.1.0/module-2-team/25-group-decision-models/README.md +121 -0
  433. valanistack-0.1.0/module-2-team/25-group-decision-models/demo/01_self_contained_demo.py +163 -0
  434. valanistack-0.1.0/module-2-team/25-group-decision-models/essay.md +95 -0
  435. valanistack-0.1.0/module-2-team/25-group-decision-models/eval/run_benchmark.py +145 -0
  436. valanistack-0.1.0/module-2-team/25-group-decision-models/eval/synthetic_decision_requests.yaml +119 -0
  437. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/CITATIONS.md +29 -0
  438. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/__init__.py +118 -0
  439. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/_calibration.py +80 -0
  440. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/_composition.py +82 -0
  441. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/_playbooks.py +217 -0
  442. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/cli.py +257 -0
  443. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/generator.py +732 -0
  444. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/prompts.py +146 -0
  445. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/schema.py +403 -0
  446. valanistack-0.1.0/module-2-team/25-group-decision-models/lib/tally.py +323 -0
  447. valanistack-0.1.0/module-2-team/25-group-decision-models/tests/conftest.py +5 -0
  448. valanistack-0.1.0/module-2-team/25-group-decision-models/tests/test_group_decision.py +318 -0
  449. valanistack-0.1.0/module-2-team/25-group-decision-models/tests/test_group_decision_v2.py +338 -0
  450. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/README.md +100 -0
  451. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/demo/01_self_contained_demo.py +293 -0
  452. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/essay.md +82 -0
  453. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/eval/run_benchmark.py +158 -0
  454. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/eval/synthetic_debate_failures.yaml +143 -0
  455. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/CITATIONS.md +45 -0
  456. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/__init__.py +115 -0
  457. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/_calibration.py +77 -0
  458. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/_composition.py +99 -0
  459. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/_playbooks.py +202 -0
  460. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/cli.py +241 -0
  461. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/generator.py +749 -0
  462. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/prompts.py +155 -0
  463. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/lib/schema.py +359 -0
  464. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/tests/conftest.py +5 -0
  465. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/tests/test_debate_pathology.py +241 -0
  466. valanistack-0.1.0/module-2-team/26-groupthink-polarization-contagion/tests/test_debate_pathology_v2.py +346 -0
  467. valanistack-0.1.0/module-2-team/27-bias-stack-detector/README.md +108 -0
  468. valanistack-0.1.0/module-2-team/27-bias-stack-detector/demo/01_self_contained_demo.py +230 -0
  469. valanistack-0.1.0/module-2-team/27-bias-stack-detector/essay.md +50 -0
  470. valanistack-0.1.0/module-2-team/27-bias-stack-detector/eval/run_benchmark.py +153 -0
  471. valanistack-0.1.0/module-2-team/27-bias-stack-detector/eval/synthetic_bias_failures.yaml +117 -0
  472. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/CITATIONS.md +39 -0
  473. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/__init__.py +116 -0
  474. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/_calibration.py +77 -0
  475. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/_composition.py +99 -0
  476. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/_playbooks.py +200 -0
  477. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/cli.py +241 -0
  478. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/generator.py +732 -0
  479. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/prompts.py +155 -0
  480. valanistack-0.1.0/module-2-team/27-bias-stack-detector/lib/schema.py +360 -0
  481. valanistack-0.1.0/module-2-team/27-bias-stack-detector/tests/conftest.py +5 -0
  482. valanistack-0.1.0/module-2-team/27-bias-stack-detector/tests/test_bias_stack.py +218 -0
  483. valanistack-0.1.0/module-2-team/27-bias-stack-detector/tests/test_bias_stack_v2.py +365 -0
  484. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/README.md +95 -0
  485. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/demo/01_self_contained_demo.py +235 -0
  486. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/essay.md +78 -0
  487. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/eval/run_benchmark.py +143 -0
  488. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/eval/synthetic_role_failures.yaml +117 -0
  489. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/CITATIONS.md +32 -0
  490. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/__init__.py +116 -0
  491. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/_calibration.py +78 -0
  492. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/_composition.py +99 -0
  493. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/_playbooks.py +198 -0
  494. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/cli.py +241 -0
  495. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/generator.py +785 -0
  496. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/prompts.py +156 -0
  497. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/lib/schema.py +350 -0
  498. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/tests/conftest.py +5 -0
  499. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/tests/test_devils_advocate.py +214 -0
  500. valanistack-0.1.0/module-2-team/28-devils-advocate-separator/tests/test_devils_advocate_v2.py +398 -0
  501. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/README.md +107 -0
  502. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/demo/01_self_contained_demo.py +176 -0
  503. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/essay.md +60 -0
  504. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/eval/run_benchmark.py +134 -0
  505. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/eval/synthetic_style_mismatches.yaml +107 -0
  506. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/CITATIONS.md +29 -0
  507. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/__init__.py +115 -0
  508. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/_calibration.py +82 -0
  509. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/_composition.py +98 -0
  510. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/_playbooks.py +195 -0
  511. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/cli.py +241 -0
  512. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/generator.py +755 -0
  513. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/prompts.py +162 -0
  514. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/lib/schema.py +353 -0
  515. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/tests/conftest.py +1 -0
  516. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/tests/test_thomas_kilmann.py +184 -0
  517. valanistack-0.1.0/module-2-team/29-thomas-kilmann-selector/tests/test_thomas_kilmann_v2.py +361 -0
  518. valanistack-0.1.0/module-2-team/30-aar-generator/README.md +141 -0
  519. valanistack-0.1.0/module-2-team/30-aar-generator/demo/01_self_contained_demo.py +265 -0
  520. valanistack-0.1.0/module-2-team/30-aar-generator/demo/README.md +26 -0
  521. valanistack-0.1.0/module-2-team/30-aar-generator/essay.md +107 -0
  522. valanistack-0.1.0/module-2-team/30-aar-generator/eval/README.md +41 -0
  523. valanistack-0.1.0/module-2-team/30-aar-generator/eval/run_benchmark.py +194 -0
  524. valanistack-0.1.0/module-2-team/30-aar-generator/eval/synthetic_failures.yaml +218 -0
  525. valanistack-0.1.0/module-2-team/30-aar-generator/lib/PYTHON_NOTES.md +19 -0
  526. valanistack-0.1.0/module-2-team/30-aar-generator/lib/__init__.py +168 -0
  527. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_analyzer.py +501 -0
  528. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_calibration.py +75 -0
  529. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_composition.py +95 -0
  530. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_guards.py +136 -0
  531. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_json_parsing.py +71 -0
  532. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_logging.py +208 -0
  533. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_playbooks.py +198 -0
  534. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_retry.py +109 -0
  535. valanistack-0.1.0/module-2-team/30-aar-generator/lib/_telemetry.py +189 -0
  536. valanistack-0.1.0/module-2-team/30-aar-generator/lib/cli.py +220 -0
  537. valanistack-0.1.0/module-2-team/30-aar-generator/lib/clients.py +372 -0
  538. valanistack-0.1.0/module-2-team/30-aar-generator/lib/generator.py +297 -0
  539. valanistack-0.1.0/module-2-team/30-aar-generator/lib/prompts.py +101 -0
  540. valanistack-0.1.0/module-2-team/30-aar-generator/lib/schema.py +330 -0
  541. valanistack-0.1.0/module-2-team/30-aar-generator/tests/__init__.py +0 -0
  542. valanistack-0.1.0/module-2-team/30-aar-generator/tests/conftest.py +5 -0
  543. valanistack-0.1.0/module-2-team/30-aar-generator/tests/test_aar_v2.py +306 -0
  544. valanistack-0.1.0/module-2-team/30-aar-generator/tests/test_cli.py +125 -0
  545. valanistack-0.1.0/module-2-team/30-aar-generator/tests/test_edge_cases.py +210 -0
  546. valanistack-0.1.0/module-2-team/30-aar-generator/tests/test_generator_flow.py +130 -0
  547. valanistack-0.1.0/module-2-team/30-aar-generator/tests/test_schema.py +144 -0
  548. valanistack-0.1.0/module-2-team/30-aar-generator/tests/test_shared_infra.py +346 -0
  549. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/README.md +113 -0
  550. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/demo/01_self_contained_demo.py +218 -0
  551. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/essay.md +88 -0
  552. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/eval/run_benchmark.py +134 -0
  553. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/eval/synthetic_culture_failures.yaml +115 -0
  554. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/CITATIONS.md +31 -0
  555. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/__init__.py +116 -0
  556. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/_calibration.py +79 -0
  557. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/_composition.py +95 -0
  558. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/_playbooks.py +199 -0
  559. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/cli.py +241 -0
  560. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/generator.py +715 -0
  561. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/prompts.py +164 -0
  562. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/lib/schema.py +358 -0
  563. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/tests/conftest.py +5 -0
  564. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/tests/test_schein_culture.py +210 -0
  565. valanistack-0.1.0/module-3-organization/31-schein-iceberg-culture/tests/test_schein_culture_v2.py +334 -0
  566. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/README.md +105 -0
  567. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/demo/01_self_contained_demo.py +240 -0
  568. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/essay.md +92 -0
  569. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/eval/run_benchmark.py +134 -0
  570. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/eval/synthetic_culture_profiles.yaml +106 -0
  571. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/CITATIONS.md +29 -0
  572. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/__init__.py +128 -0
  573. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/_calibration.py +70 -0
  574. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/_composition.py +131 -0
  575. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/_playbooks.py +225 -0
  576. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/cli.py +241 -0
  577. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/generator.py +758 -0
  578. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/prompts.py +260 -0
  579. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/lib/schema.py +471 -0
  580. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/tests/conftest.py +5 -0
  581. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/tests/test_robbins_culture.py +229 -0
  582. valanistack-0.1.0/module-3-organization/32-robbins-judge-7-culture/tests/test_robbins_culture_v2.py +367 -0
  583. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/README.md +94 -0
  584. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/demo/01_self_contained_demo.py +256 -0
  585. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/essay.md +84 -0
  586. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/eval/run_benchmark.py +136 -0
  587. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/eval/synthetic_structures.yaml +224 -0
  588. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/CITATIONS.md +35 -0
  589. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/__init__.py +138 -0
  590. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/_calibration.py +68 -0
  591. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/_composition.py +123 -0
  592. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/_playbooks.py +209 -0
  593. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/cli.py +241 -0
  594. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/generator.py +806 -0
  595. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/prompts.py +253 -0
  596. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/lib/schema.py +490 -0
  597. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/tests/conftest.py +5 -0
  598. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/tests/test_org_structure.py +249 -0
  599. valanistack-0.1.0/module-3-organization/33-org-structure-matrix/tests/test_org_structure_v2.py +368 -0
  600. valanistack-0.1.0/module-3-organization/34-span-of-control/README.md +89 -0
  601. valanistack-0.1.0/module-3-organization/34-span-of-control/demo/01_self_contained_demo.py +173 -0
  602. valanistack-0.1.0/module-3-organization/34-span-of-control/essay.md +99 -0
  603. valanistack-0.1.0/module-3-organization/34-span-of-control/eval/run_benchmark.py +138 -0
  604. valanistack-0.1.0/module-3-organization/34-span-of-control/eval/synthetic_span_traces.yaml +165 -0
  605. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/CITATIONS.md +34 -0
  606. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/__init__.py +167 -0
  607. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/_calibration.py +70 -0
  608. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/_composition.py +108 -0
  609. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/_playbooks.py +204 -0
  610. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/cli.py +241 -0
  611. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/generator.py +647 -0
  612. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/metrics.py +378 -0
  613. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/prompts.py +160 -0
  614. valanistack-0.1.0/module-3-organization/34-span-of-control/lib/schema.py +438 -0
  615. valanistack-0.1.0/module-3-organization/34-span-of-control/tests/conftest.py +5 -0
  616. valanistack-0.1.0/module-3-organization/34-span-of-control/tests/test_span_of_control.py +275 -0
  617. valanistack-0.1.0/module-3-organization/34-span-of-control/tests/test_span_of_control_v2.py +310 -0
  618. valanistack-0.1.0/pyproject.toml +238 -0
@@ -0,0 +1,252 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ concurrency:
13
+ group: ci-${{ github.ref }}
14
+ cancel-in-progress: true
15
+
16
+ jobs:
17
+ test:
18
+ name: Test (Python ${{ matrix.python-version }} on ${{ matrix.os }})
19
+ runs-on: ${{ matrix.os }}
20
+ strategy:
21
+ fail-fast: false
22
+ matrix:
23
+ os: [ubuntu-latest, macos-latest]
24
+ python-version: ["3.11", "3.12", "3.13"]
25
+
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+
29
+ - name: Set up Python
30
+ uses: actions/setup-python@v5
31
+ with:
32
+ python-version: ${{ matrix.python-version }}
33
+ cache: pip
34
+
35
+ - name: Install package + test deps
36
+ run: |
37
+ python -m pip install --upgrade pip
38
+ python -m pip install -e .
39
+ python -m pip install pytest pytest-cov pyyaml
40
+
41
+ - name: Run tests (all patterns, with coverage)
42
+ run: |
43
+ pytest module-1-individual/ module-2-team/ module-3-organization/ \
44
+ -v --tb=short \
45
+ --cov=vstack \
46
+ --cov-report=term-missing \
47
+ --cov-report=xml
48
+
49
+ - name: Upload coverage artifact
50
+ if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13'
51
+ uses: actions/upload-artifact@v4
52
+ with:
53
+ name: coverage-xml
54
+ path: coverage.xml
55
+ retention-days: 14
56
+
57
+ lint:
58
+ name: Lint (ruff)
59
+ runs-on: ubuntu-latest
60
+ steps:
61
+ - uses: actions/checkout@v4
62
+
63
+ - name: Set up Python
64
+ uses: actions/setup-python@v5
65
+ with:
66
+ python-version: "3.13"
67
+ cache: pip
68
+
69
+ - name: Install ruff
70
+ run: python -m pip install ruff
71
+
72
+ - name: Run ruff check
73
+ run: ruff check module-1-individual/ module-2-team/ module-3-organization/
74
+
75
+ - name: Run ruff format check
76
+ run: ruff format --check module-1-individual/ module-2-team/ module-3-organization/
77
+
78
+ typecheck:
79
+ name: Typecheck (mypy)
80
+ runs-on: ubuntu-latest
81
+ steps:
82
+ - uses: actions/checkout@v4
83
+
84
+ - name: Set up Python
85
+ uses: actions/setup-python@v5
86
+ with:
87
+ python-version: "3.13"
88
+ cache: pip
89
+
90
+ - name: Install mypy and dependencies
91
+ run: |
92
+ python -m pip install mypy pydantic
93
+ python -m pip install -e .
94
+
95
+ - name: Run mypy per-pattern
96
+ # Each pattern's lib is its own logical package (via pyproject's
97
+ # force-include mapping). Running mypy across all patterns at once
98
+ # produces a 'Duplicate module named "lib"' error; running each
99
+ # pattern's lib separately avoids that and gives clearer per-pattern
100
+ # output. New patterns add another line here.
101
+ run: |
102
+ set -e
103
+ for pattern in \
104
+ module-2-team/30-aar-generator \
105
+ module-2-team/17-lencioni-diagnostic \
106
+ module-2-team/18-trust-triangle-audit \
107
+ module-1-individual/03-johari-window \
108
+ module-2-team/13-grpi-working-agreement \
109
+ module-2-team/27-bias-stack-detector \
110
+ module-2-team/20-edmondson-psych-safety \
111
+ module-2-team/29-thomas-kilmann-selector \
112
+ module-2-team/22-stone-heen-feedback-triggers \
113
+ module-2-team/28-devils-advocate-separator \
114
+ module-1-individual/01-lewin-formula \
115
+ module-2-team/19-mcallister-trust-dimensions \
116
+ module-2-team/15-social-loafing-detector \
117
+ module-2-team/26-groupthink-polarization-contagion \
118
+ module-2-team/14-process-gain-loss-detector \
119
+ module-2-team/24-smart-goal-generator \
120
+ module-1-individual/11-mcgregor-orchestrator-mode \
121
+ module-2-team/25-group-decision-models \
122
+ module-3-organization/31-schein-iceberg-culture \
123
+ module-1-individual/08-grant-strengths-as-weaknesses \
124
+ module-2-team/23-plus-delta-feedback-format \
125
+ module-3-organization/32-robbins-judge-7-culture \
126
+ module-2-team/16-heffernan-superflocks-detector \
127
+ module-1-individual/06-yerkes-dodson-workload \
128
+ module-3-organization/33-org-structure-matrix \
129
+ module-1-individual/09-motivation-traps \
130
+ module-2-team/21-glaser-conversation-steering \
131
+ module-1-individual/02-goleman-ei-audit \
132
+ module-1-individual/10-sdt-intrinsic-reward \
133
+ module-3-organization/34-span-of-control \
134
+ module-1-individual/04-danva-emotion-reader \
135
+ module-1-individual/05-cognitive-reappraisal \
136
+ module-1-individual/07-hexaco-personality \
137
+ module-1-individual/12-vroom-expectancy; do
138
+ echo "=== mypy: $pattern ==="
139
+ mypy "$pattern/lib" --strict --ignore-missing-imports
140
+ done
141
+
142
+ security:
143
+ name: Security (bandit + pip-audit)
144
+ runs-on: ubuntu-latest
145
+ steps:
146
+ - uses: actions/checkout@v4
147
+
148
+ - name: Set up Python
149
+ uses: actions/setup-python@v5
150
+ with:
151
+ python-version: "3.13"
152
+ cache: pip
153
+
154
+ - name: Install security tools
155
+ run: python -m pip install "bandit[toml]" pip-audit
156
+
157
+ - name: Run bandit (library code only)
158
+ # Tests and demos exercise the library deliberately, so they may
159
+ # trip rules that flag exec / subprocess / hardcoded "secrets" in
160
+ # canned fixtures. Scan only the shipping library code.
161
+ run: |
162
+ bandit -r \
163
+ module-1-individual/*/lib \
164
+ module-2-team/*/lib \
165
+ module-3-organization/*/lib \
166
+ -ll -ii -f txt
167
+
168
+ - name: Run pip-audit (declared deps)
169
+ # The library itself only pins pydantic + (optional) anthropic/openai.
170
+ # pip-audit on the installed environment catches transitive issues.
171
+ # We use --strict in the primary pass but fall through to a warn-only
172
+ # pass so a flaky transitive doesn't false-positive the entire matrix.
173
+ run: |
174
+ python -m pip install -e ".[all]"
175
+ pip-audit --strict --progress-spinner=off || pip-audit --progress-spinner=off
176
+
177
+ build:
178
+ name: Build wheel + sdist
179
+ runs-on: ubuntu-latest
180
+ steps:
181
+ - uses: actions/checkout@v4
182
+
183
+ - name: Set up Python
184
+ uses: actions/setup-python@v5
185
+ with:
186
+ python-version: "3.13"
187
+ cache: pip
188
+
189
+ - name: Install build
190
+ run: python -m pip install build
191
+
192
+ - name: Build
193
+ run: python -m build
194
+
195
+ - name: Verify wheel ships all 34 namespaces + py.typed marker
196
+ run: |
197
+ python -m pip install dist/valanistack-*-py3-none-any.whl
198
+ python -c "
199
+ import importlib, os
200
+ import vstack
201
+ assert vstack.__version__, 'top-level __version__ missing'
202
+ print(f'vstack v{vstack.__version__}')
203
+ assert os.path.exists(os.path.join(os.path.dirname(vstack.__file__), 'py.typed')), 'py.typed marker missing from wheel'
204
+ print('py.typed marker present')
205
+ namespaces = [
206
+ 'vstack.aar',
207
+ 'vstack.lencioni',
208
+ 'vstack.trust_triangle',
209
+ 'vstack.johari',
210
+ 'vstack.grpi',
211
+ 'vstack.bias_stack',
212
+ 'vstack.psych_safety',
213
+ 'vstack.thomas_kilmann',
214
+ 'vstack.feedback_triggers',
215
+ 'vstack.devils_advocate',
216
+ 'vstack.lewin',
217
+ 'vstack.mcallister_trust',
218
+ 'vstack.social_loafing',
219
+ 'vstack.debate_pathology',
220
+ 'vstack.process_gain_loss',
221
+ 'vstack.smart_goal',
222
+ 'vstack.mcgregor',
223
+ 'vstack.group_decision',
224
+ 'vstack.schein_culture',
225
+ 'vstack.grant_strengths',
226
+ 'vstack.plus_delta',
227
+ 'vstack.robbins_culture',
228
+ 'vstack.superflocks',
229
+ 'vstack.yerkes_dodson',
230
+ 'vstack.org_structure',
231
+ 'vstack.motivation_traps',
232
+ 'vstack.glaser_conversation',
233
+ 'vstack.goleman_ei',
234
+ 'vstack.sdt_reward',
235
+ 'vstack.span_of_control',
236
+ 'vstack.danva_emotion',
237
+ 'vstack.cognitive_reappraisal',
238
+ 'vstack.hexaco',
239
+ 'vstack.vroom_expectancy',
240
+ ]
241
+ for ns in namespaces:
242
+ mod = importlib.import_module(ns)
243
+ assert hasattr(mod, '__all__'), f'{ns} missing __all__'
244
+ print(f'All {len(namespaces)} pattern namespaces import cleanly')
245
+ "
246
+
247
+ - name: Upload artifacts
248
+ uses: actions/upload-artifact@v4
249
+ with:
250
+ name: dist-${{ github.sha }}
251
+ path: dist/
252
+ retention-days: 14
@@ -0,0 +1,152 @@
1
+ name: Release
2
+
3
+ # Triggers on a pushed git tag matching `v*` (e.g. `v0.1.0`, `v1.0.0-rc1`).
4
+ # Builds the wheel + sdist, attests the build, and publishes to PyPI via
5
+ # PyPI's trusted publisher (OIDC) — no long-lived API token in repo secrets.
6
+ #
7
+ # To use this workflow you must first configure vstack as a trusted
8
+ # publisher on PyPI:
9
+ # https://docs.pypi.org/trusted-publishers/
10
+ #
11
+ # Once configured, cutting a release is:
12
+ #
13
+ # git tag v0.1.0
14
+ # git push origin v0.1.0
15
+ #
16
+ # The workflow does the rest.
17
+
18
+ on:
19
+ push:
20
+ tags:
21
+ - "v*"
22
+
23
+ permissions:
24
+ contents: read
25
+
26
+ concurrency:
27
+ group: release-${{ github.ref }}
28
+ cancel-in-progress: false
29
+
30
+ jobs:
31
+ build:
32
+ name: Build wheel + sdist for release
33
+ runs-on: ubuntu-latest
34
+ outputs:
35
+ version: ${{ steps.version.outputs.version }}
36
+ steps:
37
+ - uses: actions/checkout@v4
38
+
39
+ - name: Set up Python
40
+ uses: actions/setup-python@v5
41
+ with:
42
+ python-version: "3.13"
43
+ cache: pip
44
+
45
+ - name: Verify tag matches pyproject version
46
+ id: version
47
+ run: |
48
+ set -e
49
+ TAG="${GITHUB_REF_NAME#v}"
50
+ PYPROJECT_VERSION=$(python -c "import tomllib, pathlib; print(tomllib.loads(pathlib.Path('pyproject.toml').read_text())['project']['version'])")
51
+ echo "Tag version: $TAG"
52
+ echo "pyproject version: $PYPROJECT_VERSION"
53
+ if [ "$TAG" != "$PYPROJECT_VERSION" ]; then
54
+ echo "::error::tag $TAG does not match pyproject.toml version $PYPROJECT_VERSION"
55
+ exit 1
56
+ fi
57
+ echo "version=$TAG" >> "$GITHUB_OUTPUT"
58
+
59
+ - name: Install build
60
+ run: python -m pip install build
61
+
62
+ - name: Build wheel + sdist
63
+ run: python -m build
64
+
65
+ - name: Smoke-test wheel imports all 34 namespaces
66
+ run: |
67
+ python -m pip install dist/valanistack-*-py3-none-any.whl
68
+ python -c "
69
+ import importlib, vstack
70
+ assert vstack.__version__ == '${{ steps.version.outputs.version }}', f'version mismatch: {vstack.__version__}'
71
+ for ns in [
72
+ 'vstack.aar', 'vstack.lencioni', 'vstack.trust_triangle',
73
+ 'vstack.johari', 'vstack.grpi', 'vstack.bias_stack',
74
+ 'vstack.psych_safety', 'vstack.thomas_kilmann',
75
+ 'vstack.feedback_triggers', 'vstack.devils_advocate',
76
+ 'vstack.lewin', 'vstack.mcallister_trust',
77
+ 'vstack.social_loafing', 'vstack.debate_pathology',
78
+ 'vstack.process_gain_loss', 'vstack.smart_goal',
79
+ 'vstack.mcgregor', 'vstack.group_decision',
80
+ 'vstack.schein_culture', 'vstack.grant_strengths',
81
+ 'vstack.plus_delta', 'vstack.robbins_culture',
82
+ 'vstack.superflocks', 'vstack.yerkes_dodson',
83
+ 'vstack.org_structure', 'vstack.motivation_traps',
84
+ 'vstack.glaser_conversation', 'vstack.goleman_ei',
85
+ 'vstack.sdt_reward', 'vstack.span_of_control',
86
+ 'vstack.danva_emotion', 'vstack.cognitive_reappraisal',
87
+ 'vstack.hexaco', 'vstack.vroom_expectancy',
88
+ ]:
89
+ importlib.import_module(ns)
90
+ print('Release smoke test passed')
91
+ "
92
+
93
+ - name: Upload built artifacts
94
+ uses: actions/upload-artifact@v4
95
+ with:
96
+ name: release-dist
97
+ path: dist/
98
+ retention-days: 30
99
+
100
+ publish-pypi:
101
+ name: Publish to PyPI (trusted publisher)
102
+ needs: build
103
+ runs-on: ubuntu-latest
104
+ environment:
105
+ name: pypi
106
+ url: https://pypi.org/project/valanistack/${{ needs.build.outputs.version }}/
107
+ permissions:
108
+ id-token: write
109
+ steps:
110
+ - name: Download built artifacts
111
+ uses: actions/download-artifact@v4
112
+ with:
113
+ name: release-dist
114
+ path: dist/
115
+
116
+ - name: Publish to PyPI
117
+ uses: pypa/gh-action-pypi-publish@release/v1
118
+
119
+ github-release:
120
+ name: Create GitHub Release
121
+ needs: [build, publish-pypi]
122
+ runs-on: ubuntu-latest
123
+ permissions:
124
+ contents: write
125
+ steps:
126
+ - uses: actions/checkout@v4
127
+
128
+ - name: Download built artifacts
129
+ uses: actions/download-artifact@v4
130
+ with:
131
+ name: release-dist
132
+ path: dist/
133
+
134
+ - name: Create GitHub Release with artifacts
135
+ uses: softprops/action-gh-release@v2
136
+ with:
137
+ tag_name: ${{ github.ref_name }}
138
+ name: vstack ${{ needs.build.outputs.version }}
139
+ body: |
140
+ vstack ${{ needs.build.outputs.version }}.
141
+
142
+ Install:
143
+ ```
144
+ pip install valanistack==${{ needs.build.outputs.version }}
145
+ ```
146
+
147
+ See [CHANGELOG.md](https://github.com/valani9/vstack/blob/main/CHANGELOG.md) for the full release notes.
148
+ files: |
149
+ dist/valanistack-*.whl
150
+ dist/valanistack-*.tar.gz
151
+ draft: false
152
+ prerelease: ${{ contains(github.ref_name, '-rc') || contains(github.ref_name, '-beta') || contains(github.ref_name, '-alpha') }}
@@ -0,0 +1,53 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ dist/
9
+ *.egg-info/
10
+ .eggs/
11
+ .pytest_cache/
12
+ .mypy_cache/
13
+ .ruff_cache/
14
+ .coverage
15
+ htmlcov/
16
+ .tox/
17
+ .nox/
18
+ venv/
19
+ .venv/
20
+ env/
21
+ .env
22
+
23
+ # Node
24
+ node_modules/
25
+ package-lock.json
26
+ .npm
27
+ *.tsbuildinfo
28
+
29
+ # Editor
30
+ .vscode/
31
+ .idea/
32
+ *.swp
33
+ *.swo
34
+ .DS_Store
35
+
36
+ # Project
37
+ .cache/
38
+ *.log
39
+ notebooks/.ipynb_checkpoints/
40
+ benchmark-runs/
41
+ demo-outputs/
42
+ *.pkl
43
+ module-2-team/30-aar-generator/eval/results/
44
+ module-1-individual/**/eval/results/
45
+ module-3-system/**/eval/results/
46
+ dist/
47
+ module-2-team/17-lencioni-diagnostic/eval/results/
48
+ module-2-team/18-trust-triangle-audit/eval/results/
49
+ module-1-individual/03-johari-window/eval/results/
50
+ module-2-team/13-grpi-working-agreement/eval/results/
51
+ module-2-team/27-bias-stack-detector/eval/results/
52
+ module-2-team/20-edmondson-psych-safety/eval/results/
53
+ module-2-team/29-thomas-kilmann-selector/eval/results/
@@ -0,0 +1,50 @@
1
+ # Pre-commit hooks for vstack. Install with:
2
+ #
3
+ # pre-commit install
4
+ #
5
+ # Then every `git commit` runs ruff (lint + format) + mypy + bandit + pip-audit
6
+ # against the staged files only. Manual full-repo run:
7
+ #
8
+ # pre-commit run --all-files
9
+ #
10
+ # The hooks mirror what CI runs, so passing locally = green PR.
11
+
12
+ repos:
13
+ - repo: https://github.com/pre-commit/pre-commit-hooks
14
+ rev: v5.0.0
15
+ hooks:
16
+ - id: check-yaml
17
+ - id: check-toml
18
+ - id: check-merge-conflict
19
+ - id: end-of-file-fixer
20
+ - id: trailing-whitespace
21
+ - id: check-added-large-files
22
+ args: [--maxkb=512]
23
+
24
+ - repo: https://github.com/astral-sh/ruff-pre-commit
25
+ rev: v0.7.4
26
+ hooks:
27
+ - id: ruff
28
+ args: [--fix]
29
+ files: ^(module-1-individual|module-2-team|module-3-organization)/
30
+ - id: ruff-format
31
+ files: ^(module-1-individual|module-2-team|module-3-organization)/
32
+
33
+ - repo: https://github.com/pre-commit/mirrors-mypy
34
+ rev: v1.13.0
35
+ hooks:
36
+ - id: mypy
37
+ # mypy needs the package installed; the hook installs additional
38
+ # dependencies into its own venv.
39
+ additional_dependencies: [pydantic>=2.6.0]
40
+ args: [--strict, --ignore-missing-imports]
41
+ files: ^(module-1-individual|module-2-team|module-3-organization)/.*/lib/.*\.py$
42
+
43
+ - repo: https://github.com/PyCQA/bandit
44
+ rev: 1.7.10
45
+ hooks:
46
+ - id: bandit
47
+ # Library code only — fixture-heavy demos and tests trip rules that
48
+ # do not represent real risk.
49
+ args: [-ll, -ii]
50
+ files: ^(module-1-individual|module-2-team|module-3-organization)/.*/lib/.*\.py$
@@ -0,0 +1,133 @@
1
+ # Changelog
2
+
3
+ All notable changes to vstack are documented in this file. The format
4
+ follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the
5
+ project adheres to [Semantic Versioning](https://semver.org/) from
6
+ `1.0.0` onward. During the `0.x` series, minor bumps may include
7
+ breaking changes (see API stability promise in `vstack/__init__.py`).
8
+
9
+ ## [0.1.0] — 2026-05-23
10
+
11
+ First production-ready release. All 34 patterns from the roadmap ship at
12
+ the 5-layer quality bar (README + library + demo + benchmark + essay).
13
+
14
+ ### Added — top-level package
15
+
16
+ - `vstack.__version__` is now defined at the namespace root.
17
+ - `py.typed` marker ships in the wheel — downstream consumers now pick
18
+ up the library's type hints by default.
19
+ - API stability promise documented in the top-level package docstring.
20
+
21
+ ### Added — shared production-grade infrastructure (`vstack.aar.*`)
22
+
23
+ - **Structured logging** with run-id correlation: `new_run_id`,
24
+ `run_context`, `get_logger`, `JsonFormatter`,
25
+ `configure_json_logging`. Patterns can correlate every log line
26
+ from a single diagnostic run via a stable identifier, and ship JSON
27
+ logs to structured backends without per-pattern changes.
28
+ - **Token / cost telemetry**: `TelemetrySink` protocol,
29
+ `InMemoryTelemetrySink`, `NullTelemetrySink`, `record_llm_call`,
30
+ `time_call`, `set_default_sink`. Default is off (Null sink); when
31
+ enabled, every LLM call emits an event with model + token counts +
32
+ elapsed_ms + run_id + pattern.
33
+ - **Prompt-injection input guards**: `sanitize_for_prompt`,
34
+ `detect_injection`, `fence`. Strip control characters, cap absurd
35
+ field sizes, detect known impersonation phrases, and provide
36
+ unambiguous delimiters for fencing user content inside prompt
37
+ templates.
38
+ - **Async LLM client adapters**: `AnthropicAsyncClient`,
39
+ `OpenAIAsyncClient`, `OllamaAsyncClient` — same constructor surface
40
+ as the sync clients, with `async def complete(...)`. Enables
41
+ parallel pattern fan-out in server traffic.
42
+ - **Token-usage tracking** on every sync + async client: `last_usage`
43
+ attribute returns an `LLMUsage` dataclass (input/output/total
44
+ tokens + model). Cost layers can read this after each call without
45
+ changing the `complete(...) -> str` return signature.
46
+ - **Configurable timeouts** on all real clients
47
+ (`DEFAULT_TIMEOUT_SECONDS = 120.0`). LLM calls can no longer hang
48
+ indefinitely on a stalled provider.
49
+
50
+ ### Added — security, release engineering, and docs
51
+
52
+ - `SECURITY.md` with vulnerability reporting policy.
53
+ - `CHANGELOG.md` (this file).
54
+ - Pre-commit hooks config (`.pre-commit-config.yaml`): ruff, ruff
55
+ format, mypy, bandit, pip-audit.
56
+ - PyPI release workflow (`.github/workflows/release.yml`) — publishes
57
+ to PyPI on git tag push via trusted publisher.
58
+ - CI extended with: bandit security scan, pip-audit dependency scan,
59
+ coverage gate, all-34-namespaces import verification in the build
60
+ job.
61
+ - README badges (CI status, PyPI version, Python versions, license).
62
+ - `examples/cookbook/` directory with cross-pattern composition
63
+ examples (orchestrator + diagnostic, parallel fan-out, telemetry
64
+ wiring).
65
+ - Per-pattern micro-benchmark harness
66
+ (`benchmarks/_perf/run_perf_suite.py`) measuring stub-client
67
+ latency p50/p95 across all 34 patterns for regression detection.
68
+
69
+ ### Changed
70
+
71
+ - `Development Status` classifier promoted from `2 - Pre-Alpha` to
72
+ `4 - Beta`.
73
+ - `Python :: 3.13` classifier added (already covered by CI matrix).
74
+ - `vstack.aar.__version__` synced to `0.1.0`.
75
+ - Documentation updated to reflect the production-readiness layer.
76
+
77
+ ### Compatibility
78
+
79
+ All existing public APIs from `0.0.14` continue to work unchanged.
80
+ The new infrastructure modules are purely additive — patterns that
81
+ do not adopt structured logging, telemetry, or input guards still
82
+ function exactly as they did in `0.0.14`.
83
+
84
+ ## [0.0.14] — 2026-05-22
85
+
86
+ Closing batch. Patterns #04, #05, #07, #12 ship — completing the
87
+ 34-pattern roadmap.
88
+
89
+ - `vstack.danva_emotion` (#04) — DANVA-style emotion-recognition
90
+ diagnostic. Per-emotion accuracy + intensity calibration + confusion
91
+ patterns computed deterministically; LLM contributes only
92
+ interventions.
93
+ - `vstack.cognitive_reappraisal` (#05) — Gross's reappraisal vs
94
+ suppression vs rumination vs avoidance vs expression classifier with
95
+ two LLM passes (strategy detection + interventions).
96
+ - `vstack.hexaco` (#07) — Lee & Ashton 6-factor personality fit
97
+ diagnostic. H-factor (honesty-humility) risk reported separately
98
+ from overall fit.
99
+ - `vstack.vroom_expectancy` (#12) — Victor Vroom's
100
+ Expectancy × Instrumentality × Valence motivation calculus. Product
101
+ computed deterministically in Python; LLM cannot override the math.
102
+
103
+ ## [0.0.13] — 2026-05-22
104
+
105
+ - `vstack.goleman_ei` (#02) — Goleman's 2×2 emotional-intelligence
106
+ diagnostic (self × other × recognition × regulation).
107
+ - `vstack.sdt_reward` (#10) — Self-Determination Theory intrinsic
108
+ reward diagnostic (autonomy, competence, relatedness).
109
+ - `vstack.span_of_control` (#34) — six deterministic
110
+ org-structure metrics computed in Python (max_span, mean_span,
111
+ centralization_index, hierarchy_depth, span_gini,
112
+ decision_bottleneck).
113
+
114
+ ## [0.0.12] — 2026-05-22
115
+
116
+ - `vstack.org_structure` (#33) — six-dimensional org structure
117
+ matrix + archetype classifier.
118
+ - `vstack.motivation_traps` (#09) — Saxberg's four motivation
119
+ traps (values, self_efficacy, emotions, attribution).
120
+ - `vstack.glaser_conversation` (#21) — conversational-intelligence
121
+ steering across three states × three levels.
122
+
123
+ ## [0.0.11 and earlier]
124
+
125
+ See git history for v0.0.11 and prior batches. Roadmap kickoff at
126
+ `v0.0.1` with pattern #30 (AAR generator); v0.0.2–v0.0.11 shipped
127
+ patterns #17, #18, #03, #13, #27, #20, #29, #22, #28, #01, #19, #15,
128
+ #26, #14, #24, #11, #25, #31, #08, #23, #32, #16, #06 incrementally.
129
+
130
+ [0.1.0]: https://github.com/valani9/vstack/releases/tag/v0.1.0
131
+ [0.0.14]: https://github.com/valani9/vstack/releases/tag/v0.0.14
132
+ [0.0.13]: https://github.com/valani9/vstack/releases/tag/v0.0.13
133
+ [0.0.12]: https://github.com/valani9/vstack/releases/tag/v0.0.12