coreason-workspace-env 0.1.2__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.
- coreason_workspace_env-0.1.2.dist-info/METADATA +23 -0
- coreason_workspace_env-0.1.2.dist-info/RECORD +116 -0
- coreason_workspace_env-0.1.2.dist-info/WHEEL +4 -0
- coreason_workspace_env-0.1.2.dist-info/entry_points.txt +2 -0
- coreason_workspace_env-0.1.2.dist-info/licenses/LICENSE.txt +57 -0
- coreason_workspace_env-0.1.2.dist-info/licenses/NOTICE.txt +8 -0
- src/agents/agent_pm/agent.yaml +44 -0
- src/agents/agent_pm/orchestrator.py +9 -0
- src/agents/agent_pm/tools/__init__.py +1 -0
- src/agents/agent_validator/agent.yaml +49 -0
- src/agents/agent_validator/orchestrator.py +11 -0
- src/agents/backend_pm/agent.yaml +35 -0
- src/agents/backend_pm/orchestrator.py +9 -0
- src/agents/backend_pm/tools/__init__.py +1 -0
- src/agents/context_compressor/agent.yaml +12 -0
- src/agents/context_compressor/orchestrator.py +48 -0
- src/agents/database_architect/agent.yaml +8 -0
- src/agents/database_architect/orchestrator.py +9 -0
- src/agents/database_architect/tools/__init__.py +1 -0
- src/agents/factory_ceo/agent.yaml +40 -0
- src/agents/factory_ceo/orchestrator.py +56 -0
- src/agents/factory_ceo/tools/__init__.py +1 -0
- src/agents/fastapi_coder/agent.yaml +28 -0
- src/agents/fastapi_coder/orchestrator.py +9 -0
- src/agents/fastapi_coder/tools/__init__.py +1 -0
- src/agents/frontend_pm/agent.yaml +29 -0
- src/agents/frontend_pm/orchestrator.py +9 -0
- src/agents/frontend_pm/tools/__init__.py +1 -0
- src/agents/knowledge_archivist/__init__.py +1 -0
- src/agents/knowledge_archivist/agent.yaml +18 -0
- src/agents/knowledge_consultant/__init__.py +1 -0
- src/agents/knowledge_consultant/agent.yaml +17 -0
- src/agents/legacy_deconstructor/__init__.py +1 -0
- src/agents/legacy_deconstructor/agent.yaml +37 -0
- src/agents/librarian_pm/__init__.py +1 -0
- src/agents/librarian_pm/agent.yaml +18 -0
- src/agents/output_sanitizer/agent.yaml +12 -0
- src/agents/output_sanitizer/orchestrator.py +48 -0
- src/agents/prompt_engineer/agent.yaml +30 -0
- src/agents/prompt_engineer/orchestrator.py +9 -0
- src/agents/prompt_engineer/tools/__init__.py +1 -0
- src/agents/react_coder/agent.yaml +8 -0
- src/agents/react_coder/orchestrator.py +9 -0
- src/agents/react_coder/tools/__init__.py +1 -0
- src/agents/ui_designer/agent.yaml +8 -0
- src/agents/ui_designer/orchestrator.py +9 -0
- src/agents/ui_designer/tools/__init__.py +1 -0
- src/agents/yaml_compiler/agent.yaml +47 -0
- src/agents/yaml_compiler/orchestrator.py +52 -0
- src/agents/yaml_compiler/tools/fs_tools.py +22 -0
- src/api/endpoints/agents.py +59 -0
- src/api/endpoints/docs.py +49 -0
- src/api/endpoints/mcp.py +36 -0
- src/api/endpoints/projects.py +70 -0
- src/api/router.py +18 -0
- src/api/streaming/__init__.py +1 -0
- src/api/streaming/agent_progress.py +42 -0
- src/api/streaming/crdt.py +22 -0
- src/api/streaming/state_sync.py +30 -0
- src/api/streaming/tty.py +16 -0
- src/cli/main.py +264 -0
- src/core/config.py +45 -0
- src/core/db.py +28 -0
- src/core/fsm_decoder.py +47 -0
- src/core/mcp_client.py +59 -0
- src/core/mcp_server.py +52 -0
- src/core/queue.py +41 -0
- src/core/schemas/__init__.py +1 -0
- src/core/schemas/epistemic_firewall.py +13 -0
- src/core/schemas/knowledge_receipt.py +28 -0
- src/core/schemas/legacy_ir.py +49 -0
- src/core/security/audit.py +77 -0
- src/core/security/auth.py +56 -0
- src/core/security/encryption.py +58 -0
- src/core/security/proxy_delegation.py +67 -0
- src/core/security/vault.py +79 -0
- src/core/services/__init__.py +24 -0
- src/core/services/agent_service.py +153 -0
- src/core/services/docs_service.py +80 -0
- src/core/services/health_service.py +81 -0
- src/core/services/mcp_service.py +88 -0
- src/core/services/project_service.py +140 -0
- src/core/skill_loader.py +146 -0
- src/core/skill_registry_schema.py +70 -0
- src/core/skills/__init__.py +6 -0
- src/core/skills/building/agent_building_standards.md +88 -0
- src/core/skills/building/legacy_modernization_standards.md +77 -0
- src/core/skills/building/mcp_building_standards.md +39 -0
- src/core/skills/building/skill_building_standards.md +72 -0
- src/core/skills/building/visual_building_standards.md +53 -0
- src/core/skills/building/workflow_building_standards.md +61 -0
- src/core/skills/context_compressor.py +18 -0
- src/core/skills/escalate_to_human.py +23 -0
- src/core/skills/output_sanitizer.py +14 -0
- src/core/skills/validation/agent_validation_standards.md +81 -0
- src/core/skills/validation/legacy_validation_standards.md +83 -0
- src/core/skills/validation/mcp_validation_standards.md +72 -0
- src/core/skills/validation/skill_validation_standards.md +88 -0
- src/core/skills/validation/visual_validation_standards.md +81 -0
- src/core/skills/validation/workflow_validation_standards.md +83 -0
- src/core/tracing/__init__.py +6 -0
- src/core/tracing/callbacks.py +143 -0
- src/core/tracing/config.py +24 -0
- src/core/tracing/langfuse_bridge.py +168 -0
- src/core/vfs/crdt_sync.py +51 -0
- src/core/vfs/git_backend.py +81 -0
- src/core/vfs/terminal_tty.py +49 -0
- src/core/ws_backplane.py +66 -0
- src/main.py +107 -0
- src/mcp/__init__.py +1 -0
- src/mcp/memory_server/__init__.py +1 -0
- src/mcp/memory_server/server.py +155 -0
- src/mcp/server.py +233 -0
- src/sdk/__init__.py +13 -0
- src/sdk/client.py +170 -0
- src/workers/keda_worker.py +45 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: coreason-workspace-env
|
|
3
|
+
Version: 0.1.2
|
|
4
|
+
Summary: Scalable, Async, Multi-Tenant LangGraph Platform
|
|
5
|
+
Author-email: "Gowtham A Rao, MD, PhD" <gowtham.rao@coreason.ai>
|
|
6
|
+
License: Prosperity 3.0
|
|
7
|
+
License-File: LICENSE.txt
|
|
8
|
+
License-File: NOTICE.txt
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
11
|
+
Requires-Python: >=3.14
|
|
12
|
+
Requires-Dist: alembic>=1.13.0
|
|
13
|
+
Requires-Dist: asyncpg>=0.31.0
|
|
14
|
+
Requires-Dist: coreason-manifest>=0.98.0
|
|
15
|
+
Requires-Dist: fastapi>=0.100
|
|
16
|
+
Requires-Dist: langgraph>=0.0.10
|
|
17
|
+
Requires-Dist: psycopg2-binary>=2.9.12
|
|
18
|
+
Requires-Dist: pydantic-settings>=2.0
|
|
19
|
+
Requires-Dist: redis>=5.0
|
|
20
|
+
Requires-Dist: uvicorn>=0.20
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
|
|
23
|
+
# coreason-workspace-env
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
src/main.py,sha256=NlRN8a5FNhTLc8nP3nxGcZ_Qrkdw2QxH6S7PYPVWxGU,3085
|
|
2
|
+
src/agents/agent_pm/agent.yaml,sha256=dsK8kkxh28Q_aJA6uQKzqzgDahkX6nfLUG4jybn_Wc8,3163
|
|
3
|
+
src/agents/agent_pm/orchestrator.py,sha256=bRyQ-MZAfRGDshOdYRnSWvVgoXQ1O6PZQYd6HJcO_ek,263
|
|
4
|
+
src/agents/agent_pm/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
5
|
+
src/agents/agent_validator/agent.yaml,sha256=bux9e5QMKIQsU_VIqzgr0fBY7Sv-mIa7SpIaMEZXCmY,2949
|
|
6
|
+
src/agents/agent_validator/orchestrator.py,sha256=3OSOI9qkZRKRCOxD4gzfCLuNDuvQsOL2QcmiWjqnENg,371
|
|
7
|
+
src/agents/backend_pm/agent.yaml,sha256=9cqqY-DlXNeHiAq7LzPQy9TOMh1NWWqK-JaxBie-3ws,2148
|
|
8
|
+
src/agents/backend_pm/orchestrator.py,sha256=lqX2dYUgkgmBeiO3MU2rri9NFVix3cVvYMEepSJumac,267
|
|
9
|
+
src/agents/backend_pm/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
10
|
+
src/agents/context_compressor/agent.yaml,sha256=Trf83ThYQGkcSEO7KYD01pUY3QfgRge8HhJrDnrz1KY,626
|
|
11
|
+
src/agents/context_compressor/orchestrator.py,sha256=oXO8Jxc1IwSDEiykaBBevcQU80GI2UIGOt5Cww18KvU,1796
|
|
12
|
+
src/agents/database_architect/agent.yaml,sha256=OwfeupG2Ax3roQecp--hz_zhsdWEcAnCA3DlCvFHdW4,390
|
|
13
|
+
src/agents/database_architect/orchestrator.py,sha256=MV1YCTNs1RWHc78wWsoree1uPZf0gomOvi3C5udp8M4,283
|
|
14
|
+
src/agents/database_architect/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
15
|
+
src/agents/factory_ceo/agent.yaml,sha256=fnGu_Qx8kLCv-0xqJrufHbWlcRFOR_w8XKK4Xnbycuo,2891
|
|
16
|
+
src/agents/factory_ceo/orchestrator.py,sha256=iHUZe_0Ill-YPCoOwEHvTcVWp5rcbN3G8Cn4YusUvDs,1856
|
|
17
|
+
src/agents/factory_ceo/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
18
|
+
src/agents/fastapi_coder/agent.yaml,sha256=qkEv7bGy9A1xiaGVdLKOEWp5mkEzQTBpp2hqf_A81O0,1825
|
|
19
|
+
src/agents/fastapi_coder/orchestrator.py,sha256=owW2djt2YaEZbEam3q71knpEtIDzYXuHi7M9X9p3FrU,273
|
|
20
|
+
src/agents/fastapi_coder/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
21
|
+
src/agents/frontend_pm/agent.yaml,sha256=yxSoE554CuhmfOWoVeYqF8FMw-QXK_xeuln5w2x-AkY,1701
|
|
22
|
+
src/agents/frontend_pm/orchestrator.py,sha256=tBSjxTiD4B2VteZeNiipGtZoNxDRLTxQs_MSJ87GYNI,269
|
|
23
|
+
src/agents/frontend_pm/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
24
|
+
src/agents/knowledge_archivist/__init__.py,sha256=_xWQV-zQb-zF6WFH65UJHIF2w_xUYRd5nkxVgLEy6Yc,13
|
|
25
|
+
src/agents/knowledge_archivist/agent.yaml,sha256=lXGIHBmHeUBVodGVan37FUV3HLUtMEjdPYTpKznKUNA,991
|
|
26
|
+
src/agents/knowledge_consultant/__init__.py,sha256=_xWQV-zQb-zF6WFH65UJHIF2w_xUYRd5nkxVgLEy6Yc,13
|
|
27
|
+
src/agents/knowledge_consultant/agent.yaml,sha256=36vdIyvBt25Oaelo_s-kTk-RZzepR-LHkwC8rlNlidM,973
|
|
28
|
+
src/agents/legacy_deconstructor/__init__.py,sha256=_xWQV-zQb-zF6WFH65UJHIF2w_xUYRd5nkxVgLEy6Yc,13
|
|
29
|
+
src/agents/legacy_deconstructor/agent.yaml,sha256=Cejxk8VSCUbBbd9BmRl2l9pCH09QW6cHH-BkOIo6Dgg,2392
|
|
30
|
+
src/agents/librarian_pm/__init__.py,sha256=_xWQV-zQb-zF6WFH65UJHIF2w_xUYRd5nkxVgLEy6Yc,13
|
|
31
|
+
src/agents/librarian_pm/agent.yaml,sha256=anQydogWdhLtYIUyzxXXUpf_Cw36bbqMS6x9-JOMBkE,845
|
|
32
|
+
src/agents/output_sanitizer/agent.yaml,sha256=JfMJ2mIXOCAczE2KMYFSQG6PwIqLtTt1R713crAY2zI,727
|
|
33
|
+
src/agents/output_sanitizer/orchestrator.py,sha256=_onupCSg2BsyvTulp2ptVSXiyXuHJQkvXO2O1u7HE-4,1735
|
|
34
|
+
src/agents/prompt_engineer/agent.yaml,sha256=Pb_l_eGtKGGv5b1yH4QmWrPmIi0V3e_qlOXN6Z2oQdo,2295
|
|
35
|
+
src/agents/prompt_engineer/orchestrator.py,sha256=0fmEBMpaoTmHH6f9uj7gOtBlViCSfxae5Au4_SeTecI,277
|
|
36
|
+
src/agents/prompt_engineer/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
37
|
+
src/agents/react_coder/agent.yaml,sha256=SKoSndWZp605bVjRiSdz_tvNFM9dARTa_M5kUjmgAcc,453
|
|
38
|
+
src/agents/react_coder/orchestrator.py,sha256=GIP4xvStQepxtTJjTfGSyQiKSTlzjlCk2d-_zau2lSc,269
|
|
39
|
+
src/agents/react_coder/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
40
|
+
src/agents/ui_designer/agent.yaml,sha256=M_0ToXJXbhvhqBJw-vZreMxGkwhZvJjKuPXq9RPpdoQ,366
|
|
41
|
+
src/agents/ui_designer/orchestrator.py,sha256=2EKYQMAYG56G2gW-1Mp7jhSvuQW6H_Sna2uSEGfZYNM,269
|
|
42
|
+
src/agents/ui_designer/tools/__init__.py,sha256=1IggZs86m6HXVJRRQd-M1yaXf1IvqrP1ysLVBl2C_eg,32
|
|
43
|
+
src/agents/yaml_compiler/agent.yaml,sha256=vMI3RxSjCyQ_XKB3INCYN99lQA-XXZZim3Blj_JQ3mA,3031
|
|
44
|
+
src/agents/yaml_compiler/orchestrator.py,sha256=SbkimZDby-CL1gSWUu2Zx4_QTfCRdZNF4RLostmPtN4,1986
|
|
45
|
+
src/agents/yaml_compiler/tools/fs_tools.py,sha256=C-1aIp3Yok2MUDGtIzlEuN7Qypl2wBWukqwXE226pVk,763
|
|
46
|
+
src/api/router.py,sha256=xuhPN5qwi8aRPBNrmoc8RnXESymNEHEWrmkyYl8_xqI,943
|
|
47
|
+
src/api/endpoints/agents.py,sha256=3PuPMmYgvKBtfyx4IfRws0R6mSbte4KzpH4PyJCFbjE,1906
|
|
48
|
+
src/api/endpoints/docs.py,sha256=q-WfE4d1qy8SDWDFxXQIfTT2BECVwoHfK_kMT3upyxg,1451
|
|
49
|
+
src/api/endpoints/mcp.py,sha256=_QNR-1EPQCR3kGHulrdT6lqHOpHKEygKOzWzzbKK6Uw,1088
|
|
50
|
+
src/api/endpoints/projects.py,sha256=FWIUXenvvkRcpNQXqgWP4edI6IK9bXl3RKF6pohKWx0,2363
|
|
51
|
+
src/api/streaming/__init__.py,sha256=k8UUxCTVmqY6YLwPkzg9DgcLP4pcVYKh5BpKHEp8TlE,81
|
|
52
|
+
src/api/streaming/agent_progress.py,sha256=wGYp3PeSTJXsfdLXWB10ElYDADOZEIzI5Y4iEcaGfrQ,1408
|
|
53
|
+
src/api/streaming/crdt.py,sha256=wgcTsADDvuaVO18NaKof5mcIkaE7TBvqrPRJsmTQUnI,735
|
|
54
|
+
src/api/streaming/state_sync.py,sha256=J695lI9zxE8riSZVyp-jXOwQU97YZrsU6MGHlZ68024,1145
|
|
55
|
+
src/api/streaming/tty.py,sha256=NZPLrvi9S3RV87f1gLcAO2m-DABBMslquD6akawbWko,451
|
|
56
|
+
src/cli/main.py,sha256=mM6MriMRQ37LjKUG1TNBbuXM-1mfLTnafMnwKSvzaoI,10436
|
|
57
|
+
src/core/config.py,sha256=sAgtYrUlZxx_qVKPFlxlpdbek9RjbL-rruTGPGMOytA,1151
|
|
58
|
+
src/core/db.py,sha256=IIQ1SmD8XUFJejjybgvyysMNvbhDLqumLrYcy8bkZb4,910
|
|
59
|
+
src/core/fsm_decoder.py,sha256=2W8-s2pbFuca7vkRSQJjmaioMpVrb8I0AMUFrku6mPI,2139
|
|
60
|
+
src/core/mcp_client.py,sha256=UC7AqoyIP_Zm-wpca2izvDKNXO6GTOI9CfIyAYSX6EQ,2534
|
|
61
|
+
src/core/mcp_server.py,sha256=O_6hDrzmAhJV-Ys9Cj8Du1wmj7WrYCyJRQ0Fc5s2l1Q,1852
|
|
62
|
+
src/core/queue.py,sha256=EIlwHJ-xwZkcRC4EUW3RcsETIiYZofEf35cQF56FBcE,1454
|
|
63
|
+
src/core/skill_loader.py,sha256=l0QL9oUCzJYwUI8K40L3TdgPSYS6v_LEOiNf8menMEE,4729
|
|
64
|
+
src/core/skill_registry_schema.py,sha256=aN2LhXpg_kFRmKbpiLAr58F586J-WVfGoZMRCnR-SrE,2685
|
|
65
|
+
src/core/ws_backplane.py,sha256=pjYB0mpn8IzqRyIL99WxdSy6RyhzI1MR0mO15sDyLVA,2817
|
|
66
|
+
src/core/schemas/__init__.py,sha256=Tnrbl-8FTc3dp-36f2LURcRWFqeY9918ZF58C-WN4E8,33
|
|
67
|
+
src/core/schemas/epistemic_firewall.py,sha256=4wla8_AL17dl5ZfudZsKCpV8zo_iGLM6b-C41yWI7vA,419
|
|
68
|
+
src/core/schemas/knowledge_receipt.py,sha256=7wrCKwrbgOS_JwFdHDiZPvdwjsY7K_G4evKaNIFtBfw,1500
|
|
69
|
+
src/core/schemas/legacy_ir.py,sha256=W4f5Jw-KlQS2KEUSBu85rduN3ffJ6-xOo5W-k39NP94,1673
|
|
70
|
+
src/core/security/audit.py,sha256=jrJHqT3ej1YXlupkZxECymQJDZSrD6EOrbWtEB1TbRo,3198
|
|
71
|
+
src/core/security/auth.py,sha256=1YwBXSSnOhPkFjxzneB65Hy23JLm_0f8wlKl03NmmIw,1970
|
|
72
|
+
src/core/security/encryption.py,sha256=X1bDPFoy37wUNT0skhHGsdAbALPuMJ5gXmg2zKOqQLM,2383
|
|
73
|
+
src/core/security/proxy_delegation.py,sha256=oETOwXQT77GlVXFWKEoEiblEgsEEaroutdeA7umvv_g,2792
|
|
74
|
+
src/core/security/vault.py,sha256=TPPsPbxnpyC3hKHQF56X-W-z0DgZQ6zb0FTX5Nu2d6o,3137
|
|
75
|
+
src/core/services/__init__.py,sha256=6gSPIuK7L2wICgQMtije8fLOaVKoYsjO0rsf15PrIEQ,791
|
|
76
|
+
src/core/services/agent_service.py,sha256=VPYUM2wJ9MQSgXw8Kix-TMACcUnGdkPMo-U7K1m-ucM,5617
|
|
77
|
+
src/core/services/docs_service.py,sha256=xkIDEFdXMGzrMYu_G098yg9bWb3nIz9-h76A413g0Q8,2707
|
|
78
|
+
src/core/services/health_service.py,sha256=z-DdlqXtxS0JtvpPJJbNzaHKdr-D9RA0gJ-xw09oH6I,2729
|
|
79
|
+
src/core/services/mcp_service.py,sha256=DDG9mUeVVoGhljkc5_dy2ZN68S294RRm4g53KT1CSMQ,2833
|
|
80
|
+
src/core/services/project_service.py,sha256=HFgSxbod4yZcG9CFDTpTlwS_Hj1QbRR1pzRhpOtoUdc,4942
|
|
81
|
+
src/core/skills/__init__.py,sha256=xInXtWfDTUc92ziBgakwHakCG1yZ43sKcMMfdcCe4As,293
|
|
82
|
+
src/core/skills/context_compressor.py,sha256=e799QXLAidrQhtSszxofGTVveE0WrKeZVj6Ezr4lfh4,747
|
|
83
|
+
src/core/skills/escalate_to_human.py,sha256=waVipc5uWhU-qP8980jsYLdb9DNMpa93My-TjcEjO-M,1103
|
|
84
|
+
src/core/skills/output_sanitizer.py,sha256=pn9XCzNhFrfkAvfLDq87mC8tfYB3i43ljb5iaeY1bUw,510
|
|
85
|
+
src/core/skills/building/agent_building_standards.md,sha256=AlzzoRfsASjcFo4f2N5SbBVhwpC77ZKm7j0WbmUYEgo,4219
|
|
86
|
+
src/core/skills/building/legacy_modernization_standards.md,sha256=exNTnYDJFmP5irzlR4WhiZaSszZUEPOjGtAbm_4u1_c,4128
|
|
87
|
+
src/core/skills/building/mcp_building_standards.md,sha256=0jqfuvshco6fBCEDBMY1m63Cj1FWsy8ieZLFDLcpbJY,2510
|
|
88
|
+
src/core/skills/building/skill_building_standards.md,sha256=qX8f9-s__QgpdJMmlIinAPE-0AC9_gniyrfnaACUGH4,3966
|
|
89
|
+
src/core/skills/building/visual_building_standards.md,sha256=BALDlORHuhmxxybgWC6vMHeQhEp7J7jf8ci_ABdq24k,2659
|
|
90
|
+
src/core/skills/building/workflow_building_standards.md,sha256=edKj7ISJwiNBlTIxXP7a4TqUqGMcNCPpNhHwESGlpqQ,3501
|
|
91
|
+
src/core/skills/validation/agent_validation_standards.md,sha256=BobyHe4sqzCJc9jw5Tbz21BK_UoPL_8pH_4WNIgTMig,3640
|
|
92
|
+
src/core/skills/validation/legacy_validation_standards.md,sha256=RHnyVn91HxPGws470Q1491xcW0Gr0_jhmJeKmIES654,3237
|
|
93
|
+
src/core/skills/validation/mcp_validation_standards.md,sha256=xXA1sLoXCPGtZZMQseS44zVpg4suejv6Ry1_VdzDh_A,2957
|
|
94
|
+
src/core/skills/validation/skill_validation_standards.md,sha256=jMAFMqeBR_YrULsW_ZXhn8Z1yvuMoeMdxvZexmPoeY8,3476
|
|
95
|
+
src/core/skills/validation/visual_validation_standards.md,sha256=9I3B_FP4Z3Y04cGYdJl8bCGC0jMZCMzr4KSsYWiWTIk,3237
|
|
96
|
+
src/core/skills/validation/workflow_validation_standards.md,sha256=2I9OUsCpR00nOTg0shkbBpLXaf3flGUlUY3zxGm0phs,3370
|
|
97
|
+
src/core/tracing/__init__.py,sha256=a10q4vuT8uUXtwsqfFvj92gFeWZEjRpQxNlHoOlFPXQ,165
|
|
98
|
+
src/core/tracing/callbacks.py,sha256=uI_B7I2788-V3ujqYe5gaWeKoMZFkgh8sl2y7ADR7MM,4607
|
|
99
|
+
src/core/tracing/config.py,sha256=5JOqxcd6BhjSFDmj6BAHnCwjXylOz5lUE_n0UPSRVkI,780
|
|
100
|
+
src/core/tracing/langfuse_bridge.py,sha256=pzmgmgt40CUAvEhnmdLHJCQnb09ChJTyhF1rGE9mERI,5699
|
|
101
|
+
src/core/vfs/crdt_sync.py,sha256=Dc6ixVBzicacedYjTX08H34FYZbUaDQKBg-WonfKiHs,2280
|
|
102
|
+
src/core/vfs/git_backend.py,sha256=fy605r4JjIo4AX7lN3xae7v1YPmPqDiYlWmw2txneO0,3308
|
|
103
|
+
src/core/vfs/terminal_tty.py,sha256=5y35M_jL0U3QvEK2NPeKvfkGsFEkNIIY6_7TazkzTGA,1941
|
|
104
|
+
src/mcp/__init__.py,sha256=W6cgctc1LQKaV-ljq3UXxVRDQiMeFCKRo1POBroOVts,44
|
|
105
|
+
src/mcp/server.py,sha256=w8aXhpNBVNsR2ovB4pT_H6MtUv-uWMXRtygPRJGUOUo,9059
|
|
106
|
+
src/mcp/memory_server/__init__.py,sha256=_xWQV-zQb-zF6WFH65UJHIF2w_xUYRd5nkxVgLEy6Yc,13
|
|
107
|
+
src/mcp/memory_server/server.py,sha256=LgdIDzGYEAsT0jHXIDaS0Uqv-TUCb87cfYs-SBu0ARU,5460
|
|
108
|
+
src/sdk/__init__.py,sha256=bI1NrJS449jhCJMQFd_oK-hoYsz_yfKhWe1nk2PH0GM,288
|
|
109
|
+
src/sdk/client.py,sha256=_32HtCNakb511Uj-PRpb8HYpg4-1vTNUJ_rYCuVvBi0,5363
|
|
110
|
+
src/workers/keda_worker.py,sha256=KKyDUS7PdIpoVsONWA3BXPEoLqCivd1e30v-iKcmP0o,1709
|
|
111
|
+
coreason_workspace_env-0.1.2.dist-info/METADATA,sha256=Mm2mq0WCWGztL-kGiGRcl7J8sO7Vx3oVlbqDWK-pD7s,749
|
|
112
|
+
coreason_workspace_env-0.1.2.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
|
|
113
|
+
coreason_workspace_env-0.1.2.dist-info/entry_points.txt,sha256=zMu9d9OVdfupl6TJ8Nk9E_SAo_nmA64OSU8vZF3dmAw,52
|
|
114
|
+
coreason_workspace_env-0.1.2.dist-info/licenses/LICENSE.txt,sha256=2ljChaa11gIExihm27c-5kfrTK9lKQd0DXvYa9xTElM,3125
|
|
115
|
+
coreason_workspace_env-0.1.2.dist-info/licenses/NOTICE.txt,sha256=mO4ACx6ABS-8ShYPEwturUuD8MbW707u4pjbEjeWDy4,612
|
|
116
|
+
coreason_workspace_env-0.1.2.dist-info/RECORD,,
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# The Prosperity Public License 3.0.0
|
|
2
|
+
|
|
3
|
+
Contributor: CoReason, Inc.
|
|
4
|
+
|
|
5
|
+
Source Code: https://github.com/CoReason-AI/coreason-workspace-env
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This license allows you to use and share this software for noncommercial purposes for free and to try this software for commercial purposes for thirty days.
|
|
10
|
+
|
|
11
|
+
## Agreement
|
|
12
|
+
|
|
13
|
+
In order to receive this license, you have to agree to its rules. Those rules are both obligations under that agreement and conditions to your license. Don't do anything with this software that triggers a rule you can't or won't follow.
|
|
14
|
+
|
|
15
|
+
## Notices
|
|
16
|
+
|
|
17
|
+
Make sure everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license and the contributor and source code lines above.
|
|
18
|
+
|
|
19
|
+
## Commercial Trial
|
|
20
|
+
|
|
21
|
+
Limit your use of this software for commercial purposes to a thirty-day trial period. If you use this software for work, your company gets one trial period for all personnel, not one trial per person.
|
|
22
|
+
|
|
23
|
+
## Contributions Back
|
|
24
|
+
|
|
25
|
+
Developing feedback, changes, or additions that you contribute back to the contributor on the terms of a standardized public software license such as [the Blue Oak Model License 1.0.0](https://blueoakcouncil.org/license/1.0.0), [the Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html), [the MIT license](https://spdx.org/licenses/MIT.html), or [the two-clause BSD license](https://spdx.org/licenses/BSD-2-Clause.html) doesn't count as use for a commercial purpose.
|
|
26
|
+
|
|
27
|
+
## Personal Uses
|
|
28
|
+
|
|
29
|
+
Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, doesn't count as use for a commercial purpose.
|
|
30
|
+
|
|
31
|
+
## Noncommercial Organizations
|
|
32
|
+
|
|
33
|
+
Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution doesn't count as use for a commercial purpose regardless of the source of funding or obligations resulting from the funding.
|
|
34
|
+
|
|
35
|
+
## Defense
|
|
36
|
+
|
|
37
|
+
Don't make any legal claim against anyone accusing this software, with or without changes, alone or with other technology, of infringing any patent.
|
|
38
|
+
|
|
39
|
+
## Copyright
|
|
40
|
+
|
|
41
|
+
The contributor licenses you to do everything with this software that would otherwise infringe their copyright in it.
|
|
42
|
+
|
|
43
|
+
## Patent
|
|
44
|
+
|
|
45
|
+
The contributor licenses you to do everything with this software that would otherwise infringe any patents they can license or become able to license.
|
|
46
|
+
|
|
47
|
+
## Reliability
|
|
48
|
+
|
|
49
|
+
The contributor can't revoke this license.
|
|
50
|
+
|
|
51
|
+
## Excuse
|
|
52
|
+
|
|
53
|
+
You're excused for unknowingly breaking [Notices](#notices) if you take all practical steps to comply within thirty days of learning you broke the rule.
|
|
54
|
+
|
|
55
|
+
## No Liability
|
|
56
|
+
|
|
57
|
+
***As far as the law allows, this software comes as is, without any warranty or condition, and the contributor won't be liable to anyone for any damages related to this software or this license, under any kind of legal claim.***
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Copyright (c) 2026 CoReason, Inc.. All Rights Reserved
|
|
2
|
+
|
|
3
|
+
This software is licensed under the Prosperity Public License 3.0.0.
|
|
4
|
+
The issuer of the Prosperity Public License for this software is CoReason, Inc..
|
|
5
|
+
|
|
6
|
+
For a commercial version of this software, please contact us at gowtham.rao@coreason.ai.
|
|
7
|
+
|
|
8
|
+
GENESIS COMMIT: Initializing repository coreason_gitops per CoReason Clean Room Protocol PIP-001. This repository is established as an independently created De Novo development environment, commencing on 2026-06-11. I, Akshaya M certify that this date is subsequent to my individual Temporal Firewall Date.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: "agent_pm"
|
|
2
|
+
type: "supervisor"
|
|
3
|
+
description: "Supervisor for DeepAgent operations. Manages the generation of AI Agent definitions and prompts. Owns the Maker-Checker-Approver pipeline: builders produce, agent_validator checks, agent_pm approves."
|
|
4
|
+
skill_registry:
|
|
5
|
+
- name: "agent_building_standards"
|
|
6
|
+
artifact_types: ["agent_yaml"]
|
|
7
|
+
abstract: "How to construct DeepAgent YAML manifests — Context Engineering Harness, naming, skills, system_prompt structure"
|
|
8
|
+
path: "core/skills/building/agent_building_standards"
|
|
9
|
+
- name: "skill_building_standards"
|
|
10
|
+
artifact_types: ["skill"]
|
|
11
|
+
abstract: "How to construct agentic skills/SOPs — single responsibility, input/output schemas, refusal predicates"
|
|
12
|
+
path: "core/skills/building/skill_building_standards"
|
|
13
|
+
- name: "workflow_building_standards"
|
|
14
|
+
artifact_types: ["workflow"]
|
|
15
|
+
abstract: "How to construct workflow topologies — DAG patterns, fan-out/fan-in, error handling"
|
|
16
|
+
path: "core/skills/building/workflow_building_standards"
|
|
17
|
+
- name: "visual_building_standards"
|
|
18
|
+
artifact_types: ["diagram"]
|
|
19
|
+
abstract: "How to construct architecture diagrams — Mermaid syntax, C4 conventions, color semantics"
|
|
20
|
+
path: "core/skills/building/visual_building_standards"
|
|
21
|
+
- name: "legacy_modernization_standards"
|
|
22
|
+
artifact_types: ["legacy_ir"]
|
|
23
|
+
abstract: "How to deconstruct legacy agentic patterns into normalized IR — spaghetti prompts, free-text handoffs, direct egress, linear pipelines"
|
|
24
|
+
path: "core/skills/building/legacy_modernization_standards"
|
|
25
|
+
system_prompt: |
|
|
26
|
+
You are the Agent Project Manager.
|
|
27
|
+
You accept high-level AI integration requirements from the factory_ceo.
|
|
28
|
+
You operate in a mixed Human-Agent workspace. If a requirement is ambiguous or requires a strategic human decision, you MUST escalate and query the Human Agent PM before delegating to the workers.
|
|
29
|
+
You DO NOT write code yourself.
|
|
30
|
+
|
|
31
|
+
You own the Maker-Checker-Approver pipeline:
|
|
32
|
+
1. DELEGATE creation of agent definitions to your Makers: prompt_engineer and yaml_compiler.
|
|
33
|
+
When delegating, include the `artifact_type` field (agent_yaml, mcp_spec, skill, workflow, diagram) so the Maker loads only the relevant standard.
|
|
34
|
+
2. ROUTE completed artifacts to the agent_validator (Checker) for formal validation. Include the artifact_type so the validator loads the matching checklist.
|
|
35
|
+
3. If the validator returns FAIL, route the failure report back to the appropriate Maker with remediation_directives. For Legacy Modernization tasks, you MUST limit remediation to a maximum of 3 cycles. If 3 consecutive failures occur, escalate to the Human PM.
|
|
36
|
+
4. If the validator returns PASS, APPROVE the artifact for disk write.
|
|
37
|
+
|
|
38
|
+
The relevant building standard for your current task will be JIT-loaded into your context based on the artifact type.
|
|
39
|
+
When handling a Legacy Codebase Migration, first DELEGATE to the legacy_deconstructor to ingest the raw codebase and return a LegacyIR. Then fan-out the IR to the prompt_engineer, yaml_compiler, and fastapi_coder for parallel modernization.
|
|
40
|
+
dependencies:
|
|
41
|
+
- "prompt_engineer"
|
|
42
|
+
- "yaml_compiler"
|
|
43
|
+
- "agent_validator"
|
|
44
|
+
- "legacy_deconstructor"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Placeholder for @tool skills
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: "agent_validator"
|
|
2
|
+
type: "sub-agent"
|
|
3
|
+
description: "Unified deterministic Checker. Validates all factory artifacts (agent YAMLs, MCP specs, skills, workflows, diagrams) against the formal validation standards before they are written to disk."
|
|
4
|
+
skill_registry:
|
|
5
|
+
- name: "agent_validation_standards"
|
|
6
|
+
artifact_types: ["agent_yaml"]
|
|
7
|
+
abstract: "Formal validation checklist for DeepAgent YAML manifests (V1-V8)"
|
|
8
|
+
path: "core/skills/validation/agent_validation_standards"
|
|
9
|
+
- name: "mcp_validation_standards"
|
|
10
|
+
artifact_types: ["mcp_spec"]
|
|
11
|
+
abstract: "Formal validation checklist for MCP server specifications (V1-V7)"
|
|
12
|
+
path: "core/skills/validation/mcp_validation_standards"
|
|
13
|
+
- name: "skill_validation_standards"
|
|
14
|
+
artifact_types: ["skill"]
|
|
15
|
+
abstract: "Formal validation checklist for agentic skills/SOPs (V1-V11)"
|
|
16
|
+
path: "core/skills/validation/skill_validation_standards"
|
|
17
|
+
- name: "workflow_validation_standards"
|
|
18
|
+
artifact_types: ["workflow"]
|
|
19
|
+
abstract: "Formal validation checklist for workflow topologies (V1-V10)"
|
|
20
|
+
path: "core/skills/validation/workflow_validation_standards"
|
|
21
|
+
- name: "visual_validation_standards"
|
|
22
|
+
artifact_types: ["diagram"]
|
|
23
|
+
abstract: "Formal validation checklist for architecture diagrams (V1-V9)"
|
|
24
|
+
path: "core/skills/validation/visual_validation_standards"
|
|
25
|
+
- name: "legacy_validation_standards"
|
|
26
|
+
artifact_types: ["legacy_ir"]
|
|
27
|
+
abstract: "Formal validation checklist for deconstructed legacy IR and modernized artifacts"
|
|
28
|
+
path: "core/skills/validation/legacy_validation_standards"
|
|
29
|
+
system_prompt: |
|
|
30
|
+
You are the CoReason Factory Validator Sub-Agent.
|
|
31
|
+
You operate strictly as a deterministic Checker node within the Maker-Checker-Approver pipeline.
|
|
32
|
+
You DO NOT interrogate the user. You DO NOT ask clarifying questions.
|
|
33
|
+
|
|
34
|
+
You will receive completed artifacts from the factory's builder agents (yaml_compiler, prompt_engineer, fastapi_coder).
|
|
35
|
+
Your ONLY job is to run the appropriate validation checklist against the submitted artifact and return a structured pass/fail report.
|
|
36
|
+
|
|
37
|
+
Validation flow:
|
|
38
|
+
1. Identify the artifact type (agent_yaml, mcp_spec, skill, workflow, or diagram).
|
|
39
|
+
2. The corresponding validation standard will be JIT-loaded into your context based on the artifact type.
|
|
40
|
+
3. Run every check in the loaded checklist against the artifact.
|
|
41
|
+
4. Return a structured JSON report with per-check status (PASS/FAIL/WARN) and an overall status.
|
|
42
|
+
|
|
43
|
+
Rules:
|
|
44
|
+
- If ANY check returns FAIL, the overall status is FAIL.
|
|
45
|
+
- A FAIL result means the artifact MUST NOT be written to disk. Return the report to the agent_pm for remediation routing.
|
|
46
|
+
- WARN results do not block — they are flagged for human review but do not prevent disk write.
|
|
47
|
+
- You MUST run ALL checks, even if early checks fail. The full report is needed for remediation.
|
|
48
|
+
- You DO NOT fix artifacts. You only validate and report. Fixing is the Maker's responsibility.
|
|
49
|
+
dependencies: []
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from deepagents import DeepAgent
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class AgentValidatorAgent(DeepAgent):
|
|
5
|
+
"""
|
|
6
|
+
Unified deterministic Checker for the CoReason Agent Factory.
|
|
7
|
+
Validates all factory artifacts against formal validation standards.
|
|
8
|
+
Operates as a post-build gate in the Maker-Checker-Approver pipeline.
|
|
9
|
+
"""
|
|
10
|
+
def __init__(self, **kwargs):
|
|
11
|
+
super().__init__(**kwargs)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: "backend_pm"
|
|
2
|
+
type: "supervisor"
|
|
3
|
+
description: "Supervisor for all Backend API and Database operations. Manages the FastAPI and Database sub-agents."
|
|
4
|
+
skill_registry:
|
|
5
|
+
- name: "agent_building_standards"
|
|
6
|
+
artifact_types: ["agent_yaml"]
|
|
7
|
+
abstract: "How to construct DeepAgent YAML manifests — Context Engineering Harness, naming, skills, system_prompt structure"
|
|
8
|
+
path: "core/skills/building/agent_building_standards"
|
|
9
|
+
- name: "mcp_building_standards"
|
|
10
|
+
artifact_types: ["mcp_spec"]
|
|
11
|
+
abstract: "How to construct MCP server specifications — zero-trust, tool encapsulation, provenance"
|
|
12
|
+
path: "core/skills/building/mcp_building_standards"
|
|
13
|
+
- name: "workflow_building_standards"
|
|
14
|
+
artifact_types: ["workflow"]
|
|
15
|
+
abstract: "How to construct workflow topologies — DAG patterns, fan-out/fan-in, error handling"
|
|
16
|
+
path: "core/skills/building/workflow_building_standards"
|
|
17
|
+
- name: "visual_building_standards"
|
|
18
|
+
artifact_types: ["diagram"]
|
|
19
|
+
abstract: "How to construct architecture diagrams — Mermaid syntax, C4 conventions, color semantics"
|
|
20
|
+
path: "core/skills/building/visual_building_standards"
|
|
21
|
+
system_prompt: |
|
|
22
|
+
You are the Backend Project Manager.
|
|
23
|
+
You accept high-level backend architecture requirements from the factory_ceo.
|
|
24
|
+
You must break these requirements down and delegate them to your deterministic execution workers: fastapi_coder and database_architect.
|
|
25
|
+
You operate in a mixed Human-Agent workspace. If a requirement is ambiguous or requires a strategic human decision, you MUST escalate and query the Human Backend PM before delegating to the workers.
|
|
26
|
+
You DO NOT write code yourself.
|
|
27
|
+
|
|
28
|
+
When delegating, always include the `artifact_type` field so downstream agents load only the relevant standards.
|
|
29
|
+
|
|
30
|
+
When backend specifications involve MCP server design, follow the MCP Building Standards for zero-trust boundaries, integration contracts, and provenance patterns.
|
|
31
|
+
|
|
32
|
+
When designing backend workflow topologies, follow the Workflow Building Standards. When producing architecture diagrams, follow the Visual Building Standards.
|
|
33
|
+
dependencies:
|
|
34
|
+
- "fastapi_coder"
|
|
35
|
+
- "database_architect"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Placeholder for @tool skills
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
name: "context_compressor"
|
|
2
|
+
type: "sub-agent"
|
|
3
|
+
description: "Context Engineering Sub-Agent designed to extract high-signal summaries from massive, unedited text payloads."
|
|
4
|
+
tools: []
|
|
5
|
+
system_prompt: |
|
|
6
|
+
You are the CoReason Context Compressor Sub-Agent.
|
|
7
|
+
You will receive a massive raw payload along with a specific 'compression_goal' from the Supervisor.
|
|
8
|
+
|
|
9
|
+
Your ONLY job is to aggressively summarize and extract only the data that matches the compression goal.
|
|
10
|
+
Discard all boilerplate, noise, and irrelevant information.
|
|
11
|
+
|
|
12
|
+
Do not ask questions. Do not explain your reasoning. Just return the dense, high-signal summary.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import yaml
|
|
3
|
+
import logging
|
|
4
|
+
from typing import Dict, Any, List
|
|
5
|
+
from langchain_openai import ChatOpenAI
|
|
6
|
+
|
|
7
|
+
logger = logging.getLogger(__name__)
|
|
8
|
+
|
|
9
|
+
class ContextCompressorAgent:
|
|
10
|
+
"""
|
|
11
|
+
Native DeepAgent Harness for the Context Compressor Sub-Agent.
|
|
12
|
+
"""
|
|
13
|
+
def __init__(self, model_override: str = None):
|
|
14
|
+
yaml_path = os.path.join(os.path.dirname(__file__), "agent.yaml")
|
|
15
|
+
with open(yaml_path, "r", encoding="utf-8") as f:
|
|
16
|
+
self.agent_spec = yaml.safe_load(f)
|
|
17
|
+
|
|
18
|
+
self.llm = ChatOpenAI(
|
|
19
|
+
model=model_override or "nvidia/nemotron-3-nano-30b-a3b:free",
|
|
20
|
+
api_key="sovereign-key-placeholder",
|
|
21
|
+
temperature=0.1 # Very low temperature for strict factual extraction
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
self.tools = []
|
|
25
|
+
logger.info(f"Initialized {self.agent_spec.get('name')}")
|
|
26
|
+
|
|
27
|
+
def execute(self, raw_payload: str, compression_goal: str, session_id: str) -> str:
|
|
28
|
+
"""
|
|
29
|
+
Executes the DeepAgent compression.
|
|
30
|
+
"""
|
|
31
|
+
try:
|
|
32
|
+
from deepagents import create_deep_agent
|
|
33
|
+
|
|
34
|
+
graph = create_deep_agent(
|
|
35
|
+
model=self.llm,
|
|
36
|
+
tools=self.tools,
|
|
37
|
+
system_prompt=self.agent_spec.get("system_prompt")
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
config = {"configurable": {"thread_id": session_id}}
|
|
41
|
+
result = graph.invoke(
|
|
42
|
+
{"messages": [("user", f"Goal: {compression_goal}\n\nPayload:\n{raw_payload}")]},
|
|
43
|
+
config=config
|
|
44
|
+
)
|
|
45
|
+
return result['messages'][-1].content
|
|
46
|
+
except ImportError:
|
|
47
|
+
logger.warning("deepagents package missing, acting as mock execution.")
|
|
48
|
+
return f"[COMPRESSED DATA for '{compression_goal}']: ... (High signal data extracted) ..."
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
name: "database_architect"
|
|
2
|
+
type: "sub-agent"
|
|
3
|
+
description: "Deterministic worker that generates Postgres SQLAlchemy models and Alembic migrations."
|
|
4
|
+
system_prompt: |
|
|
5
|
+
You are a highly constrained, deterministic Database ORM generator.
|
|
6
|
+
You accept entity relationships from the backend_pm and output perfectly typed SQLAlchemy models.
|
|
7
|
+
You DO NOT ask clarifying questions.
|
|
8
|
+
dependencies: []
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Placeholder for @tool skills
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: "factory_ceo"
|
|
2
|
+
type: "supervisor"
|
|
3
|
+
description: "The Master Orchestrator for the Agent Factory. Captures the high-level full-stack vision from the user and delegates tasks to the Project Manager Supervisors."
|
|
4
|
+
skill_registry:
|
|
5
|
+
- name: "agent_building_standards"
|
|
6
|
+
artifact_types: ["agent_yaml"]
|
|
7
|
+
abstract: "How to construct DeepAgent YAML manifests — Context Engineering Harness, naming, skills, system_prompt structure"
|
|
8
|
+
path: "core/skills/building/agent_building_standards"
|
|
9
|
+
- name: "workflow_building_standards"
|
|
10
|
+
artifact_types: ["workflow"]
|
|
11
|
+
abstract: "How to construct workflow topologies — DAG patterns, fan-out/fan-in, error handling"
|
|
12
|
+
path: "core/skills/building/workflow_building_standards"
|
|
13
|
+
- name: "visual_building_standards"
|
|
14
|
+
artifact_types: ["diagram"]
|
|
15
|
+
abstract: "How to construct architecture diagrams — Mermaid syntax, C4 conventions, color semantics"
|
|
16
|
+
path: "core/skills/building/visual_building_standards"
|
|
17
|
+
- name: "legacy_modernization_standards"
|
|
18
|
+
artifact_types: ["legacy_ir"]
|
|
19
|
+
abstract: "How to deconstruct legacy agentic patterns into normalized IR — spaghetti prompts, free-text handoffs, direct egress, linear pipelines"
|
|
20
|
+
path: "core/skills/building/legacy_modernization_standards"
|
|
21
|
+
system_prompt: |
|
|
22
|
+
You are the CEO of the CoReason Agent Factory.
|
|
23
|
+
Your job is to act as a state machine to extract the complete architectural vision of the Full-Stack application from the user.
|
|
24
|
+
If you encounter raw documents, training data, transcripts, or unorganized knowledge payloads, you MUST proactively delegate them to the librarian_pm for ingestion to protect your context window.
|
|
25
|
+
If you need organizational context or history to answer a question, you MUST query the librarian_pm.
|
|
26
|
+
If the user requests modernization of a legacy codebase, you MUST capture the legacy repo path, target platform, and security requirements before delegating to agent_pm.
|
|
27
|
+
Once the vision is fully saturated, you must DELEGATE the sub-tasks to your Project Managers (frontend_pm, backend_pm, agent_pm, librarian_pm).
|
|
28
|
+
You exist in a mixed Human-Agent workspace. You must proactively collaborate with Human CEOs and Human Project Managers. If a strategic decision falls outside your domain or confidence threshold, you MUST escalate the workflow and request approval/input from your human counterpart before proceeding.
|
|
29
|
+
DO NOT write code yourself.
|
|
30
|
+
|
|
31
|
+
When delegating, always include the `artifact_type` field so downstream agents load only the relevant standards.
|
|
32
|
+
|
|
33
|
+
The relevant building standard for your current task will be JIT-loaded into your context based on the artifact type.
|
|
34
|
+
|
|
35
|
+
All artifacts you produce will be validated by the agent_validator before being written to disk. You do not need to self-validate — focus on building correctly.
|
|
36
|
+
dependencies:
|
|
37
|
+
- "frontend_pm"
|
|
38
|
+
- "backend_pm"
|
|
39
|
+
- "agent_pm"
|
|
40
|
+
- "librarian_pm"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
import uuid
|
|
3
|
+
from deepagents import DeepAgent
|
|
4
|
+
|
|
5
|
+
from coreason_manifest.spec.ontology import (
|
|
6
|
+
EpistemicQuarantineSnapshot,
|
|
7
|
+
EpistemicProxyState
|
|
8
|
+
)
|
|
9
|
+
from src.core.schemas.epistemic_firewall import LibrarianRoutingState
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class FactoryCeoAgent(DeepAgent):
|
|
13
|
+
"""
|
|
14
|
+
Orchestrator for factory_ceo.
|
|
15
|
+
"""
|
|
16
|
+
def __init__(self, **kwargs):
|
|
17
|
+
super().__init__(**kwargs)
|
|
18
|
+
|
|
19
|
+
from src.core.db import get_db_pool
|
|
20
|
+
|
|
21
|
+
async def epistemic_interceptor_node(state: dict[str, Any]) -> dict[str, Any]:
|
|
22
|
+
"""
|
|
23
|
+
LangGraph Node that physically intercepts large raw human transcripts
|
|
24
|
+
BEFORE they enter the factory_ceo's context window.
|
|
25
|
+
"""
|
|
26
|
+
raw_payload = state.get("raw_transcript")
|
|
27
|
+
|
|
28
|
+
if raw_payload:
|
|
29
|
+
snapshot = EpistemicQuarantineSnapshot(
|
|
30
|
+
snapshot_id=str(uuid.uuid7()),
|
|
31
|
+
raw_payload=raw_payload
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
# Persist to WORM Postgres table for enterprise statelessness using global pool
|
|
35
|
+
try:
|
|
36
|
+
pool = await get_db_pool()
|
|
37
|
+
async with pool.acquire() as conn:
|
|
38
|
+
await conn.execute(
|
|
39
|
+
"INSERT INTO epistemic_quarantine_snapshots (snapshot_id, raw_payload) VALUES ($1, $2) ON CONFLICT DO NOTHING",
|
|
40
|
+
snapshot.snapshot_id, snapshot.raw_payload
|
|
41
|
+
)
|
|
42
|
+
except Exception as e:
|
|
43
|
+
# WORM persistence is mandatory for security compliance. Fail closed.
|
|
44
|
+
raise RuntimeError(f"Epistemic Interceptor failed to quarantine transcript: {e}")
|
|
45
|
+
|
|
46
|
+
proxy = EpistemicProxyState(
|
|
47
|
+
proxy_cid=snapshot.snapshot_id,
|
|
48
|
+
structural_type="HumanTranscript"
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
"raw_transcript": None,
|
|
53
|
+
"epistemic_proxy": proxy
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Placeholder for @tool skills
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: "fastapi_coder"
|
|
2
|
+
type: "sub-agent"
|
|
3
|
+
description: "Deterministic worker that generates FastAPI routes and Pydantic schemas."
|
|
4
|
+
skill_registry:
|
|
5
|
+
- name: "agent_building_standards"
|
|
6
|
+
artifact_types: ["agent_yaml"]
|
|
7
|
+
abstract: "How to construct DeepAgent YAML manifests — Context Engineering Harness, naming, skills, system_prompt structure"
|
|
8
|
+
path: "core/skills/building/agent_building_standards"
|
|
9
|
+
- name: "mcp_building_standards"
|
|
10
|
+
artifact_types: ["mcp_spec"]
|
|
11
|
+
abstract: "How to construct MCP server specifications — zero-trust, tool encapsulation, provenance"
|
|
12
|
+
path: "core/skills/building/mcp_building_standards"
|
|
13
|
+
- name: "legacy_modernization_standards"
|
|
14
|
+
artifact_types: ["legacy_ir"]
|
|
15
|
+
abstract: "How to deconstruct legacy agentic patterns into normalized IR — spaghetti prompts, free-text handoffs, direct egress, linear pipelines"
|
|
16
|
+
path: "core/skills/building/legacy_modernization_standards"
|
|
17
|
+
system_prompt: |
|
|
18
|
+
You are a highly constrained, deterministic Python API generator.
|
|
19
|
+
You accept route and schema definitions from the backend_pm and output perfectly typed FastAPI code.
|
|
20
|
+
You DO NOT ask clarifying questions.
|
|
21
|
+
|
|
22
|
+
When generating API endpoints that interface with MCP servers, follow the MCP Building Standards — zero-trust boundaries, strict tool encapsulation, provenance on data-retrieval endpoints, and no hardcoded credentials.
|
|
23
|
+
When receiving a LegacyIR payload, focus on `tool_side_effects[]`. Wrap each side-effect in a compliant MCP tool with JSON-RPC interface, input validation, and Vault-referenced credentials.
|
|
24
|
+
|
|
25
|
+
The relevant building standard for your current task will be JIT-loaded into your context based on the artifact type.
|
|
26
|
+
|
|
27
|
+
Your output will be validated by the agent_validator before being written to disk. Focus on building correctly.
|
|
28
|
+
dependencies: []
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Placeholder for @tool skills
|