workweaver 0.1.0__py3-none-any.whl

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 (2463) hide show
  1. apps/__init__.py +1 -0
  2. apps/backend/CAPABILITIES.json +5211 -0
  3. apps/backend/Dockerfile +81 -0
  4. apps/backend/Dockerfile.lambda +88 -0
  5. apps/backend/agents/__init__.py +7 -0
  6. apps/backend/agents/context_loader.py +776 -0
  7. apps/backend/agents/orchestrator.py +1240 -0
  8. apps/backend/api/__init__.py +5 -0
  9. apps/backend/api/account_lifecycle.py +365 -0
  10. apps/backend/api/activity_stream.py +838 -0
  11. apps/backend/api/admin_analytics.py +354 -0
  12. apps/backend/api/admin_cost_summary.py +324 -0
  13. apps/backend/api/admin_diagnostics.py +244 -0
  14. apps/backend/api/admin_inference.py +1367 -0
  15. apps/backend/api/admin_meeting.py +336 -0
  16. apps/backend/api/admin_portal.py +448 -0
  17. apps/backend/api/admin_pricing.py +167 -0
  18. apps/backend/api/admin_secrets_audit.py +295 -0
  19. apps/backend/api/agent_approval.py +211 -0
  20. apps/backend/api/agent_calendar.py +185 -0
  21. apps/backend/api/agent_crm.py +541 -0
  22. apps/backend/api/agent_deployment.py +1442 -0
  23. apps/backend/api/agent_email.py +97 -0
  24. apps/backend/api/agent_identity.py +144 -0
  25. apps/backend/api/agent_instances.py +270 -0
  26. apps/backend/api/agent_mesh.py +627 -0
  27. apps/backend/api/agent_protocol.py +361 -0
  28. apps/backend/api/agent_work_ledger.py +833 -0
  29. apps/backend/api/ai_playground.py +1244 -0
  30. apps/backend/api/analytics.py +40 -0
  31. apps/backend/api/analytics_funnel.py +189 -0
  32. apps/backend/api/audit.py +45 -0
  33. apps/backend/api/auth.py +75 -0
  34. apps/backend/api/auth_helpers.py +1072 -0
  35. apps/backend/api/auth_identities.py +368 -0
  36. apps/backend/api/auth_login.py +1460 -0
  37. apps/backend/api/auth_management.py +689 -0
  38. apps/backend/api/auth_models.py +724 -0
  39. apps/backend/api/auth_runtime_state.py +912 -0
  40. apps/backend/api/auth_signup.py +84 -0
  41. apps/backend/api/auth_signup_email.py +504 -0
  42. apps/backend/api/auth_signup_enterprise.py +996 -0
  43. apps/backend/api/auth_signup_google.py +805 -0
  44. apps/backend/api/auth_signup_shared.py +776 -0
  45. apps/backend/api/autonomy.py +320 -0
  46. apps/backend/api/batch_jobs.py +391 -0
  47. apps/backend/api/behavioral_stops.py +386 -0
  48. apps/backend/api/billing/__init__.py +8 -0
  49. apps/backend/api/billing/checkout.py +146 -0
  50. apps/backend/api/billing/invoice.py +353 -0
  51. apps/backend/api/billing/subscription.py +949 -0
  52. apps/backend/api/billing/usage.py +1024 -0
  53. apps/backend/api/bookings.py +205 -0
  54. apps/backend/api/briefing.py +86 -0
  55. apps/backend/api/cadence.py +297 -0
  56. apps/backend/api/calendar_sync.py +314 -0
  57. apps/backend/api/campaigns.py +186 -0
  58. apps/backend/api/capabilities_api.py +147 -0
  59. apps/backend/api/capability_requests.py +194 -0
  60. apps/backend/api/capability_setup_api.py +155 -0
  61. apps/backend/api/cold_outreach_errors.py +74 -0
  62. apps/backend/api/collaboration.py +395 -0
  63. apps/backend/api/config_history.py +147 -0
  64. apps/backend/api/connector_actions.py +253 -0
  65. apps/backend/api/connector_watchface.py +297 -0
  66. apps/backend/api/connectors/__init__.py +147 -0
  67. apps/backend/api/connectors/_core.py +1023 -0
  68. apps/backend/api/connectors/routes_catalog.py +234 -0
  69. apps/backend/api/connectors/routes_connect_session.py +138 -0
  70. apps/backend/api/connectors/routes_lifecycle.py +503 -0
  71. apps/backend/api/connectors/routes_standards.py +68 -0
  72. apps/backend/api/connectors/routes_zoho.py +251 -0
  73. apps/backend/api/connectors_contracts.py +308 -0
  74. apps/backend/api/content_pipeline.py +551 -0
  75. apps/backend/api/control.py +626 -0
  76. apps/backend/api/coordination_api.py +105 -0
  77. apps/backend/api/dependencies/__init__.py +6 -0
  78. apps/backend/api/dependencies/plugin_auth.py +151 -0
  79. apps/backend/api/dependencies/tenant_auth.py +931 -0
  80. apps/backend/api/documents/__init__.py +10 -0
  81. apps/backend/api/documents/store.py +179 -0
  82. apps/backend/api/documents/upload.py +25 -0
  83. apps/backend/api/domains.py +322 -0
  84. apps/backend/api/edge_cloud_handoff.py +183 -0
  85. apps/backend/api/entity_autonomy.py +168 -0
  86. apps/backend/api/entity_phone.py +177 -0
  87. apps/backend/api/entity_relationships.py +200 -0
  88. apps/backend/api/entity_scorecard.py +108 -0
  89. apps/backend/api/events.py +420 -0
  90. apps/backend/api/evidence.py +593 -0
  91. apps/backend/api/evidence_external.py +319 -0
  92. apps/backend/api/experiments.py +437 -0
  93. apps/backend/api/founder_admin.py +1730 -0
  94. apps/backend/api/goal_cascade.py +274 -0
  95. apps/backend/api/goals.py +1147 -0
  96. apps/backend/api/governance.py +302 -0
  97. apps/backend/api/harness.py +156 -0
  98. apps/backend/api/harness_templates.py +125 -0
  99. apps/backend/api/human_ai_collaboration.py +234 -0
  100. apps/backend/api/inbox.py +482 -0
  101. apps/backend/api/ingest.py +193 -0
  102. apps/backend/api/integrations/__init__.py +17 -0
  103. apps/backend/api/integrations/catalog.py +259 -0
  104. apps/backend/api/integrations/oauth.py +517 -0
  105. apps/backend/api/intelligence.py +189 -0
  106. apps/backend/api/internal_agents.py +115 -0
  107. apps/backend/api/interrupt_control.py +521 -0
  108. apps/backend/api/interview.py +317 -0
  109. apps/backend/api/invites.py +577 -0
  110. apps/backend/api/judgments.py +114 -0
  111. apps/backend/api/jwt_livekit.py +817 -0
  112. apps/backend/api/lead_magnets.py +1075 -0
  113. apps/backend/api/meeting_ingest.py +91 -0
  114. apps/backend/api/meeting_watchface.py +292 -0
  115. apps/backend/api/meeting_webhooks.py +312 -0
  116. apps/backend/api/meetings.py +1328 -0
  117. apps/backend/api/memory.py +1585 -0
  118. apps/backend/api/meta_observer.py +170 -0
  119. apps/backend/api/mission.py +103 -0
  120. apps/backend/api/mission_collaboration_api.py +739 -0
  121. apps/backend/api/mission_collaboration_models.py +219 -0
  122. apps/backend/api/mission_dashboard_bundle.py +282 -0
  123. apps/backend/api/mission_org_api.py +622 -0
  124. apps/backend/api/mission_runtime_api.py +1231 -0
  125. apps/backend/api/mission_shared.py +153 -0
  126. apps/backend/api/mission_watchface.py +718 -0
  127. apps/backend/api/morning_brief.py +60 -0
  128. apps/backend/api/newsletter.py +202 -0
  129. apps/backend/api/notifications/__init__.py +9 -0
  130. apps/backend/api/notifications/preferences.py +547 -0
  131. apps/backend/api/oauth_dispatcher.py +585 -0
  132. apps/backend/api/objective_board.py +65 -0
  133. apps/backend/api/okr.py +257 -0
  134. apps/backend/api/omnibox.py +81 -0
  135. apps/backend/api/onboarding.py +644 -0
  136. apps/backend/api/org/audit_log.py +64 -0
  137. apps/backend/api/org/capacity.py +55 -0
  138. apps/backend/api/org/management.py +131 -0
  139. apps/backend/api/org_query.py +107 -0
  140. apps/backend/api/pagination.py +71 -0
  141. apps/backend/api/phone.py +621 -0
  142. apps/backend/api/phone_provisioning.py +535 -0
  143. apps/backend/api/planning.py +170 -0
  144. apps/backend/api/platform_admin_identity.py +48 -0
  145. apps/backend/api/proactive.py +185 -0
  146. apps/backend/api/profile.py +45 -0
  147. apps/backend/api/projects.py +71 -0
  148. apps/backend/api/public_api.py +382 -0
  149. apps/backend/api/public_api_service.py +1093 -0
  150. apps/backend/api/public_mcp.py +1077 -0
  151. apps/backend/api/push.py +205 -0
  152. apps/backend/api/quick_actions.py +196 -0
  153. apps/backend/api/rate_limit.py +37 -0
  154. apps/backend/api/revenue_pack.py +429 -0
  155. apps/backend/api/role_proposals.py +145 -0
  156. apps/backend/api/roles.py +240 -0
  157. apps/backend/api/routines.py +111 -0
  158. apps/backend/api/rules_api.py +186 -0
  159. apps/backend/api/runtime.py +359 -0
  160. apps/backend/api/runtime_whatsapp.py +326 -0
  161. apps/backend/api/scheduler.py +217 -0
  162. apps/backend/api/schedules.py +667 -0
  163. apps/backend/api/settings.py +1647 -0
  164. apps/backend/api/simulation.py +369 -0
  165. apps/backend/api/skill_activation.py +379 -0
  166. apps/backend/api/skill_generation.py +558 -0
  167. apps/backend/api/skills.py +1490 -0
  168. apps/backend/api/sms.py +544 -0
  169. apps/backend/api/stripe_webhooks.py +927 -0
  170. apps/backend/api/supervisor_api.py +283 -0
  171. apps/backend/api/support/__init__.py +1 -0
  172. apps/backend/api/support/tickets.py +472 -0
  173. apps/backend/api/suppression.py +206 -0
  174. apps/backend/api/swarm.py +264 -0
  175. apps/backend/api/task_feedback.py +131 -0
  176. apps/backend/api/task_ingest.py +107 -0
  177. apps/backend/api/tasks.py +622 -0
  178. apps/backend/api/team.py +751 -0
  179. apps/backend/api/telephony.py +474 -0
  180. apps/backend/api/templates.py +415 -0
  181. apps/backend/api/tenant/__init__.py +1 -0
  182. apps/backend/api/tenant/approval_queue.py +473 -0
  183. apps/backend/api/tenant/billing.py +166 -0
  184. apps/backend/api/tenant/users.py +425 -0
  185. apps/backend/api/tenant_improvement.py +56 -0
  186. apps/backend/api/threads.py +99 -0
  187. apps/backend/api/trace_learning.py +457 -0
  188. apps/backend/api/traces.py +73 -0
  189. apps/backend/api/trust_posture.py +203 -0
  190. apps/backend/api/trust_score.py +109 -0
  191. apps/backend/api/uat_simulation.py +423 -0
  192. apps/backend/api/upgrades.py +95 -0
  193. apps/backend/api/visitor_beacon.py +99 -0
  194. apps/backend/api/voice_avatar.py +108 -0
  195. apps/backend/api/voice_calls.py +997 -0
  196. apps/backend/api/voice_preload.py +44 -0
  197. apps/backend/api/webhooks/__init__.py +0 -0
  198. apps/backend/api/webhooks/_shared.py +51 -0
  199. apps/backend/api/webhooks/email_events.py +236 -0
  200. apps/backend/api/webhooks/github.py +202 -0
  201. apps/backend/api/webhooks/gitlab.py +195 -0
  202. apps/backend/api/webhooks/ingest.py +218 -0
  203. apps/backend/api/webhooks/slack_events.py +433 -0
  204. apps/backend/api/webhooks/sms_inbound.py +262 -0
  205. apps/backend/api/webhooks/zoho_desk.py +278 -0
  206. apps/backend/api/whatsapp.py +964 -0
  207. apps/backend/api/work_items.py +344 -0
  208. apps/backend/api/workflows_api.py +150 -0
  209. apps/backend/api/workspace/__init__.py +23 -0
  210. apps/backend/api/workspace/_core.py +539 -0
  211. apps/backend/api/workspace/coding_bridge.py +109 -0
  212. apps/backend/api/workspace/coding_runs.py +990 -0
  213. apps/backend/api/workspace/files.py +380 -0
  214. apps/backend/api/workspace/repos.py +1071 -0
  215. apps/backend/api/workspace/settings.py +491 -0
  216. apps/backend/api/workspace/terminal.py +542 -0
  217. apps/backend/api/zara/__init__.py +2204 -0
  218. apps/backend/api/zara/explain.py +404 -0
  219. apps/backend/api/zara/goal_intake.py +139 -0
  220. apps/backend/api/zara/models.py +629 -0
  221. apps/backend/api/zara/routines.py +136 -0
  222. apps/backend/api/zara/validation.py +96 -0
  223. apps/backend/api/zara_voice_ws.py +946 -0
  224. apps/backend/assets/backchannel/BACKCHANNEL_MANIFEST.md +169 -0
  225. apps/backend/assets/backchannel/generate_backchannels.py +549 -0
  226. apps/backend/composition/__init__.py +45 -0
  227. apps/backend/composition/capability_manifest.py +155 -0
  228. apps/backend/composition/loader.py +321 -0
  229. apps/backend/composition/registry.py +140 -0
  230. apps/backend/config/__init__.py +0 -0
  231. apps/backend/config/admin_host.py +143 -0
  232. apps/backend/config/auth_identity_contract.json +36 -0
  233. apps/backend/config/capability_bundles.py +102 -0
  234. apps/backend/config/deployment_profile.py +13 -0
  235. apps/backend/config/email_policy.py +34 -0
  236. apps/backend/config/environment.py +88 -0
  237. apps/backend/config/llm_provider_costs.py +464 -0
  238. apps/backend/config/managed_serverless_routes.py +125 -0
  239. apps/backend/config/pricing.py +531 -0
  240. apps/backend/config/region.py +27 -0
  241. apps/backend/config/router_registry.py +399 -0
  242. apps/backend/config/secrets.py +363 -0
  243. apps/backend/config/table_names.py +245 -0
  244. apps/backend/core/__init__.py +1 -0
  245. apps/backend/core/health_watchdog.py +294 -0
  246. apps/backend/dependencies.py +196 -0
  247. apps/backend/dependency_factories/__init__.py +6 -0
  248. apps/backend/dependency_factories/agents.py +59 -0
  249. apps/backend/dependency_factories/business.py +89 -0
  250. apps/backend/dependency_factories/config.py +23 -0
  251. apps/backend/dependency_factories/connectors.py +37 -0
  252. apps/backend/dependency_factories/core.py +70 -0
  253. apps/backend/dependency_factories/cowork.py +72 -0
  254. apps/backend/dependency_factories/intelligence.py +73 -0
  255. apps/backend/dependency_factories/learning.py +59 -0
  256. apps/backend/dependency_factories/notifications.py +25 -0
  257. apps/backend/dependency_factories/runtime.py +32 -0
  258. apps/backend/dependency_factories/skills.py +15 -0
  259. apps/backend/dependency_factories/standalone.py +76 -0
  260. apps/backend/dependency_factories/stores.py +63 -0
  261. apps/backend/dependency_factories/tenant.py +37 -0
  262. apps/backend/dependency_factories/trace.py +147 -0
  263. apps/backend/docker-entrypoint.sh +67 -0
  264. apps/backend/enums/__init__.py +1 -0
  265. apps/backend/enums/skill_types.py +100 -0
  266. apps/backend/extensions/__init__.py +19 -0
  267. apps/backend/extensions/acp/__init__.py +0 -0
  268. apps/backend/extensions/acp/acp_client_adapter.py +501 -0
  269. apps/backend/extensions/base.py +124 -0
  270. apps/backend/extensions/capabilities/__init__.py +0 -0
  271. apps/backend/extensions/capabilities/baseline.py +132 -0
  272. apps/backend/extensions/cognition/__init__.py +0 -0
  273. apps/backend/extensions/cognition/bdi_surface.py +90 -0
  274. apps/backend/extensions/cognition/fit_probe.py +96 -0
  275. apps/backend/extensions/cognition/latent_briefing.py +94 -0
  276. apps/backend/extensions/contracts/__init__.py +0 -0
  277. apps/backend/extensions/contracts/preflight_contract.py +78 -0
  278. apps/backend/extensions/contracts/promotion_contract.py +94 -0
  279. apps/backend/extensions/contracts/weak_contract_sweep.py +96 -0
  280. apps/backend/extensions/enrichment/__init__.py +1 -0
  281. apps/backend/extensions/enrichment/apollo_provider.py +96 -0
  282. apps/backend/extensions/enrichment/base.py +61 -0
  283. apps/backend/extensions/enrichment/hunter_provider.py +67 -0
  284. apps/backend/extensions/enrichment/pdl_provider.py +98 -0
  285. apps/backend/extensions/enrichment/waterfall.py +79 -0
  286. apps/backend/extensions/enrichment/zoominfo_provider.py +32 -0
  287. apps/backend/extensions/evidence_graph_seam/__init__.py +31 -0
  288. apps/backend/extensions/evidence_graph_seam/ledger.py +140 -0
  289. apps/backend/extensions/evidence_graph_seam/proof_projection.py +61 -0
  290. apps/backend/extensions/ingestion/__init__.py +28 -0
  291. apps/backend/extensions/ingestion/handlers.py +213 -0
  292. apps/backend/extensions/ingestion/substrate.py +213 -0
  293. apps/backend/extensions/mcp/__init__.py +18 -0
  294. apps/backend/extensions/mcp/mcp_gateway.py +73 -0
  295. apps/backend/extensions/mcp/skill_to_mcp_transformer.py +290 -0
  296. apps/backend/extensions/mcp_server/__init__.py +7 -0
  297. apps/backend/extensions/mcp_server/endpoints/execute_tool.py +175 -0
  298. apps/backend/extensions/mcp_server/main.py +333 -0
  299. apps/backend/extensions/mcp_server/middleware/tenant_isolation.py +143 -0
  300. apps/backend/extensions/mcp_server/requirements.txt +14 -0
  301. apps/backend/extensions/oauth_adapters/__init__.py +10 -0
  302. apps/backend/extensions/oauth_adapters/google.py +198 -0
  303. apps/backend/extensions/oauth_adapters/microsoft.py +205 -0
  304. apps/backend/extensions/ontology/__init__.py +0 -0
  305. apps/backend/extensions/ontology/ontology_surface.py +72 -0
  306. apps/backend/extensions/ontology/ontology_wiring.py +67 -0
  307. apps/backend/extensions/ontology/primitive_ontology.py +76 -0
  308. apps/backend/extensions/payroll/__init__.py +2 -0
  309. apps/backend/extensions/payroll/models.py +198 -0
  310. apps/backend/extensions/payroll/provider.py +93 -0
  311. apps/backend/extensions/promotion/__init__.py +35 -0
  312. apps/backend/extensions/promotion/delta_j_calculator.py +15 -0
  313. apps/backend/extensions/rlm/__init__.py +0 -0
  314. apps/backend/extensions/rlm/cognition_substrate.py +129 -0
  315. apps/backend/extensions/rlm/execution_envelope.py +157 -0
  316. apps/backend/extensions/rlm/replay_checkpoint.py +166 -0
  317. apps/backend/extensions/rlm/substrate_contract.py +111 -0
  318. apps/backend/extensions/rlm/trajectory_observability.py +162 -0
  319. apps/backend/extensions/rlm/trajectory_projection.py +181 -0
  320. apps/backend/extensions/rlm/working_set_governor.py +173 -0
  321. apps/backend/extensions/validation/__init__.py +1 -0
  322. apps/backend/extensions/voice_services/__init__.py +1 -0
  323. apps/backend/extensions/voice_services/grok_voice.py +422 -0
  324. apps/backend/extensions/voice_services/voice_call_primitive.py +98 -0
  325. apps/backend/extensions/wep/__init__.py +9 -0
  326. apps/backend/extensions/wep/manifest.py +72 -0
  327. apps/backend/extensions/wep/permissions.py +64 -0
  328. apps/backend/extensions/wep/registry.py +177 -0
  329. apps/backend/extensions/zara_kernel/__init__.py +28 -0
  330. apps/backend/extensions/zara_kernel/operating_kernel.py +369 -0
  331. apps/backend/integrations/__init__.py +17 -0
  332. apps/backend/integrations/integration_catalog.py +250 -0
  333. apps/backend/lambda/backup_retention_reconciler/handler.py +257 -0
  334. apps/backend/lambda/build-and-push.sh +45 -0
  335. apps/backend/lambda/dispatch_consumer/handler.py +15 -0
  336. apps/backend/lambda/document_worker/handler.py +177 -0
  337. apps/backend/lambda/ecs_taskdef_lifecycle/handler.py +173 -0
  338. apps/backend/lambda/forgetting_scheduler/handler.py +67 -0
  339. apps/backend/lambda/goal_scheduler/handler.py +185 -0
  340. apps/backend/lambda/jwt_token_generator/agent_discovery.py +212 -0
  341. apps/backend/lambda/jwt_token_generator/handler.py +961 -0
  342. apps/backend/lambda/jwt_token_generator/requirements.txt +3 -0
  343. apps/backend/lambda/precedent_refresh/handler.py +181 -0
  344. apps/backend/lambda/proactive_intelligence/__init__.py +0 -0
  345. apps/backend/lambda/proactive_intelligence/handler.py +818 -0
  346. apps/backend/lambda/schedule_runner/handler.py +73 -0
  347. apps/backend/lambda/schedule_runner/requirements.txt +1 -0
  348. apps/backend/lambda/skills_api/handler.py +86 -0
  349. apps/backend/lambda/skills_api/requirements.txt +16 -0
  350. apps/backend/lambda/tenant_lifecycle/handler.py +575 -0
  351. apps/backend/lambda/wake_email_send/handler.py +140 -0
  352. apps/backend/lambda/wake_email_send/requirements.txt +1 -0
  353. apps/backend/lambda/wake_sync_resolve/handler.py +112 -0
  354. apps/backend/lambda/wake_sync_resolve/requirements.txt +1 -0
  355. apps/backend/lambda/wake_token_validate/handler.py +101 -0
  356. apps/backend/lambda/wake_token_validate/requirements.txt +1 -0
  357. apps/backend/lambda_handler.py +17 -0
  358. apps/backend/lambda_handlers/__init__.py +0 -0
  359. apps/backend/lambda_handlers/agent_liveness_watchdog/__init__.py +1 -0
  360. apps/backend/lambda_handlers/agent_liveness_watchdog/handler.py +90 -0
  361. apps/backend/lambda_handlers/daily_retrospective/__init__.py +1 -0
  362. apps/backend/lambda_handlers/daily_retrospective/handler.py +312 -0
  363. apps/backend/lambda_handlers/developmental_intelligence_warmer/handler.py +251 -0
  364. apps/backend/lambda_handlers/drift_detection/__init__.py +0 -0
  365. apps/backend/lambda_handlers/drift_detection/handler.py +224 -0
  366. apps/backend/lambda_handlers/greedy_optimizer/__init__.py +1 -0
  367. apps/backend/lambda_handlers/greedy_optimizer/handler.py +150 -0
  368. apps/backend/lambda_handlers/heartbeat_monitor/__init__.py +0 -0
  369. apps/backend/lambda_handlers/heartbeat_monitor/handler.py +57 -0
  370. apps/backend/lambda_handlers/level2_calibrator/__init__.py +1 -0
  371. apps/backend/lambda_handlers/level2_calibrator/handler.py +102 -0
  372. apps/backend/lambda_handlers/level2_rollback_watchdog/__init__.py +1 -0
  373. apps/backend/lambda_handlers/level2_rollback_watchdog/handler.py +75 -0
  374. apps/backend/lambda_handlers/loop_governance/__init__.py +1 -0
  375. apps/backend/lambda_handlers/loop_governance/handler.py +87 -0
  376. apps/backend/lambda_handlers/org_bootstrap/handler.py +177 -0
  377. apps/backend/lambda_handlers/provider_health/__init__.py +1 -0
  378. apps/backend/lambda_handlers/provider_health/handler.py +24 -0
  379. apps/backend/lambda_handlers/strategy_mining/__init__.py +0 -0
  380. apps/backend/lambda_handlers/strategy_mining/handler.py +106 -0
  381. apps/backend/lambda_handlers/stripe_webhook_processor/__init__.py +1 -0
  382. apps/backend/lambda_handlers/stripe_webhook_processor/handler.py +43 -0
  383. apps/backend/lambda_handlers/twilio_recording_ingestion/__init__.py +1 -0
  384. apps/backend/lambda_handlers/twilio_recording_ingestion/handler.py +39 -0
  385. apps/backend/lambda_handlers/upgrade_digest/handler.py +37 -0
  386. apps/backend/main.py +1113 -0
  387. apps/backend/managed_lambda_handler.py +163 -0
  388. apps/backend/mcp/__init__.py +0 -0
  389. apps/backend/mcp/core_tools.py +598 -0
  390. apps/backend/mcp/workmemory_mcp_server.py +527 -0
  391. apps/backend/middleware/__init__.py +20 -0
  392. apps/backend/middleware/auth_enforcement.py +382 -0
  393. apps/backend/middleware/decision_capture_audit.py +64 -0
  394. apps/backend/middleware/exception_sanitizer.py +98 -0
  395. apps/backend/middleware/grok_tenant_context.py +574 -0
  396. apps/backend/middleware/logging_redaction.py +100 -0
  397. apps/backend/middleware/quota_enforcement.py +533 -0
  398. apps/backend/middleware/security_hardening.py +148 -0
  399. apps/backend/middleware/security_headers.py +165 -0
  400. apps/backend/middleware/tenant_isolation.py +286 -0
  401. apps/backend/models/__init__.py +107 -0
  402. apps/backend/models/approval_request.py +331 -0
  403. apps/backend/models/auth_envelope.py +75 -0
  404. apps/backend/models/capability_manifest.py +84 -0
  405. apps/backend/models/capability_request.py +122 -0
  406. apps/backend/models/cold_outreach_lead.py +127 -0
  407. apps/backend/models/compiled_policy.py +335 -0
  408. apps/backend/models/composition_plan.py +84 -0
  409. apps/backend/models/connector_principal.py +102 -0
  410. apps/backend/models/connector_state.py +148 -0
  411. apps/backend/models/consent.py +376 -0
  412. apps/backend/models/decision_event.py +384 -0
  413. apps/backend/models/delegation.py +333 -0
  414. apps/backend/models/execution_receipt.py +97 -0
  415. apps/backend/models/goal_spec.py +177 -0
  416. apps/backend/models/governed_swarm.py +569 -0
  417. apps/backend/models/interrupt_state.py +554 -0
  418. apps/backend/models/lead.py +235 -0
  419. apps/backend/models/metering_plan.py +83 -0
  420. apps/backend/models/mission.py +147 -0
  421. apps/backend/models/objective_board.py +319 -0
  422. apps/backend/models/operating_kernel.py +272 -0
  423. apps/backend/models/org.py +103 -0
  424. apps/backend/models/payment_contract.py +93 -0
  425. apps/backend/models/precedent.py +470 -0
  426. apps/backend/models/proof_card.py +97 -0
  427. apps/backend/models/provenance.py +43 -0
  428. apps/backend/models/pulse.py +104 -0
  429. apps/backend/models/runtime_session.py +124 -0
  430. apps/backend/models/runtime_summary.py +26 -0
  431. apps/backend/models/skill_registry.py +582 -0
  432. apps/backend/models/support_ticket.py +127 -0
  433. apps/backend/models/suppression.py +320 -0
  434. apps/backend/models/tenant.py +222 -0
  435. apps/backend/models/thread_schema.py +239 -0
  436. apps/backend/models/time_block.py +226 -0
  437. apps/backend/models/topology_edge.py +88 -0
  438. apps/backend/models/trace_envelope.py +197 -0
  439. apps/backend/models/trace_record.py +136 -0
  440. apps/backend/models/user.py +135 -0
  441. apps/backend/models/user_context.py +147 -0
  442. apps/backend/models/validation.py +26 -0
  443. apps/backend/models/variant.py +419 -0
  444. apps/backend/models/whatsapp_message.py +437 -0
  445. apps/backend/models/work_memory.py +90 -0
  446. apps/backend/models/workflow.py +116 -0
  447. apps/backend/observability/__init__.py +23 -0
  448. apps/backend/observability/async_tasks.py +47 -0
  449. apps/backend/observability/error_tracker.py +68 -0
  450. apps/backend/observability/otel_tracing.py +329 -0
  451. apps/backend/observability/structlog_config.py +121 -0
  452. apps/backend/observability/trace_context.py +91 -0
  453. apps/backend/providers/__init__.py +48 -0
  454. apps/backend/providers/auth_provider.py +37 -0
  455. apps/backend/providers/base.py +262 -0
  456. apps/backend/providers/bedrock_model_provider.py +53 -0
  457. apps/backend/providers/cma_backend.py +226 -0
  458. apps/backend/providers/container_orchestrator.py +407 -0
  459. apps/backend/providers/email_identity_lookup.py +76 -0
  460. apps/backend/providers/email_provider.py +373 -0
  461. apps/backend/providers/embedding_provider.py +200 -0
  462. apps/backend/providers/evidence_hash_chain.py +228 -0
  463. apps/backend/providers/execution_backend.py +124 -0
  464. apps/backend/providers/identity_provider.py +456 -0
  465. apps/backend/providers/local_voice_provider.py +310 -0
  466. apps/backend/providers/managed_runtime_secret_env.py +99 -0
  467. apps/backend/providers/managed_schedule_store.py +151 -0
  468. apps/backend/providers/metering_provider.py +352 -0
  469. apps/backend/providers/native_backend.py +130 -0
  470. apps/backend/providers/object_store.py +472 -0
  471. apps/backend/providers/oidc_provider.py +623 -0
  472. apps/backend/providers/pii_redactor.py +178 -0
  473. apps/backend/providers/portable_store.py +892 -0
  474. apps/backend/providers/queue_runtime.py +676 -0
  475. apps/backend/providers/runtime_provisioner.py +412 -0
  476. apps/backend/providers/schedule_provider.py +425 -0
  477. apps/backend/providers/secret_provider.py +396 -0
  478. apps/backend/providers/sqlite_store.py +279 -0
  479. apps/backend/providers/telemetry_provider.py +223 -0
  480. apps/backend/providers/tiered_secret_store.py +290 -0
  481. apps/backend/providers/voice_transport.py +244 -0
  482. apps/backend/public_health_lambda_handler.py +45 -0
  483. apps/backend/requirements-lambda.txt +8 -0
  484. apps/backend/requirements.runtime.txt +78 -0
  485. apps/backend/requirements.txt +32 -0
  486. apps/backend/schemas/__init__.py +27 -0
  487. apps/backend/schemas/action_outcome.py +219 -0
  488. apps/backend/schemas/agent_profile.py +473 -0
  489. apps/backend/schemas/callback.py +311 -0
  490. apps/backend/schemas/employee_profile.py +65 -0
  491. apps/backend/schemas/error_response.py +50 -0
  492. apps/backend/schemas/interview.py +163 -0
  493. apps/backend/schemas/promotion.py +574 -0
  494. apps/backend/schemas/skill.py +467 -0
  495. apps/backend/schemas/voice_skill.py +582 -0
  496. apps/backend/scripts/README.md +110 -0
  497. apps/backend/scripts/dev-clear-s3-evidence.sh +164 -0
  498. apps/backend/scripts/generate_backchannels.py +529 -0
  499. apps/backend/services/__init__.py +0 -0
  500. apps/backend/services/account_lifecycle.py +693 -0
  501. apps/backend/services/action_item_extractor.py +181 -0
  502. apps/backend/services/action_outcome_capture.py +233 -0
  503. apps/backend/services/admin_inference_probe.py +235 -0
  504. apps/backend/services/admin_meeting_provider_store.py +403 -0
  505. apps/backend/services/agent_activation_service.py +1058 -0
  506. apps/backend/services/agent_calendar_service.py +122 -0
  507. apps/backend/services/agent_collaboration/__init__.py +26 -0
  508. apps/backend/services/agent_collaboration/channels.py +526 -0
  509. apps/backend/services/agent_collaboration/messages.py +173 -0
  510. apps/backend/services/agent_collaboration/models.py +113 -0
  511. apps/backend/services/agent_collaboration/service.py +222 -0
  512. apps/backend/services/agent_collaboration/societies.py +231 -0
  513. apps/backend/services/agent_collaboration/workflows.py +489 -0
  514. apps/backend/services/agent_context_store.py +482 -0
  515. apps/backend/services/agent_credential_vault.py +438 -0
  516. apps/backend/services/agent_crm_service.py +222 -0
  517. apps/backend/services/agent_directory.py +168 -0
  518. apps/backend/services/agent_dispatch.py +603 -0
  519. apps/backend/services/agent_email_service.py +303 -0
  520. apps/backend/services/agent_health.py +37 -0
  521. apps/backend/services/agent_identity_governance.py +452 -0
  522. apps/backend/services/agent_identity_provisioning.py +253 -0
  523. apps/backend/services/agent_instance_manager.py +677 -0
  524. apps/backend/services/agent_profile_store.py +896 -0
  525. apps/backend/services/agent_protocol.py +692 -0
  526. apps/backend/services/agent_registration.py +274 -0
  527. apps/backend/services/agent_work_ledger.py +765 -0
  528. apps/backend/services/ambient_monitor.py +109 -0
  529. apps/backend/services/analytics_service.py +281 -0
  530. apps/backend/services/approval_gates.py +1096 -0
  531. apps/backend/services/approval_service.py +517 -0
  532. apps/backend/services/assertion_runner.py +341 -0
  533. apps/backend/services/async_scheduler.py +140 -0
  534. apps/backend/services/audit_logger.py +493 -0
  535. apps/backend/services/auth/__init__.py +1 -0
  536. apps/backend/services/auth/deny_by_default.py +30 -0
  537. apps/backend/services/auth/impersonation_audit.py +173 -0
  538. apps/backend/services/auth_identity_contract.py +28 -0
  539. apps/backend/services/auto_team_provisioner.py +179 -0
  540. apps/backend/services/autonomous_okr.py +517 -0
  541. apps/backend/services/autonomy_compiler.py +800 -0
  542. apps/backend/services/autonomy_policy_store.py +108 -0
  543. apps/backend/services/autonomy_store.py +192 -0
  544. apps/backend/services/autoresearch/__init__.py +6 -0
  545. apps/backend/services/autoresearch/evaluators.py +127 -0
  546. apps/backend/services/autoresearch/models.py +60 -0
  547. apps/backend/services/autoresearch/orchestrator.py +160 -0
  548. apps/backend/services/autoresearch/targets.py +74 -0
  549. apps/backend/services/background_mission_tracker.py +517 -0
  550. apps/backend/services/batch_orchestrator.py +907 -0
  551. apps/backend/services/behavioral_stops_store.py +187 -0
  552. apps/backend/services/billing/__init__.py +101 -0
  553. apps/backend/services/billing/_protocols.py +71 -0
  554. apps/backend/services/billing/adjustments.py +166 -0
  555. apps/backend/services/billing/anomaly_guard.py +181 -0
  556. apps/backend/services/billing/attribution_context.py +64 -0
  557. apps/backend/services/billing/attribution_envelope.py +123 -0
  558. apps/backend/services/billing/attribution_projector.py +115 -0
  559. apps/backend/services/billing/billable_meter_registry.py +398 -0
  560. apps/backend/services/billing/budget_gate.py +78 -0
  561. apps/backend/services/billing/budget_gate_default.py +340 -0
  562. apps/backend/services/billing/budget_governor.py +440 -0
  563. apps/backend/services/billing/caching_cost.py +126 -0
  564. apps/backend/services/billing/catalog.py +169 -0
  565. apps/backend/services/billing/catalog_store.py +243 -0
  566. apps/backend/services/billing/channel_brake.py +165 -0
  567. apps/backend/services/billing/compensation.py +685 -0
  568. apps/backend/services/billing/compensation_registry.py +153 -0
  569. apps/backend/services/billing/context_resolver.py +213 -0
  570. apps/backend/services/billing/daily_rollup.py +219 -0
  571. apps/backend/services/billing/emitters/__init__.py +6 -0
  572. apps/backend/services/billing/emitters/llm_tokens.py +252 -0
  573. apps/backend/services/billing/emitters/metered_llm_call.py +190 -0
  574. apps/backend/services/billing/emitters/voice.py +93 -0
  575. apps/backend/services/billing/entitlements.py +191 -0
  576. apps/backend/services/billing/founder_cost_view.py +175 -0
  577. apps/backend/services/billing/group_spend_service.py +390 -0
  578. apps/backend/services/billing/ingress.py +254 -0
  579. apps/backend/services/billing/invoice_service.py +1341 -0
  580. apps/backend/services/billing/leak_detector.py +203 -0
  581. apps/backend/services/billing/ledger_bus.py +266 -0
  582. apps/backend/services/billing/ledger_init.py +27 -0
  583. apps/backend/services/billing/ledger_models.py +41 -0
  584. apps/backend/services/billing/ledger_store.py +66 -0
  585. apps/backend/services/billing/ledger_subscribers.py +17 -0
  586. apps/backend/services/billing/local_infra_collector.py +162 -0
  587. apps/backend/services/billing/metering_attribution.py +92 -0
  588. apps/backend/services/billing/metering_collectors.py +138 -0
  589. apps/backend/services/billing/metering_envelope.py +43 -0
  590. apps/backend/services/billing/metering_service.py +97 -0
  591. apps/backend/services/billing/pending_checkout_store.py +54 -0
  592. apps/backend/services/billing/per_member_cost_policy.py +106 -0
  593. apps/backend/services/billing/phantom_model_guard.py +139 -0
  594. apps/backend/services/billing/pricing_catalog.py +309 -0
  595. apps/backend/services/billing/provider_usage_fetcher.py +303 -0
  596. apps/backend/services/billing/read_models.py +1057 -0
  597. apps/backend/services/billing/reconciliation.py +357 -0
  598. apps/backend/services/billing/rev_crm_sync.py +266 -0
  599. apps/backend/services/billing/rev_draft.py +347 -0
  600. apps/backend/services/billing/rev_executor.py +537 -0
  601. apps/backend/services/billing/rev_followup.py +365 -0
  602. apps/backend/services/billing/rev_mission_run_bridge.py +383 -0
  603. apps/backend/services/billing/rev_research.py +279 -0
  604. apps/backend/services/billing/stripe_checkout.py +661 -0
  605. apps/backend/services/billing/stripe_webhook_outbox.py +382 -0
  606. apps/backend/services/billing/subscription_service.py +1667 -0
  607. apps/backend/services/billing/types.py +178 -0
  608. apps/backend/services/billing/usage_drilldown.py +203 -0
  609. apps/backend/services/booking_service.py +554 -0
  610. apps/backend/services/browser_cli.py +368 -0
  611. apps/backend/services/browser_executor.py +1035 -0
  612. apps/backend/services/bulk_campaign_dialer.py +284 -0
  613. apps/backend/services/business_process/__init__.py +1 -0
  614. apps/backend/services/byoc_oauth_config.py +252 -0
  615. apps/backend/services/cache.py +63 -0
  616. apps/backend/services/calibrator/__init__.py +15 -0
  617. apps/backend/services/calibrator/level2_calibrator.py +1061 -0
  618. apps/backend/services/canonical_context.py +99 -0
  619. apps/backend/services/capability/__init__.py +120 -0
  620. apps/backend/services/capability/eval_canary.py +343 -0
  621. apps/backend/services/capability/gate.py +400 -0
  622. apps/backend/services/capability/manifest.py +37 -0
  623. apps/backend/services/capability/request.py +362 -0
  624. apps/backend/services/capability/service.py +529 -0
  625. apps/backend/services/capability/setup.py +244 -0
  626. apps/backend/services/capability/tool_registry.py +367 -0
  627. apps/backend/services/capability_eval_canary.py +343 -0
  628. apps/backend/services/capability_lease.py +719 -0
  629. apps/backend/services/capability_manifest.py +670 -0
  630. apps/backend/services/capability_request_service.py +362 -0
  631. apps/backend/services/capability_service.py +529 -0
  632. apps/backend/services/capability_setup_service.py +244 -0
  633. apps/backend/services/change_events.py +353 -0
  634. apps/backend/services/channels/__init__.py +0 -0
  635. apps/backend/services/channels/adapter_base.py +187 -0
  636. apps/backend/services/channels/channel_adapter.py +131 -0
  637. apps/backend/services/channels/channel_bound_agent.py +170 -0
  638. apps/backend/services/channels/channel_router.py +1099 -0
  639. apps/backend/services/channels/cli_adapter.py +73 -0
  640. apps/backend/services/channels/cold_outreach_compliance.py +157 -0
  641. apps/backend/services/channels/pre_send_guard.py +984 -0
  642. apps/backend/services/channels/revenue_reply_routing.py +279 -0
  643. apps/backend/services/channels/sender_policy.py +7 -0
  644. apps/backend/services/channels/slack_adapter.py +138 -0
  645. apps/backend/services/channels/twilio/__init__.py +0 -0
  646. apps/backend/services/channels/twilio/client_service.py +940 -0
  647. apps/backend/services/channels/twilio/connector.py +147 -0
  648. apps/backend/services/channels/twilio/media_stream.py +1138 -0
  649. apps/backend/services/channels/twilio/recording_outbox.py +356 -0
  650. apps/backend/services/channels/twilio/routes.py +290 -0
  651. apps/backend/services/channels/twilio/security.py +79 -0
  652. apps/backend/services/channels/twilio/voice.py +406 -0
  653. apps/backend/services/channels/twilio/voice_browser.py +550 -0
  654. apps/backend/services/channels/twilio/voice_inbound.py +509 -0
  655. apps/backend/services/channels/twilio/voice_webhooks.py +972 -0
  656. apps/backend/services/channels/twilio/voice_zara.py +497 -0
  657. apps/backend/services/channels/twilio/ws_token.py +117 -0
  658. apps/backend/services/channels/voice_adapter.py +71 -0
  659. apps/backend/services/channels/web_adapter.py +83 -0
  660. apps/backend/services/channels/whatsapp/__init__.py +39 -0
  661. apps/backend/services/channels/whatsapp/handler.py +1090 -0
  662. apps/backend/services/channels/whatsapp/runtime_bridge.py +261 -0
  663. apps/backend/services/channels/whatsapp/service.py +612 -0
  664. apps/backend/services/channels/whatsapp/skills/__init__.py +75 -0
  665. apps/backend/services/channels/whatsapp/skills/appointment.py +248 -0
  666. apps/backend/services/channels/whatsapp/skills/base.py +81 -0
  667. apps/backend/services/channels/whatsapp/skills/broadcast.py +321 -0
  668. apps/backend/services/channels/whatsapp/skills/campaign.py +313 -0
  669. apps/backend/services/channels/whatsapp/skills/follow_up.py +241 -0
  670. apps/backend/services/channels/whatsapp/skills/registry.py +61 -0
  671. apps/backend/services/channels/whatsapp/store.py +687 -0
  672. apps/backend/services/channels/whatsapp_adapter.py +83 -0
  673. apps/backend/services/checkpoint_service.py +333 -0
  674. apps/backend/services/clarification_protocol.py +345 -0
  675. apps/backend/services/cli_login_bridge.py +326 -0
  676. apps/backend/services/cli_password_reset.py +168 -0
  677. apps/backend/services/coding_bridge.py +376 -0
  678. apps/backend/services/company_context.py +115 -0
  679. apps/backend/services/company_graph.py +161 -0
  680. apps/backend/services/composition_guard.py +393 -0
  681. apps/backend/services/compounding_scorecard.py +156 -0
  682. apps/backend/services/concurrency/__init__.py +15 -0
  683. apps/backend/services/concurrency/harness.py +229 -0
  684. apps/backend/services/conference_service.py +192 -0
  685. apps/backend/services/connector_health_monitor.py +170 -0
  686. apps/backend/services/connector_marketplace.py +178 -0
  687. apps/backend/services/connector_policy_broker.py +443 -0
  688. apps/backend/services/connectors/__init__.py +59 -0
  689. apps/backend/services/connectors/action_discovery.py +225 -0
  690. apps/backend/services/connectors/action_normalizer.py +135 -0
  691. apps/backend/services/connectors/base.py +143 -0
  692. apps/backend/services/connectors/connector_executor.py +293 -0
  693. apps/backend/services/connectors/connector_fallback.py +391 -0
  694. apps/backend/services/connectors/connector_principals.py +94 -0
  695. apps/backend/services/connectors/connector_sdk.py +683 -0
  696. apps/backend/services/connectors/connector_security_contract.py +168 -0
  697. apps/backend/services/connectors/deel_connector.py +164 -0
  698. apps/backend/services/connectors/generic/__init__.py +41 -0
  699. apps/backend/services/connectors/generic/cli_connector.py +178 -0
  700. apps/backend/services/connectors/generic/mcp_connector.py +160 -0
  701. apps/backend/services/connectors/generic/rest_connector.py +221 -0
  702. apps/backend/services/connectors/generic/result.py +22 -0
  703. apps/backend/services/connectors/ghost_connector.py +438 -0
  704. apps/backend/services/connectors/github_connector.py +199 -0
  705. apps/backend/services/connectors/gmail_connector.py +203 -0
  706. apps/backend/services/connectors/google_calendar_connector.py +287 -0
  707. apps/backend/services/connectors/google_docs_connector.py +328 -0
  708. apps/backend/services/connectors/google_drive_connector.py +407 -0
  709. apps/backend/services/connectors/google_search_console_connector.py +131 -0
  710. apps/backend/services/connectors/google_sheets_connector.py +328 -0
  711. apps/backend/services/connectors/google_slides_connector.py +339 -0
  712. apps/backend/services/connectors/google_workspace_connector.py +197 -0
  713. apps/backend/services/connectors/gusto_connector.py +192 -0
  714. apps/backend/services/connectors/headless_connector.py +87 -0
  715. apps/backend/services/connectors/hubspot_connector.py +199 -0
  716. apps/backend/services/connectors/marketplace.py +3721 -0
  717. apps/backend/services/connectors/mcp_connector.py +320 -0
  718. apps/backend/services/connectors/microsoft_365_connector.py +133 -0
  719. apps/backend/services/connectors/notion_connector.py +323 -0
  720. apps/backend/services/connectors/oauth_device_flow.py +338 -0
  721. apps/backend/services/connectors/openapi_spec_parser.py +257 -0
  722. apps/backend/services/connectors/outlook_calendar_connector.py +144 -0
  723. apps/backend/services/connectors/provider_operations.py +146 -0
  724. apps/backend/services/connectors/reauth_cta.py +164 -0
  725. apps/backend/services/connectors/salesforce_connector.py +204 -0
  726. apps/backend/services/connectors/shared_connector_service.py +724 -0
  727. apps/backend/services/connectors/slack_connector.py +332 -0
  728. apps/backend/services/connectors/standard_connector_registry.py +554 -0
  729. apps/backend/services/connectors/stripe_connector.py +159 -0
  730. apps/backend/services/connectors/teams_connector.py +177 -0
  731. apps/backend/services/connectors/web_search_connector.py +345 -0
  732. apps/backend/services/consent_manager.py +253 -0
  733. apps/backend/services/constitutional_ombudsman.py +353 -0
  734. apps/backend/services/content/__init__.py +1 -0
  735. apps/backend/services/content/service.py +1359 -0
  736. apps/backend/services/context_graph.py +281 -0
  737. apps/backend/services/context_graph_contract.py +154 -0
  738. apps/backend/services/coordination_orchestrator.py +195 -0
  739. apps/backend/services/credential_cipher.py +60 -0
  740. apps/backend/services/crm/__init__.py +1 -0
  741. apps/backend/services/crm_newsletter_bridge.py +334 -0
  742. apps/backend/services/crm_service_helpers.py +206 -0
  743. apps/backend/services/cross_loop_compounding.py +238 -0
  744. apps/backend/services/customer_context_store.py +232 -0
  745. apps/backend/services/dag_executor.py +323 -0
  746. apps/backend/services/decision_event_capture.py +537 -0
  747. apps/backend/services/decision_tree_service.py +403 -0
  748. apps/backend/services/degradation_notifier.py +169 -0
  749. apps/backend/services/delivery_guard.py +792 -0
  750. apps/backend/services/desk_learning_loop.py +260 -0
  751. apps/backend/services/developer_loop.py +309 -0
  752. apps/backend/services/developmental_intelligence.py +1157 -0
  753. apps/backend/services/dispatch_consumer_runtime.py +1452 -0
  754. apps/backend/services/doctrine_index.py +435 -0
  755. apps/backend/services/document_processor.py +696 -0
  756. apps/backend/services/document_store.py +201 -0
  757. apps/backend/services/domain_factory/__init__.py +65 -0
  758. apps/backend/services/domain_factory/pack.py +313 -0
  759. apps/backend/services/domain_factory/provisioner.py +295 -0
  760. apps/backend/services/domain_factory/registry.py +1040 -0
  761. apps/backend/services/domain_factory/workflow_compiler.py +336 -0
  762. apps/backend/services/domain_factory/zara_integration.py +216 -0
  763. apps/backend/services/drift_detection.py +1299 -0
  764. apps/backend/services/dynamo_store.py +301 -0
  765. apps/backend/services/dynamo_transactions.py +52 -0
  766. apps/backend/services/edge_cloud/__init__.py +31 -0
  767. apps/backend/services/edge_cloud/edge_cloud_handoff.py +381 -0
  768. apps/backend/services/email_service.py +1091 -0
  769. apps/backend/services/email_threading.py +1431 -0
  770. apps/backend/services/embedded_assets.py +82 -0
  771. apps/backend/services/entity_phone_routing.py +170 -0
  772. apps/backend/services/entity_resolution_engine.py +475 -0
  773. apps/backend/services/entity_resolution_repository.py +262 -0
  774. apps/backend/services/escalation_chain.py +152 -0
  775. apps/backend/services/eval_harness.py +375 -0
  776. apps/backend/services/event_bus.py +479 -0
  777. apps/backend/services/evidence_graph.py +1150 -0
  778. apps/backend/services/evolution_rate_limiter.py +902 -0
  779. apps/backend/services/executable_skill_platform.py +1087 -0
  780. apps/backend/services/executable_skill_sandbox_worker.py +334 -0
  781. apps/backend/services/execution/__init__.py +27 -0
  782. apps/backend/services/execution/awareness_planner.py +304 -0
  783. apps/backend/services/execution/emergent_composition.py +258 -0
  784. apps/backend/services/execution/guard_service.py +1528 -0
  785. apps/backend/services/execution/guardrail_drift_bias.py +117 -0
  786. apps/backend/services/execution/interrupt_propagation.py +250 -0
  787. apps/backend/services/execution/isolation_envelope.py +276 -0
  788. apps/backend/services/execution/replanner.py +182 -0
  789. apps/backend/services/execution/seat_spec.py +234 -0
  790. apps/backend/services/execution/squad_supervisor.py +154 -0
  791. apps/backend/services/execution/task_complexity_analyzer.py +271 -0
  792. apps/backend/services/execution/workitem_service.py +1640 -0
  793. apps/backend/services/execution/workitem_store.py +238 -0
  794. apps/backend/services/execution_proof_gate.py +311 -0
  795. apps/backend/services/execution_streaming.py +264 -0
  796. apps/backend/services/experiment_service.py +259 -0
  797. apps/backend/services/external_entity_sync.py +786 -0
  798. apps/backend/services/failure_taxonomy.py +165 -0
  799. apps/backend/services/feature_flags.py +526 -0
  800. apps/backend/services/forgetting_scheduler.py +597 -0
  801. apps/backend/services/funnel_analytics.py +193 -0
  802. apps/backend/services/gate_b_audit_bundle.py +833 -0
  803. apps/backend/services/github_ingest.py +337 -0
  804. apps/backend/services/gitlab_ingest.py +307 -0
  805. apps/backend/services/global_optimizer.py +339 -0
  806. apps/backend/services/gmail_read_service.py +231 -0
  807. apps/backend/services/gmail_service.py +124 -0
  808. apps/backend/services/goal_cascade.py +648 -0
  809. apps/backend/services/goal_intake_interviewer.py +691 -0
  810. apps/backend/services/goal_spec_service.py +121 -0
  811. apps/backend/services/golden_trace.py +243 -0
  812. apps/backend/services/google_oauth.py +598 -0
  813. apps/backend/services/gotcha_service.py +505 -0
  814. apps/backend/services/governance/__init__.py +17 -0
  815. apps/backend/services/governance/simulation_parity.py +306 -0
  816. apps/backend/services/governed_mutation_contract.py +188 -0
  817. apps/backend/services/governed_skill_index.py +277 -0
  818. apps/backend/services/governed_swarm_service.py +771 -0
  819. apps/backend/services/gradient_engine.py +177 -0
  820. apps/backend/services/grok_client.py +29 -0
  821. apps/backend/services/grok_intent_classifier.py +1040 -0
  822. apps/backend/services/grok_skill_selector.py +823 -0
  823. apps/backend/services/guardrails.py +855 -0
  824. apps/backend/services/harness_core.py +837 -0
  825. apps/backend/services/harness_rollout_snapshot.py +195 -0
  826. apps/backend/services/harness_state_ledger.py +137 -0
  827. apps/backend/services/heartbeat_monitor.py +113 -0
  828. apps/backend/services/hierarchical_identity.py +203 -0
  829. apps/backend/services/http_client_registry.py +96 -0
  830. apps/backend/services/hubspot_crm_service.py +478 -0
  831. apps/backend/services/human_judgment_service.py +681 -0
  832. apps/backend/services/human_override.py +315 -0
  833. apps/backend/services/idempotency.py +531 -0
  834. apps/backend/services/identity_links.py +151 -0
  835. apps/backend/services/identity_provisioner.py +935 -0
  836. apps/backend/services/improvement_policy_registry.py +1005 -0
  837. apps/backend/services/improvement_validator.py +246 -0
  838. apps/backend/services/inference/__init__.py +1 -0
  839. apps/backend/services/inference/adapters.py +606 -0
  840. apps/backend/services/inference/admin_resolver.py +618 -0
  841. apps/backend/services/inference/admin_store.py +1026 -0
  842. apps/backend/services/inference/anthropic_client.py +199 -0
  843. apps/backend/services/inference/auth_service.py +1094 -0
  844. apps/backend/services/inference/authority.py +505 -0
  845. apps/backend/services/inference/bedrock_client.py +486 -0
  846. apps/backend/services/inference/capabilities.py +631 -0
  847. apps/backend/services/inference/capability_router.py +467 -0
  848. apps/backend/services/inference/codex_client.py +210 -0
  849. apps/backend/services/inference/eval/__init__.py +35 -0
  850. apps/backend/services/inference/eval/canary_gate.py +134 -0
  851. apps/backend/services/inference/eval/golden_tasks.py +444 -0
  852. apps/backend/services/inference/eval_preflight.py +705 -0
  853. apps/backend/services/inference/intelligence_service.py +1475 -0
  854. apps/backend/services/inference/ir.py +149 -0
  855. apps/backend/services/inference/litellm_gateway.py +235 -0
  856. apps/backend/services/inference/llamacpp_provider.py +398 -0
  857. apps/backend/services/inference/ollama_provider.py +411 -0
  858. apps/backend/services/inference/openai_compatible_client.py +273 -0
  859. apps/backend/services/inference/phantom_model_baseline.py +211 -0
  860. apps/backend/services/inference/phantom_model_guard.py +190 -0
  861. apps/backend/services/inference/provider_chain.py +351 -0
  862. apps/backend/services/inference/provider_runtime.py +351 -0
  863. apps/backend/services/inference/service.py +2126 -0
  864. apps/backend/services/inference/settings.py +441 -0
  865. apps/backend/services/inference/tenant_clients.py +142 -0
  866. apps/backend/services/inference/universal.py +200 -0
  867. apps/backend/services/inference/usage.py +298 -0
  868. apps/backend/services/inference/vllm_provider.py +453 -0
  869. apps/backend/services/inference_aggregator.py +22 -0
  870. apps/backend/services/integration_health_store.py +60 -0
  871. apps/backend/services/integration_manager.py +1015 -0
  872. apps/backend/services/intelligence_aggregator.py +649 -0
  873. apps/backend/services/interrupt_enforcer.py +475 -0
  874. apps/backend/services/interrupt_state_store.py +151 -0
  875. apps/backend/services/interview_prompts.py +433 -0
  876. apps/backend/services/interview_report_service.py +308 -0
  877. apps/backend/services/interview_session_service.py +755 -0
  878. apps/backend/services/invitation_service.py +1044 -0
  879. apps/backend/services/irreversible_action_contract.py +449 -0
  880. apps/backend/services/judgment_feed_service.py +863 -0
  881. apps/backend/services/launch_readiness_enforcement.py +153 -0
  882. apps/backend/services/lead_magnet_email_service.py +546 -0
  883. apps/backend/services/lead_magnet_scoring.py +128 -0
  884. apps/backend/services/lead_scorer.py +372 -0
  885. apps/backend/services/learning/__init__.py +29 -0
  886. apps/backend/services/learning/daily_synthesis.py +67 -0
  887. apps/backend/services/learning/learning_agility.py +60 -0
  888. apps/backend/services/learning/learning_audit_service.py +243 -0
  889. apps/backend/services/learning/learning_fabric.py +338 -0
  890. apps/backend/services/learning/loop_agent.py +551 -0
  891. apps/backend/services/learning/loop_core.py +1737 -0
  892. apps/backend/services/learning/loop_governance.py +517 -0
  893. apps/backend/services/learning/loop_types.py +238 -0
  894. apps/backend/services/learning/post_run_promoter.py +91 -0
  895. apps/backend/services/learning/retrospective.py +419 -0
  896. apps/backend/services/learning/strategy_proposal_bridge.py +129 -0
  897. apps/backend/services/learning/trace_strategy_miner.py +555 -0
  898. apps/backend/services/learning/trace_strategy_retriever.py +150 -0
  899. apps/backend/services/learning/trace_strategy_store.py +291 -0
  900. apps/backend/services/llm_discovery.py +726 -0
  901. apps/backend/services/llm_provider_registry.py +385 -0
  902. apps/backend/services/loss_function.py +633 -0
  903. apps/backend/services/macrohard_baseline.py +396 -0
  904. apps/backend/services/meeting/__init__.py +4 -0
  905. apps/backend/services/meeting/booking_handoff.py +164 -0
  906. apps/backend/services/meeting/capacity_quotas.py +140 -0
  907. apps/backend/services/meeting/concurrent_attendance.py +107 -0
  908. apps/backend/services/meeting/consent_by_jurisdiction.py +245 -0
  909. apps/backend/services/meeting/context_index.py +163 -0
  910. apps/backend/services/meeting/egress_redaction.py +171 -0
  911. apps/backend/services/meeting/error_contracts.py +16 -0
  912. apps/backend/services/meeting/governed_speech.py +173 -0
  913. apps/backend/services/meeting/interfaces.py +289 -0
  914. apps/backend/services/meeting/live_tool_calling.py +169 -0
  915. apps/backend/services/meeting/meeting_intelligence_parity.py +126 -0
  916. apps/backend/services/meeting/meeting_runtime_session.py +427 -0
  917. apps/backend/services/meeting/orphan_reaper.py +172 -0
  918. apps/backend/services/meeting/post_meeting_agent.py +1099 -0
  919. apps/backend/services/meeting/provider_capability_matrix.py +147 -0
  920. apps/backend/services/meeting/recall_adapter.py +153 -0
  921. apps/backend/services/meeting/shared_meeting_service.py +533 -0
  922. apps/backend/services/meeting/transcription_router.py +137 -0
  923. apps/backend/services/meeting_ingest.py +225 -0
  924. apps/backend/services/meeting_session_store.py +307 -0
  925. apps/backend/services/memory/__init__.py +90 -0
  926. apps/backend/services/memory/adapters/__init__.py +1 -0
  927. apps/backend/services/memory/adapters/bridge.py +298 -0
  928. apps/backend/services/memory/adapters/import_service.py +268 -0
  929. apps/backend/services/memory/adapters/snapshot.py +157 -0
  930. apps/backend/services/memory/client.py +672 -0
  931. apps/backend/services/memory/digest_synthesizer.py +253 -0
  932. apps/backend/services/memory/evidence_default.py +82 -0
  933. apps/backend/services/memory/evidence_emitter.py +97 -0
  934. apps/backend/services/memory/evidence_types.py +104 -0
  935. apps/backend/services/memory/mcp/__init__.py +1 -0
  936. apps/backend/services/memory/mcp/index.py +420 -0
  937. apps/backend/services/memory/mcp/lifecycle.py +355 -0
  938. apps/backend/services/memory/primitive_ledger.py +395 -0
  939. apps/backend/services/memory/runtime.py +241 -0
  940. apps/backend/services/memory/service.py +1834 -0
  941. apps/backend/services/meta_observer.py +639 -0
  942. apps/backend/services/metric_direction.py +414 -0
  943. apps/backend/services/microsoft_auth.py +184 -0
  944. apps/backend/services/microsoft_graph_service.py +134 -0
  945. apps/backend/services/mission_contracts.py +371 -0
  946. apps/backend/services/mission_node_store.py +451 -0
  947. apps/backend/services/mission_prediction_service.py +153 -0
  948. apps/backend/services/mission_run/__init__.py +10 -0
  949. apps/backend/services/mission_run/decision_capture.py +93 -0
  950. apps/backend/services/mission_run/governance.py +1113 -0
  951. apps/backend/services/mission_run/state.py +2819 -0
  952. apps/backend/services/moonshot_client.py +32 -0
  953. apps/backend/services/morning_brief.py +375 -0
  954. apps/backend/services/morning_brief_scheduler.py +437 -0
  955. apps/backend/services/mutation_path_registry.py +460 -0
  956. apps/backend/services/newsletter_service.py +367 -0
  957. apps/backend/services/nl_agent_creator.py +233 -0
  958. apps/backend/services/nl_skill_creator.py +888 -0
  959. apps/backend/services/nonvoice_reasoning_client.py +111 -0
  960. apps/backend/services/notification_service.py +1051 -0
  961. apps/backend/services/oauth_redirect_state.py +434 -0
  962. apps/backend/services/oauth_state_store.py +158 -0
  963. apps/backend/services/oauth_token_vault.py +245 -0
  964. apps/backend/services/objective_board_service.py +207 -0
  965. apps/backend/services/omnibox_command_grammar.py +292 -0
  966. apps/backend/services/onboarding_state.py +529 -0
  967. apps/backend/services/online_eval.py +175 -0
  968. apps/backend/services/optimizers/__init__.py +9 -0
  969. apps/backend/services/optimizers/greedy_optimizer.py +469 -0
  970. apps/backend/services/org_audit_log.py +535 -0
  971. apps/backend/services/org_capacity_index.py +280 -0
  972. apps/backend/services/org_chart.py +535 -0
  973. apps/backend/services/org_provisioning.py +972 -0
  974. apps/backend/services/org_query_service.py +382 -0
  975. apps/backend/services/orgs_table.py +28 -0
  976. apps/backend/services/parity/__init__.py +1 -0
  977. apps/backend/services/parity/parity_registry.py +111 -0
  978. apps/backend/services/password_policy.py +197 -0
  979. apps/backend/services/pdf_report_service.py +600 -0
  980. apps/backend/services/performance_review.py +414 -0
  981. apps/backend/services/phone_porting.py +659 -0
  982. apps/backend/services/phone_provisioning.py +550 -0
  983. apps/backend/services/pii_utils.py +68 -0
  984. apps/backend/services/planning/__init__.py +7 -0
  985. apps/backend/services/planning/block_planner.py +357 -0
  986. apps/backend/services/planning/candidate_selection.py +93 -0
  987. apps/backend/services/planning/collaborative.py +392 -0
  988. apps/backend/services/planning/counter_metrics.py +124 -0
  989. apps/backend/services/planning/drift_bias_guard.py +393 -0
  990. apps/backend/services/planning/engine.py +420 -0
  991. apps/backend/services/planning/ontology_reuse.py +123 -0
  992. apps/backend/services/planning/planner_mode.py +83 -0
  993. apps/backend/services/planning/sensitivity_classifier.py +259 -0
  994. apps/backend/services/platform_bridge/__init__.py +35 -0
  995. apps/backend/services/platform_bridge/adapter.py +83 -0
  996. apps/backend/services/platform_bridge/bridge.py +90 -0
  997. apps/backend/services/platform_bridge/cliq_adapter.py +197 -0
  998. apps/backend/services/platform_bridge/mapping_store.py +138 -0
  999. apps/backend/services/platform_bridge/runtime.py +83 -0
  1000. apps/backend/services/platform_bridge/slack_adapter.py +125 -0
  1001. apps/backend/services/platform_bridge/teams_adapter.py +216 -0
  1002. apps/backend/services/policy_kernel.py +95 -0
  1003. apps/backend/services/policy_tools.py +32 -0
  1004. apps/backend/services/portable_background_runtime.py +139 -0
  1005. apps/backend/services/portable_worker_runtime.py +66 -0
  1006. apps/backend/services/precedent_freshness.py +502 -0
  1007. apps/backend/services/precedent_query.py +443 -0
  1008. apps/backend/services/preflight.py +52 -0
  1009. apps/backend/services/project_generator.py +325 -0
  1010. apps/backend/services/proof_card_service.py +378 -0
  1011. apps/backend/services/prospect_research_service.py +277 -0
  1012. apps/backend/services/public_health_contract.py +32 -0
  1013. apps/backend/services/push_subscription_store.py +373 -0
  1014. apps/backend/services/quick_actions.py +292 -0
  1015. apps/backend/services/region_router.py +294 -0
  1016. apps/backend/services/regression_gates.py +559 -0
  1017. apps/backend/services/regulated_action_rails.py +226 -0
  1018. apps/backend/services/replay_eval.py +378 -0
  1019. apps/backend/services/repo_skill_catalog.py +142 -0
  1020. apps/backend/services/retrospective.py +983 -0
  1021. apps/backend/services/revenue_proof_contract.py +218 -0
  1022. apps/backend/services/revenue_reply_service.py +407 -0
  1023. apps/backend/services/role_assembler.py +144 -0
  1024. apps/backend/services/role_skill_templates/__init__.py +22 -0
  1025. apps/backend/services/role_skill_templates/role_skill_template_service.py +195 -0
  1026. apps/backend/services/role_store.py +497 -0
  1027. apps/backend/services/rule_engine.py +471 -0
  1028. apps/backend/services/run_state_service.py +260 -0
  1029. apps/backend/services/runtime/__init__.py +21 -0
  1030. apps/backend/services/runtime/agent_liveness.py +96 -0
  1031. apps/backend/services/runtime/cache_keepalive.py +257 -0
  1032. apps/backend/services/runtime/composition_manifest.py +95 -0
  1033. apps/backend/services/runtime/developer_harness_preset.py +88 -0
  1034. apps/backend/services/runtime/headless_agent_runtime.py +369 -0
  1035. apps/backend/services/runtime/liveness_watchdog.py +274 -0
  1036. apps/backend/services/runtime/persistent_goal.py +111 -0
  1037. apps/backend/services/runtime/provisioning_dns.py +130 -0
  1038. apps/backend/services/runtime/provisioning_lifecycle.py +895 -0
  1039. apps/backend/services/runtime/provisioning_rendering.py +314 -0
  1040. apps/backend/services/runtime/provisioning_service.py +162 -0
  1041. apps/backend/services/runtime/provisioning_shared.py +268 -0
  1042. apps/backend/services/runtime/provisioning_state.py +375 -0
  1043. apps/backend/services/runtime/provisioning_token.py +22 -0
  1044. apps/backend/services/runtime/provisioning_verification.py +436 -0
  1045. apps/backend/services/runtime/runtime_context.py +304 -0
  1046. apps/backend/services/runtime/runtime_session_gateway.py +830 -0
  1047. apps/backend/services/runtime/runtime_supervisor.py +543 -0
  1048. apps/backend/services/runtime/runtime_validation.py +316 -0
  1049. apps/backend/services/runtime/supervisor_self_healing.py +624 -0
  1050. apps/backend/services/runtime/supervisor_service.py +1341 -0
  1051. apps/backend/services/runtime_analyzers.py +92 -0
  1052. apps/backend/services/runtime_types.py +66 -0
  1053. apps/backend/services/salesforce_crm_service.py +480 -0
  1054. apps/backend/services/schedule_dispatch_runtime.py +312 -0
  1055. apps/backend/services/schedule_pattern_observer.py +479 -0
  1056. apps/backend/services/scheduler_state_store.py +121 -0
  1057. apps/backend/services/schedules/__init__.py +1 -0
  1058. apps/backend/services/schedules/schedule_parity.py +152 -0
  1059. apps/backend/services/scheduling/__init__.py +16 -0
  1060. apps/backend/services/scheduling/adaptive.py +819 -0
  1061. apps/backend/services/scheduling/cadence_service.py +1720 -0
  1062. apps/backend/services/scheduling/calendar_api.py +209 -0
  1063. apps/backend/services/scheduling/calendar_density.py +60 -0
  1064. apps/backend/services/scheduling/calendar_intelligence.py +302 -0
  1065. apps/backend/services/scheduling/calendar_service.py +1438 -0
  1066. apps/backend/services/scheduling/calendar_sync_engine.py +264 -0
  1067. apps/backend/services/scheduling/goal_scheduler.py +403 -0
  1068. apps/backend/services/scheduling/routines.py +604 -0
  1069. apps/backend/services/scheduling/service.py +619 -0
  1070. apps/backend/services/scheduling/steering_service.py +305 -0
  1071. apps/backend/services/scheduling/store.py +511 -0
  1072. apps/backend/services/scheduling/timeblock_analytics.py +281 -0
  1073. apps/backend/services/scheduling/timeblock_cockpit.py +91 -0
  1074. apps/backend/services/scheduling/timeblock_materialization.py +223 -0
  1075. apps/backend/services/scheduling/timeblock_service.py +432 -0
  1076. apps/backend/services/self_diagnosis.py +297 -0
  1077. apps/backend/services/send_time_optimizer.py +195 -0
  1078. apps/backend/services/session/__init__.py +90 -0
  1079. apps/backend/services/session/browser_session.py +452 -0
  1080. apps/backend/services/session/session_continuity.py +434 -0
  1081. apps/backend/services/session/session_invalidation.py +191 -0
  1082. apps/backend/services/session/session_router.py +463 -0
  1083. apps/backend/services/shell_convergence/__init__.py +28 -0
  1084. apps/backend/services/shell_convergence/shell_manager.py +313 -0
  1085. apps/backend/services/signed_proposal.py +357 -0
  1086. apps/backend/services/simulation/__init__.py +58 -0
  1087. apps/backend/services/simulation/action_planner.py +35 -0
  1088. apps/backend/services/simulation/planner.py +298 -0
  1089. apps/backend/services/simulation/safety.py +411 -0
  1090. apps/backend/services/simulation/sandbox.py +259 -0
  1091. apps/backend/services/simulation/world_state.py +119 -0
  1092. apps/backend/services/skill_discovery.py +295 -0
  1093. apps/backend/services/skill_dispatch_resolver.py +246 -0
  1094. apps/backend/services/skill_reachability_auditor.py +123 -0
  1095. apps/backend/services/skill_trigger_evaluator.py +87 -0
  1096. apps/backend/services/skillify.py +908 -0
  1097. apps/backend/services/skills/__init__.py +137 -0
  1098. apps/backend/services/skills/crystallization.py +396 -0
  1099. apps/backend/services/skills/deactivation.py +355 -0
  1100. apps/backend/services/skills/dispatch.py +1205 -0
  1101. apps/backend/services/skills/evolution.py +850 -0
  1102. apps/backend/services/skills/evolution_store.py +319 -0
  1103. apps/backend/services/skills/executor.py +1799 -0
  1104. apps/backend/services/skills/marketing_workflow.py +112 -0
  1105. apps/backend/services/skills/marketplace_service.py +270 -0
  1106. apps/backend/services/skills/promotion/__init__.py +24 -0
  1107. apps/backend/services/skills/promotion/delta_j_calculator.py +76 -0
  1108. apps/backend/services/skills/promotion/rollback.py +87 -0
  1109. apps/backend/services/skills/promotion/semantic_comparator.py +75 -0
  1110. apps/backend/services/skills/promotion/traffic_mirror.py +80 -0
  1111. apps/backend/services/skills/promotion_service.py +495 -0
  1112. apps/backend/services/skills/registry/__init__.py +49 -0
  1113. apps/backend/services/skills/registry/activation.py +644 -0
  1114. apps/backend/services/skills/registry/crystallization.py +396 -0
  1115. apps/backend/services/skills/registry/deactivation.py +355 -0
  1116. apps/backend/services/skills/registry/evolution.py +736 -0
  1117. apps/backend/services/skills/registry/evolution_store.py +319 -0
  1118. apps/backend/services/skills/registry/file_system.py +965 -0
  1119. apps/backend/services/skills/registry/marketplace_service.py +270 -0
  1120. apps/backend/services/skills/registry/registrar.py +843 -0
  1121. apps/backend/services/skills/runtime/__init__.py +43 -0
  1122. apps/backend/services/skills/runtime/dispatch.py +1205 -0
  1123. apps/backend/services/skills/runtime/executor.py +1799 -0
  1124. apps/backend/services/skills/runtime/types.py +132 -0
  1125. apps/backend/services/skills/selection/__init__.py +47 -0
  1126. apps/backend/services/skills/selection/composer.py +329 -0
  1127. apps/backend/services/skills/selection/generator.py +862 -0
  1128. apps/backend/services/skills/selection/guidance_store.py +91 -0
  1129. apps/backend/services/skills/selection/progressive_loader.py +418 -0
  1130. apps/backend/services/skills/selection/promotion_service.py +495 -0
  1131. apps/backend/services/skills/selection/query.py +601 -0
  1132. apps/backend/services/skills/skill_activation.py +644 -0
  1133. apps/backend/services/skills/skill_composer.py +329 -0
  1134. apps/backend/services/skills/skill_file_system.py +965 -0
  1135. apps/backend/services/skills/skill_generator.py +862 -0
  1136. apps/backend/services/skills/skill_guidance_store.py +91 -0
  1137. apps/backend/services/skills/skill_progressive_loader.py +418 -0
  1138. apps/backend/services/skills/skill_query.py +601 -0
  1139. apps/backend/services/skills/skill_registrar.py +843 -0
  1140. apps/backend/services/skills/skills_governance_cockpit.py +178 -0
  1141. apps/backend/services/skills/types.py +132 -0
  1142. apps/backend/services/slack_user_binding.py +62 -0
  1143. apps/backend/services/soc2_control_map.py +87 -0
  1144. apps/backend/services/sourced_recall.py +425 -0
  1145. apps/backend/services/stores/__init__.py +19 -0
  1146. apps/backend/services/stores/base.py +333 -0
  1147. apps/backend/services/stores/in_memory_protocol.py +179 -0
  1148. apps/backend/services/stores/instance_store.py +38 -0
  1149. apps/backend/services/stores/session_store.py +129 -0
  1150. apps/backend/services/stores/tenant_scoped.py +109 -0
  1151. apps/backend/services/structured_tool_registry.py +303 -0
  1152. apps/backend/services/structured_tool_runtime.py +241 -0
  1153. apps/backend/services/supervisor_analyzers.py +110 -0
  1154. apps/backend/services/supervisor_types.py +153 -0
  1155. apps/backend/services/suppression_guard.py +149 -0
  1156. apps/backend/services/suppression_store.py +320 -0
  1157. apps/backend/services/swarm_capacity.py +399 -0
  1158. apps/backend/services/swarm_coordination.py +830 -0
  1159. apps/backend/services/swarm_scheduler.py +797 -0
  1160. apps/backend/services/task_ingest.py +280 -0
  1161. apps/backend/services/task_store.py +632 -0
  1162. apps/backend/services/telemetry.py +579 -0
  1163. apps/backend/services/telemetry_policy.py +135 -0
  1164. apps/backend/services/tenant_config.py +105 -0
  1165. apps/backend/services/tenant_improvement_loop.py +228 -0
  1166. apps/backend/services/tenant_lifecycle_admin.py +785 -0
  1167. apps/backend/services/tenant_lifecycle_bootstrap.py +411 -0
  1168. apps/backend/services/tenant_provisioning.py +1227 -0
  1169. apps/backend/services/tenant_quota_service.py +303 -0
  1170. apps/backend/services/tenant_twilio_byo.py +73 -0
  1171. apps/backend/services/tenants_table.py +104 -0
  1172. apps/backend/services/thread_service.py +1063 -0
  1173. apps/backend/services/ticket_service.py +504 -0
  1174. apps/backend/services/time_rollup_service.py +409 -0
  1175. apps/backend/services/timeblock_emission_hooks.py +406 -0
  1176. apps/backend/services/token_encryption.py +388 -0
  1177. apps/backend/services/tool_capability_registry.py +367 -0
  1178. apps/backend/services/tool_catalog_contract.py +511 -0
  1179. apps/backend/services/tool_introspection.py +800 -0
  1180. apps/backend/services/tool_permission_service.py +115 -0
  1181. apps/backend/services/tool_registry_evolution.py +289 -0
  1182. apps/backend/services/topology_swarm_bridge.py +196 -0
  1183. apps/backend/services/trace_capture.py +333 -0
  1184. apps/backend/services/trace_store.py +246 -0
  1185. apps/backend/services/trust/__init__.py +1 -0
  1186. apps/backend/services/trust/beta_trust_partials.py +142 -0
  1187. apps/backend/services/trust_score.py +322 -0
  1188. apps/backend/services/uat/__init__.py +1 -0
  1189. apps/backend/services/uat/staging_uat.py +82 -0
  1190. apps/backend/services/unified_capability_gate.py +400 -0
  1191. apps/backend/services/unified_file_ingestion.py +489 -0
  1192. apps/backend/services/unified_skill_registry.py +793 -0
  1193. apps/backend/services/upgrade_digest.py +345 -0
  1194. apps/backend/services/upload_validation.py +421 -0
  1195. apps/backend/services/usage_tracker.py +1464 -0
  1196. apps/backend/services/user_management.py +462 -0
  1197. apps/backend/services/value_density_calibrator.py +227 -0
  1198. apps/backend/services/variant_store.py +530 -0
  1199. apps/backend/services/variant_store_migration.py +81 -0
  1200. apps/backend/services/voice/__init__.py +1 -0
  1201. apps/backend/services/voice/voice_agent_runtime.py +162 -0
  1202. apps/backend/services/voice/voice_reconnect.py +155 -0
  1203. apps/backend/services/voice/voice_security.py +164 -0
  1204. apps/backend/services/voice_guardrails.py +415 -0
  1205. apps/backend/services/workflow/__init__.py +102 -0
  1206. apps/backend/services/workflow/audience_model.py +910 -0
  1207. apps/backend/services/workflow/cold_outreach_composition.py +363 -0
  1208. apps/backend/services/workflow/content_intelligence.py +638 -0
  1209. apps/backend/services/workflow/deliberation.py +300 -0
  1210. apps/backend/services/workflow/outcome_feedback.py +324 -0
  1211. apps/backend/services/workflow/quality_optimization.py +567 -0
  1212. apps/backend/services/workflow_executor.py +726 -0
  1213. apps/backend/services/workflow_service.py +488 -0
  1214. apps/backend/services/workspace_coding_bridge_store.py +47 -0
  1215. apps/backend/services/workspace_coding_run_store.py +63 -0
  1216. apps/backend/services/workspace_repo_job_store.py +53 -0
  1217. apps/backend/services/workspace_terminal_session_store.py +55 -0
  1218. apps/backend/services/workweaver_runtime_bridge.py +583 -0
  1219. apps/backend/services/zara/__init__.py +11 -0
  1220. apps/backend/services/zara/assertions.py +132 -0
  1221. apps/backend/services/zara/backend.py +375 -0
  1222. apps/backend/services/zara/chat_history.py +193 -0
  1223. apps/backend/services/zara/collaborators.py +347 -0
  1224. apps/backend/services/zara/context.py +351 -0
  1225. apps/backend/services/zara/execution_event_bus.py +122 -0
  1226. apps/backend/services/zara/factory.py +242 -0
  1227. apps/backend/services/zara/first_mission_onboarding.py +388 -0
  1228. apps/backend/services/zara/inventory.py +160 -0
  1229. apps/backend/services/zara/inverter_agent.py +161 -0
  1230. apps/backend/services/zara/kernel.py +346 -0
  1231. apps/backend/services/zara/memory.py +171 -0
  1232. apps/backend/services/zara/operational_graph.py +154 -0
  1233. apps/backend/services/zara/orchestrator_surface.py +75 -0
  1234. apps/backend/services/zara/parsers.py +240 -0
  1235. apps/backend/services/zara/plan_store.py +380 -0
  1236. apps/backend/services/zara/policy.py +192 -0
  1237. apps/backend/services/zara/post_run.py +290 -0
  1238. apps/backend/services/zara/prompts.py +32 -0
  1239. apps/backend/services/zara/role_agent_runtime.py +132 -0
  1240. apps/backend/services/zara/role_skill_contracts.py +95 -0
  1241. apps/backend/services/zara/service.py +1378 -0
  1242. apps/backend/services/zara/swarm_planner_agent.py +174 -0
  1243. apps/backend/services/zara/types.py +108 -0
  1244. apps/backend/services/zara/verifier_agent.py +145 -0
  1245. apps/backend/services/zara/zara_access_token_service.py +162 -0
  1246. apps/backend/services/zara/zara_awareness_service.py +461 -0
  1247. apps/backend/services/zara/zara_control_plane.py +782 -0
  1248. apps/backend/services/zara/zara_fabric.py +150 -0
  1249. apps/backend/services/zara/zara_goal_intake.py +934 -0
  1250. apps/backend/services/zara/zara_interview_contract.py +301 -0
  1251. apps/backend/services/zara/zara_prerequisites.py +158 -0
  1252. apps/backend/services/zara/zara_topic_threads.py +308 -0
  1253. apps/backend/services/zoho/__init__.py +1 -0
  1254. apps/backend/services/zoho/auth.py +663 -0
  1255. apps/backend/services/zoho/calendar_service.py +204 -0
  1256. apps/backend/services/zoho/connection_manager.py +403 -0
  1257. apps/backend/services/zoho/connection_store.py +579 -0
  1258. apps/backend/services/zoho/connectors/__init__.py +1 -0
  1259. apps/backend/services/zoho/connectors/books_connector.py +170 -0
  1260. apps/backend/services/zoho/connectors/calendar_connector.py +67 -0
  1261. apps/backend/services/zoho/connectors/crm_connector.py +201 -0
  1262. apps/backend/services/zoho/connectors/desk_connector.py +155 -0
  1263. apps/backend/services/zoho/connectors/mail_connector.py +89 -0
  1264. apps/backend/services/zoho/crm.py +1681 -0
  1265. apps/backend/services/zoho/desk_adapter.py +442 -0
  1266. apps/backend/services/zoho/lead_queue.py +245 -0
  1267. apps/backend/services/zoho/mail_service.py +549 -0
  1268. apps/backend/services/zoho/product_registry.py +510 -0
  1269. apps/backend/services/zoho/rate_limiter.py +229 -0
  1270. apps/backend/services/zoho/runtime.py +704 -0
  1271. apps/backend/services/zoho/webhook_service.py +362 -0
  1272. apps/backend/skills/__init__.py +19 -0
  1273. apps/backend/skills/skill_validator.py +446 -0
  1274. apps/backend/tests/api/test_swarm_executions.py +157 -0
  1275. apps/backend/tests/conftest.py +237 -0
  1276. apps/backend/tests/contracts/test_strategy_miner_to_loop_governance.py +140 -0
  1277. apps/backend/tests/contracts/test_swarm_execution_dispatch.py +192 -0
  1278. apps/backend/tests/integration/test_e2e_journeys.py +431 -0
  1279. apps/backend/tests/integration/test_journey_j001_public_funnel.py +350 -0
  1280. apps/backend/tests/integration/test_journey_j002_zara_discovery.py +611 -0
  1281. apps/backend/tests/integration/test_journey_j003_goal_to_evidence.py +487 -0
  1282. apps/backend/tests/integration/test_journey_j003_mission_control.py +627 -0
  1283. apps/backend/tests/integration/test_journey_j004_role_adoption.py +433 -0
  1284. apps/backend/tests/integration/test_journey_j005_revenue_loop.py +1236 -0
  1285. apps/backend/tests/integration/test_journey_j006_voice_meeting.py +509 -0
  1286. apps/backend/tests/integration/test_journey_j007_memory_compound.py +665 -0
  1287. apps/backend/tests/integration/test_journey_j008_inbound_channel.py +552 -0
  1288. apps/backend/tests/integration/test_learning_loop_chain.py +147 -0
  1289. apps/backend/tests/integration/test_llm_caller_coverage.py +242 -0
  1290. apps/backend/tests/integration/test_meeting_route_b_provider_smoke.py +391 -0
  1291. apps/backend/tests/integration/test_payment_dunning.py +706 -0
  1292. apps/backend/tests/integration/test_post_meeting_booking_handoff.py +187 -0
  1293. apps/backend/tests/integration/test_stripe_webhooks.py +500 -0
  1294. apps/backend/tests/integration/test_subscription_management.py +554 -0
  1295. apps/backend/tests/lambda_handlers/test_daily_retrospective.py +291 -0
  1296. apps/backend/tests/lambda_handlers/test_developmental_intelligence_warmer.py +80 -0
  1297. apps/backend/tests/services/optimizers/test_greedy_optimizer.py +300 -0
  1298. apps/backend/tests/services/test_change_events.py +172 -0
  1299. apps/backend/tests/services/test_constitutional_ombudsman.py +300 -0
  1300. apps/backend/tests/services/test_level2_calibrator.py +254 -0
  1301. apps/backend/tests/services/test_loss_function.py +168 -0
  1302. apps/backend/tests/services/test_metric_direction.py +138 -0
  1303. apps/backend/tests/services/test_metric_direction_required.py +227 -0
  1304. apps/backend/tests/services/test_no_legacy_paths.py +25 -0
  1305. apps/backend/tests/services/test_swarm_capacity_dynamodb.py +226 -0
  1306. apps/backend/tests/services/test_swarm_coordination_persistence.py +136 -0
  1307. apps/backend/tests/services/test_upgrade_digest.py +206 -0
  1308. apps/backend/tests/test_agent_dispatch_queue.py +266 -0
  1309. apps/backend/tests/test_async_io_wrapper.py +364 -0
  1310. apps/backend/tests/test_audio_chunker.py +314 -0
  1311. apps/backend/tests/test_binary_websocket_handler.py +267 -0
  1312. apps/backend/tests/test_content_pipeline_queue.py +85 -0
  1313. apps/backend/tests/test_document_processor_object_store.py +97 -0
  1314. apps/backend/tests/test_google_oauth_code_model.py +211 -0
  1315. apps/backend/tests/test_google_oauth_redirect.py +87 -0
  1316. apps/backend/tests/test_livekit_agent.py +560 -0
  1317. apps/backend/tests/test_pdf_report_service_object_store.py +109 -0
  1318. apps/backend/tests/test_recording_service_object_store.py +106 -0
  1319. apps/backend/tests/test_runtime_bootstrap_diagnostics.py +173 -0
  1320. apps/backend/tests/test_runtime_dns_propagation.py +66 -0
  1321. apps/backend/tests/test_runtime_provisioning_null_runtime.py +76 -0
  1322. apps/backend/tests/test_runtime_provisioning_readiness_gates.py +166 -0
  1323. apps/backend/tests/test_schedule_store.py +163 -0
  1324. apps/backend/tests/test_suppression_store.py +139 -0
  1325. apps/backend/tests/test_tenant_provisioning_consistent_reads.py +263 -0
  1326. apps/backend/tests/test_tenant_provisioning_email_legacy_adoption.py +150 -0
  1327. apps/backend/tests/test_tenant_provisioning_owner_scan.py +232 -0
  1328. apps/backend/tests/test_variant_store_portable.py +322 -0
  1329. apps/backend/tests/test_waitlist_persistence.py +146 -0
  1330. apps/backend/tests/test_xai_relay_performance.py +292 -0
  1331. apps/backend/tests/test_zara_awareness_orchestration.py +203 -0
  1332. apps/backend/tests/test_zoho_waitlist_position_write_once.py +56 -0
  1333. apps/backend/tests/unit/__init__.py +1 -0
  1334. apps/backend/tests/unit/conftest.py +395 -0
  1335. apps/backend/tests/unit/connectors/__init__.py +1 -0
  1336. apps/backend/tests/unit/connectors/test_connector_proactive_auth_expired.py +321 -0
  1337. apps/backend/tests/unit/connectors/test_google_calendar_create_meeting.py +216 -0
  1338. apps/backend/tests/unit/connectors/test_google_docs.py +282 -0
  1339. apps/backend/tests/unit/connectors/test_google_sheets.py +284 -0
  1340. apps/backend/tests/unit/connectors/test_google_slides.py +244 -0
  1341. apps/backend/tests/unit/connectors/test_salesforce_hubspot_proactive_auth_expired.py +135 -0
  1342. apps/backend/tests/unit/policy_proposal_test_helpers.py +149 -0
  1343. apps/backend/tests/unit/services/stores/__init__.py +0 -0
  1344. apps/backend/tests/unit/services/stores/test_base_store.py +417 -0
  1345. apps/backend/tests/unit/services/test_regression_gates_no_baseline.py +52 -0
  1346. apps/backend/tests/unit/services/test_replay_eval_budget_blocks.py +55 -0
  1347. apps/backend/tests/unit/services/test_variant_store_immutable.py +205 -0
  1348. apps/backend/tests/unit/services/whitebox/__init__.py +0 -0
  1349. apps/backend/tests/unit/services/whitebox/test_fit_probe.py +652 -0
  1350. apps/backend/tests/unit/test_action_item_extractor.py +108 -0
  1351. apps/backend/tests/unit/test_adaptive_scheduler.py +1417 -0
  1352. apps/backend/tests/unit/test_admin_analytics_api.py +200 -0
  1353. apps/backend/tests/unit/test_admin_cost_summary_projection.py +116 -0
  1354. apps/backend/tests/unit/test_admin_host_deep_links.py +94 -0
  1355. apps/backend/tests/unit/test_admin_host_routing.py +224 -0
  1356. apps/backend/tests/unit/test_admin_pricing_api.py +41 -0
  1357. apps/backend/tests/unit/test_admin_secrets_audit.py +315 -0
  1358. apps/backend/tests/unit/test_admin_self_diagnosis_api.py +151 -0
  1359. apps/backend/tests/unit/test_agent_approval.py +500 -0
  1360. apps/backend/tests/unit/test_agent_calendar.py +294 -0
  1361. apps/backend/tests/unit/test_agent_calendar_zoho.py +31 -0
  1362. apps/backend/tests/unit/test_agent_credential_vault.py +141 -0
  1363. apps/backend/tests/unit/test_agent_crm.py +327 -0
  1364. apps/backend/tests/unit/test_agent_email.py +267 -0
  1365. apps/backend/tests/unit/test_agent_email_service_zoho.py +26 -0
  1366. apps/backend/tests/unit/test_agent_identity_activation.py +164 -0
  1367. apps/backend/tests/unit/test_agent_identity_provision.py +232 -0
  1368. apps/backend/tests/unit/test_agent_identity_provisioning.py +126 -0
  1369. apps/backend/tests/unit/test_agent_topology_governance.py +535 -0
  1370. apps/backend/tests/unit/test_agent_work_ledger.py +255 -0
  1371. apps/backend/tests/unit/test_agent_work_ledger_api.py +225 -0
  1372. apps/backend/tests/unit/test_analytics_service.py +140 -0
  1373. apps/backend/tests/unit/test_api_key_store.py +285 -0
  1374. apps/backend/tests/unit/test_approval_service.py +209 -0
  1375. apps/backend/tests/unit/test_approval_ux_overhaul.py +750 -0
  1376. apps/backend/tests/unit/test_async_scheduler.py +198 -0
  1377. apps/backend/tests/unit/test_auth_identities.py +186 -0
  1378. apps/backend/tests/unit/test_auth_login_prod_session.py +273 -0
  1379. apps/backend/tests/unit/test_auth_runtime_state.py +400 -0
  1380. apps/backend/tests/unit/test_autonomous_okr.py +421 -0
  1381. apps/backend/tests/unit/test_backup_retention_reconciler_lambda.py +183 -0
  1382. apps/backend/tests/unit/test_batch_orchestrator_import.py +276 -0
  1383. apps/backend/tests/unit/test_batch_orchestrator_parallel.py +322 -0
  1384. apps/backend/tests/unit/test_billing_adjustments.py +99 -0
  1385. apps/backend/tests/unit/test_billing_entitlements.py +335 -0
  1386. apps/backend/tests/unit/test_billing_ingress.py +182 -0
  1387. apps/backend/tests/unit/test_billing_lifecycle_api.py +325 -0
  1388. apps/backend/tests/unit/test_billing_read_models.py +410 -0
  1389. apps/backend/tests/unit/test_billing_reconciliation.py +78 -0
  1390. apps/backend/tests/unit/test_block_planner.py +94 -0
  1391. apps/backend/tests/unit/test_booking_service.py +336 -0
  1392. apps/backend/tests/unit/test_bookings_api.py +137 -0
  1393. apps/backend/tests/unit/test_briefing_api.py +111 -0
  1394. apps/backend/tests/unit/test_browser_cli.py +362 -0
  1395. apps/backend/tests/unit/test_browser_evidence_writes.py +261 -0
  1396. apps/backend/tests/unit/test_browser_executor_refactored.py +476 -0
  1397. apps/backend/tests/unit/test_browser_executor_safety.py +482 -0
  1398. apps/backend/tests/unit/test_budget_gate.py +414 -0
  1399. apps/backend/tests/unit/test_bulk_campaign_dialer.py +447 -0
  1400. apps/backend/tests/unit/test_calendar_api.py +619 -0
  1401. apps/backend/tests/unit/test_calendar_backend_evolution.py +607 -0
  1402. apps/backend/tests/unit/test_calendar_intelligence.py +447 -0
  1403. apps/backend/tests/unit/test_calendar_service.py +203 -0
  1404. apps/backend/tests/unit/test_calendar_sync.py +215 -0
  1405. apps/backend/tests/unit/test_call_control_service.py +313 -0
  1406. apps/backend/tests/unit/test_canonical_contract_aliases.py +214 -0
  1407. apps/backend/tests/unit/test_capability_graph.py +422 -0
  1408. apps/backend/tests/unit/test_cbac_capability_requests.py +609 -0
  1409. apps/backend/tests/unit/test_channel_timeline.py +115 -0
  1410. apps/backend/tests/unit/test_channels_connectors_calendar.py +455 -0
  1411. apps/backend/tests/unit/test_codex_high_severity_fixes.py +209 -0
  1412. apps/backend/tests/unit/test_command_center.py +390 -0
  1413. apps/backend/tests/unit/test_company_graph.py +342 -0
  1414. apps/backend/tests/unit/test_composition_surfaces.py +290 -0
  1415. apps/backend/tests/unit/test_compounding_scorecard.py +307 -0
  1416. apps/backend/tests/unit/test_config_safety.py +412 -0
  1417. apps/backend/tests/unit/test_connector_conformance.py +184 -0
  1418. apps/backend/tests/unit/test_connector_connect_session_api.py +176 -0
  1419. apps/backend/tests/unit/test_connector_disconnect_lifecycle.py +266 -0
  1420. apps/backend/tests/unit/test_connector_dispatch_wiring.py +617 -0
  1421. apps/backend/tests/unit/test_connector_executor.py +250 -0
  1422. apps/backend/tests/unit/test_connector_executor_policy.py +132 -0
  1423. apps/backend/tests/unit/test_connector_fallback.py +593 -0
  1424. apps/backend/tests/unit/test_connector_policy_broker.py +464 -0
  1425. apps/backend/tests/unit/test_connector_principal.py +426 -0
  1426. apps/backend/tests/unit/test_connector_reachability_truth.py +245 -0
  1427. apps/backend/tests/unit/test_connector_security_hardening.py +250 -0
  1428. apps/backend/tests/unit/test_connector_state_model.py +242 -0
  1429. apps/backend/tests/unit/test_connectors.py +217 -0
  1430. apps/backend/tests/unit/test_consequence_levels.py +221 -0
  1431. apps/backend/tests/unit/test_constraint_envelope_model_policy.py +138 -0
  1432. apps/backend/tests/unit/test_container_orchestrator.py +416 -0
  1433. apps/backend/tests/unit/test_counter_metrics.py +65 -0
  1434. apps/backend/tests/unit/test_cross_loop_compounding.py +195 -0
  1435. apps/backend/tests/unit/test_dag_executor.py +418 -0
  1436. apps/backend/tests/unit/test_dark_meter_emitters.py +165 -0
  1437. apps/backend/tests/unit/test_decision_event_capture_learning.py +186 -0
  1438. apps/backend/tests/unit/test_decision_tree_service.py +176 -0
  1439. apps/backend/tests/unit/test_deployment_profile_detection.py +43 -0
  1440. apps/backend/tests/unit/test_desk_learning_loop.py +296 -0
  1441. apps/backend/tests/unit/test_developer_loop.py +245 -0
  1442. apps/backend/tests/unit/test_developmental_intelligence.py +654 -0
  1443. apps/backend/tests/unit/test_developmental_intelligence_integration.py +165 -0
  1444. apps/backend/tests/unit/test_di_profile_and_autonomy.py +487 -0
  1445. apps/backend/tests/unit/test_dispatch_consumer_swarm_execution.py +384 -0
  1446. apps/backend/tests/unit/test_dispatch_drift_guard_gate.py +140 -0
  1447. apps/backend/tests/unit/test_document_store.py +210 -0
  1448. apps/backend/tests/unit/test_dunning_transition_guards.py +199 -0
  1449. apps/backend/tests/unit/test_dynamo_store.py +88 -0
  1450. apps/backend/tests/unit/test_ecs_taskdef_lifecycle_lambda.py +153 -0
  1451. apps/backend/tests/unit/test_edge_cases_contention_isolation_budget.py +626 -0
  1452. apps/backend/tests/unit/test_email_service_hardening.py +735 -0
  1453. apps/backend/tests/unit/test_emergency_brake.py +477 -0
  1454. apps/backend/tests/unit/test_emergency_brake_api.py +179 -0
  1455. apps/backend/tests/unit/test_emergent_composition.py +292 -0
  1456. apps/backend/tests/unit/test_entropy_threshold.py +128 -0
  1457. apps/backend/tests/unit/test_error_response.py +24 -0
  1458. apps/backend/tests/unit/test_eval_fabric_preflight.py +247 -0
  1459. apps/backend/tests/unit/test_evidence_emitter_abc.py +415 -0
  1460. apps/backend/tests/unit/test_evidence_emitter_enforcement.py +540 -0
  1461. apps/backend/tests/unit/test_evidence_graph_immutability.py +175 -0
  1462. apps/backend/tests/unit/test_evidence_hash_chain.py +290 -0
  1463. apps/backend/tests/unit/test_evidence_memory_bridge.py +383 -0
  1464. apps/backend/tests/unit/test_evidence_route_dedup.py +191 -0
  1465. apps/backend/tests/unit/test_evidence_task_trace.py +285 -0
  1466. apps/backend/tests/unit/test_evolution_rate_limiter.py +405 -0
  1467. apps/backend/tests/unit/test_execute_approved_suggestions.py +125 -0
  1468. apps/backend/tests/unit/test_experiment_service.py +574 -0
  1469. apps/backend/tests/unit/test_final_7_prs.py +597 -0
  1470. apps/backend/tests/unit/test_forgetting_scheduler.py +545 -0
  1471. apps/backend/tests/unit/test_founder_brief_enrichment.py +389 -0
  1472. apps/backend/tests/unit/test_funnel_analytics.py +180 -0
  1473. apps/backend/tests/unit/test_github_ingest.py +285 -0
  1474. apps/backend/tests/unit/test_github_webhook_api.py +370 -0
  1475. apps/backend/tests/unit/test_gitlab_ingest.py +260 -0
  1476. apps/backend/tests/unit/test_gitlab_webhook_api.py +397 -0
  1477. apps/backend/tests/unit/test_gmail_read_service.py +386 -0
  1478. apps/backend/tests/unit/test_gmail_service.py +327 -0
  1479. apps/backend/tests/unit/test_goal_alignment_scoring.py +411 -0
  1480. apps/backend/tests/unit/test_goal_cascade_audit_consumer.py +59 -0
  1481. apps/backend/tests/unit/test_goal_dag.py +413 -0
  1482. apps/backend/tests/unit/test_goal_scheduler_service.py +106 -0
  1483. apps/backend/tests/unit/test_goals_api.py +1591 -0
  1484. apps/backend/tests/unit/test_gotcha_service.py +295 -0
  1485. apps/backend/tests/unit/test_governance.py +214 -0
  1486. apps/backend/tests/unit/test_grace_period_ux.py +459 -0
  1487. apps/backend/tests/unit/test_gradient_engine.py +303 -0
  1488. apps/backend/tests/unit/test_grok_skill_selector.py +439 -0
  1489. apps/backend/tests/unit/test_grok_voice_synthesis.py +388 -0
  1490. apps/backend/tests/unit/test_handoff_sqs_dispatch.py +411 -0
  1491. apps/backend/tests/unit/test_hierarchical_identity.py +303 -0
  1492. apps/backend/tests/unit/test_human_ai_collaboration.py +191 -0
  1493. apps/backend/tests/unit/test_idempotency_store.py +361 -0
  1494. apps/backend/tests/unit/test_identity_provisioner.py +840 -0
  1495. apps/backend/tests/unit/test_impersonation_audit_context.py +491 -0
  1496. apps/backend/tests/unit/test_impersonation_audit_marker.py +239 -0
  1497. apps/backend/tests/unit/test_improvement_policy_signed.py +202 -0
  1498. apps/backend/tests/unit/test_integration_catalog_zoho.py +151 -0
  1499. apps/backend/tests/unit/test_integration_manager_tenant_pk.py +135 -0
  1500. apps/backend/tests/unit/test_intelligence_aggregator.py +483 -0
  1501. apps/backend/tests/unit/test_invoice_generator.py +229 -0
  1502. apps/backend/tests/unit/test_invoice_generator_alignment.py +288 -0
  1503. apps/backend/tests/unit/test_judgment_feed_service.py +360 -0
  1504. apps/backend/tests/unit/test_judgments_api.py +106 -0
  1505. apps/backend/tests/unit/test_jwt_livekit_auth_semantics.py +95 -0
  1506. apps/backend/tests/unit/test_jwt_livekit_dispatch_readiness.py +178 -0
  1507. apps/backend/tests/unit/test_lambda_handlers.py +401 -0
  1508. apps/backend/tests/unit/test_learning_audit_service.py +157 -0
  1509. apps/backend/tests/unit/test_learning_event_service.py +78 -0
  1510. apps/backend/tests/unit/test_learning_fabric.py +236 -0
  1511. apps/backend/tests/unit/test_learning_governance.py +327 -0
  1512. apps/backend/tests/unit/test_learning_loop_productization.py +406 -0
  1513. apps/backend/tests/unit/test_learning_loop_service.py +569 -0
  1514. apps/backend/tests/unit/test_livekit_agent_metering.py +62 -0
  1515. apps/backend/tests/unit/test_livekit_fallback_adapter.py +131 -0
  1516. apps/backend/tests/unit/test_llm_metering_middleware.py +252 -0
  1517. apps/backend/tests/unit/test_llm_provider_costs.py +226 -0
  1518. apps/backend/tests/unit/test_llm_token_metering_cogs.py +371 -0
  1519. apps/backend/tests/unit/test_local_infra_collector.py +250 -0
  1520. apps/backend/tests/unit/test_macrohard_baseline.py +52 -0
  1521. apps/backend/tests/unit/test_marketplace_connectors.py +431 -0
  1522. apps/backend/tests/unit/test_marketplace_seed_idempotency.py +280 -0
  1523. apps/backend/tests/unit/test_meeting_ingest.py +116 -0
  1524. apps/backend/tests/unit/test_meeting_runtime_session.py +847 -0
  1525. apps/backend/tests/unit/test_meeting_session_store.py +294 -0
  1526. apps/backend/tests/unit/test_meeting_transcript_state.py +156 -0
  1527. apps/backend/tests/unit/test_meeting_webhooks.py +440 -0
  1528. apps/backend/tests/unit/test_meetings_runtime_api.py +966 -0
  1529. apps/backend/tests/unit/test_member_billing_attribution.py +138 -0
  1530. apps/backend/tests/unit/test_memory_admission.py +302 -0
  1531. apps/backend/tests/unit/test_memory_api_contract_alignment.py +47 -0
  1532. apps/backend/tests/unit/test_memory_context_fabric.py +563 -0
  1533. apps/backend/tests/unit/test_memory_history_api.py +281 -0
  1534. apps/backend/tests/unit/test_memory_scope_access.py +353 -0
  1535. apps/backend/tests/unit/test_memory_scoping.py +265 -0
  1536. apps/backend/tests/unit/test_memory_seeding.py +372 -0
  1537. apps/backend/tests/unit/test_meta_observer_registry_wiring.py +238 -0
  1538. apps/backend/tests/unit/test_microsoft_365_no_onedrive.py +205 -0
  1539. apps/backend/tests/unit/test_microsoft_graph_service.py +334 -0
  1540. apps/backend/tests/unit/test_microsoft_oauth_adapter.py +446 -0
  1541. apps/backend/tests/unit/test_mission_contracts.py +705 -0
  1542. apps/backend/tests/unit/test_mission_run_composition_plan.py +194 -0
  1543. apps/backend/tests/unit/test_mission_sse.py +491 -0
  1544. apps/backend/tests/unit/test_morning_brief_scheduler.py +129 -0
  1545. apps/backend/tests/unit/test_multi_currency.py +249 -0
  1546. apps/backend/tests/unit/test_multimodal_file_size.py +122 -0
  1547. apps/backend/tests/unit/test_newsletter_orchestration.py +343 -0
  1548. apps/backend/tests/unit/test_oauth_dispatcher.py +342 -0
  1549. apps/backend/tests/unit/test_oauth_google.py +303 -0
  1550. apps/backend/tests/unit/test_oauth_login_resilience.py +127 -0
  1551. apps/backend/tests/unit/test_oauth_token_manager.py +347 -0
  1552. apps/backend/tests/unit/test_oauth_token_vault.py +127 -0
  1553. apps/backend/tests/unit/test_oauth_unification.py +129 -0
  1554. apps/backend/tests/unit/test_objective_board.py +1166 -0
  1555. apps/backend/tests/unit/test_observability.py +255 -0
  1556. apps/backend/tests/unit/test_omnibox_api.py +178 -0
  1557. apps/backend/tests/unit/test_omnibox_command_grammar.py +394 -0
  1558. apps/backend/tests/unit/test_online_eval.py +295 -0
  1559. apps/backend/tests/unit/test_operating_kernel_contract.py +543 -0
  1560. apps/backend/tests/unit/test_org_capacity_api.py +60 -0
  1561. apps/backend/tests/unit/test_p91_runtime_session.py +868 -0
  1562. apps/backend/tests/unit/test_p92_channel_adapters.py +228 -0
  1563. apps/backend/tests/unit/test_p95_tool_registry.py +139 -0
  1564. apps/backend/tests/unit/test_p99_runtime_summary.py +67 -0
  1565. apps/backend/tests/unit/test_payment_contract.py +182 -0
  1566. apps/backend/tests/unit/test_peer_service_portable.py +71 -0
  1567. apps/backend/tests/unit/test_peers_route_portable.py +54 -0
  1568. apps/backend/tests/unit/test_per_agent_channel_identity.py +268 -0
  1569. apps/backend/tests/unit/test_persona_templates.py +203 -0
  1570. apps/backend/tests/unit/test_pkg11_supervisor_service.py +586 -0
  1571. apps/backend/tests/unit/test_pkg16_learning_supervisor_sse.py +788 -0
  1572. apps/backend/tests/unit/test_plan_sensitivity_classifier.py +41 -0
  1573. apps/backend/tests/unit/test_plane_constraint_envelope.py +547 -0
  1574. apps/backend/tests/unit/test_planning_memory_recall.py +248 -0
  1575. apps/backend/tests/unit/test_plugin_contracts.py +625 -0
  1576. apps/backend/tests/unit/test_policy_registry.py +371 -0
  1577. apps/backend/tests/unit/test_portable_store_pagination.py +31 -0
  1578. apps/backend/tests/unit/test_post_meeting_agent.py +1289 -0
  1579. apps/backend/tests/unit/test_post_meeting_crm_wiring.py +247 -0
  1580. apps/backend/tests/unit/test_pricing_catalog.py +130 -0
  1581. apps/backend/tests/unit/test_primitive_ledger.py +227 -0
  1582. apps/backend/tests/unit/test_proactive_api.py +168 -0
  1583. apps/backend/tests/unit/test_proactive_intelligence_handler.py +379 -0
  1584. apps/backend/tests/unit/test_proactive_intelligence_runtime.py +129 -0
  1585. apps/backend/tests/unit/test_proactive_lambda_dryrun.py +223 -0
  1586. apps/backend/tests/unit/test_project_generator.py +117 -0
  1587. apps/backend/tests/unit/test_proof_card_service.py +309 -0
  1588. apps/backend/tests/unit/test_public_api.py +316 -0
  1589. apps/backend/tests/unit/test_public_mcp_swarm_tools.py +140 -0
  1590. apps/backend/tests/unit/test_public_mcp_tools.py +499 -0
  1591. apps/backend/tests/unit/test_push_notifications.py +163 -0
  1592. apps/backend/tests/unit/test_quick_actions.py +366 -0
  1593. apps/backend/tests/unit/test_quick_actions_api.py +176 -0
  1594. apps/backend/tests/unit/test_quota_enforcement_metering.py +141 -0
  1595. apps/backend/tests/unit/test_recall_service.py +374 -0
  1596. apps/backend/tests/unit/test_region_router.py +295 -0
  1597. apps/backend/tests/unit/test_regulated_rails.py +441 -0
  1598. apps/backend/tests/unit/test_reliability.py +390 -0
  1599. apps/backend/tests/unit/test_replay_eval.py +388 -0
  1600. apps/backend/tests/unit/test_resource_pre_check.py +152 -0
  1601. apps/backend/tests/unit/test_retrospective.py +693 -0
  1602. apps/backend/tests/unit/test_revenue_pack_crm_sync.py +142 -0
  1603. apps/backend/tests/unit/test_revenue_pack_draft.py +347 -0
  1604. apps/backend/tests/unit/test_revenue_pack_executor.py +450 -0
  1605. apps/backend/tests/unit/test_revenue_pack_followup.py +188 -0
  1606. apps/backend/tests/unit/test_revenue_pack_research.py +244 -0
  1607. apps/backend/tests/unit/test_revenue_reply_routing.py +86 -0
  1608. apps/backend/tests/unit/test_router_registry.py +256 -0
  1609. apps/backend/tests/unit/test_routine_service.py +269 -0
  1610. apps/backend/tests/unit/test_routines_api.py +106 -0
  1611. apps/backend/tests/unit/test_rule_engine.py +662 -0
  1612. apps/backend/tests/unit/test_rule_inheritance.py +276 -0
  1613. apps/backend/tests/unit/test_run_state_service.py +377 -0
  1614. apps/backend/tests/unit/test_runtime_context.py +375 -0
  1615. apps/backend/tests/unit/test_runtime_table_alignment.py +332 -0
  1616. apps/backend/tests/unit/test_schedule_pattern_observer.py +806 -0
  1617. apps/backend/tests/unit/test_schedule_service.py +644 -0
  1618. apps/backend/tests/unit/test_scheduler_api.py +306 -0
  1619. apps/backend/tests/unit/test_schedules_api_p26.py +392 -0
  1620. apps/backend/tests/unit/test_seat_spec.py +383 -0
  1621. apps/backend/tests/unit/test_security_hardening.py +1146 -0
  1622. apps/backend/tests/unit/test_security_headers.py +252 -0
  1623. apps/backend/tests/unit/test_self_awareness_context.py +197 -0
  1624. apps/backend/tests/unit/test_self_diagnosis.py +88 -0
  1625. apps/backend/tests/unit/test_self_healing_supervisor.py +742 -0
  1626. apps/backend/tests/unit/test_sensitivity_classifier.py +68 -0
  1627. apps/backend/tests/unit/test_session_manager.py +151 -0
  1628. apps/backend/tests/unit/test_session_router_dynamo.py +680 -0
  1629. apps/backend/tests/unit/test_session_router_mounted.py +145 -0
  1630. apps/backend/tests/unit/test_sessions_route_portable.py +56 -0
  1631. apps/backend/tests/unit/test_shared_connector_service_connection_center.py +114 -0
  1632. apps/backend/tests/unit/test_simulation_safety_guard.py +274 -0
  1633. apps/backend/tests/unit/test_skill_evolution.py +346 -0
  1634. apps/backend/tests/unit/test_skill_evolution_runtime_wiring.py +320 -0
  1635. apps/backend/tests/unit/test_skill_executor_dispatch.py +273 -0
  1636. apps/backend/tests/unit/test_skill_executor_p2_wiring.py +157 -0
  1637. apps/backend/tests/unit/test_skill_executor_universal_dispatch.py +678 -0
  1638. apps/backend/tests/unit/test_skill_lifecycle_facade.py +225 -0
  1639. apps/backend/tests/unit/test_skill_marketplace_persistence.py +162 -0
  1640. apps/backend/tests/unit/test_skills_executor_parallel.py +354 -0
  1641. apps/backend/tests/unit/test_slack_adapter.py +367 -0
  1642. apps/backend/tests/unit/test_slack_events.py +289 -0
  1643. apps/backend/tests/unit/test_slack_user_binding.py +35 -0
  1644. apps/backend/tests/unit/test_sms_inbound.py +248 -0
  1645. apps/backend/tests/unit/test_sms_outbound.py +168 -0
  1646. apps/backend/tests/unit/test_sqlite_store.py +248 -0
  1647. apps/backend/tests/unit/test_squad_supervisor.py +479 -0
  1648. apps/backend/tests/unit/test_state_transition_guards.py +175 -0
  1649. apps/backend/tests/unit/test_strategy_retriever.py +241 -0
  1650. apps/backend/tests/unit/test_stripe_checkout.py +392 -0
  1651. apps/backend/tests/unit/test_structured_tool_runtime.py +17 -0
  1652. apps/backend/tests/unit/test_subscription_status_enum.py +161 -0
  1653. apps/backend/tests/unit/test_swarm_loss_api.py +50 -0
  1654. apps/backend/tests/unit/test_swarm_role_skills.py +307 -0
  1655. apps/backend/tests/unit/test_swarm_scheduler_durable.py +670 -0
  1656. apps/backend/tests/unit/test_table_names.py +83 -0
  1657. apps/backend/tests/unit/test_task_feedback_api.py +178 -0
  1658. apps/backend/tests/unit/test_task_ingest.py +176 -0
  1659. apps/backend/tests/unit/test_telemetry.py +513 -0
  1660. apps/backend/tests/unit/test_tenant_improvement_api.py +100 -0
  1661. apps/backend/tests/unit/test_tenant_improvement_loop.py +200 -0
  1662. apps/backend/tests/unit/test_tenant_timezone.py +321 -0
  1663. apps/backend/tests/unit/test_tenants_table_contract.py +450 -0
  1664. apps/backend/tests/unit/test_thread_service.py +836 -0
  1665. apps/backend/tests/unit/test_threads_api.py +138 -0
  1666. apps/backend/tests/unit/test_time_block_emission.py +261 -0
  1667. apps/backend/tests/unit/test_time_block_hourly_canonical.py +648 -0
  1668. apps/backend/tests/unit/test_time_block_model.py +82 -0
  1669. apps/backend/tests/unit/test_time_block_taxonomy.py +137 -0
  1670. apps/backend/tests/unit/test_time_rollup_service.py +178 -0
  1671. apps/backend/tests/unit/test_timeblock_close_reconciliation.py +196 -0
  1672. apps/backend/tests/unit/test_timeblock_materialization.py +82 -0
  1673. apps/backend/tests/unit/test_timeblock_service.py +359 -0
  1674. apps/backend/tests/unit/test_timeblock_workflow_emission.py +403 -0
  1675. apps/backend/tests/unit/test_token_encryption_portability.py +184 -0
  1676. apps/backend/tests/unit/test_token_refresh.py +462 -0
  1677. apps/backend/tests/unit/test_tool_introspection.py +516 -0
  1678. apps/backend/tests/unit/test_tool_permission_service.py +257 -0
  1679. apps/backend/tests/unit/test_trace_envelope_contract.py +87 -0
  1680. apps/backend/tests/unit/test_trace_strategy_miner.py +496 -0
  1681. apps/backend/tests/unit/test_transcription_service.py +341 -0
  1682. apps/backend/tests/unit/test_trust_posture.py +119 -0
  1683. apps/backend/tests/unit/test_trust_score.py +455 -0
  1684. apps/backend/tests/unit/test_twilio_call_state_persistence.py +318 -0
  1685. apps/backend/tests/unit/test_twilio_provisioning.py +337 -0
  1686. apps/backend/tests/unit/test_twilio_twiml_stream_track.py +33 -0
  1687. apps/backend/tests/unit/test_twilio_voice_browser.py +54 -0
  1688. apps/backend/tests/unit/test_twilio_voice_webhooks.py +514 -0
  1689. apps/backend/tests/unit/test_unified_capability_gate.py +545 -0
  1690. apps/backend/tests/unit/test_universal_preflight_contract.py +266 -0
  1691. apps/backend/tests/unit/test_usage_event_service.py +96 -0
  1692. apps/backend/tests/unit/test_usage_tracker_billing_alignment.py +126 -0
  1693. apps/backend/tests/unit/test_usage_tracker_service.py +504 -0
  1694. apps/backend/tests/unit/test_verification_artifacts.py +173 -0
  1695. apps/backend/tests/unit/test_voice_guardrails.py +366 -0
  1696. apps/backend/tests/unit/test_voice_media_stream.py +181 -0
  1697. apps/backend/tests/unit/test_voice_memory_bridge.py +522 -0
  1698. apps/backend/tests/unit/test_voice_metering.py +84 -0
  1699. apps/backend/tests/unit/test_voice_runtime_session.py +156 -0
  1700. apps/backend/tests/unit/test_voice_session_supervisor.py +44 -0
  1701. apps/backend/tests/unit/test_voice_tool_executor.py +439 -0
  1702. apps/backend/tests/unit/test_voice_transport_provider.py +227 -0
  1703. apps/backend/tests/unit/test_voice_wiring.py +801 -0
  1704. apps/backend/tests/unit/test_whatsapp_api_contracts.py +141 -0
  1705. apps/backend/tests/unit/test_whatsapp_service.py +700 -0
  1706. apps/backend/tests/unit/test_wiring_completeness.py +380 -0
  1707. apps/backend/tests/unit/test_workmemory_client.py +425 -0
  1708. apps/backend/tests/unit/test_workmemory_mcp_server.py +541 -0
  1709. apps/backend/tests/unit/test_workmemory_portable_runtime_paths.py +117 -0
  1710. apps/backend/tests/unit/test_workmemory_request_context.py +312 -0
  1711. apps/backend/tests/unit/test_workmemory_runtime.py +184 -0
  1712. apps/backend/tests/unit/test_workspace_root_fallback.py +58 -0
  1713. apps/backend/tests/unit/test_xai_direct_adapter.py +255 -0
  1714. apps/backend/tests/unit/test_zara_audio_buffering.py +42 -0
  1715. apps/backend/tests/unit/test_zara_connection_pool.py +670 -0
  1716. apps/backend/tests/unit/test_zara_control_plane.py +872 -0
  1717. apps/backend/tests/unit/test_zara_endpoints.py +834 -0
  1718. apps/backend/tests/unit/test_zara_goal_intake.py +264 -0
  1719. apps/backend/tests/unit/test_zara_intake_compiler.py +455 -0
  1720. apps/backend/tests/unit/test_zara_interview_contract.py +505 -0
  1721. apps/backend/tests/unit/test_zara_per_entity_context.py +435 -0
  1722. apps/backend/tests/unit/test_zara_plan_execution_contract.py +598 -0
  1723. apps/backend/tests/unit/test_zara_routine_chat.py +153 -0
  1724. apps/backend/tests/unit/test_zara_sip_agent.py +1129 -0
  1725. apps/backend/tests/unit/test_zara_task_executor_enrichment.py +120 -0
  1726. apps/backend/tests/unit/test_zoho_crm_books_connectors.py +126 -0
  1727. apps/backend/tests/unit/test_zoho_product_registry.py +70 -0
  1728. apps/backend/tools/TOOL_CATALOG.md +84 -0
  1729. apps/backend/utils/__init__.py +20 -0
  1730. apps/backend/utils/b64url.py +27 -0
  1731. apps/backend/utils/coerce.py +47 -0
  1732. apps/backend/utils/meeting_url.py +237 -0
  1733. apps/backend/utils/phone_utils.py +173 -0
  1734. apps/backend/utils/service_helpers.py +44 -0
  1735. apps/backend/utils/ssrf.py +145 -0
  1736. apps/backend/utils/tenant.py +152 -0
  1737. apps/backend/utils/time.py +67 -0
  1738. apps/backend/validation/__init__.py +1 -0
  1739. apps/backend/validation/skill_validator.py +303 -0
  1740. apps/backend/validators/__init__.py +1 -0
  1741. apps/backend/validators/context_graph_naming.py +374 -0
  1742. apps/backend/voice_services/__init__.py +172 -0
  1743. apps/backend/voice_services/adapters/livekit_fallback_adapter.py +119 -0
  1744. apps/backend/voice_services/adapters/xai_direct_adapter.py +345 -0
  1745. apps/backend/voice_services/async_io_wrapper.py +102 -0
  1746. apps/backend/voice_services/audio_bridge.py +186 -0
  1747. apps/backend/voice_services/audio_chunker.py +94 -0
  1748. apps/backend/voice_services/barge_in.py +570 -0
  1749. apps/backend/voice_services/binary_websocket_handler.py +82 -0
  1750. apps/backend/voice_services/call_control_service.py +570 -0
  1751. apps/backend/voice_services/gemini_live_client.py +304 -0
  1752. apps/backend/voice_services/latency_tracker.py +635 -0
  1753. apps/backend/voice_services/livekit_agent.py +325 -0
  1754. apps/backend/voice_services/meeting_voice_bridge.py +193 -0
  1755. apps/backend/voice_services/recording_service.py +744 -0
  1756. apps/backend/voice_services/turn_taking.py +449 -0
  1757. apps/backend/voice_services/voice_agent_client.py +58 -0
  1758. apps/backend/voice_services/voice_agent_factory.py +88 -0
  1759. apps/backend/voice_services/voice_memory_bridge.py +610 -0
  1760. apps/backend/voice_services/voice_runtime_session.py +93 -0
  1761. apps/backend/voice_services/voice_session_supervisor.py +176 -0
  1762. apps/backend/voice_services/voice_tool_executor.py +1366 -0
  1763. apps/backend/voice_services/voice_wiring.py +374 -0
  1764. apps/backend/voice_services/xai_relay_service.py +894 -0
  1765. apps/backend/voice_services/zara_connection_pool.py +703 -0
  1766. apps/backend/voice_services/zara_prompts.py +513 -0
  1767. apps/backend/voice_services/zara_sip_agent.py +449 -0
  1768. apps/backend/websocket_handler.py +139 -0
  1769. apps/backend/workmemory/__init__.py +30 -0
  1770. apps/backend/workmemory/adapters/__init__.py +1 -0
  1771. apps/backend/workmemory/adapters/base.py +302 -0
  1772. apps/backend/workmemory/adapters/claude_code.py +201 -0
  1773. apps/backend/workmemory/adapters/generic.py +28 -0
  1774. apps/backend/workmemory/adapters/harness_capabilities.py +113 -0
  1775. apps/backend/workmemory/adapters/workweaver_runtime.py +125 -0
  1776. apps/backend/workmemory/api/__init__.py +6 -0
  1777. apps/backend/workmemory/api/app.py +258 -0
  1778. apps/backend/workmemory/api/deps.py +662 -0
  1779. apps/backend/workmemory/api/memory_api.py +376 -0
  1780. apps/backend/workmemory/api/middleware/__init__.py +1 -0
  1781. apps/backend/workmemory/api/middleware/usage_tracking.py +232 -0
  1782. apps/backend/workmemory/api/ontology.py +488 -0
  1783. apps/backend/workmemory/api/request_context.py +431 -0
  1784. apps/backend/workmemory/api/routes/__init__.py +1 -0
  1785. apps/backend/workmemory/api/routes/agent.py +1471 -0
  1786. apps/backend/workmemory/api/routes/chat_router.py +168 -0
  1787. apps/backend/workmemory/api/routes/connectors.py +328 -0
  1788. apps/backend/workmemory/api/routes/context.py +61 -0
  1789. apps/backend/workmemory/api/routes/dsar.py +216 -0
  1790. apps/backend/workmemory/api/routes/export.py +104 -0
  1791. apps/backend/workmemory/api/routes/import_harness.py +223 -0
  1792. apps/backend/workmemory/api/routes/ingest_modes.py +511 -0
  1793. apps/backend/workmemory/api/routes/keys.py +191 -0
  1794. apps/backend/workmemory/api/routes/learning.py +321 -0
  1795. apps/backend/workmemory/api/routes/lint.py +62 -0
  1796. apps/backend/workmemory/api/routes/memories.py +1247 -0
  1797. apps/backend/workmemory/api/routes/peers.py +300 -0
  1798. apps/backend/workmemory/api/routes/pricing.py +51 -0
  1799. apps/backend/workmemory/api/routes/profiles.py +117 -0
  1800. apps/backend/workmemory/api/routes/relations.py +83 -0
  1801. apps/backend/workmemory/api/routes/sessions.py +274 -0
  1802. apps/backend/workmemory/api/routes/synthesis.py +146 -0
  1803. apps/backend/workmemory/api/routes/system.py +271 -0
  1804. apps/backend/workmemory/api/routes/traces.py +276 -0
  1805. apps/backend/workmemory/api/routes/universal.py +290 -0
  1806. apps/backend/workmemory/api/routes/version_history.py +256 -0
  1807. apps/backend/workmemory/api/schemas.py +340 -0
  1808. apps/backend/workmemory/api/tools/__init__.py +1 -0
  1809. apps/backend/workmemory/api/tools/dump_openapi.py +78 -0
  1810. apps/backend/workmemory/benchmarks/__init__.py +1 -0
  1811. apps/backend/workmemory/benchmarks/base.py +158 -0
  1812. apps/backend/workmemory/benchmarks/convomem.py +72 -0
  1813. apps/backend/workmemory/benchmarks/locomo.py +69 -0
  1814. apps/backend/workmemory/benchmarks/longmemeval.py +69 -0
  1815. apps/backend/workmemory/benchmarks/run_all.py +142 -0
  1816. apps/backend/workmemory/billing/__init__.py +1 -0
  1817. apps/backend/workmemory/billing/memory_billing.py +629 -0
  1818. apps/backend/workmemory/billing/query_unit.py +112 -0
  1819. apps/backend/workmemory/config/__init__.py +0 -0
  1820. apps/backend/workmemory/config/environment.py +16 -0
  1821. apps/backend/workmemory/connectors/__init__.py +1 -0
  1822. apps/backend/workmemory/connectors/base.py +227 -0
  1823. apps/backend/workmemory/connectors/capability_probe_service.py +196 -0
  1824. apps/backend/workmemory/connectors/github.py +151 -0
  1825. apps/backend/workmemory/connectors/gmail.py +326 -0
  1826. apps/backend/workmemory/connectors/google_drive.py +425 -0
  1827. apps/backend/workmemory/connectors/notion.py +398 -0
  1828. apps/backend/workmemory/connectors/remote_ingest.py +103 -0
  1829. apps/backend/workmemory/connectors/s3.py +156 -0
  1830. apps/backend/workmemory/connectors/slack.py +350 -0
  1831. apps/backend/workmemory/contracts/__init__.py +61 -0
  1832. apps/backend/workmemory/contracts/harness_observation_contract.py +84 -0
  1833. apps/backend/workmemory/contracts/memory_contract.py +348 -0
  1834. apps/backend/workmemory/contracts/surface_contract.py +200 -0
  1835. apps/backend/workmemory/lambda_functions/__init__.py +0 -0
  1836. apps/backend/workmemory/lambda_functions/sleep_time_worker/__init__.py +26 -0
  1837. apps/backend/workmemory/lambda_functions/sleep_time_worker/backpressure.py +288 -0
  1838. apps/backend/workmemory/lambda_functions/sleep_time_worker/fair_scheduler.py +137 -0
  1839. apps/backend/workmemory/lambda_functions/sleep_time_worker/handler.py +193 -0
  1840. apps/backend/workmemory/lambda_functions/sleep_time_worker/inference_engine.py +414 -0
  1841. apps/backend/workmemory/lambda_functions/sleep_time_worker/portable_store_tables.py +171 -0
  1842. apps/backend/workmemory/lambda_functions/sleep_time_worker/quota_manager.py +293 -0
  1843. apps/backend/workmemory/lambda_functions/sleep_time_worker/self_improvement.py +706 -0
  1844. apps/backend/workmemory/lambda_functions/sleep_time_worker/sleep_time_compute.py +657 -0
  1845. apps/backend/workmemory/mcp/__init__.py +1 -0
  1846. apps/backend/workmemory/mcp/__main__.py +7 -0
  1847. apps/backend/workmemory/mcp/_adapter_base.py +84 -0
  1848. apps/backend/workmemory/mcp/claude_desktop_config.json +19 -0
  1849. apps/backend/workmemory/mcp/claude_desktop_config.packaged.json +13 -0
  1850. apps/backend/workmemory/mcp/cursor_adapter.py +231 -0
  1851. apps/backend/workmemory/mcp/installer.py +104 -0
  1852. apps/backend/workmemory/mcp/opencode_adapter.py +229 -0
  1853. apps/backend/workmemory/mcp/server.py +1890 -0
  1854. apps/backend/workmemory/mcp/test_cursor_adapter.py +225 -0
  1855. apps/backend/workmemory/mcp/test_opencode_adapter.py +170 -0
  1856. apps/backend/workmemory/mcp/tests/test_swarm_tools.py +166 -0
  1857. apps/backend/workmemory/mcp/tool_definitions.py +718 -0
  1858. apps/backend/workmemory/migrations/001_workmemory_portable_store.sql +81 -0
  1859. apps/backend/workmemory/models/__init__.py +125 -0
  1860. apps/backend/workmemory/models/auto_tuner.py +195 -0
  1861. apps/backend/workmemory/models/business_ontology.py +403 -0
  1862. apps/backend/workmemory/models/category.py +242 -0
  1863. apps/backend/workmemory/models/claims.py +223 -0
  1864. apps/backend/workmemory/models/embedding.py +261 -0
  1865. apps/backend/workmemory/models/embedding_errors.py +66 -0
  1866. apps/backend/workmemory/models/embedding_v2.py +22 -0
  1867. apps/backend/workmemory/models/execution_trace.py +118 -0
  1868. apps/backend/workmemory/models/extraction.py +22 -0
  1869. apps/backend/workmemory/models/extraction_guidance.py +71 -0
  1870. apps/backend/workmemory/models/frozen_prompt.py +58 -0
  1871. apps/backend/workmemory/models/ingest_job.py +118 -0
  1872. apps/backend/workmemory/models/item.py +731 -0
  1873. apps/backend/workmemory/models/knowledge.py +203 -0
  1874. apps/backend/workmemory/models/learning_loop.py +222 -0
  1875. apps/backend/workmemory/models/learning_metrics.py +129 -0
  1876. apps/backend/workmemory/models/peer.py +149 -0
  1877. apps/backend/workmemory/models/premise_chain.py +107 -0
  1878. apps/backend/workmemory/models/proposed_skill.py +75 -0
  1879. apps/backend/workmemory/models/resources.py +274 -0
  1880. apps/backend/workmemory/models/shadow_eval.py +61 -0
  1881. apps/backend/workmemory/models/skill_guidance.py +154 -0
  1882. apps/backend/workmemory/models/skill_marketplace.py +85 -0
  1883. apps/backend/workmemory/models/synthesized_artifact.py +181 -0
  1884. apps/backend/workmemory/models/temporal_fact.py +190 -0
  1885. apps/backend/workmemory/models/tenant_embedding_policy.py +61 -0
  1886. apps/backend/workmemory/models/usage_event.py +163 -0
  1887. apps/backend/workmemory/models/user_profile.py +268 -0
  1888. apps/backend/workmemory/models/vector_search.py +246 -0
  1889. apps/backend/workmemory/requirements-workmemory.txt +49 -0
  1890. apps/backend/workmemory/services/__init__.py +49 -0
  1891. apps/backend/workmemory/services/admission_gate.py +125 -0
  1892. apps/backend/workmemory/services/agentic_retrieval.py +377 -0
  1893. apps/backend/workmemory/services/api_capture_service.py +385 -0
  1894. apps/backend/workmemory/services/async_ingest.py +486 -0
  1895. apps/backend/workmemory/services/auto_recall.py +183 -0
  1896. apps/backend/workmemory/services/auto_tuner.py +810 -0
  1897. apps/backend/workmemory/services/categories_evolver.py +381 -0
  1898. apps/backend/workmemory/services/categories_retrieval.py +494 -0
  1899. apps/backend/workmemory/services/chunking_service.py +899 -0
  1900. apps/backend/workmemory/services/concurrency.py +383 -0
  1901. apps/backend/workmemory/services/consolidation.py +664 -0
  1902. apps/backend/workmemory/services/cross_agent_learning.py +206 -0
  1903. apps/backend/workmemory/services/durable_queue.py +224 -0
  1904. apps/backend/workmemory/services/dynamodb_codec.py +37 -0
  1905. apps/backend/workmemory/services/embedding_cost_tracker.py +421 -0
  1906. apps/backend/workmemory/services/embedding_pii_redactor.py +352 -0
  1907. apps/backend/workmemory/services/embedding_rate_limiter.py +240 -0
  1908. apps/backend/workmemory/services/embedding_service.py +716 -0
  1909. apps/backend/workmemory/services/export_service.py +286 -0
  1910. apps/backend/workmemory/services/fact_extractor.py +408 -0
  1911. apps/backend/workmemory/services/forgetting_scheduler.py +189 -0
  1912. apps/backend/workmemory/services/forgetting_service.py +616 -0
  1913. apps/backend/workmemory/services/hybrid_search.py +84 -0
  1914. apps/backend/workmemory/services/ingestion_service.py +1461 -0
  1915. apps/backend/workmemory/services/items_extractor.py +529 -0
  1916. apps/backend/workmemory/services/items_retrieval.py +677 -0
  1917. apps/backend/workmemory/services/knowledge_extractor.py +335 -0
  1918. apps/backend/workmemory/services/layer1_query_filter.py +334 -0
  1919. apps/backend/workmemory/services/layer2_prequery.py +593 -0
  1920. apps/backend/workmemory/services/layer4_audit.py +452 -0
  1921. apps/backend/workmemory/services/learning_event_service.py +133 -0
  1922. apps/backend/workmemory/services/learning_loop_service.py +158 -0
  1923. apps/backend/workmemory/services/learning_metrics_service.py +264 -0
  1924. apps/backend/workmemory/services/lint_service.py +419 -0
  1925. apps/backend/workmemory/services/llm_reranker.py +190 -0
  1926. apps/backend/workmemory/services/local_embedding.py +61 -0
  1927. apps/backend/workmemory/services/markup_policy_service.py +151 -0
  1928. apps/backend/workmemory/services/memory_controller.py +900 -0
  1929. apps/backend/workmemory/services/memory_reference_index.py +186 -0
  1930. apps/backend/workmemory/services/memory_router.py +195 -0
  1931. apps/backend/workmemory/services/memory_tools.py +664 -0
  1932. apps/backend/workmemory/services/memory_write.py +282 -0
  1933. apps/backend/workmemory/services/memory_write_policy.py +57 -0
  1934. apps/backend/workmemory/services/memorybench.py +117 -0
  1935. apps/backend/workmemory/services/model_capabilities.py +98 -0
  1936. apps/backend/workmemory/services/observation_extractor.py +697 -0
  1937. apps/backend/workmemory/services/observation_hook.py +305 -0
  1938. apps/backend/workmemory/services/observer_service.py +114 -0
  1939. apps/backend/workmemory/services/outcome_feedback.py +397 -0
  1940. apps/backend/workmemory/services/parsers/__init__.py +28 -0
  1941. apps/backend/workmemory/services/parsers/audio_parser.py +250 -0
  1942. apps/backend/workmemory/services/parsers/base.py +49 -0
  1943. apps/backend/workmemory/services/parsers/docling_adapter.py +154 -0
  1944. apps/backend/workmemory/services/parsers/document_parser.py +87 -0
  1945. apps/backend/workmemory/services/parsers/harness_importers.py +714 -0
  1946. apps/backend/workmemory/services/parsers/html_parser.py +174 -0
  1947. apps/backend/workmemory/services/parsers/image_parser.py +329 -0
  1948. apps/backend/workmemory/services/parsers/json_parser.py +99 -0
  1949. apps/backend/workmemory/services/parsers/pdf_parser.py +64 -0
  1950. apps/backend/workmemory/services/parsers/structured_text_parser.py +107 -0
  1951. apps/backend/workmemory/services/parsers/text_parser.py +62 -0
  1952. apps/backend/workmemory/services/parsers/video_parser.py +248 -0
  1953. apps/backend/workmemory/services/pattern_learner.py +553 -0
  1954. apps/backend/workmemory/services/pattern_miner.py +418 -0
  1955. apps/backend/workmemory/services/peer_service.py +514 -0
  1956. apps/backend/workmemory/services/pg_pool.py +9 -0
  1957. apps/backend/workmemory/services/pgvector_factory.py +45 -0
  1958. apps/backend/workmemory/services/pgvector_search.py +543 -0
  1959. apps/backend/workmemory/services/post_run_promoter.py +848 -0
  1960. apps/backend/workmemory/services/precedent_injector.py +403 -0
  1961. apps/backend/workmemory/services/premise_traversal.py +292 -0
  1962. apps/backend/workmemory/services/protocols.py +63 -0
  1963. apps/backend/workmemory/services/providers/__init__.py +9 -0
  1964. apps/backend/workmemory/services/providers/bedrock_embedding_provider.py +365 -0
  1965. apps/backend/workmemory/services/providers/gemini_embedding_provider.py +295 -0
  1966. apps/backend/workmemory/services/query_expander.py +126 -0
  1967. apps/backend/workmemory/services/query_understanding.py +277 -0
  1968. apps/backend/workmemory/services/recall_policy.py +50 -0
  1969. apps/backend/workmemory/services/reflector_service.py +143 -0
  1970. apps/backend/workmemory/services/relation_store.py +337 -0
  1971. apps/backend/workmemory/services/relevance.py +355 -0
  1972. apps/backend/workmemory/services/resources_layer.py +706 -0
  1973. apps/backend/workmemory/services/retrieval.py +843 -0
  1974. apps/backend/workmemory/services/scoped_api_key_service.py +342 -0
  1975. apps/backend/workmemory/services/session_manager.py +672 -0
  1976. apps/backend/workmemory/services/session_prompt_builder.py +146 -0
  1977. apps/backend/workmemory/services/skill_auto_creator.py +566 -0
  1978. apps/backend/workmemory/services/skill_marketplace.py +511 -0
  1979. apps/backend/workmemory/services/synthesis_service.py +515 -0
  1980. apps/backend/workmemory/services/table_retrieval.py +253 -0
  1981. apps/backend/workmemory/services/task_scoped_context.py +455 -0
  1982. apps/backend/workmemory/services/temporal_semantics.py +288 -0
  1983. apps/backend/workmemory/services/tier_scoping.py +241 -0
  1984. apps/backend/workmemory/services/tiered_recall_router.py +412 -0
  1985. apps/backend/workmemory/services/tool_nudge_manager.py +146 -0
  1986. apps/backend/workmemory/services/trace_collector.py +312 -0
  1987. apps/backend/workmemory/services/treesitter_chunker.py +509 -0
  1988. apps/backend/workmemory/services/usage_event_service.py +207 -0
  1989. apps/backend/workmemory/services/user_profile_service.py +593 -0
  1990. apps/backend/workmemory/services/version_history.py +868 -0
  1991. apps/backend/workmemory/services/working_memory.py +167 -0
  1992. apps/backend/workmemory/services/xai_usage.py +64 -0
  1993. apps/browser-extension/background.js +344 -0
  1994. apps/browser-extension/content-scripts/chatgpt.js +130 -0
  1995. apps/browser-extension/content-scripts/claude.js +135 -0
  1996. apps/browser-extension/content-scripts/gemini.js +127 -0
  1997. apps/browser-extension/icons/icon-128.png +1 -0
  1998. apps/browser-extension/icons/icon-16.png +1 -0
  1999. apps/browser-extension/icons/icon-48.png +1 -0
  2000. apps/browser-extension/manifest.json +69 -0
  2001. apps/browser-extension/popup/popup.css +308 -0
  2002. apps/browser-extension/popup/popup.html +115 -0
  2003. apps/browser-extension/popup/popup.js +256 -0
  2004. apps/cli/PARITY.md +544 -0
  2005. apps/cli/__init__.py +1 -0
  2006. apps/cli/parity.json +1523 -0
  2007. apps/cli/tests/__init__.py +0 -0
  2008. apps/cli/tests/test_config.py +94 -0
  2009. apps/cli/tests/test_device_login.py +698 -0
  2010. apps/cli/tests/test_org_capacity.py +66 -0
  2011. apps/cli/tests/test_plan.py +102 -0
  2012. apps/cli/tests/test_schedule.py +187 -0
  2013. apps/cli/tests/test_start.py +258 -0
  2014. apps/cli/tests/test_swarm_cancel.py +100 -0
  2015. apps/cli/tests/test_swarm_spawn.py +270 -0
  2016. apps/cli/tests/test_swarm_status.py +118 -0
  2017. apps/cli/ww/__init__.py +18 -0
  2018. apps/cli/ww/__main__.py +5 -0
  2019. apps/cli/ww/acp_daemon.py +387 -0
  2020. apps/cli/ww/commands/__init__.py +1 -0
  2021. apps/cli/ww/commands/acp.py +90 -0
  2022. apps/cli/ww/commands/agent.py +251 -0
  2023. apps/cli/ww/commands/audit.py +72 -0
  2024. apps/cli/ww/commands/auth.py +505 -0
  2025. apps/cli/ww/commands/calendar.py +188 -0
  2026. apps/cli/ww/commands/commands.py +65 -0
  2027. apps/cli/ww/commands/config.py +197 -0
  2028. apps/cli/ww/commands/connect.py +722 -0
  2029. apps/cli/ww/commands/connector.py +192 -0
  2030. apps/cli/ww/commands/decision.py +239 -0
  2031. apps/cli/ww/commands/doctor.py +200 -0
  2032. apps/cli/ww/commands/domain.py +145 -0
  2033. apps/cli/ww/commands/entity.py +184 -0
  2034. apps/cli/ww/commands/evidence.py +144 -0
  2035. apps/cli/ww/commands/experiment.py +205 -0
  2036. apps/cli/ww/commands/governance.py +171 -0
  2037. apps/cli/ww/commands/inbox.py +290 -0
  2038. apps/cli/ww/commands/init.py +353 -0
  2039. apps/cli/ww/commands/login.py +30 -0
  2040. apps/cli/ww/commands/memory.py +1094 -0
  2041. apps/cli/ww/commands/mission.py +354 -0
  2042. apps/cli/ww/commands/okr.py +150 -0
  2043. apps/cli/ww/commands/org.py +342 -0
  2044. apps/cli/ww/commands/phantom_model.py +95 -0
  2045. apps/cli/ww/commands/plan.py +157 -0
  2046. apps/cli/ww/commands/pulse.py +152 -0
  2047. apps/cli/ww/commands/root.py +93 -0
  2048. apps/cli/ww/commands/schedule.py +179 -0
  2049. apps/cli/ww/commands/session.py +331 -0
  2050. apps/cli/ww/commands/settings.py +1088 -0
  2051. apps/cli/ww/commands/simulation.py +139 -0
  2052. apps/cli/ww/commands/skill.py +120 -0
  2053. apps/cli/ww/commands/start.py +255 -0
  2054. apps/cli/ww/commands/swarm.py +601 -0
  2055. apps/cli/ww/commands/system.py +81 -0
  2056. apps/cli/ww/commands/thread.py +143 -0
  2057. apps/cli/ww/commands/topology.py +173 -0
  2058. apps/cli/ww/commands/upgrades.py +143 -0
  2059. apps/cli/ww/commands/variant.py +161 -0
  2060. apps/cli/ww/commands/workitem.py +269 -0
  2061. apps/cli/ww/commands/zara.py +404 -0
  2062. apps/cli/ww/config.py +411 -0
  2063. apps/cli/ww/context.py +20 -0
  2064. apps/cli/ww/errors.py +76 -0
  2065. apps/cli/ww/http.py +141 -0
  2066. apps/cli/ww/introspection.py +482 -0
  2067. apps/cli/ww/main.py +206 -0
  2068. apps/cli/ww/oauth.py +519 -0
  2069. apps/cli/ww/output.py +122 -0
  2070. apps/cli/ww/process_manager.py +207 -0
  2071. apps/dashboard/Dockerfile +47 -0
  2072. apps/dashboard/admin/control-surfaces.html +393 -0
  2073. apps/dashboard/admin/inference/index.html +2412 -0
  2074. apps/dashboard/admin/managers/ai-playground.js +891 -0
  2075. apps/dashboard/admin/managers/batch-processor.js +1002 -0
  2076. apps/dashboard/admin/managers/community-social.js +27 -0
  2077. apps/dashboard/admin/managers/developer-portal.js +1666 -0
  2078. apps/dashboard/admin/managers/help-support.js +537 -0
  2079. apps/dashboard/admin/managers/sandbox-testing.js +915 -0
  2080. apps/dashboard/admin/meeting/index.html +495 -0
  2081. apps/dashboard/admin/runtime/index.html +85 -0
  2082. apps/dashboard/components/search/capability-registry.js +462 -0
  2083. apps/dashboard/components/search/global-search.js +1613 -0
  2084. apps/dashboard/components/settings/org-audit-log.js +206 -0
  2085. apps/dashboard/components/shared/auth-bridge.js +139 -0
  2086. apps/dashboard/components/shared/billing-lifecycle-banner.js +254 -0
  2087. apps/dashboard/components/shared/collaboration-bridge.js +574 -0
  2088. apps/dashboard/components/shared/goal-sidebar.css +535 -0
  2089. apps/dashboard/components/shared/goal-sidebar.js +702 -0
  2090. apps/dashboard/components/shared/keyboard-navigator.css +115 -0
  2091. apps/dashboard/components/shared/keyboard-navigator.js +289 -0
  2092. apps/dashboard/components/shared/progressive-disclosure.css +101 -0
  2093. apps/dashboard/components/shared/progressive-disclosure.js +492 -0
  2094. apps/dashboard/components/shared/sse-reconnect.js +260 -0
  2095. apps/dashboard/components/shared/workweaver-browser-client.js +262 -0
  2096. apps/dashboard/components/shared/ww-states.css +209 -0
  2097. apps/dashboard/components/shared/ww-store.js +206 -0
  2098. apps/dashboard/components/shared/ww-tabs.css +164 -0
  2099. apps/dashboard/components/shared/ww-tabs.js +407 -0
  2100. apps/dashboard/components/shared/zara-shared.js +191 -0
  2101. apps/dashboard/components/vendor/LIVEKIT-LICENSE.txt +175 -0
  2102. apps/dashboard/components/vendor/livekit-client-2.16.1.umd.js +2 -0
  2103. apps/dashboard/components/workspace/autonomy-judgment-actions.js +223 -0
  2104. apps/dashboard/components/workspace/badges.css +103 -0
  2105. apps/dashboard/components/workspace/command-center.js +1205 -0
  2106. apps/dashboard/components/workspace/connector-explorer.js +149 -0
  2107. apps/dashboard/components/workspace/dashboard-coordinator.js +97 -0
  2108. apps/dashboard/components/workspace/dom-utils.js +237 -0
  2109. apps/dashboard/components/workspace/domain-activation.js +170 -0
  2110. apps/dashboard/components/workspace/emergency-brake-panel.css +121 -0
  2111. apps/dashboard/components/workspace/emergency-brake-panel.js +210 -0
  2112. apps/dashboard/components/workspace/governance-panel.js +192 -0
  2113. apps/dashboard/components/workspace/memory-graph.js +715 -0
  2114. apps/dashboard/components/workspace/memory.js +1408 -0
  2115. apps/dashboard/components/workspace/mission-overview/brief.js +269 -0
  2116. apps/dashboard/components/workspace/mission-overview/core.js +240 -0
  2117. apps/dashboard/components/workspace/mission-overview/goals.js +210 -0
  2118. apps/dashboard/components/workspace/mission-overview/learning-audit.js +77 -0
  2119. apps/dashboard/components/workspace/mission-overview/lifecycle.js +32 -0
  2120. apps/dashboard/components/workspace/mission-overview/missed-meeting.js +55 -0
  2121. apps/dashboard/components/workspace/mission-overview/navigation.js +139 -0
  2122. apps/dashboard/components/workspace/mission-overview/org-capacity-heatmap.js +82 -0
  2123. apps/dashboard/components/workspace/mission-overview/team.js +67 -0
  2124. apps/dashboard/components/workspace/mission-overview/timeline.js +148 -0
  2125. apps/dashboard/components/workspace/mission-overview/workitem-detail.js +288 -0
  2126. apps/dashboard/components/workspace/mission-overview.js +118 -0
  2127. apps/dashboard/components/workspace/objective-board.js +334 -0
  2128. apps/dashboard/components/workspace/okr-panel.js +156 -0
  2129. apps/dashboard/components/workspace/runtime-route-manifest.js +1210 -0
  2130. apps/dashboard/components/workspace/settings-policy-surfaces.js +366 -0
  2131. apps/dashboard/components/workspace/simulation-panel.js +180 -0
  2132. apps/dashboard/components/workspace/team.js +1217 -0
  2133. apps/dashboard/components/workspace/trace-insights.js +113 -0
  2134. apps/dashboard/components/workspace/work-quick-actions.js +1229 -0
  2135. apps/dashboard/components/workspace/workitem-surface.js +93 -0
  2136. apps/dashboard/components/workspace/workitem-trace.js +223 -0
  2137. apps/dashboard/components/workspace/workspace-manager.js +842 -0
  2138. apps/dashboard/components/zara/zara-audio-pipeline.js +523 -0
  2139. apps/dashboard/components/zara-experience/components/plan-card.js +353 -0
  2140. apps/dashboard/components/zara-experience/widget.css +1703 -0
  2141. apps/dashboard/components/zara-experience/widget.js +4161 -0
  2142. apps/dashboard/components/zara-experience/zara-skill.js +460 -0
  2143. apps/dashboard/dashboard/upgrades/index.html +246 -0
  2144. apps/dashboard/design-system/colors_and_type.css +287 -0
  2145. apps/dashboard/design-system/workweaver.css +1347 -0
  2146. apps/dashboard/design-system/workweaver.js +468 -0
  2147. apps/dashboard/index.html +24 -0
  2148. apps/dashboard/js/api-base.js +239 -0
  2149. apps/dashboard/legacy/README.md +65 -0
  2150. apps/dashboard/legacy/activate-agent.html +942 -0
  2151. apps/dashboard/legacy/ai-playground.html +735 -0
  2152. apps/dashboard/legacy/autonomy-selector.html +333 -0
  2153. apps/dashboard/legacy/autonomy-strip.html +77 -0
  2154. apps/dashboard/legacy/batch-processing.html +643 -0
  2155. apps/dashboard/legacy/calendar.html +1877 -0
  2156. apps/dashboard/legacy/call-history.html +597 -0
  2157. apps/dashboard/legacy/campaigns.html +1464 -0
  2158. apps/dashboard/legacy/channel-agent-page.html +328 -0
  2159. apps/dashboard/legacy/command-bar.html +493 -0
  2160. apps/dashboard/legacy/command-center.html +570 -0
  2161. apps/dashboard/legacy/community-social.html +194 -0
  2162. apps/dashboard/legacy/compliance-reporting.html +674 -0
  2163. apps/dashboard/legacy/connector-hub.html +469 -0
  2164. apps/dashboard/legacy/deliverables-viewer.html +261 -0
  2165. apps/dashboard/legacy/departments.html +989 -0
  2166. apps/dashboard/legacy/developer-portal.html +925 -0
  2167. apps/dashboard/legacy/entity-detail.html +1716 -0
  2168. apps/dashboard/legacy/evidence-stream.html +364 -0
  2169. apps/dashboard/legacy/flows.html +1833 -0
  2170. apps/dashboard/legacy/headless-runtime.html +394 -0
  2171. apps/dashboard/legacy/help.html +678 -0
  2172. apps/dashboard/legacy/home.html +690 -0
  2173. apps/dashboard/legacy/inbox-alerts.html +126 -0
  2174. apps/dashboard/legacy/inbox-communications.html +100 -0
  2175. apps/dashboard/legacy/inbox-hub.html +761 -0
  2176. apps/dashboard/legacy/inbox.html +132 -0
  2177. apps/dashboard/legacy/integrations.html +3522 -0
  2178. apps/dashboard/legacy/intelligence.html +429 -0
  2179. apps/dashboard/legacy/marketplace.html +984 -0
  2180. apps/dashboard/legacy/meeting-panel.html +533 -0
  2181. apps/dashboard/legacy/memory-artifact-viewer.html +245 -0
  2182. apps/dashboard/legacy/memory-digest.html +311 -0
  2183. apps/dashboard/legacy/memory-graph.html +369 -0
  2184. apps/dashboard/legacy/memory-health-panel.html +541 -0
  2185. apps/dashboard/legacy/memory-hub.html +587 -0
  2186. apps/dashboard/legacy/memory.html +1044 -0
  2187. apps/dashboard/legacy/mission-hub.html +908 -0
  2188. apps/dashboard/legacy/mission-org.html +890 -0
  2189. apps/dashboard/legacy/mission-overview.html +1545 -0
  2190. apps/dashboard/legacy/objective-board.html +258 -0
  2191. apps/dashboard/legacy/organization-settings.html +883 -0
  2192. apps/dashboard/legacy/organizations.html +1067 -0
  2193. apps/dashboard/legacy/preflight-approval.html +414 -0
  2194. apps/dashboard/legacy/proof-cards.html +309 -0
  2195. apps/dashboard/legacy/proof-decision-trace.html +219 -0
  2196. apps/dashboard/legacy/proof-evidence-trail.html +182 -0
  2197. apps/dashboard/legacy/role-skill-templates.html +361 -0
  2198. apps/dashboard/legacy/sandbox-testing.html +615 -0
  2199. apps/dashboard/legacy/settings-overhaul.html +427 -0
  2200. apps/dashboard/legacy/settings.html +1780 -0
  2201. apps/dashboard/legacy/shell-convergence.html +273 -0
  2202. apps/dashboard/legacy/skill-marketplace-page.html +299 -0
  2203. apps/dashboard/legacy/skills-marketplace.html +378 -0
  2204. apps/dashboard/legacy/skills.html +1206 -0
  2205. apps/dashboard/legacy/task-dag-viewer.html +477 -0
  2206. apps/dashboard/legacy/team.html +1100 -0
  2207. apps/dashboard/legacy/templates.html +255 -0
  2208. apps/dashboard/legacy/unified-timeline.html +265 -0
  2209. apps/dashboard/legacy/voice-dashboard.html +510 -0
  2210. apps/dashboard/legacy/work-active-missions.html +405 -0
  2211. apps/dashboard/legacy/work-approvals.html +582 -0
  2212. apps/dashboard/legacy/work-hub.html +112 -0
  2213. apps/dashboard/legacy/work-quick-actions.html +1323 -0
  2214. apps/dashboard/legacy/zara-launcher.html +564 -0
  2215. apps/dashboard/manifest.webmanifest +54 -0
  2216. apps/dashboard/nginx/default.conf +53 -0
  2217. apps/dashboard/onboarding/index.html +165 -0
  2218. apps/dashboard/onboarding/onboarding-prefill.js +107 -0
  2219. apps/dashboard/onboarding/styles.css +796 -0
  2220. apps/dashboard/onboarding/wizard.js +1542 -0
  2221. apps/dashboard/runtime/index.html +1558 -0
  2222. apps/dashboard/sw.js +151 -0
  2223. apps/dashboard/tests/unit/billing-lifecycle-banner.test.js +234 -0
  2224. apps/dashboard/tests/unit/calendar-evolution.test.js +222 -0
  2225. apps/dashboard/tests/unit/dashboard-coordinator.test.js +107 -0
  2226. apps/dashboard/tests/unit/dashboard-runtime-foundation.test.js +156 -0
  2227. apps/dashboard/tests/unit/goal-sidebar.test.js +277 -0
  2228. apps/dashboard/tests/unit/inbox-keyboard-batch.test.js +404 -0
  2229. apps/dashboard/tests/unit/inbox-priority-queue.test.js +220 -0
  2230. apps/dashboard/tests/unit/keyboard-navigator.test.js +327 -0
  2231. apps/dashboard/tests/unit/onboarding-friction.test.js +79 -0
  2232. apps/dashboard/tests/unit/runtime-route-manifest-3-anchor.test.js +238 -0
  2233. apps/dashboard/tests/unit/runtime-route-manifest-communications.test.js +96 -0
  2234. apps/dashboard/tests/unit/runtime-route-manifest-host-routing.test.js +82 -0
  2235. apps/dashboard/tests/unit/runtime-route-manifest-shell-convergence.test.js +139 -0
  2236. apps/dashboard/tests/unit/timeblock-drawer.test.js +363 -0
  2237. apps/dashboard/tests/unit/ux-fixes.test.js +134 -0
  2238. apps/dashboard/tests/unit/workspace-manager.test.js +564 -0
  2239. apps/dashboard/tests/unit/ww-store.test.js +146 -0
  2240. apps/dashboard/utils/sanitize.js +67 -0
  2241. apps/landing/Dockerfile +44 -0
  2242. apps/landing/README.md +152 -0
  2243. apps/landing/deploy.sh +195 -0
  2244. apps/landing/nginx/default.conf +70 -0
  2245. apps/landing/public/.well-known/brand-facts.json +481 -0
  2246. apps/landing/public/about/index.html +591 -0
  2247. apps/landing/public/admin/index.html +1096 -0
  2248. apps/landing/public/agent-knowledge/auth-contract.json +36 -0
  2249. apps/landing/public/agent-knowledge/index.html +613 -0
  2250. apps/landing/public/agent-knowledge/skill-registry.json +556 -0
  2251. apps/landing/public/assess/index.html +252 -0
  2252. apps/landing/public/auth/index.html +2114 -0
  2253. apps/landing/public/auth/reset-password/index.html +99 -0
  2254. apps/landing/public/book/index.html +315 -0
  2255. apps/landing/public/brand-facts/index.html +318 -0
  2256. apps/landing/public/changelog/index.html +791 -0
  2257. apps/landing/public/checkout-cancel.html +363 -0
  2258. apps/landing/public/checkout-success.html +482 -0
  2259. apps/landing/public/components/blog-subscribe.html +120 -0
  2260. apps/landing/public/components/lm1-eligibility-assessment/widget.css +440 -0
  2261. apps/landing/public/components/lm1-eligibility-assessment/widget.js +951 -0
  2262. apps/landing/public/components/memory-graph/widget.css +124 -0
  2263. apps/landing/public/components/memory-graph/widget.js +171 -0
  2264. apps/landing/public/components/shared/workweaver-browser-client.js +262 -0
  2265. apps/landing/public/components/shared/zara-shared.js +191 -0
  2266. apps/landing/public/components/vendor/LIVEKIT-LICENSE.txt +175 -0
  2267. apps/landing/public/components/vendor/livekit-client-2.16.1.umd.js +2 -0
  2268. apps/landing/public/components/zara-experience/components/plan-card.js +353 -0
  2269. apps/landing/public/components/zara-experience/mic-worklet.js +93 -0
  2270. apps/landing/public/components/zara-experience/widget.css +1703 -0
  2271. apps/landing/public/components/zara-experience/widget.js +4161 -0
  2272. apps/landing/public/components/zara-experience/zara-skill.js +460 -0
  2273. apps/landing/public/components/zara-inline/widget.css +939 -0
  2274. apps/landing/public/components/zara-inline/widget.js +1620 -0
  2275. apps/landing/public/components/zara-interview/widget.css +1333 -0
  2276. apps/landing/public/components/zara-interview/widget.js +695 -0
  2277. apps/landing/public/connected/index.html +18 -0
  2278. apps/landing/public/cookies.html +479 -0
  2279. apps/landing/public/css/colors_and_type.css +277 -0
  2280. apps/landing/public/css/workweaver-light-shell.css +339 -0
  2281. apps/landing/public/design-system/colors_and_type.css +277 -0
  2282. apps/landing/public/design-system/workweaver.css +1175 -0
  2283. apps/landing/public/design-system/workweaver.js +513 -0
  2284. apps/landing/public/docs/index.html +545 -0
  2285. apps/landing/public/error/index.html +202 -0
  2286. apps/landing/public/evidence/index.html +1051 -0
  2287. apps/landing/public/forgot-password/index.html +81 -0
  2288. apps/landing/public/get-started/index.html +414 -0
  2289. apps/landing/public/guides/best-ai-employee-platform-2026/index.html +276 -0
  2290. apps/landing/public/guides/best-ai-employee-platform-2026.md +55 -0
  2291. apps/landing/public/guides/index.html +254 -0
  2292. apps/landing/public/guides/workweaver-user-guide/index.html +194 -0
  2293. apps/landing/public/guides/workweaver-user-guide.md +659 -0
  2294. apps/landing/public/home/index.html +18 -0
  2295. apps/landing/public/icons/icon-192.svg +4 -0
  2296. apps/landing/public/icons/icon-512.svg +4 -0
  2297. apps/landing/public/inbox/index.html +18 -0
  2298. apps/landing/public/index.html +494 -0
  2299. apps/landing/public/integrations/index.html +24 -0
  2300. apps/landing/public/integrations/oauth-callback.html +136 -0
  2301. apps/landing/public/js/analytics.js +313 -0
  2302. apps/landing/public/js/api-base.js +239 -0
  2303. apps/landing/public/js/blog-subscribe.js +84 -0
  2304. apps/landing/public/js/cookie-consent.js +92 -0
  2305. apps/landing/public/js/runtime-surface-redirect.js +129 -0
  2306. apps/landing/public/js/tracking.js +557 -0
  2307. apps/landing/public/js/waitlist.js +183 -0
  2308. apps/landing/public/js/zara-first-shift.js +282 -0
  2309. apps/landing/public/landing-assets/Falcon.webp +0 -0
  2310. apps/landing/public/landing-assets/Header.webp +0 -0
  2311. Mobile.webp +0 -0
  2312. apps/landing/public/landing-assets/apple-touch-icon.png +0 -0
  2313. apps/landing/public/landing-assets/bitfoundry-logo.svg +3 -0
  2314. apps/landing/public/landing-assets/favicon-16.png +0 -0
  2315. apps/landing/public/landing-assets/favicon-32.png +0 -0
  2316. apps/landing/public/landing-assets/workweaver-logo.png +0 -0
  2317. apps/landing/public/landing-assets/workweaver-logo.svg +59 -0
  2318. apps/landing/public/llms-full.txt +96 -0
  2319. apps/landing/public/llms.txt +81 -0
  2320. apps/landing/public/login/index.html +18 -0
  2321. apps/landing/public/logout/index.html +110 -0
  2322. apps/landing/public/manifest.json +29 -0
  2323. apps/landing/public/manifest.webmanifest +57 -0
  2324. apps/landing/public/memory/index.html +74 -0
  2325. apps/landing/public/memory/pricing.html +577 -0
  2326. apps/landing/public/memory/proof.html +1266 -0
  2327. apps/landing/public/memory/proof.json +555 -0
  2328. apps/landing/public/mission/analytics.html +362 -0
  2329. apps/landing/public/mission/cadence-audit.html +288 -0
  2330. apps/landing/public/mission/index.html +16 -0
  2331. apps/landing/public/mission/offline.html +41 -0
  2332. apps/landing/public/mission/suppression.html +501 -0
  2333. apps/landing/public/mission/sw.js +111 -0
  2334. apps/landing/public/onboarding/index.html +157 -0
  2335. apps/landing/public/platform/index.html +960 -0
  2336. apps/landing/public/pricing/index.html +1211 -0
  2337. apps/landing/public/privacy.html +582 -0
  2338. apps/landing/public/provisioning/index.html +959 -0
  2339. apps/landing/public/provisioning.html +25 -0
  2340. apps/landing/public/results/index.html +18 -0
  2341. apps/landing/public/robots.txt +77 -0
  2342. apps/landing/public/security.html +317 -0
  2343. apps/landing/public/settings/account/index.html +867 -0
  2344. apps/landing/public/settings/index.html +18 -0
  2345. apps/landing/public/settings/inference-oauth-callback.html +176 -0
  2346. apps/landing/public/settings/runtime/index.html +135 -0
  2347. apps/landing/public/signup/index.html +31 -0
  2348. apps/landing/public/signup.html +25 -0
  2349. apps/landing/public/sitemap.xml +12 -0
  2350. apps/landing/public/sitemaps/guides.xml +28 -0
  2351. apps/landing/public/sitemaps/landing.xml +43 -0
  2352. apps/landing/public/team/index.html +18 -0
  2353. apps/landing/public/terms.html +427 -0
  2354. apps/landing/public/verify.html +745 -0
  2355. apps/landing/public/waitlist/index.html +354 -0
  2356. apps/landing/tests/e2e/test_checkout_flow.spec.ts +439 -0
  2357. apps/shared/__init__.py +1 -0
  2358. apps/shared/decision_taxonomy.py +110 -0
  2359. apps/shared/design-system/README.md +141 -0
  2360. apps/shared/design-system/colors_and_type.css +277 -0
  2361. apps/shared/design-system/workweaver.css +1092 -0
  2362. apps/shared/design-system/workweaver.js +462 -0
  2363. apps/shared/document_extraction.py +445 -0
  2364. apps/shared/edge_cloud_models.py +113 -0
  2365. apps/shared/llm_model_policy.py +411 -0
  2366. apps/shared/pg_pool.py +123 -0
  2367. apps/shared/pyproject.toml +17 -0
  2368. apps/shared/skill_routing_manifest.py +168 -0
  2369. apps/shared/zara-experience/components/plan-card.js +353 -0
  2370. apps/shared/zara-experience/tests/zara-plan-ui.test.js +222 -0
  2371. apps/shared/zara-experience/widget.css +1703 -0
  2372. apps/shared/zara-experience/widget.js +4161 -0
  2373. skills/SKILL-INDEX.md +45 -0
  2374. skills/__init__.py +0 -0
  2375. skills/_shared/deploy-commands.md +14 -0
  2376. skills/_shared/preamble.md +7 -0
  2377. skills/_shared/quality-gates.md +11 -0
  2378. skills/_shared/test-commands.md +21 -0
  2379. skills/accessibility/SKILL.md +224 -0
  2380. skills/accessibility/SKILL.md.tmpl +206 -0
  2381. skills/ai-cto-ops/SKILL.md +386 -0
  2382. skills/ai-cto-ops/references/wiring-guide.md +166 -0
  2383. skills/aws-ops/SKILL.md +100 -0
  2384. skills/brainstorm/SKILL.md +108 -0
  2385. skills/catalog.json +619 -0
  2386. skills/coding-standards/SKILL.md +158 -0
  2387. skills/coding-standards/SKILL.md.tmpl +119 -0
  2388. skills/cold-outreach/SKILL.md +77 -0
  2389. skills/cross-review/SKILL.md +108 -0
  2390. skills/docs-navigator/SKILL.md +66 -0
  2391. skills/document-processor/SKILL.md +251 -0
  2392. skills/engineering-philosophy/SKILL.md +92 -0
  2393. skills/execution-discipline/SKILL.md +45 -0
  2394. skills/frontend-artifacts/SKILL.md +290 -0
  2395. skills/index.json +619 -0
  2396. skills/inverter/SKILL.md +64 -0
  2397. skills/llm-council/SKILL.md +122 -0
  2398. skills/local-docker-e2e/SKILL.md +289 -0
  2399. skills/meta-skill/SKILL.md +146 -0
  2400. skills/meta-skill/checklist.md +55 -0
  2401. skills/meta-skill/templates/SKILL-template.md +24 -0
  2402. skills/performance/SKILL.md +260 -0
  2403. skills/performance/SKILL.md.tmpl +242 -0
  2404. skills/research/SKILL.md +234 -0
  2405. skills/reuse-before-new/SKILL.md +41 -0
  2406. skills/security/SKILL.md +104 -0
  2407. skills/self-awareness/SKILL.md +64 -0
  2408. skills/self-awareness/__init__.py +0 -0
  2409. skills/self-awareness/data/audit-report.md +164 -0
  2410. skills/self-awareness/data/consolidation-queue.json +331 -0
  2411. skills/self-awareness/data/delta-q-history.jsonl +1 -0
  2412. skills/self-awareness/data/implementation-plan-run-b.md +121 -0
  2413. skills/self-awareness/data/last-reviewed-main-sha.txt +1 -0
  2414. skills/self-awareness/data/next-run-prompt.md +108 -0
  2415. skills/self-awareness/scripts/__init__.py +0 -0
  2416. skills/self-awareness/scripts/census/__init__.py +1 -0
  2417. skills/self-awareness/scripts/census/ast_analyzer.py +279 -0
  2418. skills/self-awareness/scripts/census/consolidation_roi_estimator.py +180 -0
  2419. skills/self-awareness/scripts/census/coupling_analyzer.py +123 -0
  2420. skills/self-awareness/scripts/census/dead_code_detector.py +280 -0
  2421. skills/self-awareness/scripts/census/duplication_detector.py +157 -0
  2422. skills/self-awareness/scripts/census/god_object_detector.py +126 -0
  2423. skills/self-awareness/scripts/census/run_census.py +160 -0
  2424. skills/self-awareness/scripts/census/test_quality_analyzer.py +173 -0
  2425. skills/self-awareness/scripts/proposals/__init__.py +0 -0
  2426. skills/self-awareness/scripts/proposals/base_class_proposer.py +130 -0
  2427. skills/self-awareness/scripts/proposals/dead_code_proposer.py +139 -0
  2428. skills/self-awareness/scripts/proposals/doc_drift_proposer.py +123 -0
  2429. skills/self-awareness/scripts/proposals/god_object_proposer.py +87 -0
  2430. skills/self-awareness/scripts/proposals/run_proposals.py +126 -0
  2431. skills/self-awareness/scripts/shared/__init__.py +1 -0
  2432. skills/self-awareness/scripts/shared/json_io.py +23 -0
  2433. skills/self-awareness/scripts/shared/repo_utils.py +60 -0
  2434. skills/self-awareness/scripts/shared/scoring.py +72 -0
  2435. skills/self-awareness/scripts/validation/__init__.py +0 -0
  2436. skills/self-awareness/scripts/validation/codex_review.py +180 -0
  2437. skills/self-awareness/scripts/validation/validate_proposals.py +195 -0
  2438. skills/skill-autoresearch/SKILL.md +72 -0
  2439. skills/skill-autoresearch/scripts/evaluate.py +163 -0
  2440. skills/skill-autoresearch/scripts/improve.py +125 -0
  2441. skills/skill-autoresearch/scripts/promote.py +401 -0
  2442. skills/swarm-planner/SKILL.md +65 -0
  2443. skills/task-decomposition/SKILL.md +92 -0
  2444. skills/tdd-implementation/SKILL.md +48 -0
  2445. skills/testing-suite/SKILL.md +104 -0
  2446. skills/testing-suite/classification.md +496 -0
  2447. skills/testing-suite/integration.md +198 -0
  2448. skills/testing-suite/mocking.md +714 -0
  2449. skills/testing-suite/state-machine.md +340 -0
  2450. skills/testing-suite/unit.md +147 -0
  2451. skills/ux-design/SKILL.md +327 -0
  2452. skills/verifier/SKILL.md +64 -0
  2453. skills/voice-ai-integration/SKILL.md +347 -0
  2454. skills/zara-self-awareness/SKILL.md +78 -0
  2455. skills/zero-defect/SKILL.md +40 -0
  2456. skills/zoho-cli/SKILL.md +109 -0
  2457. skills/zoho-cli/bin/zoho +999 -0
  2458. skills/zoho-cli/registry.json +456 -0
  2459. workweaver-0.1.0.dist-info/METADATA +173 -0
  2460. workweaver-0.1.0.dist-info/RECORD +2463 -0
  2461. workweaver-0.1.0.dist-info/WHEEL +4 -0
  2462. workweaver-0.1.0.dist-info/entry_points.txt +3 -0
  2463. workweaver-0.1.0.dist-info/licenses/LICENSE +685 -0
@@ -0,0 +1,439 @@
1
+ /**
2
+ * E2E Test: Stripe Checkout Flow
3
+ *
4
+ * Tests the complete signup → Stripe Checkout → onboarding flow.
5
+ *
6
+ * Reference: WORKPLAN.md TASK-6.0B.002
7
+ * Legacy requirement reference: P1.7B.1 — Sign-Up Flow (Stripe + Auth)
8
+ *
9
+ * Test Coverage:
10
+ * 1. Email signup → verification → Stripe Checkout redirect
11
+ * 2. Google OAuth signup → Stripe Checkout redirect
12
+ * 3. Stripe Checkout success → redirect to onboarding
13
+ * 4. Stripe Checkout cancel → return to signup
14
+ * 5. Tenant context preservation through the flow
15
+ * 6. sessionStorage cleanup after completion
16
+ */
17
+
18
+ import { test, expect, Page, BrowserContext } from '@playwright/test';
19
+
20
+ /**
21
+ * Test configuration
22
+ */
23
+ const API_BASE_URL = process.env.API_BASE_URL || 'http://localhost:8000/api/v1';
24
+ const LANDING_URL = process.env.LANDING_URL || 'http://localhost:3000';
25
+ const DASHBOARD_URL = process.env.DASHBOARD_URL || 'http://localhost:3001';
26
+
27
+ /**
28
+ * Test data
29
+ */
30
+ const TEST_USER = {
31
+ email: `test-${Date.now()}@example.com`,
32
+ password: 'TestPassword123!',
33
+ name: 'Test User',
34
+ };
35
+
36
+ const TEST_VERIFICATION_CODE = '123456'; // Mock code for testing
37
+
38
+ /**
39
+ * Helper: Mock email signup API
40
+ */
41
+ async function mockEmailSignup(page: Page, userEmail: string) {
42
+ await page.route(`${API_BASE_URL}/auth/signup/email`, async (route) => {
43
+ await route.fulfill({
44
+ status: 202,
45
+ contentType: 'application/json',
46
+ body: JSON.stringify({
47
+ detail: 'Verification code sent to email',
48
+ email: userEmail,
49
+ }),
50
+ });
51
+ });
52
+ }
53
+
54
+ /**
55
+ * Helper: Mock email verification API
56
+ */
57
+ async function mockEmailVerification(page: Page, userEmail: string) {
58
+ await page.route(`${API_BASE_URL}/auth/signup/email/verify`, async (route) => {
59
+ const mockTenantId = `TENANT#${Date.now()}`;
60
+ const mockUserId = `USER#${Date.now()}`;
61
+ const mockCheckoutUrl = `${LANDING_URL}/checkout-success.html?session_id=test_session_${Date.now()}&tenant_id=${mockTenantId}`;
62
+
63
+ await route.fulfill({
64
+ status: 200,
65
+ contentType: 'application/json',
66
+ body: JSON.stringify({
67
+ tenant_id: mockTenantId,
68
+ user_id: mockUserId,
69
+ email: userEmail,
70
+ status: 'pending_payment',
71
+ role: 'admin',
72
+ auth_provider: 'email_password',
73
+ next_step: 'stripe_checkout',
74
+ stripe_checkout_url: mockCheckoutUrl,
75
+ }),
76
+ });
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Helper: Mock Google OAuth signup API
82
+ */
83
+ async function mockGoogleOAuth(page: Page, userEmail: string) {
84
+ await page.route(`${API_BASE_URL}/auth/signup/google`, async (route) => {
85
+ const mockTenantId = `TENANT#${Date.now()}`;
86
+ const mockUserId = `USER#${Date.now()}`;
87
+ const mockCheckoutUrl = `${LANDING_URL}/checkout-success.html?session_id=test_session_${Date.now()}&tenant_id=${mockTenantId}`;
88
+
89
+ await route.fulfill({
90
+ status: 201,
91
+ contentType: 'application/json',
92
+ body: JSON.stringify({
93
+ tenant_id: mockTenantId,
94
+ user_id: mockUserId,
95
+ email: userEmail,
96
+ status: 'pending_payment',
97
+ role: 'admin',
98
+ auth_provider: 'google',
99
+ next_step: 'stripe_checkout',
100
+ stripe_checkout_url: mockCheckoutUrl,
101
+ }),
102
+ });
103
+ });
104
+ }
105
+
106
+ /**
107
+ * Test 1: Email signup → verification → Stripe Checkout redirect
108
+ */
109
+ test('should complete email signup, verify email, and redirect to Stripe Checkout', async ({ page }) => {
110
+ // Setup mocks
111
+ await mockEmailSignup(page, TEST_USER.email);
112
+ await mockEmailVerification(page, TEST_USER.email);
113
+
114
+ // Navigate to signup page
115
+ await page.goto(`${LANDING_URL}/signup`);
116
+
117
+ // Fill out signup form
118
+ await page.fill('#name', TEST_USER.name);
119
+ await page.fill('#email', TEST_USER.email);
120
+ await page.fill('#password', TEST_USER.password);
121
+
122
+ // Submit form
123
+ await page.click('#emailSubmitBtn');
124
+
125
+ // Wait for toast notification
126
+ await expect(page.locator('.toast.visible')).toBeVisible();
127
+ await expect(page.locator('#toastTitle')).toContainText('Check Your Email');
128
+
129
+ // Should redirect to verification page
130
+ await expect(page).toHaveURL(/\/verify\.html/);
131
+
132
+ // Verify email display
133
+ await expect(page.locator('#emailDisplay')).toContainText(TEST_USER.email);
134
+
135
+ // Enter verification code
136
+ const codeInputs = page.locator('.code-input');
137
+ for (let i = 0; i < 6; i++) {
138
+ await codeInputs.nth(i).fill(TEST_VERIFICATION_CODE[i]);
139
+ }
140
+
141
+ // Submit verification
142
+ await page.click('#submitBtn');
143
+
144
+ // Wait for success toast
145
+ await expect(page.locator('.toast.visible')).toBeVisible();
146
+ await expect(page.locator('#toastTitle')).toContainText('Email Verified');
147
+
148
+ // Verify sessionStorage has tenant context
149
+ const pendingTenantId = await page.evaluate(() => sessionStorage.getItem('pendingTenantId'));
150
+ const pendingEmail = await page.evaluate(() => sessionStorage.getItem('pendingEmail'));
151
+
152
+ expect(pendingTenantId).toBeTruthy();
153
+ expect(pendingEmail).toBe(TEST_USER.email);
154
+
155
+ // Should redirect to checkout-success (simulating Stripe Checkout return)
156
+ await expect(page).toHaveURL(/\/checkout-success\.html/);
157
+ await expect(page).toHaveURL(/session_id=/);
158
+ await expect(page).toHaveURL(/tenant_id=/);
159
+ });
160
+
161
+ /**
162
+ * Test 2: Google OAuth signup → Stripe Checkout redirect
163
+ */
164
+ test('should complete Google OAuth signup and redirect to Stripe Checkout', async ({ page }) => {
165
+ // Setup mock
166
+ await mockGoogleOAuth(page, TEST_USER.email);
167
+
168
+ // Navigate to signup page
169
+ await page.goto(`${LANDING_URL}/signup`);
170
+
171
+ // Click Google OAuth button
172
+ await page.click('#googleBtn');
173
+
174
+ // Wait for response (mocked)
175
+ await expect(page.locator('.toast.visible')).toBeVisible();
176
+
177
+ // Verify sessionStorage has tenant context
178
+ const pendingTenantId = await page.evaluate(() => sessionStorage.getItem('pendingTenantId'));
179
+ const pendingEmail = await page.evaluate(() => sessionStorage.getItem('pendingEmail'));
180
+
181
+ expect(pendingTenantId).toBeTruthy();
182
+ expect(pendingEmail).toBe(TEST_USER.email);
183
+
184
+ // Should redirect to Stripe Checkout (checkout-success.html in test)
185
+ await expect(page).toHaveURL(/\/checkout-success\.html/);
186
+ await expect(page).toHaveURL(/session_id=/);
187
+ await expect(page).toHaveURL(/tenant_id=/);
188
+ });
189
+
190
+ /**
191
+ * Test 3: Stripe Checkout success → redirect to onboarding
192
+ */
193
+ test('should redirect to dashboard onboarding after successful payment', async ({ page }) => {
194
+ const mockSessionId = `test_session_${Date.now()}`;
195
+ const mockTenantId = `TENANT#${Date.now()}`;
196
+
197
+ // Set sessionStorage context (simulating previous signup step)
198
+ await page.goto(`${LANDING_URL}/checkout-success.html?session_id=${mockSessionId}&tenant_id=${mockTenantId}`);
199
+
200
+ // Set pending tenant context
201
+ await page.evaluate((tenantId) => {
202
+ sessionStorage.setItem('pendingTenantId', tenantId);
203
+ sessionStorage.setItem('pendingEmail', 'test@example.com');
204
+ }, mockTenantId);
205
+
206
+ // Reload page with context
207
+ await page.reload();
208
+
209
+ // Wait for loading state to complete
210
+ await page.waitForSelector('#loading-state', { state: 'hidden' });
211
+
212
+ // Verify success state is visible
213
+ await expect(page.locator('#success-state')).toBeVisible();
214
+
215
+ // Verify payment details
216
+ await expect(page.locator('.detail-value').nth(0)).toContainText('$500.00/month');
217
+ await expect(page.locator('.detail-value').nth(1)).toContainText('Completed');
218
+ await expect(page.locator('.detail-value').nth(2)).toContainText('Active');
219
+
220
+ // Verify sessionStorage has payment info
221
+ const tenantId = await page.evaluate(() => sessionStorage.getItem('tenant_id'));
222
+ const checkoutSessionId = await page.evaluate(() => sessionStorage.getItem('checkout_session_id'));
223
+ const paymentCompleted = await page.evaluate(() => sessionStorage.getItem('payment_completed'));
224
+
225
+ expect(tenantId).toBe(mockTenantId);
226
+ expect(checkoutSessionId).toBe(mockSessionId);
227
+ expect(paymentCompleted).toBe('true');
228
+
229
+ // Verify onboarding button href points to dashboard
230
+ const onboardingBtn = page.locator('#onboarding-btn');
231
+ await expect(onboardingBtn).toHaveAttribute('href', `${DASHBOARD_URL}/onboarding/`);
232
+
233
+ // Wait for auto-redirect (should happen after 5 seconds)
234
+ // The test clicks the button manually to avoid waiting
235
+ await onboardingBtn.click();
236
+
237
+ // Verify redirect to dashboard onboarding
238
+ await expect(page).toHaveURL(`${DASHBOARD_URL}/onboarding/`);
239
+ });
240
+
241
+ /**
242
+ * Test 4: Stripe Checkout cancel → return to signup
243
+ */
244
+ test('should handle cancelled checkout and allow retry', async ({ page }) => {
245
+ // Navigate to cancel page
246
+ await page.goto(`${LANDING_URL}/checkout-cancel.html`);
247
+
248
+ // Verify cancel message is displayed
249
+ await expect(page.locator('h1')).toContainText('Payment Cancelled');
250
+
251
+ // Verify retry button exists
252
+ const retryBtn = page.locator('a[href="/signup/"]');
253
+ await expect(retryBtn).toBeVisible();
254
+
255
+ // Click retry to return to signup
256
+ await retryBtn.click();
257
+
258
+ // Verify redirect to signup
259
+ await expect(page).toHaveURL(/\/signup/);
260
+ });
261
+
262
+ /**
263
+ * Test 5: Tenant context preservation through flow
264
+ */
265
+ test('should preserve tenant context from signup through onboarding', async ({ page, context }) => {
266
+ const mockTenantId = `TENANT#${Date.now()}`;
267
+ const mockEmail = 'context-test@example.com';
268
+
269
+ // Setup mocks
270
+ await mockEmailSignup(page, mockEmail);
271
+ await mockEmailVerification(page, mockEmail);
272
+
273
+ // Step 1: Signup
274
+ await page.goto(`${LANDING_URL}/signup`);
275
+ await page.fill('#name', 'Context Test');
276
+ await page.fill('#email', mockEmail);
277
+ await page.fill('#password', 'Password123!');
278
+ await page.click('#emailSubmitBtn');
279
+
280
+ // Step 2: Verify email
281
+ await page.waitForURL(/\/verify\.html/);
282
+
283
+ const codeInputs = page.locator('.code-input');
284
+ for (let i = 0; i < 6; i++) {
285
+ await codeInputs.nth(i).fill(TEST_VERIFICATION_CODE[i]);
286
+ }
287
+ await page.click('#submitBtn');
288
+
289
+ // Step 3: Checkout success
290
+ await page.waitForURL(/\/checkout-success\.html/);
291
+
292
+ // Verify tenant context is preserved
293
+ const tenantId = await page.evaluate(() => sessionStorage.getItem('tenant_id'));
294
+ const tenantEmail = await page.evaluate(() => sessionStorage.getItem('tenant_email'));
295
+
296
+ expect(tenantId).toBeTruthy();
297
+ expect(tenantEmail).toBe(mockEmail);
298
+
299
+ // Click onboarding button
300
+ await page.click('#onboarding-btn');
301
+
302
+ // Verify redirect to dashboard onboarding
303
+ await expect(page).toHaveURL(`${DASHBOARD_URL}/onboarding/`);
304
+
305
+ // Note: In production, the dashboard would read the tenant context from URL params or cookies
306
+ // The assertions above verify sessionStorage is properly set
307
+ });
308
+
309
+ /**
310
+ * Test 6: SessionStorage cleanup after completion
311
+ */
312
+ test('should clean up sessionStorage after onboarding completion', async ({ page }) => {
313
+ const mockSessionId = `test_session_${Date.now()}`;
314
+ const mockTenantId = `TENANT#${Date.now()}`;
315
+
316
+ // Set sessionStorage with all pending items
317
+ await page.goto(`${LANDING_URL}/checkout-success.html?session_id=${mockSessionId}&tenant_id=${mockTenantId}`);
318
+
319
+ await page.evaluate((tenantId) => {
320
+ sessionStorage.setItem('pendingTenantId', tenantId);
321
+ sessionStorage.setItem('pendingEmail', 'test@example.com');
322
+ sessionStorage.setItem('pendingName', 'Test User');
323
+ }, mockTenantId);
324
+
325
+ // Reload to trigger confirmation logic
326
+ await page.reload();
327
+
328
+ // Wait for success state
329
+ await page.waitForSelector('#success-state', { state: 'visible' });
330
+
331
+ // Verify new storage items are set
332
+ const tenantId = await page.evaluate(() => sessionStorage.getItem('tenant_id'));
333
+ const checkoutSessionId = await page.evaluate(() => sessionStorage.getItem('checkout_session_id'));
334
+
335
+ expect(tenantId).toBe(mockTenantId);
336
+ expect(checkoutSessionId).toBe(mockSessionId);
337
+
338
+ // Note: Cleanup would happen in the dashboard onboarding after completion
339
+ // This test verifies the data is available for the next step
340
+ });
341
+
342
+ /**
343
+ * Test 7: Error handling - missing session_id
344
+ */
345
+ test('should handle missing session_id gracefully', async ({ page }) => {
346
+ // Navigate to checkout-success without session_id
347
+ await page.goto(`${LANDING_URL}/checkout-success.html`);
348
+
349
+ // Wait for loading state to complete
350
+ await page.waitForSelector('#loading-state', { state: 'hidden' });
351
+
352
+ // Verify error state is shown
353
+ await expect(page.locator('#error-state')).toBeVisible();
354
+ await expect(page.locator('h1')).toContainText('Payment Confirmation Pending');
355
+
356
+ // Verify manual redirect button still works
357
+ const errorBtn = page.locator('#error-state .btn-primary');
358
+ await expect(errorBtn).toHaveAttribute('href', `${DASHBOARD_URL}/onboarding/`);
359
+ });
360
+
361
+ /**
362
+ * Test 8: Cross-domain redirect handling
363
+ */
364
+ test('should handle cross-domain redirect from landing to dashboard', async ({ page, context }) => {
365
+ const mockSessionId = `test_session_${Date.now()}`;
366
+ const mockTenantId = `TENANT#${Date.now()}`;
367
+
368
+ // Navigate to checkout-success
369
+ await page.goto(`${LANDING_URL}/checkout-success.html?session_id=${mockSessionId}&tenant_id=${mockTenantId}`);
370
+
371
+ // Set tenant context
372
+ await page.evaluate((tenantId) => {
373
+ sessionStorage.setItem('pendingTenantId', tenantId);
374
+ sessionStorage.setItem('pendingEmail', 'cross-domain@example.com');
375
+ }, mockTenantId);
376
+
377
+ // Reload to trigger confirmation
378
+ await page.reload();
379
+
380
+ // Wait for success state
381
+ await page.waitForSelector('#success-state', { state: 'visible' });
382
+
383
+ // Click onboarding button
384
+ await page.click('#onboarding-btn');
385
+
386
+ // In cross-domain scenarios, sessionStorage won't persist
387
+ // The dashboard should read tenant context from URL parameters
388
+ // Verify the redirect happens
389
+ await expect(page).toHaveURL(/\/onboarding\/$/);
390
+ });
391
+
392
+ /**
393
+ * Test 9: Billing email prefill in Stripe Checkout
394
+ */
395
+ test('should prefill billing email from signup in Stripe Checkout', async ({ page }) => {
396
+ const mockEmail = 'billing-test@example.com';
397
+
398
+ // Setup mocks
399
+ await mockEmailSignup(page, mockEmail);
400
+ await mockEmailVerification(page, mockEmail);
401
+
402
+ // Signup with email
403
+ await page.goto(`${LANDING_URL}/signup`);
404
+ await page.fill('#name', 'Billing Test');
405
+ await page.fill('#email', mockEmail);
406
+ await page.fill('#password', 'Password123!');
407
+ await page.click('#emailSubmitBtn');
408
+
409
+ // Verify email
410
+ await page.waitForURL(/\/verify\.html/);
411
+ const codeInputs = page.locator('.code-input');
412
+ for (let i = 0; i < 6; i++) {
413
+ await codeInputs.nth(i).fill(TEST_VERIFICATION_CODE[i]);
414
+ }
415
+ await page.click('#submitBtn');
416
+
417
+ // Verify Stripe Checkout URL includes email (in production, Stripe would prefill this)
418
+ await page.waitForURL(/\/checkout-success\.html/);
419
+
420
+ const pendingEmail = await page.evaluate(() => sessionStorage.getItem('pendingEmail'));
421
+ expect(pendingEmail).toBe(mockEmail);
422
+
423
+ // Note: In production, Stripe Checkout would prefill customer_email from the session
424
+ });
425
+
426
+ /**
427
+ * Test 10: Payment amount verification
428
+ */
429
+ test('should display correct payment amount ($500/month)', async ({ page }) => {
430
+ const mockSessionId = `test_session_${Date.now()}`;
431
+
432
+ await page.goto(`${LANDING_URL}/checkout-success.html?session_id=${mockSessionId}`);
433
+
434
+ // Wait for success state
435
+ await page.waitForSelector('#success-state', { state: 'visible' });
436
+
437
+ // Verify payment amount
438
+ await expect(page.locator('.detail-value').first()).toContainText('$500.00/month');
439
+ });
@@ -0,0 +1 @@
1
+ """Shared application helpers used across Workweaver services."""
@@ -0,0 +1,110 @@
1
+ """Canonical decision taxonomy shared across backend and learning-service."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Final
6
+
7
+
8
+ DECISION_TYPES_IN_ORDER: Final[tuple[str, ...]] = (
9
+ "tool_call",
10
+ "exception_granted",
11
+ "policy_override",
12
+ "reply_routing",
13
+ )
14
+
15
+ LEGACY_DECISION_OUTCOMES: Final[frozenset[str]] = frozenset({"success", "failure", "blocked"})
16
+ REPLY_ROUTING_OUTCOMES: Final[frozenset[str]] = frozenset(
17
+ {
18
+ "positive_interest",
19
+ "positive_meeting_intent",
20
+ "positive_info_request",
21
+ "referral",
22
+ "objection",
23
+ "hard_no",
24
+ "not_now",
25
+ "out_of_office",
26
+ "unsubscribe",
27
+ "bounce",
28
+ "ambiguous",
29
+ }
30
+ )
31
+
32
+ DECISION_OUTCOMES_IN_ORDER: Final[tuple[str, ...]] = (
33
+ "success",
34
+ "failure",
35
+ "blocked",
36
+ "positive_interest",
37
+ "positive_meeting_intent",
38
+ "positive_info_request",
39
+ "referral",
40
+ "objection",
41
+ "hard_no",
42
+ "not_now",
43
+ "out_of_office",
44
+ "unsubscribe",
45
+ "bounce",
46
+ "ambiguous",
47
+ )
48
+
49
+ DECISION_TYPE_OUTCOMES: Final[dict[str, frozenset[str]]] = {
50
+ "tool_call": LEGACY_DECISION_OUTCOMES,
51
+ "exception_granted": LEGACY_DECISION_OUTCOMES,
52
+ "policy_override": LEGACY_DECISION_OUTCOMES,
53
+ "reply_routing": REPLY_ROUTING_OUTCOMES,
54
+ }
55
+
56
+ DEFAULT_PRECEDENT_OUTCOMES: Final[dict[str, frozenset[str] | None]] = {
57
+ "tool_call": frozenset({"success"}),
58
+ "exception_granted": frozenset({"success"}),
59
+ "policy_override": frozenset({"success"}),
60
+ "reply_routing": None,
61
+ }
62
+
63
+ ALL_DECISION_TYPES: Final[frozenset[str]] = frozenset(DECISION_TYPES_IN_ORDER)
64
+ ALL_DECISION_OUTCOMES: Final[frozenset[str]] = frozenset(DECISION_OUTCOMES_IN_ORDER)
65
+
66
+
67
+ def ordered_decision_types() -> tuple[str, ...]:
68
+ """Return decision types in stable schema/test order."""
69
+
70
+ return DECISION_TYPES_IN_ORDER
71
+
72
+
73
+ def ordered_decision_outcomes() -> tuple[str, ...]:
74
+ """Return decision outcomes in stable schema/test order."""
75
+
76
+ return DECISION_OUTCOMES_IN_ORDER
77
+
78
+
79
+ def allowed_decision_types() -> frozenset[str]:
80
+ """Return the canonical decision types."""
81
+
82
+ return ALL_DECISION_TYPES
83
+
84
+
85
+ def allowed_outcomes_for(decision_type: str) -> frozenset[str]:
86
+ """Return allowed outcomes for one decision type."""
87
+
88
+ return DECISION_TYPE_OUTCOMES.get(str(decision_type or "").strip().lower(), frozenset())
89
+
90
+
91
+ def default_precedent_outcomes(decision_type: str) -> frozenset[str] | None:
92
+ """Return default outcome filter for precedent lookup.
93
+
94
+ `None` means do not filter by one outcome at query time.
95
+ """
96
+
97
+ return DEFAULT_PRECEDENT_OUTCOMES.get(str(decision_type or "").strip().lower())
98
+
99
+
100
+ def is_valid_decision_type(decision_type: str) -> bool:
101
+ return str(decision_type or "").strip().lower() in DECISION_TYPE_OUTCOMES
102
+
103
+
104
+ def is_valid_decision_outcome(decision_type: str, outcome: str) -> bool:
105
+ allowed = allowed_outcomes_for(decision_type)
106
+ return str(outcome or "").strip().lower() in allowed
107
+
108
+
109
+ def is_valid_outcome_for(decision_type: str, outcome: str) -> bool:
110
+ return is_valid_decision_outcome(decision_type, outcome)
@@ -0,0 +1,141 @@
1
+ # Workweaver Design System — canonical source
2
+
3
+ > Plain glass on bright white. Warm saffron edges. Zero redundant clicks.
4
+
5
+ This directory is the **single source of truth** for every visual + interaction
6
+ primitive in Workweaver — landing, runtime, and dashboard. Everything else
7
+ either imports from here or is deprecated.
8
+
9
+ ## Contract
10
+
11
+ | File | What it contains |
12
+ | --- | --- |
13
+ | `colors_and_type.css` | All design tokens: ink scale, glass, saffron accent, semantic colors, radii, spacing, shadows, motion, typography. **No hex values appear anywhere outside this file.** |
14
+ | `workweaver.css` | All component primitives: shell, sidebar, topbar, command bar, card, button, chip, badge, KPI, input, toggle, tabs, list rows, **Unified Timeline** (5 altitudes), Zara launcher, command palette, approval banner, marketing sections. |
15
+ | `workweaver.js` | All interactive primitives: `ww.Timeline` (altitude switcher + inline action delegation), `ww.Palette` (⌘K), `ww.Zara` (state machine), `ww.api` (typed `/api/v1/*` wrapper with domain shortcuts), `ww.toast`, `ww.store` (localStorage namespace `ww.*`). |
16
+
17
+ ## Canonical entry points
18
+
19
+ The design system is consumed by exactly two HTML entry points. Every other
20
+ HTML file in the repo is either embedded by these (rare) or deprecated.
21
+
22
+ | URL | File | Role |
23
+ | --- | --- | --- |
24
+ | `/` (landing) | `apps/landing/public/index.html` | Marketing site. |
25
+ | `/runtime/` | `apps/dashboard/runtime/index.html` | Mission Control — the signed-in product. Hash-routed across `#/mission`, `#/inbox`, `#/memory`, `#/evidence`, `#/harness`, `#/connected`, `#/settings`. |
26
+
27
+ The runtime is the **only** product surface. Goals, OKRs, tasks, schedule,
28
+ runs, approvals, evidence — they all render on the **Unified Timeline** at
29
+ the matching altitude (Quarter / Month / Week / Day / Hour). There is no
30
+ separate Goals page, no separate OKRs page. One data graph, five views.
31
+
32
+ ## Propagation
33
+
34
+ The canonical files in `apps/shared/design-system/` are copied verbatim into
35
+ the served locations:
36
+
37
+ ```
38
+ apps/shared/design-system/colors_and_type.css →
39
+ apps/dashboard/design-system/colors_and_type.css
40
+ apps/landing/public/design-system/colors_and_type.css
41
+ apps/landing/public/css/colors_and_type.css
42
+
43
+ apps/shared/design-system/workweaver.css →
44
+ apps/dashboard/design-system/workweaver.css
45
+ apps/landing/public/design-system/workweaver.css
46
+
47
+ apps/shared/design-system/workweaver.js →
48
+ apps/dashboard/design-system/workweaver.js
49
+ apps/landing/public/design-system/workweaver.js
50
+ ```
51
+
52
+ When updating any of the three canonical files, run:
53
+
54
+ ```bash
55
+ cp apps/shared/design-system/colors_and_type.css apps/dashboard/design-system/colors_and_type.css
56
+ cp apps/shared/design-system/colors_and_type.css apps/landing/public/design-system/colors_and_type.css
57
+ cp apps/shared/design-system/colors_and_type.css apps/landing/public/css/colors_and_type.css
58
+ cp apps/shared/design-system/workweaver.css apps/dashboard/design-system/workweaver.css
59
+ cp apps/shared/design-system/workweaver.css apps/landing/public/design-system/workweaver.css
60
+ cp apps/shared/design-system/workweaver.js apps/dashboard/design-system/workweaver.js
61
+ cp apps/shared/design-system/workweaver.js apps/landing/public/design-system/workweaver.js
62
+ ```
63
+
64
+ Both nginx configs (`apps/landing/nginx/*.conf`, `apps/dashboard/nginx/*.conf`)
65
+ serve the per-app `design-system/` directory — they do not have a `/shared/`
66
+ mount. That's why we copy.
67
+
68
+ ## Class naming
69
+
70
+ Every class is prefixed `ww-`. Modifiers use `ww-x--y` (BEM-like). State uses
71
+ `is-on`, `is-active`, `is-now`, `is-unread`, `is-open`, `is-selected`.
72
+
73
+ ## Backend API contract
74
+
75
+ `workweaver.js` ships typed wrappers around the canonical backend:
76
+
77
+ ```js
78
+ ww.api.mission.analytics()
79
+ ww.api.mission.timeline({ since })
80
+ ww.api.mission.goals()
81
+ ww.api.inbox.list({ limit })
82
+ ww.api.memory.facts()
83
+ ww.api.memory.recall(query)
84
+ ww.api.connectors.list()
85
+ ww.api.skills.list()
86
+ ww.api.harness.pending()
87
+ ww.api.harness.approve(id, payload)
88
+ ww.api.harness.reject(id, reason)
89
+ ww.api.harness.brake()
90
+ ww.api.evidence.list({ limit })
91
+ ww.api.evidence.trace(id)
92
+ ww.api.simulation.run(config)
93
+ ww.api.simulation.promote(runId)
94
+ ww.api.settings.get()
95
+ ww.api.settings.put(patch)
96
+ ```
97
+
98
+ All shortcut methods are thin wrappers around `ww.api.{get,post,put,patch,del}`
99
+ (direct fetch wrappers if you need them). Default base URL is
100
+ `window.location.origin + "/api/v1"`. Override via `window.WW_API_BASE`.
101
+
102
+ Every page loader is **fail-soft**: if the API 404s or errors, the surface
103
+ falls through to demo data. That means the design system is dogfoodable even
104
+ without a backend — useful for static previews and design review.
105
+
106
+ ## Voice
107
+
108
+ - Sentence case in UI; Title Case only for brand nouns (Mission Control,
109
+ Execution Runtime, Evidence Graph, WorkMemory, Connected Tools, AI-Ops
110
+ Identity, Proof Card, Emergency Brake, Harness System).
111
+ - Specific verbs, specific nouns. Never `revolutionize`, `unleash`, `seamless`,
112
+ `leverage`, `empower`, `unlock`, `journey`, `magical`, `10x`.
113
+ - Active, present tense. Address the user as `you`. Refer to the AI in third
114
+ person ("Zara proposes", "Workweaver ran").
115
+ - No emoji. Iconography is Font Awesome 6.5.1 (free) + inline SVG.
116
+
117
+ ## Iconography
118
+
119
+ - Font Awesome 6.5.1 free CDN — `<i class="fas fa-X" aria-hidden="true">`.
120
+ - Inline SVG for the Workweaver mark (`apps/landing/public/landing-assets/`,
121
+ `apps/dashboard/runtime/index.html` inlines the W+gear).
122
+ - Every icon must have an accessible label (visible text, tooltip, or
123
+ `aria-label`).
124
+
125
+ ## What "no wrong way to use it" means
126
+
127
+ Every block on the timeline exposes the same action contract:
128
+ `approve`, `redirect`, `pause`, `handoff`, `trace`. The Timeline class
129
+ handles delegation; the host page wires the actions to backend calls.
130
+ Inline actions appear on hover/focus only — calm by default.
131
+
132
+ ⌘K opens the command palette. The palette registers every nav target,
133
+ altitude, and action. There is no "hidden" action — every action is
134
+ discoverable from the palette.
135
+
136
+ ## Reference
137
+
138
+ The original spec lives at `.workweaver-design/` (README.md, SKILL.md,
139
+ HANDOFF.md). It defines voice, interaction principles, the unified-timeline
140
+ pattern, banned words, asset rules. The design system in this directory is
141
+ the **implementation** of that spec.