spielos 6.2.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 (454) hide show
  1. spielos-6.2.0/LICENSE +21 -0
  2. spielos-6.2.0/PKG-INFO +110 -0
  3. spielos-6.2.0/README.md +97 -0
  4. spielos-6.2.0/company/README.md +506 -0
  5. spielos-6.2.0/company/__init__.py +5 -0
  6. spielos-6.2.0/company/__main__.py +946 -0
  7. spielos-6.2.0/company/agents/__init__.py +230 -0
  8. spielos-6.2.0/company/assets/company-profile.md +11 -0
  9. spielos-6.2.0/company/cli.py +8 -0
  10. spielos-6.2.0/company/connections/__init__.py +4 -0
  11. spielos-6.2.0/company/connections/buffer.py +788 -0
  12. spielos-6.2.0/company/connections/registry.py +68 -0
  13. spielos-6.2.0/company/departments/__init__.py +1 -0
  14. spielos-6.2.0/company/departments/_evidence.py +8 -0
  15. spielos-6.2.0/company/departments/_shared/skills/copywriting-en/SKILL.md +33 -0
  16. spielos-6.2.0/company/departments/_shared/skills/copywriting-fa/SKILL.md +488 -0
  17. spielos-6.2.0/company/departments/analytics/README.md +123 -0
  18. spielos-6.2.0/company/departments/analytics/__init__.py +23 -0
  19. spielos-6.2.0/company/departments/analytics/department.py +110 -0
  20. spielos-6.2.0/company/departments/analytics/funnel.json +44 -0
  21. spielos-6.2.0/company/departments/analytics/posthog.py +547 -0
  22. spielos-6.2.0/company/departments/analytics/skills/analytics/SKILL.md +326 -0
  23. spielos-6.2.0/company/departments/campaign_contract.py +730 -0
  24. spielos-6.2.0/company/departments/content/README.md +35 -0
  25. spielos-6.2.0/company/departments/content/__init__.py +1 -0
  26. spielos-6.2.0/company/departments/content/department.py +127 -0
  27. spielos-6.2.0/company/departments/content/evals.py +55 -0
  28. spielos-6.2.0/company/departments/content/skills/translation-fa/SKILL.md +545 -0
  29. spielos-6.2.0/company/departments/content/skills/translation-fa/persian-glossary.md +370 -0
  30. spielos-6.2.0/company/departments/content/skills/translation-fa/quality-test-suite.md +1058 -0
  31. spielos-6.2.0/company/departments/design/README.md +27 -0
  32. spielos-6.2.0/company/departments/design/__init__.py +1 -0
  33. spielos-6.2.0/company/departments/design/department.py +178 -0
  34. spielos-6.2.0/company/departments/design/evals.py +52 -0
  35. spielos-6.2.0/company/departments/design/presets.json +11 -0
  36. spielos-6.2.0/company/departments/design/skills/spielos-ui/SKILL.md +185 -0
  37. spielos-6.2.0/company/departments/design/skills/video-creation/SKILL.md +21 -0
  38. spielos-6.2.0/company/departments/design/system/journey-signature.css +32 -0
  39. spielos-6.2.0/company/departments/design/system/production.css +82 -0
  40. spielos-6.2.0/company/departments/design/templates/registry.json +228 -0
  41. spielos-6.2.0/company/departments/design/templates/social/agent-brief.html +226 -0
  42. spielos-6.2.0/company/departments/design/templates/social/batch-01.json +61 -0
  43. spielos-6.2.0/company/departments/design/templates/social/department-map.html +153 -0
  44. spielos-6.2.0/company/departments/design/templates/social/harness-architecture.html +165 -0
  45. spielos-6.2.0/company/departments/design/templates/social/list-checklist.html +137 -0
  46. spielos-6.2.0/company/departments/design/templates/social/single-fact.html +117 -0
  47. spielos-6.2.0/company/departments/design/templates/social/testimonial-pull-quote.html +119 -0
  48. spielos-6.2.0/company/departments/design/templates/video/brand-motion.css +49 -0
  49. spielos-6.2.0/company/departments/design/templates/video/contrast-text.html +331 -0
  50. spielos-6.2.0/company/departments/design/templates/video/data-card.html +317 -0
  51. spielos-6.2.0/company/departments/design/templates/video/heartbeat.html +486 -0
  52. spielos-6.2.0/company/departments/design/templates/video/loop-rail.html +343 -0
  53. spielos-6.2.0/company/departments/design/templates/video/narration.json +354 -0
  54. spielos-6.2.0/company/departments/design/templates/video/question-hook.html +301 -0
  55. spielos-6.2.0/company/departments/design/templates/video/scenario-b.html +560 -0
  56. spielos-6.2.0/company/departments/design/templates/video/scenario-c.html +377 -0
  57. spielos-6.2.0/company/departments/design/templates/video/storyboard.html +315 -0
  58. spielos-6.2.0/company/departments/design/tokens/black-gold-dark.css +29 -0
  59. spielos-6.2.0/company/departments/design/tokens/black-gold-light.css +29 -0
  60. spielos-6.2.0/company/departments/design/tokens/blue-dark.css +25 -0
  61. spielos-6.2.0/company/departments/design/tokens/blue-light.css +25 -0
  62. spielos-6.2.0/company/departments/design/tokens/discord-dark.css +25 -0
  63. spielos-6.2.0/company/departments/design/tokens/discord-light.css +25 -0
  64. spielos-6.2.0/company/departments/design/tokens/gruvbox-dark.css +25 -0
  65. spielos-6.2.0/company/departments/design/tokens/gruvbox-light.css +25 -0
  66. spielos-6.2.0/company/departments/design/tokens/index.css +139 -0
  67. spielos-6.2.0/company/departments/design/tokens/monochrome-dark.css +25 -0
  68. spielos-6.2.0/company/departments/design/tokens/monochrome-light.css +25 -0
  69. spielos-6.2.0/company/departments/design/tokens/semantic-black-gold-dark.css +41 -0
  70. spielos-6.2.0/company/departments/design/tokens/semantic-black-gold-light.css +41 -0
  71. spielos-6.2.0/company/departments/design/tokens/semantic-blue-dark.css +41 -0
  72. spielos-6.2.0/company/departments/design/tokens/semantic-blue-light.css +41 -0
  73. spielos-6.2.0/company/departments/design/tokens/semantic-discord-dark.css +41 -0
  74. spielos-6.2.0/company/departments/design/tokens/semantic-discord-light.css +41 -0
  75. spielos-6.2.0/company/departments/design/tokens/semantic-gruvbox-dark.css +41 -0
  76. spielos-6.2.0/company/departments/design/tokens/semantic-gruvbox-light.css +41 -0
  77. spielos-6.2.0/company/departments/design/tokens/semantic-monochrome-dark.css +45 -0
  78. spielos-6.2.0/company/departments/design/tokens/semantic-monochrome-light.css +44 -0
  79. spielos-6.2.0/company/departments/design/tools/apply-scene-timing.py +124 -0
  80. spielos-6.2.0/company/departments/design/tools/mix-audio.js +153 -0
  81. spielos-6.2.0/company/departments/design/tools/promote-campaign-assets.mjs +87 -0
  82. spielos-6.2.0/company/departments/design/tools/render-all.sh +79 -0
  83. spielos-6.2.0/company/departments/design/tools/render-campaign-shorts.cjs +875 -0
  84. spielos-6.2.0/company/departments/design/tools/render-design.js +271 -0
  85. spielos-6.2.0/company/departments/design/tools/render-video.js +517 -0
  86. spielos-6.2.0/company/departments/design/tools/tts-gemini.js +455 -0
  87. spielos-6.2.0/company/departments/design/tools/tts-providers.js +491 -0
  88. spielos-6.2.0/company/departments/design/tools/validate-design.js +85 -0
  89. spielos-6.2.0/company/departments/design/tools/vendor/boxicons/css/boxicons.min.css +1 -0
  90. spielos-6.2.0/company/departments/outbound/README.md +50 -0
  91. spielos-6.2.0/company/departments/outbound/__init__.py +1 -0
  92. spielos-6.2.0/company/departments/outbound/adapters/email-providers.md +61 -0
  93. spielos-6.2.0/company/departments/outbound/artifacts.py +89 -0
  94. spielos-6.2.0/company/departments/outbound/assets/README.md +7 -0
  95. spielos-6.2.0/company/departments/outbound/calcom_sync.py +568 -0
  96. spielos-6.2.0/company/departments/outbound/context.py +47 -0
  97. spielos-6.2.0/company/departments/outbound/control.py +67 -0
  98. spielos-6.2.0/company/departments/outbound/crm_sync.py +409 -0
  99. spielos-6.2.0/company/departments/outbound/data.py +716 -0
  100. spielos-6.2.0/company/departments/outbound/department.py +99 -0
  101. spielos-6.2.0/company/departments/outbound/email_workflow.py +601 -0
  102. spielos-6.2.0/company/departments/outbound/execution.py +122 -0
  103. spielos-6.2.0/company/departments/outbound/models.py +86 -0
  104. spielos-6.2.0/company/departments/outbound/policy.py +19 -0
  105. spielos-6.2.0/company/departments/outbound/skills/outbound/SKILL.md +51 -0
  106. spielos-6.2.0/company/departments/outbound/skills/outbound/agents/openai.yaml +6 -0
  107. spielos-6.2.0/company/departments/outbound/skills/outbound-email/SKILL.md +240 -0
  108. spielos-6.2.0/company/departments/outbound/skills/outbound-email/agents/openai.yaml +6 -0
  109. spielos-6.2.0/company/departments/outbound/strategy.md +174 -0
  110. spielos-6.2.0/company/departments/outbound/workflows/__init__.py +40 -0
  111. spielos-6.2.0/company/departments/outbound/workflows/email/__init__.py +51 -0
  112. spielos-6.2.0/company/departments/outbound/workflows/email/actor.py +479 -0
  113. spielos-6.2.0/company/departments/outbound/workflows/email/analytics.py +807 -0
  114. spielos-6.2.0/company/departments/outbound/workflows/email/cli.py +171 -0
  115. spielos-6.2.0/company/departments/outbound/workflows/email/compose.py +527 -0
  116. spielos-6.2.0/company/departments/outbound/workflows/email/config.py +303 -0
  117. spielos-6.2.0/company/departments/outbound/workflows/email/content.py +78 -0
  118. spielos-6.2.0/company/departments/outbound/workflows/email/decider.py +128 -0
  119. spielos-6.2.0/company/departments/outbound/workflows/email/evaluator.py +99 -0
  120. spielos-6.2.0/company/departments/outbound/workflows/email/goal.py +26 -0
  121. spielos-6.2.0/company/departments/outbound/workflows/email/leads.py +389 -0
  122. spielos-6.2.0/company/departments/outbound/workflows/email/observer.py +135 -0
  123. spielos-6.2.0/company/departments/outbound/workflows/email/outbound.py +236 -0
  124. spielos-6.2.0/company/departments/outbound/workflows/email/policy_rules.py +118 -0
  125. spielos-6.2.0/company/departments/outbound/workflows/email/providers.py +1018 -0
  126. spielos-6.2.0/company/departments/outbound/workflows/email/report.py +108 -0
  127. spielos-6.2.0/company/departments/outbound/workflows/email/templates.py +227 -0
  128. spielos-6.2.0/company/departments/outbound/workflows/email/validators.py +111 -0
  129. spielos-6.2.0/company/departments/outbound/workflows/email/verify.py +280 -0
  130. spielos-6.2.0/company/departments/outbound/workflows/social.py +85 -0
  131. spielos-6.2.0/company/departments/seo/README.md +17 -0
  132. spielos-6.2.0/company/departments/seo/__init__.py +1 -0
  133. spielos-6.2.0/company/departments/seo/department.py +72 -0
  134. spielos-6.2.0/company/departments/seo/keywords.py +19 -0
  135. spielos-6.2.0/company/departments/seo/skills/seo/SKILL.md +412 -0
  136. spielos-6.2.0/company/dot-env-example +44 -0
  137. spielos-6.2.0/company/evals/__init__.py +52 -0
  138. spielos-6.2.0/company/evals/engine.py +186 -0
  139. spielos-6.2.0/company/evals/judge.py +87 -0
  140. spielos-6.2.0/company/evals/models.py +193 -0
  141. spielos-6.2.0/company/evals/registry.py +66 -0
  142. spielos-6.2.0/company/init_templates/agents/company/README.md +506 -0
  143. spielos-6.2.0/company/init_templates/agents/company/__init__.py +5 -0
  144. spielos-6.2.0/company/init_templates/agents/company/__main__.py +946 -0
  145. spielos-6.2.0/company/init_templates/agents/company/agents/__init__.py +230 -0
  146. spielos-6.2.0/company/init_templates/agents/company/assets/company-profile.md +11 -0
  147. spielos-6.2.0/company/init_templates/agents/company/cli.py +8 -0
  148. spielos-6.2.0/company/init_templates/agents/company/connections/__init__.py +4 -0
  149. spielos-6.2.0/company/init_templates/agents/company/connections/buffer.py +788 -0
  150. spielos-6.2.0/company/init_templates/agents/company/connections/registry.py +68 -0
  151. spielos-6.2.0/company/init_templates/agents/company/departments/__init__.py +1 -0
  152. spielos-6.2.0/company/init_templates/agents/company/departments/_evidence.py +8 -0
  153. spielos-6.2.0/company/init_templates/agents/company/departments/_shared/skills/copywriting-en/SKILL.md +33 -0
  154. spielos-6.2.0/company/init_templates/agents/company/departments/_shared/skills/copywriting-fa/SKILL.md +488 -0
  155. spielos-6.2.0/company/init_templates/agents/company/departments/analytics/README.md +123 -0
  156. spielos-6.2.0/company/init_templates/agents/company/departments/analytics/__init__.py +23 -0
  157. spielos-6.2.0/company/init_templates/agents/company/departments/analytics/department.py +110 -0
  158. spielos-6.2.0/company/init_templates/agents/company/departments/analytics/funnel.json +44 -0
  159. spielos-6.2.0/company/init_templates/agents/company/departments/analytics/posthog.py +547 -0
  160. spielos-6.2.0/company/init_templates/agents/company/departments/analytics/skills/analytics/SKILL.md +326 -0
  161. spielos-6.2.0/company/init_templates/agents/company/departments/campaign_contract.py +730 -0
  162. spielos-6.2.0/company/init_templates/agents/company/departments/content/README.md +35 -0
  163. spielos-6.2.0/company/init_templates/agents/company/departments/content/__init__.py +1 -0
  164. spielos-6.2.0/company/init_templates/agents/company/departments/content/department.py +127 -0
  165. spielos-6.2.0/company/init_templates/agents/company/departments/content/evals.py +55 -0
  166. spielos-6.2.0/company/init_templates/agents/company/departments/content/skills/translation-fa/SKILL.md +545 -0
  167. spielos-6.2.0/company/init_templates/agents/company/departments/content/skills/translation-fa/persian-glossary.md +370 -0
  168. spielos-6.2.0/company/init_templates/agents/company/departments/content/skills/translation-fa/quality-test-suite.md +1058 -0
  169. spielos-6.2.0/company/init_templates/agents/company/departments/design/README.md +27 -0
  170. spielos-6.2.0/company/init_templates/agents/company/departments/design/__init__.py +1 -0
  171. spielos-6.2.0/company/init_templates/agents/company/departments/design/department.py +178 -0
  172. spielos-6.2.0/company/init_templates/agents/company/departments/design/evals.py +52 -0
  173. spielos-6.2.0/company/init_templates/agents/company/departments/design/presets.json +11 -0
  174. spielos-6.2.0/company/init_templates/agents/company/departments/design/skills/spielos-ui/SKILL.md +185 -0
  175. spielos-6.2.0/company/init_templates/agents/company/departments/design/skills/video-creation/SKILL.md +21 -0
  176. spielos-6.2.0/company/init_templates/agents/company/departments/design/system/journey-signature.css +32 -0
  177. spielos-6.2.0/company/init_templates/agents/company/departments/design/system/production.css +82 -0
  178. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/registry.json +228 -0
  179. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/social/agent-brief.html +226 -0
  180. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/social/batch-01.json +61 -0
  181. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/social/department-map.html +153 -0
  182. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/social/harness-architecture.html +165 -0
  183. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/social/list-checklist.html +137 -0
  184. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/social/single-fact.html +117 -0
  185. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/social/testimonial-pull-quote.html +119 -0
  186. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/brand-motion.css +49 -0
  187. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/contrast-text.html +331 -0
  188. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/data-card.html +317 -0
  189. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/heartbeat.html +486 -0
  190. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/loop-rail.html +343 -0
  191. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/narration.json +354 -0
  192. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/question-hook.html +301 -0
  193. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/scenario-b.html +560 -0
  194. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/scenario-c.html +377 -0
  195. spielos-6.2.0/company/init_templates/agents/company/departments/design/templates/video/storyboard.html +315 -0
  196. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/black-gold-dark.css +29 -0
  197. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/black-gold-light.css +29 -0
  198. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/blue-dark.css +25 -0
  199. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/blue-light.css +25 -0
  200. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/discord-dark.css +25 -0
  201. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/discord-light.css +25 -0
  202. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/gruvbox-dark.css +25 -0
  203. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/gruvbox-light.css +25 -0
  204. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/index.css +139 -0
  205. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/monochrome-dark.css +25 -0
  206. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/monochrome-light.css +25 -0
  207. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-black-gold-dark.css +41 -0
  208. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-black-gold-light.css +41 -0
  209. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-blue-dark.css +41 -0
  210. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-blue-light.css +41 -0
  211. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-discord-dark.css +41 -0
  212. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-discord-light.css +41 -0
  213. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-gruvbox-dark.css +41 -0
  214. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-gruvbox-light.css +41 -0
  215. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-monochrome-dark.css +45 -0
  216. spielos-6.2.0/company/init_templates/agents/company/departments/design/tokens/semantic-monochrome-light.css +44 -0
  217. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/apply-scene-timing.py +124 -0
  218. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/mix-audio.js +153 -0
  219. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/promote-campaign-assets.mjs +87 -0
  220. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/render-all.sh +79 -0
  221. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/render-campaign-shorts.cjs +875 -0
  222. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/render-design.js +271 -0
  223. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/render-video.js +517 -0
  224. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/tts-gemini.js +455 -0
  225. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/tts-providers.js +491 -0
  226. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/validate-design.js +85 -0
  227. spielos-6.2.0/company/init_templates/agents/company/departments/design/tools/vendor/boxicons/css/boxicons.min.css +1 -0
  228. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/README.md +50 -0
  229. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/__init__.py +1 -0
  230. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/adapters/email-providers.md +61 -0
  231. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/artifacts.py +89 -0
  232. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/assets/README.md +7 -0
  233. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/calcom_sync.py +568 -0
  234. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/context.py +47 -0
  235. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/control.py +67 -0
  236. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/crm_sync.py +409 -0
  237. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/data.py +716 -0
  238. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/department.py +99 -0
  239. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/email_workflow.py +601 -0
  240. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/execution.py +122 -0
  241. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/models.py +86 -0
  242. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/policy.py +19 -0
  243. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/skills/outbound/SKILL.md +51 -0
  244. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/skills/outbound/agents/openai.yaml +6 -0
  245. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/skills/outbound-email/SKILL.md +240 -0
  246. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/skills/outbound-email/agents/openai.yaml +6 -0
  247. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/strategy.md +174 -0
  248. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/__init__.py +40 -0
  249. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/__init__.py +51 -0
  250. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/actor.py +479 -0
  251. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/analytics.py +807 -0
  252. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/cli.py +171 -0
  253. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/compose.py +527 -0
  254. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/config.py +303 -0
  255. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/content.py +78 -0
  256. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/decider.py +128 -0
  257. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/evaluator.py +99 -0
  258. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/goal.py +26 -0
  259. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/leads.py +389 -0
  260. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/observer.py +135 -0
  261. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/outbound.py +236 -0
  262. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/policy_rules.py +118 -0
  263. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/providers.py +1018 -0
  264. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/report.py +108 -0
  265. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/templates.py +227 -0
  266. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/validators.py +111 -0
  267. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/email/verify.py +280 -0
  268. spielos-6.2.0/company/init_templates/agents/company/departments/outbound/workflows/social.py +85 -0
  269. spielos-6.2.0/company/init_templates/agents/company/departments/seo/README.md +17 -0
  270. spielos-6.2.0/company/init_templates/agents/company/departments/seo/__init__.py +1 -0
  271. spielos-6.2.0/company/init_templates/agents/company/departments/seo/department.py +72 -0
  272. spielos-6.2.0/company/init_templates/agents/company/departments/seo/keywords.py +19 -0
  273. spielos-6.2.0/company/init_templates/agents/company/departments/seo/skills/seo/SKILL.md +412 -0
  274. spielos-6.2.0/company/init_templates/agents/company/evals/__init__.py +52 -0
  275. spielos-6.2.0/company/init_templates/agents/company/evals/engine.py +186 -0
  276. spielos-6.2.0/company/init_templates/agents/company/evals/judge.py +87 -0
  277. spielos-6.2.0/company/init_templates/agents/company/evals/models.py +193 -0
  278. spielos-6.2.0/company/init_templates/agents/company/evals/registry.py +66 -0
  279. spielos-6.2.0/company/init_templates/agents/company/runtime/__init__.py +6 -0
  280. spielos-6.2.0/company/init_templates/agents/company/runtime/agent_compile.py +176 -0
  281. spielos-6.2.0/company/init_templates/agents/company/runtime/alignment.py +272 -0
  282. spielos-6.2.0/company/init_templates/agents/company/runtime/async_dispatch.py +185 -0
  283. spielos-6.2.0/company/init_templates/agents/company/runtime/bootstrap.py +246 -0
  284. spielos-6.2.0/company/init_templates/agents/company/runtime/catalog.py +54 -0
  285. spielos-6.2.0/company/init_templates/agents/company/runtime/config.py +137 -0
  286. spielos-6.2.0/company/init_templates/agents/company/runtime/continuation.py +117 -0
  287. spielos-6.2.0/company/init_templates/agents/company/runtime/contracts.py +225 -0
  288. spielos-6.2.0/company/init_templates/agents/company/runtime/director.py +504 -0
  289. spielos-6.2.0/company/init_templates/agents/company/runtime/errors.py +49 -0
  290. spielos-6.2.0/company/init_templates/agents/company/runtime/export.py +290 -0
  291. spielos-6.2.0/company/init_templates/agents/company/runtime/hooks.py +90 -0
  292. spielos-6.2.0/company/init_templates/agents/company/runtime/install.py +695 -0
  293. spielos-6.2.0/company/init_templates/agents/company/runtime/interpreter.py +434 -0
  294. spielos-6.2.0/company/init_templates/agents/company/runtime/loop.py +1098 -0
  295. spielos-6.2.0/company/init_templates/agents/company/runtime/memory.py +105 -0
  296. spielos-6.2.0/company/init_templates/agents/company/runtime/models.py +248 -0
  297. spielos-6.2.0/company/init_templates/agents/company/runtime/notifications.py +163 -0
  298. spielos-6.2.0/company/init_templates/agents/company/runtime/onboard.py +392 -0
  299. spielos-6.2.0/company/init_templates/agents/company/runtime/package.py +130 -0
  300. spielos-6.2.0/company/init_templates/agents/company/runtime/paths.py +84 -0
  301. spielos-6.2.0/company/init_templates/agents/company/runtime/registry.py +51 -0
  302. spielos-6.2.0/company/init_templates/agents/company/runtime/repair_iteration.py +75 -0
  303. spielos-6.2.0/company/init_templates/agents/company/runtime/runner.py +985 -0
  304. spielos-6.2.0/company/init_templates/agents/company/runtime/service.py +115 -0
  305. spielos-6.2.0/company/init_templates/agents/company/runtime/store.py +1375 -0
  306. spielos-6.2.0/company/init_templates/agents/company/runtime/strategic.py +87 -0
  307. spielos-6.2.0/company/init_templates/agents/company/runtime/strategy.py +217 -0
  308. spielos-6.2.0/company/init_templates/agents/company/runtime/supervisor.py +418 -0
  309. spielos-6.2.0/company/init_templates/agents/company/runtime/system_improvement.py +268 -0
  310. spielos-6.2.0/company/init_templates/agents/company/runtime/templates.py +246 -0
  311. spielos-6.2.0/company/init_templates/agents/company/runtime/truth.py +139 -0
  312. spielos-6.2.0/company/init_templates/agents/company/runtime/util.py +59 -0
  313. spielos-6.2.0/company/init_templates/agents/company/skills/department-runner/SKILL.md +47 -0
  314. spielos-6.2.0/company/init_templates/agents/company/skills/department-runner/agents/openai.yaml +6 -0
  315. spielos-6.2.0/company/init_templates/agents/company/skills/director/SKILL.md +155 -0
  316. spielos-6.2.0/company/init_templates/agents/company/skills/director/agents/openai.yaml +4 -0
  317. spielos-6.2.0/company/init_templates/agents/company/skills/system-improvement/SKILL.md +32 -0
  318. spielos-6.2.0/company/init_templates/agents/company/skills/system-improvement/agents/openai.yaml +4 -0
  319. spielos-6.2.0/company/init_templates/agents/company/strategy/README.md +25 -0
  320. spielos-6.2.0/company/init_templates/agents/company/strategy/focus.md +10 -0
  321. spielos-6.2.0/company/init_templates/agents/company/strategy/icp.md +16 -0
  322. spielos-6.2.0/company/init_templates/agents/company/strategy/kernel.json +113 -0
  323. spielos-6.2.0/company/init_templates/agents/company/strategy/measurement.md +7 -0
  324. spielos-6.2.0/company/init_templates/agents/company/strategy/operating-thesis.md +7 -0
  325. spielos-6.2.0/company/init_templates/agents/company/strategy/positioning.md +18 -0
  326. spielos-6.2.0/company/init_templates/agents/company/strategy/voice.md +13 -0
  327. spielos-6.2.0/company/init_templates/agents/company/tests/__init__.py +6 -0
  328. spielos-6.2.0/company/init_templates/agents/company/tests/test_acceptance_scope_20260815.py +77 -0
  329. spielos-6.2.0/company/init_templates/agents/company/tests/test_agent_compile.py +46 -0
  330. spielos-6.2.0/company/init_templates/agents/company/tests/test_alignment.py +284 -0
  331. spielos-6.2.0/company/init_templates/agents/company/tests/test_append_only_repairs.py +202 -0
  332. spielos-6.2.0/company/init_templates/agents/company/tests/test_approval_policy.py +287 -0
  333. spielos-6.2.0/company/init_templates/agents/company/tests/test_async_dispatch.py +360 -0
  334. spielos-6.2.0/company/init_templates/agents/company/tests/test_async_dispatch_persist.py +112 -0
  335. spielos-6.2.0/company/init_templates/agents/company/tests/test_async_dispatch_thread_safety.py +239 -0
  336. spielos-6.2.0/company/init_templates/agents/company/tests/test_booked_calls_director_metric.py +132 -0
  337. spielos-6.2.0/company/init_templates/agents/company/tests/test_buffer_connection.py +497 -0
  338. spielos-6.2.0/company/init_templates/agents/company/tests/test_business_truth.py +185 -0
  339. spielos-6.2.0/company/init_templates/agents/company/tests/test_calcom_sync.py +417 -0
  340. spielos-6.2.0/company/init_templates/agents/company/tests/test_campaign_handoff_contract.py +690 -0
  341. spielos-6.2.0/company/init_templates/agents/company/tests/test_causal_frontier.py +148 -0
  342. spielos-6.2.0/company/init_templates/agents/company/tests/test_chat_visible_supervision.py +484 -0
  343. spielos-6.2.0/company/init_templates/agents/company/tests/test_company_snapshot.py +351 -0
  344. spielos-6.2.0/company/init_templates/agents/company/tests/test_concurrent_send_store_20260817.py +202 -0
  345. spielos-6.2.0/company/init_templates/agents/company/tests/test_content_campaign_contract.py +201 -0
  346. spielos-6.2.0/company/init_templates/agents/company/tests/test_content_department.py +52 -0
  347. spielos-6.2.0/company/init_templates/agents/company/tests/test_continuation.py +176 -0
  348. spielos-6.2.0/company/init_templates/agents/company/tests/test_contracts.py +166 -0
  349. spielos-6.2.0/company/init_templates/agents/company/tests/test_cross_department_learning.py +145 -0
  350. spielos-6.2.0/company/init_templates/agents/company/tests/test_design_registration_v2.py +56 -0
  351. spielos-6.2.0/company/init_templates/agents/company/tests/test_director_next_hypothesis.py +129 -0
  352. spielos-6.2.0/company/init_templates/agents/company/tests/test_end_to_end_repair_recovery.py +133 -0
  353. spielos-6.2.0/company/init_templates/agents/company/tests/test_evals_framework.py +278 -0
  354. spielos-6.2.0/company/init_templates/agents/company/tests/test_external_watchdog.py +379 -0
  355. spielos-6.2.0/company/init_templates/agents/company/tests/test_fix_wave_20260823.py +314 -0
  356. spielos-6.2.0/company/init_templates/agents/company/tests/test_growth_departments.py +648 -0
  357. spielos-6.2.0/company/init_templates/agents/company/tests/test_harness_structure.py +222 -0
  358. spielos-6.2.0/company/init_templates/agents/company/tests/test_hypothesis_lifecycle.py +127 -0
  359. spielos-6.2.0/company/init_templates/agents/company/tests/test_install.py +333 -0
  360. spielos-6.2.0/company/init_templates/agents/company/tests/test_interpreter.py +210 -0
  361. spielos-6.2.0/company/init_templates/agents/company/tests/test_isolation.py +205 -0
  362. spielos-6.2.0/company/init_templates/agents/company/tests/test_lego_behavior.py +151 -0
  363. spielos-6.2.0/company/init_templates/agents/company/tests/test_memory_semantics.py +189 -0
  364. spielos-6.2.0/company/init_templates/agents/company/tests/test_notification_delivery.py +38 -0
  365. spielos-6.2.0/company/init_templates/agents/company/tests/test_notification_surface.py +243 -0
  366. spielos-6.2.0/company/init_templates/agents/company/tests/test_opencode_plugin_contract.py +290 -0
  367. spielos-6.2.0/company/init_templates/agents/company/tests/test_outbound_compose.py +314 -0
  368. spielos-6.2.0/company/init_templates/agents/company/tests/test_outbound_data.py +70 -0
  369. spielos-6.2.0/company/init_templates/agents/company/tests/test_outbound_email.py +1207 -0
  370. spielos-6.2.0/company/init_templates/agents/company/tests/test_outbound_proven_pattern.py +318 -0
  371. spielos-6.2.0/company/init_templates/agents/company/tests/test_parent_return.py +190 -0
  372. spielos-6.2.0/company/init_templates/agents/company/tests/test_runner_persistence.py +251 -0
  373. spielos-6.2.0/company/init_templates/agents/company/tests/test_runner_watchdog.py +276 -0
  374. spielos-6.2.0/company/init_templates/agents/company/tests/test_runner_wedge_hardening.py +321 -0
  375. spielos-6.2.0/company/init_templates/agents/company/tests/test_runtime.py +1018 -0
  376. spielos-6.2.0/company/init_templates/agents/company/tests/test_send_activity_watchdog.py +280 -0
  377. spielos-6.2.0/company/init_templates/agents/company/tests/test_send_path_idempotency.py +454 -0
  378. spielos-6.2.0/company/init_templates/agents/company/tests/test_strategic_frontier.py +195 -0
  379. spielos-6.2.0/company/init_templates/agents/company/tests/test_strategy_kernel.py +164 -0
  380. spielos-6.2.0/company/init_templates/agents/company/tests/test_template_parity.py +35 -0
  381. spielos-6.2.0/company/init_templates/agents/company/tests/test_transient_retry.py +247 -0
  382. spielos-6.2.0/company/init_templates/hosts/codex/agents/department-runner.toml +3 -0
  383. spielos-6.2.0/company/init_templates/hosts/codex/agents/director.toml +13 -0
  384. spielos-6.2.0/company/init_templates/hosts/codex/agents/lead-researcher.toml +3 -0
  385. spielos-6.2.0/company/init_templates/hosts/codex/agents/outreach-writer.toml +3 -0
  386. spielos-6.2.0/company/init_templates/hosts/codex/agents/social-researcher.toml +3 -0
  387. spielos-6.2.0/company/init_templates/hosts/codex/agents/system-improvement.toml +3 -0
  388. spielos-6.2.0/company/init_templates/hosts/opencode/agents/department-runner.md +16 -0
  389. spielos-6.2.0/company/init_templates/hosts/opencode/agents/director.md +60 -0
  390. spielos-6.2.0/company/init_templates/hosts/opencode/agents/lead-researcher.md +18 -0
  391. spielos-6.2.0/company/init_templates/hosts/opencode/agents/outreach-writer.md +18 -0
  392. spielos-6.2.0/company/init_templates/hosts/opencode/agents/social-researcher.md +18 -0
  393. spielos-6.2.0/company/init_templates/hosts/opencode/agents/system-improvement.md +22 -0
  394. spielos-6.2.0/company/init_templates/hosts/opencode/commands/approve.md +14 -0
  395. spielos-6.2.0/company/init_templates/hosts/opencode/commands/help.md +9 -0
  396. spielos-6.2.0/company/init_templates/hosts/opencode/commands/start.md +15 -0
  397. spielos-6.2.0/company/init_templates/hosts/opencode/commands/status.md +16 -0
  398. spielos-6.2.0/company/init_templates/hosts/opencode/commands/stop.md +15 -0
  399. spielos-6.2.0/company/init_templates/hosts/opencode/plugins/spielos-notifications.ts +107 -0
  400. spielos-6.2.0/company/runtime/__init__.py +6 -0
  401. spielos-6.2.0/company/runtime/agent_compile.py +176 -0
  402. spielos-6.2.0/company/runtime/alignment.py +272 -0
  403. spielos-6.2.0/company/runtime/async_dispatch.py +185 -0
  404. spielos-6.2.0/company/runtime/bootstrap.py +246 -0
  405. spielos-6.2.0/company/runtime/catalog.py +54 -0
  406. spielos-6.2.0/company/runtime/config.py +137 -0
  407. spielos-6.2.0/company/runtime/continuation.py +117 -0
  408. spielos-6.2.0/company/runtime/contracts.py +225 -0
  409. spielos-6.2.0/company/runtime/director.py +504 -0
  410. spielos-6.2.0/company/runtime/errors.py +49 -0
  411. spielos-6.2.0/company/runtime/export.py +290 -0
  412. spielos-6.2.0/company/runtime/hooks.py +90 -0
  413. spielos-6.2.0/company/runtime/install.py +695 -0
  414. spielos-6.2.0/company/runtime/interpreter.py +434 -0
  415. spielos-6.2.0/company/runtime/loop.py +1098 -0
  416. spielos-6.2.0/company/runtime/memory.py +105 -0
  417. spielos-6.2.0/company/runtime/models.py +248 -0
  418. spielos-6.2.0/company/runtime/notifications.py +163 -0
  419. spielos-6.2.0/company/runtime/onboard.py +392 -0
  420. spielos-6.2.0/company/runtime/package.py +130 -0
  421. spielos-6.2.0/company/runtime/paths.py +84 -0
  422. spielos-6.2.0/company/runtime/registry.py +51 -0
  423. spielos-6.2.0/company/runtime/repair_iteration.py +75 -0
  424. spielos-6.2.0/company/runtime/runner.py +985 -0
  425. spielos-6.2.0/company/runtime/service.py +115 -0
  426. spielos-6.2.0/company/runtime/store.py +1375 -0
  427. spielos-6.2.0/company/runtime/strategic.py +87 -0
  428. spielos-6.2.0/company/runtime/strategy.py +217 -0
  429. spielos-6.2.0/company/runtime/supervisor.py +418 -0
  430. spielos-6.2.0/company/runtime/system_improvement.py +268 -0
  431. spielos-6.2.0/company/runtime/templates.py +246 -0
  432. spielos-6.2.0/company/runtime/truth.py +139 -0
  433. spielos-6.2.0/company/runtime/util.py +59 -0
  434. spielos-6.2.0/company/skills/department-runner/SKILL.md +47 -0
  435. spielos-6.2.0/company/skills/department-runner/agents/openai.yaml +6 -0
  436. spielos-6.2.0/company/skills/director/SKILL.md +155 -0
  437. spielos-6.2.0/company/skills/director/agents/openai.yaml +4 -0
  438. spielos-6.2.0/company/skills/system-improvement/SKILL.md +32 -0
  439. spielos-6.2.0/company/skills/system-improvement/agents/openai.yaml +4 -0
  440. spielos-6.2.0/company/strategy/README.md +25 -0
  441. spielos-6.2.0/company/strategy/focus.md +10 -0
  442. spielos-6.2.0/company/strategy/icp.md +16 -0
  443. spielos-6.2.0/company/strategy/kernel.json +113 -0
  444. spielos-6.2.0/company/strategy/measurement.md +7 -0
  445. spielos-6.2.0/company/strategy/operating-thesis.md +7 -0
  446. spielos-6.2.0/company/strategy/positioning.md +18 -0
  447. spielos-6.2.0/company/strategy/voice.md +13 -0
  448. spielos-6.2.0/pyproject.toml +38 -0
  449. spielos-6.2.0/setup.cfg +4 -0
  450. spielos-6.2.0/spielos.egg-info/PKG-INFO +110 -0
  451. spielos-6.2.0/spielos.egg-info/SOURCES.txt +452 -0
  452. spielos-6.2.0/spielos.egg-info/dependency_links.txt +1 -0
  453. spielos-6.2.0/spielos.egg-info/entry_points.txt +2 -0
  454. spielos-6.2.0/spielos.egg-info/top_level.txt +1 -0
spielos-6.2.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2025 Shayan Spiel
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
spielos-6.2.0/PKG-INFO ADDED
@@ -0,0 +1,110 @@
1
+ Metadata-Version: 2.4
2
+ Name: spielos
3
+ Version: 6.2.0
4
+ Summary: SpielOS: one durable Goal loop, Departments, approvals, evidence, and evals for operating AI work as a company system.
5
+ Author: Shayan Spiel
6
+ License: MIT
7
+ Project-URL: Homepage, https://spielos.xyz
8
+ Keywords: ai-agents,agent-harness,company-runtime,spielos
9
+ Requires-Python: >=3.11
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ Dynamic: license-file
13
+
14
+ # SpielOS — the company harness
15
+
16
+ One durable loop for operating AI work as a company system:
17
+
18
+ ```text
19
+ GOAL -> OBSERVE -> DECIDE -> ACT -> EVALUATE
20
+ ^ |
21
+ +----------------------------+
22
+ ```
23
+
24
+ The runtime owns every Goal, Run, approval, evidence record, and notification.
25
+ Departments are **Lego packages**: self-contained folders that supply business
26
+ behavior and never create another loop. Codex, OpenCode, and humans are all
27
+ clients of the same persisted state.
28
+
29
+ ## Install (one line)
30
+
31
+ ```sh
32
+ curl -fsSL https://raw.githubusercontent.com/ShayanSpiel/SpielOS/main/install.sh | sh
33
+ ```
34
+
35
+ The installer checks Python 3.11+, installs `pipx` for you when it is missing
36
+ (brew or pip — no manual steps), installs `spielos`, and — in an empty folder,
37
+ no questions asked — runs the first-run init right there. In a folder that has
38
+ content it asks first and never touches your files. Re-running the same
39
+ command updates an existing install.
40
+
41
+ Prefer to do it by hand?
42
+
43
+ ```sh
44
+ pipx install "spielos @ git+https://github.com/ShayanSpiel/SpielOS.git" && spielos init
45
+ ```
46
+
47
+ `spielos init` vendors a complete, self-contained harness home into the current
48
+ directory — `.agents/company/` spine, `.spielos/` private state, OpenCode/Codex
49
+ host adapters, `opencode.json`, `AGENTS.md`, gitignore — with zero runtime
50
+ dependency on the installed package afterward. It verifies the new home runs
51
+ before it reports success, and detects which host (OpenCode / Codex) you have.
52
+
53
+ Interactive on a terminal: pick **full harness** (everything) or a
54
+ **minimal appliance** (spine + one department). Scripted and CI runs stay
55
+ deterministic: add `-y/--yes` to skip prompts, `--json` for a machine-readable
56
+ receipt; exit code 0 means verified, 1 means failed with an actionable message.
57
+
58
+ ## Departments as products
59
+
60
+ Every department is one extractable folder: behavior (`department.py`),
61
+ workflows, evals, skills, templates, and tooling live together.
62
+
63
+ ```sh
64
+ spielos department export outbound --out ./dist # portable .sdep bundle
65
+ spielos add ./outbound.sdep # install into a home
66
+ spielos add ./outbound.sdep --force # upgrade in place
67
+ spielos init --minimal --department outbound # single-department appliance
68
+ ```
69
+
70
+ Bundles carry a checksummed manifest plus the department's skills. They never
71
+ carry strategy, assets, credentials, or run state.
72
+
73
+ ## First-class workers
74
+
75
+ Any workflow compiles into a bounded agent worker (no Director, no routing):
76
+
77
+ ```sh
78
+ spielos agent compile outbound --workflow social-lead-research --name lead-researcher
79
+ ```
80
+
81
+ Emits the OpenCode agent, Codex TOML, and roster entry from one WorkflowSpec.
82
+ The worker runs only that workflow, produces only its declared evidence kinds,
83
+ never edits files; approvals still park in the runtime.
84
+
85
+ ## Updating
86
+
87
+ ```sh
88
+ pipx upgrade spielos # new CLI
89
+ spielos refresh # re-vendor spine + hosts into an existing home;
90
+ # preserves strategy/, assets/, departments/, .spielos/
91
+ ```
92
+
93
+ ## Layout
94
+
95
+ ```text
96
+ company/ Python package: runtime spine, evals, connections, CLI
97
+ skills/ operator methods (director, department-runner, …)
98
+ departments/ LEGO SHELF — each folder is an extractable product
99
+ _shared/ cross-department contract + shared methods
100
+ <id>/skills/ department-owned methods
101
+ design/tools/ render/TTS tooling · design/tokens/ brand tokens
102
+ hosts/ adapter sources vendored into homes by init
103
+ tests/ → company/tests/ (in-package)
104
+ docs/ architecture notes
105
+ .spielos/ private runtime state (gitignored; exists only when this
106
+ checkout itself operates as a live company home)
107
+ ```
108
+
109
+ Authority for architecture, vocabulary, pursuit semantics, safety rules, and
110
+ the owner doctrine: `company/README.md`.
@@ -0,0 +1,97 @@
1
+ # SpielOS — the company harness
2
+
3
+ One durable loop for operating AI work as a company system:
4
+
5
+ ```text
6
+ GOAL -> OBSERVE -> DECIDE -> ACT -> EVALUATE
7
+ ^ |
8
+ +----------------------------+
9
+ ```
10
+
11
+ The runtime owns every Goal, Run, approval, evidence record, and notification.
12
+ Departments are **Lego packages**: self-contained folders that supply business
13
+ behavior and never create another loop. Codex, OpenCode, and humans are all
14
+ clients of the same persisted state.
15
+
16
+ ## Install (one line)
17
+
18
+ ```sh
19
+ curl -fsSL https://raw.githubusercontent.com/ShayanSpiel/SpielOS/main/install.sh | sh
20
+ ```
21
+
22
+ The installer checks Python 3.11+, installs `pipx` for you when it is missing
23
+ (brew or pip — no manual steps), installs `spielos`, and — in an empty folder,
24
+ no questions asked — runs the first-run init right there. In a folder that has
25
+ content it asks first and never touches your files. Re-running the same
26
+ command updates an existing install.
27
+
28
+ Prefer to do it by hand?
29
+
30
+ ```sh
31
+ pipx install "spielos @ git+https://github.com/ShayanSpiel/SpielOS.git" && spielos init
32
+ ```
33
+
34
+ `spielos init` vendors a complete, self-contained harness home into the current
35
+ directory — `.agents/company/` spine, `.spielos/` private state, OpenCode/Codex
36
+ host adapters, `opencode.json`, `AGENTS.md`, gitignore — with zero runtime
37
+ dependency on the installed package afterward. It verifies the new home runs
38
+ before it reports success, and detects which host (OpenCode / Codex) you have.
39
+
40
+ Interactive on a terminal: pick **full harness** (everything) or a
41
+ **minimal appliance** (spine + one department). Scripted and CI runs stay
42
+ deterministic: add `-y/--yes` to skip prompts, `--json` for a machine-readable
43
+ receipt; exit code 0 means verified, 1 means failed with an actionable message.
44
+
45
+ ## Departments as products
46
+
47
+ Every department is one extractable folder: behavior (`department.py`),
48
+ workflows, evals, skills, templates, and tooling live together.
49
+
50
+ ```sh
51
+ spielos department export outbound --out ./dist # portable .sdep bundle
52
+ spielos add ./outbound.sdep # install into a home
53
+ spielos add ./outbound.sdep --force # upgrade in place
54
+ spielos init --minimal --department outbound # single-department appliance
55
+ ```
56
+
57
+ Bundles carry a checksummed manifest plus the department's skills. They never
58
+ carry strategy, assets, credentials, or run state.
59
+
60
+ ## First-class workers
61
+
62
+ Any workflow compiles into a bounded agent worker (no Director, no routing):
63
+
64
+ ```sh
65
+ spielos agent compile outbound --workflow social-lead-research --name lead-researcher
66
+ ```
67
+
68
+ Emits the OpenCode agent, Codex TOML, and roster entry from one WorkflowSpec.
69
+ The worker runs only that workflow, produces only its declared evidence kinds,
70
+ never edits files; approvals still park in the runtime.
71
+
72
+ ## Updating
73
+
74
+ ```sh
75
+ pipx upgrade spielos # new CLI
76
+ spielos refresh # re-vendor spine + hosts into an existing home;
77
+ # preserves strategy/, assets/, departments/, .spielos/
78
+ ```
79
+
80
+ ## Layout
81
+
82
+ ```text
83
+ company/ Python package: runtime spine, evals, connections, CLI
84
+ skills/ operator methods (director, department-runner, …)
85
+ departments/ LEGO SHELF — each folder is an extractable product
86
+ _shared/ cross-department contract + shared methods
87
+ <id>/skills/ department-owned methods
88
+ design/tools/ render/TTS tooling · design/tokens/ brand tokens
89
+ hosts/ adapter sources vendored into homes by init
90
+ tests/ → company/tests/ (in-package)
91
+ docs/ architecture notes
92
+ .spielos/ private runtime state (gitignored; exists only when this
93
+ checkout itself operates as a live company home)
94
+ ```
95
+
96
+ Authority for architecture, vocabulary, pursuit semantics, safety rules, and
97
+ the owner doctrine: `company/README.md`.