tradingcodex 0.2.2__tar.gz → 0.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/PKG-INFO +19 -18
  2. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/README.md +17 -16
  3. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/README.md +3 -1
  4. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/components.md +3 -3
  5. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/core-concepts-and-rules.md +12 -11
  6. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/deployment.md +36 -8
  7. tradingcodex-0.2.4/docs/financial-workflow-references.md +152 -0
  8. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/generated-workspaces.md +90 -31
  9. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/guardrails.md +6 -6
  10. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/harness.md +10 -10
  11. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/improvement-loop.md +1 -1
  12. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/interfaces-and-surfaces.md +85 -45
  13. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/licensing-and-commercialization.md +2 -2
  14. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/product-direction.md +10 -8
  15. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/research-memory-and-artifacts.md +9 -0
  16. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/roles-skills-and-workflows.md +42 -33
  17. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/safety-policy-and-execution.md +22 -21
  18. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/system-architecture.md +16 -13
  19. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/docs/validation-and-test-plan.md +20 -4
  20. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/installation.md +17 -0
  21. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/pyproject.toml +2 -2
  22. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/static/tradingcodex_web/app.css +342 -1
  23. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/static/tradingcodex_web/workbench.css +7 -14
  24. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tests/test_broker_center_prd.py +24 -7
  25. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tests/test_e2e_user_scenarios.py +19 -5
  26. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tests/test_python_migration.py +1012 -238
  27. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex.egg-info/PKG-INFO +19 -18
  28. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex.egg-info/SOURCES.txt +12 -23
  29. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/__main__.py +15 -5
  30. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/bootstrap.py +54 -1
  31. tradingcodex-0.2.4/tradingcodex_cli/commands/connectors.py +66 -0
  32. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/doctor.py +7 -6
  33. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/mcp.py +2 -0
  34. tradingcodex-0.2.4/tradingcodex_cli/commands/mode.py +39 -0
  35. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/profile.py +39 -24
  36. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/research.py +4 -0
  37. tradingcodex-0.2.4/tradingcodex_cli/commands/subagents.py +203 -0
  38. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/generator.py +6 -1
  39. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/service_autostart.py +60 -3
  40. tradingcodex-0.2.4/tradingcodex_cli/startup_status.py +401 -0
  41. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/api.py +16 -5
  42. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/agents.py +51 -39
  43. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/artifact_quality.py +11 -0
  44. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/brokers.py +196 -4
  45. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/components.py +31 -12
  46. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/context_budget.py +34 -9
  47. tradingcodex-0.2.4/tradingcodex_service/application/harness.py +1800 -0
  48. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/orders.py +148 -30
  49. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/portfolio.py +2 -2
  50. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/research.py +4 -0
  51. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/runtime.py +51 -2
  52. tradingcodex-0.2.4/tradingcodex_service/application/runtime_mode.py +107 -0
  53. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/mcp_runtime.py +61 -11
  54. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/agent_skills.html +2 -2
  55. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/agents.html +4 -4
  56. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/base.html +16 -42
  57. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/brokers.html +14 -7
  58. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/dashboard.html +14 -14
  59. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/fragments/role_inspector.html +9 -9
  60. tradingcodex-0.2.4/tradingcodex_service/templates/web/fragments/starter_prompt.html +253 -0
  61. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/fragments/topology_canvas.html +6 -6
  62. tradingcodex-0.2.4/tradingcodex_service/templates/web/fragments/workspace_card.html +37 -0
  63. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/harness.html +10 -10
  64. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/mcp_router.html +43 -43
  65. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/orders.html +23 -12
  66. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/policy.html +2 -2
  67. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/portfolio.html +29 -11
  68. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/research.html +33 -6
  69. tradingcodex-0.2.4/tradingcodex_service/templates/web/starter_prompt.html +51 -0
  70. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/strategies.html +9 -3
  71. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/urls.py +1 -0
  72. tradingcodex-0.2.4/tradingcodex_service/version.py +1 -0
  73. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/web.py +182 -32
  74. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.codex/config.toml +16 -2
  75. tradingcodex-0.2.4/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +276 -0
  76. tradingcodex-0.2.4/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +116 -0
  77. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/AGENTS.md +5 -0
  78. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/tcx +21 -1
  79. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/execution-operator.toml +6 -6
  80. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +1 -1
  81. tradingcodex-0.2.4/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/SKILL.md +31 -0
  82. tradingcodex-0.2.4/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/agents/openai.yaml +6 -0
  83. tradingcodex-0.2.4/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/SKILL.md +22 -0
  84. tradingcodex-0.2.4/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/agents/openai.yaml +6 -0
  85. tradingcodex-0.2.4/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/SKILL.md +23 -0
  86. tradingcodex-0.2.4/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/agents/openai.yaml +6 -0
  87. tradingcodex-0.2.2/tradingcodex_cli/commands/subagents.py +0 -113
  88. tradingcodex-0.2.2/tradingcodex_service/application/harness.py +0 -689
  89. tradingcodex-0.2.2/tradingcodex_service/templates/web/fragments/starter_prompt.html +0 -24
  90. tradingcodex-0.2.2/tradingcodex_service/templates/web/starter_prompt.html +0 -40
  91. tradingcodex-0.2.2/tradingcodex_service/version.py +0 -1
  92. tradingcodex-0.2.2/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +0 -471
  93. tradingcodex-0.2.2/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +0 -192
  94. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/SKILL.md +0 -77
  95. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/agents/openai.yaml +0 -6
  96. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/manage-optional-skills/SKILL.md +0 -101
  97. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/manage-optional-skills/agents/openai.yaml +0 -6
  98. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/SKILL.md +0 -73
  99. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/agents/openai.yaml +0 -6
  100. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/SKILL.md +0 -51
  101. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/agents/openai.yaml +0 -6
  102. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/scenario-quality-gates/SKILL.md +0 -142
  103. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/scenario-quality-gates/agents/openai.yaml +0 -6
  104. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/SKILL.md +0 -51
  105. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/agents/openai.yaml +0 -6
  106. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/SKILL.md +0 -17
  107. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/agents/openai.yaml +0 -6
  108. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/SKILL.md +0 -96
  109. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/agents/openai.yaml +0 -6
  110. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/asset-classes.md +0 -43
  111. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/capability-profile.md +0 -51
  112. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/connector-templates.md +0 -70
  113. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/safety-runbook.md +0 -31
  114. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/troubleshooting.md +0 -50
  115. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/scripts/summarize_connector_status.py +0 -39
  116. tradingcodex-0.2.2/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/scripts/validate_connector_profile.py +0 -80
  117. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/CONTRIBUTING.md +0 -0
  118. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/LICENSE +0 -0
  119. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/MANIFEST.in +0 -0
  120. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/NOTICE +0 -0
  121. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/TRADEMARKS.md +0 -0
  122. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/__init__.py +0 -0
  123. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/audit/__init__.py +0 -0
  124. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/audit/admin.py +0 -0
  125. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/audit/apps.py +0 -0
  126. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/audit/migrations/0001_initial.py +0 -0
  127. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/audit/migrations/__init__.py +0 -0
  128. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/audit/models.py +0 -0
  129. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/harness/__init__.py +0 -0
  130. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/harness/admin.py +0 -0
  131. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/harness/apps.py +0 -0
  132. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/harness/migrations/0001_initial.py +0 -0
  133. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/harness/migrations/__init__.py +0 -0
  134. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/harness/models.py +0 -0
  135. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/harness/templatetags/__init__.py +0 -0
  136. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/integrations/__init__.py +0 -0
  137. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/integrations/admin.py +0 -0
  138. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/integrations/apps.py +0 -0
  139. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/integrations/migrations/0001_initial.py +0 -0
  140. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/integrations/migrations/0002_brokerconnection_brokeraccount_instrumentmap.py +0 -0
  141. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/integrations/migrations/__init__.py +0 -0
  142. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/integrations/models.py +0 -0
  143. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/integrations/services.py +0 -0
  144. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/mcp/__init__.py +0 -0
  145. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/mcp/admin.py +0 -0
  146. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/mcp/apps.py +0 -0
  147. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/mcp/migrations/0001_initial.py +0 -0
  148. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/mcp/migrations/__init__.py +0 -0
  149. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/mcp/models.py +0 -0
  150. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/mcp/services.py +0 -0
  151. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/__init__.py +0 -0
  152. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/admin.py +0 -0
  153. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/apps.py +0 -0
  154. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/migrations/0001_initial.py +0 -0
  155. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/migrations/0002_approvalreceipt_approved_order_type_and_more.py +0 -0
  156. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/migrations/0003_migrate_orderintent_to_orderticket.py +0 -0
  157. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/migrations/0004_remove_order_intent_compat_fields.py +0 -0
  158. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/migrations/__init__.py +0 -0
  159. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/models.py +0 -0
  160. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/orders/services.py +0 -0
  161. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/policy/__init__.py +0 -0
  162. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/policy/admin.py +0 -0
  163. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/policy/apps.py +0 -0
  164. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/policy/migrations/0001_initial.py +0 -0
  165. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/policy/migrations/__init__.py +0 -0
  166. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/policy/models.py +0 -0
  167. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/policy/services.py +0 -0
  168. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/portfolio/__init__.py +0 -0
  169. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/portfolio/admin.py +0 -0
  170. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/portfolio/apps.py +0 -0
  171. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/portfolio/migrations/0001_initial.py +0 -0
  172. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/portfolio/migrations/0002_brokersyncrun_portfolioledgerevent_reconciliationrun.py +0 -0
  173. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/portfolio/migrations/__init__.py +0 -0
  174. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/portfolio/models.py +0 -0
  175. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/research/__init__.py +0 -0
  176. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/research/admin.py +0 -0
  177. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/research/apps.py +0 -0
  178. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/research/migrations/__init__.py +0 -0
  179. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/research/models.py +0 -0
  180. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/workflows/__init__.py +0 -0
  181. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/workflows/admin.py +0 -0
  182. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/workflows/apps.py +0 -0
  183. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/workflows/migrations/0001_initial.py +0 -0
  184. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/workflows/migrations/__init__.py +0 -0
  185. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/apps/workflows/models.py +0 -0
  186. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/assets/tradingcodex-banner.svg +0 -0
  187. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/install.sh +0 -0
  188. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/setup.cfg +0 -0
  189. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/static/tradingcodex_admin/favicon.svg +0 -0
  190. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/static/tradingcodex_web/app.js +0 -0
  191. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/static/vendor/alpine/alpine.min.js +0 -0
  192. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/static/vendor/htmx/htmx.min.js +0 -0
  193. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex.egg-info/dependency_links.txt +0 -0
  194. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex.egg-info/entry_points.txt +0 -0
  195. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex.egg-info/requires.txt +0 -0
  196. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex.egg-info/top_level.txt +0 -0
  197. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/__init__.py +0 -0
  198. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/__init__.py +0 -0
  199. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/db.py +0 -0
  200. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/orders.py +0 -0
  201. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/policy.py +0 -0
  202. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/skills.py +0 -0
  203. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/strategies.py +0 -0
  204. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/utils.py +0 -0
  205. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/commands/workspaces.py +0 -0
  206. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_cli/mcp_stdio.py +0 -0
  207. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/__init__.py +0 -0
  208. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/admin.py +0 -0
  209. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/__init__.py +0 -0
  210. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/audit.py +0 -0
  211. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/common.py +0 -0
  212. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/markdown_preview.py +0 -0
  213. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/application/policy.py +0 -0
  214. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/asgi.py +0 -0
  215. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/mcp_http.py +0 -0
  216. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/settings.py +0 -0
  217. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/templates/web/activity.html +0 -0
  218. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/tradingcodex_service/wsgi.py +0 -0
  219. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/__init__.py +0 -0
  220. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/audit/files/.tradingcodex/audit/README.md +0 -0
  221. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/audit/files/trading/audit/.gitkeep +0 -0
  222. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/audit/module.json +0 -0
  223. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.codex/hooks.json +0 -0
  224. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.codex/rules/tradingcodex.rules +0 -0
  225. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.tradingcodex/capabilities.yaml +0 -0
  226. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.tradingcodex/cli.py +0 -0
  227. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.tradingcodex/config.yaml +0 -0
  228. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/policy-bindings.yaml +0 -0
  229. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/principals.yaml +0 -0
  230. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/roles.yaml +0 -0
  231. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/files/pyproject.toml +0 -0
  232. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/codex-base/module.json +0 -0
  233. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/access-policies.yaml +0 -0
  234. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/restricted-list.yaml +0 -0
  235. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/approval_receipt.schema.json +0 -0
  236. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/audit_event.schema.json +0 -0
  237. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/evidence_pack.schema.json +0 -0
  238. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/execution_result.schema.json +0 -0
  239. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/fundamental_report.schema.json +0 -0
  240. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/news_report.schema.json +0 -0
  241. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_ticket.schema.json +0 -0
  242. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/portfolio_review.schema.json +0 -0
  243. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/postmortem_report.schema.json +0 -0
  244. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/research_artifact.schema.json +0 -0
  245. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/risk_report.schema.json +0 -0
  246. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/technical_report.schema.json +0 -0
  247. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/thesis.schema.json +0 -0
  248. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/valuation.schema.json +0 -0
  249. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/enforcement-guardrails/module.json +0 -0
  250. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +0 -0
  251. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +0 -0
  252. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +0 -0
  253. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +0 -0
  254. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +0 -0
  255. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +0 -0
  256. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +0 -0
  257. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/head-manager.yaml +0 -0
  258. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/skill-change-proposals/.gitkeep +0 -0
  259. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/subagent-registry.yaml +0 -0
  260. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/fixed-subagents/module.json +0 -0
  261. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/guardrails.md +0 -0
  262. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/task-quality-checklist.md +0 -0
  263. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/guidance-guardrails/module.json +0 -0
  264. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/.tradingcodex/policies/information-barriers.yaml +0 -0
  265. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/.tradingcodex/secrets.md +0 -0
  266. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/approvals/.gitkeep +0 -0
  267. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/market-data/.gitkeep +0 -0
  268. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/orders/approved/.gitkeep +0 -0
  269. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/orders/draft/.gitkeep +0 -0
  270. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/orders/executed/.gitkeep +0 -0
  271. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/orders/rejected/.gitkeep +0 -0
  272. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/portfolio/.gitkeep +0 -0
  273. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/fundamental/.gitkeep +0 -0
  274. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/instrument/.gitkeep +0 -0
  275. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/macro/.gitkeep +0 -0
  276. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/news/.gitkeep +0 -0
  277. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/policy/.gitkeep +0 -0
  278. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/portfolio/.gitkeep +0 -0
  279. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/postmortem/.gitkeep +0 -0
  280. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/risk/.gitkeep +0 -0
  281. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/technical/.gitkeep +0 -0
  282. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/reports/valuation/.gitkeep +0 -0
  283. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/files/trading/research/.gitkeep +0 -0
  284. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/information-barriers/module.json +0 -0
  285. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/paper-trading/files/.tradingcodex/mcp/adapters/paper-trading.py +0 -0
  286. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/paper-trading/module.json +0 -0
  287. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/postmortem/files/.tradingcodex/workflows/postmortem.yaml +0 -0
  288. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/postmortem/module.json +0 -0
  289. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/SKILL.md +0 -0
  290. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/agents/openai.yaml +0 -0
  291. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/SKILL.md +0 -0
  292. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/agents/openai.yaml +0 -0
  293. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/SKILL.md +0 -0
  294. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/agents/openai.yaml +0 -0
  295. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/SKILL.md +0 -0
  296. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/agents/openai.yaml +0 -0
  297. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/SKILL.md +0 -0
  298. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/agents/openai.yaml +0 -0
  299. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/SKILL.md +0 -0
  300. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/agents/openai.yaml +0 -0
  301. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/SKILL.md +0 -0
  302. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/agents/openai.yaml +0 -0
  303. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/SKILL.md +0 -0
  304. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/agents/openai.yaml +0 -0
  305. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/SKILL.md +0 -0
  306. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/agents/openai.yaml +0 -0
  307. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/SKILL.md +0 -0
  308. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/agents/openai.yaml +0 -0
  309. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/SKILL.md +0 -0
  310. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/agents/openai.yaml +0 -0
  311. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/SKILL.md +0 -0
  312. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/agents/openai.yaml +0 -0
  313. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/SKILL.md +0 -0
  314. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/agents/openai.yaml +0 -0
  315. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/SKILL.md +0 -0
  316. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/agents/openai.yaml +0 -0
  317. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/SKILL.md +0 -0
  318. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/agents/openai.yaml +0 -0
  319. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/SKILL.md +0 -0
  320. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/agents/openai.yaml +0 -0
  321. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/repo-skills/module.json +0 -0
  322. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/stub-execution/files/.tradingcodex/mcp/adapters/stub-execution.py +0 -0
  323. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/stub-execution/module.json +0 -0
  324. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/adapters/live-adapter.contract.md +0 -0
  325. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/enforcer/README.md +0 -0
  326. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/gateway/README.md +0 -0
  327. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/server.py +0 -0
  328. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/smoke-call.py +0 -0
  329. {tradingcodex-0.2.2 → tradingcodex-0.2.4}/workspace_templates/modules/tradingcodex-mcp/module.json +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tradingcodex
3
- Version: 0.2.2
4
- Summary: Codex-native trading harness with a Django service plane and MCP execution boundary.
3
+ Version: 0.2.4
4
+ Summary: Codex-native trading harness with a Django service plane and approved action boundary.
5
5
  Author: TradingCodex Authors
6
6
  License-Expression: Apache-2.0
7
7
  Keywords: trading,django,codex,mcp,portfolio,research
@@ -59,8 +59,8 @@ Dynamic: license-file
59
59
 
60
60
  TradingCodex is a local-first Python/Django trading harness for rigorous
61
61
  Codex-assisted research, portfolio review, order-ticket checks, approvals, and
62
- experimental paper/stub execution. Codex coordinates the work, Django owns the
63
- durable service plane, and TradingCodex MCP is the executable boundary.
62
+ experimental non-live submission checks. Codex coordinates the work, Django
63
+ owns the durable service plane, and TradingCodex owns the executable boundary.
64
64
 
65
65
  [Quick Start](#installation) | [Docs](docs/README.md) | [Safety](docs/safety-policy-and-execution.md) | [Architecture](docs/system-architecture.md) | [Contributing](CONTRIBUTING.md) | [License](LICENSE)
66
66
 
@@ -90,11 +90,11 @@ broker actions. Live broker adapters are not shipped in the initial core.
90
90
  | Django service plane | Web, Admin, API, CLI, MCP, and generated hooks call shared application services for policy, orders, approvals, portfolio, audit, integrations, and research indexing. |
91
91
  | File-native research memory | Research markdown, role reports, source snapshots, versions, readiness labels, and handoff metadata stay readable in workspace files. |
92
92
  | Fixed-role workflows | Specialist agents own bounded questions across fundamentals, technicals, news, macro, instruments, valuation, portfolio, risk, and execution. |
93
- | MCP execution boundary | Tools are typed, role-scoped, policy-checked, approval-aware, idempotent, adapter-gated, and audited. |
94
- | Local web dashboard | Review agents, skills, strategy skills, research markdown, Broker Center, External MCP Gate metadata, order tickets, portfolio state, and activity at `127.0.0.1:48267`. |
93
+ | Approved action boundary | Actions are typed, role-scoped, policy-checked, approval-aware, duplicate-request checked, connection-gated, and audited. |
94
+ | Local web dashboard | Review agents, skills, strategy skills, research markdown, Broker Center, Data Sources, order tickets, portfolio state, and activity at `127.0.0.1:48267`. |
95
95
  | Broker Center foundations | Register connector profiles, inspect capability profiles, run read-only paper sync, review instrument constraints, and reconcile portfolio state. |
96
96
  | OrderTicket lifecycle | Draft, check, approve, submit, cancel, refresh, and inspect order tickets through central DB records and service-layer state transitions. |
97
- | External MCP Gate | Import external MCP discovery metadata, classify tool risk, scope role access, and block unsafe raw execution or secret proxy paths by default. |
97
+ | Data Sources gate | Import external source discovery metadata, review available actions, scope role access, and block unsafe raw execution or secret paths by default. |
98
98
  | Improvement loop | Quality gates, postmortems, optional skills, strategy skills, strict artifact checks, and generated workspace smoke tests turn process gaps into durable improvements. |
99
99
 
100
100
  ---
@@ -167,9 +167,10 @@ boundaries rather than on black-box automation.
167
167
  - Strong role model: one `head-manager` coordinates nine fixed specialist
168
168
  subagents and consumes accepted artifacts instead of silently redoing roles.
169
169
  - Deterministic executable boundary: every executable path follows
170
- `principal -> capability -> policy -> schema -> approval/idempotency -> adapter -> audit`.
171
- - Safety-first broker posture: live broker execution is excluded; paper, stub,
172
- and reviewed test/sandbox validation remain experimental local harness flows.
170
+ a fixed requester, permission, policy, payload, approval, duplicate-request,
171
+ connection, and audit sequence.
172
+ - Safety-first broker posture: live broker execution is excluded; paper and
173
+ reviewed test/sandbox validation remain experimental local harness flows.
173
174
 
174
175
  ---
175
176
 
@@ -179,8 +180,8 @@ TradingCodex is designed around handoffs:
179
180
 
180
181
  ```text
181
182
  evidence -> analysis -> valuation -> portfolio fit -> risk review
182
- -> draft order -> approval receipt -> MCP submit_approved_order
183
- -> adapter -> audit/postmortem
183
+ -> draft order -> approval receipt -> approved non-live submission
184
+ -> connection result -> audit/postmortem
184
185
  ```
185
186
 
186
187
  The `head-manager` maps the request, dispatches the selected role team, waits
@@ -203,7 +204,7 @@ workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
203
204
  | Decision review | `valuation-analyst` | Valuation ranges, scenario assumptions, multiples, sensitivity, and decision-quality gaps. |
204
205
  | Portfolio | `portfolio-manager` | Portfolio fit, sizing, concentration, liquidity, opportunity cost, and draft order-ticket readiness. |
205
206
  | Risk | `risk-manager` | Downside, restricted-list checks, policy readiness, approval readiness, and approval receipts. |
206
- | Execution | `execution-operator` | Approved paper/stub execution through TradingCodex MCP only. |
207
+ | Execution | `execution-operator` | Approved non-live submission through the TradingCodex service boundary only. |
207
208
 
208
209
  ---
209
210
 
@@ -211,7 +212,7 @@ workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
211
212
 
212
213
  | Surface | Role |
213
214
  | --- | --- |
214
- | Product web | Agents-first review dashboard for roles, skills, research markdown, Broker Center, External MCP Gate, order tickets, portfolio state, and activity. |
215
+ | Product web | Agents-first review dashboard for roles, skills, research markdown, Broker Center, Data Sources, order tickets, portfolio state, and activity. |
215
216
  | Django Admin | Local/staff DB inspection for policy, orders, portfolio, MCP registry, workflows, integrations, and audit rows. |
216
217
  | Django Ninja API | Typed local/staff REST and control endpoints that call service-layer use cases. |
217
218
  | MCP | Agent/tool boundary with typed tools, role scopes, policy checks, approval checks, and audit. |
@@ -228,7 +229,7 @@ core package.
228
229
  TradingCodex blocks or constrains:
229
230
 
230
231
  - direct live broker requests
231
- - raw broker API calls and raw external MCP execution proxies
232
+ - raw broker API calls and raw external source execution proxies
232
233
  - self-issued approvals
233
234
  - restricted-symbol orders
234
235
  - expired or payload-mismatched approval receipts
@@ -249,7 +250,7 @@ provide investment recommendations or guarantee returns.
249
250
  | Status | Milestone |
250
251
  | --- | --- |
251
252
  | Shipped | Generated Codex workspace, fixed role roster, project MCP config, Django service plane, local web dashboard, Admin, Ninja API, file-native research memory, component registry, policy/audit primitives. |
252
- | Current `0.2.x` | Central-DB `OrderTicket` rewrite, Broker Center foundations, External MCP Gate, role-scoped MCP tools, paper/stub execution lifecycle, and Python `>=3.11,<3.15` support. |
253
+ | Current `0.2.x` | Central-DB `OrderTicket` rewrite, Broker Center foundations, Data Sources gate, role-scoped actions, non-live execution lifecycle, and Python `>=3.11,<3.15` support. |
253
254
  | Next | Deeper validation scenarios, richer connector capability profiles, stronger generated-workspace smoke coverage, and improved artifact quality tooling. |
254
255
  | Future | Separately governed verified adapters, hosted/managed services, enterprise policy/compliance packs, and live broker support only after explicit product, policy, adapter, and validation work. |
255
256
 
@@ -263,7 +264,7 @@ provide investment recommendations or guarantee returns.
263
264
  | [Docs index](docs/README.md) | Source-of-truth reading order and document ownership. |
264
265
  | [Product direction](docs/product-direction.md) | Product thesis, target user posture, goals, non-goals, runtime defaults, and scope. |
265
266
  | [Core concepts and rules](docs/core-concepts-and-rules.md) | Fast operating reference for planes, guardrails, roles, execution lifecycle, and research memory. |
266
- | [Harness model](docs/harness.md) | Top-level harness model, components, guardrails, improvement, and naming rules. |
267
+ | [Workspace orchestration model](docs/harness.md) | Top-level workflow model, components, guardrails, improvement, and naming rules. |
267
268
  | [Roles, skills, and workflows](docs/roles-skills-and-workflows.md) | Fixed role roster, no-overlap handoffs, dispatch gates, skills, and strategy behavior. |
268
269
  | [Safety policy and execution](docs/safety-policy-and-execution.md) | Permissions, approvals, idempotency, broker safety, secret wall, and required blocks. |
269
270
  | [System architecture](docs/system-architecture.md) | Runtime planes, Django app boundaries, central DB ownership, models, and service use cases. |
@@ -278,7 +279,7 @@ Contributions use Apache-2.0 with DCO sign-off. See
278
279
  [CONTRIBUTING.md](CONTRIBUTING.md).
279
280
 
280
281
  For source changes, start with the focused validation command for the touched
281
- surface, then broaden as needed:
282
+ area, then broaden as needed:
282
283
 
283
284
  ```bash
284
285
  python -m pytest
@@ -28,8 +28,8 @@
28
28
 
29
29
  TradingCodex is a local-first Python/Django trading harness for rigorous
30
30
  Codex-assisted research, portfolio review, order-ticket checks, approvals, and
31
- experimental paper/stub execution. Codex coordinates the work, Django owns the
32
- durable service plane, and TradingCodex MCP is the executable boundary.
31
+ experimental non-live submission checks. Codex coordinates the work, Django
32
+ owns the durable service plane, and TradingCodex owns the executable boundary.
33
33
 
34
34
  [Quick Start](#installation) | [Docs](docs/README.md) | [Safety](docs/safety-policy-and-execution.md) | [Architecture](docs/system-architecture.md) | [Contributing](CONTRIBUTING.md) | [License](LICENSE)
35
35
 
@@ -59,11 +59,11 @@ broker actions. Live broker adapters are not shipped in the initial core.
59
59
  | Django service plane | Web, Admin, API, CLI, MCP, and generated hooks call shared application services for policy, orders, approvals, portfolio, audit, integrations, and research indexing. |
60
60
  | File-native research memory | Research markdown, role reports, source snapshots, versions, readiness labels, and handoff metadata stay readable in workspace files. |
61
61
  | Fixed-role workflows | Specialist agents own bounded questions across fundamentals, technicals, news, macro, instruments, valuation, portfolio, risk, and execution. |
62
- | MCP execution boundary | Tools are typed, role-scoped, policy-checked, approval-aware, idempotent, adapter-gated, and audited. |
63
- | Local web dashboard | Review agents, skills, strategy skills, research markdown, Broker Center, External MCP Gate metadata, order tickets, portfolio state, and activity at `127.0.0.1:48267`. |
62
+ | Approved action boundary | Actions are typed, role-scoped, policy-checked, approval-aware, duplicate-request checked, connection-gated, and audited. |
63
+ | Local web dashboard | Review agents, skills, strategy skills, research markdown, Broker Center, Data Sources, order tickets, portfolio state, and activity at `127.0.0.1:48267`. |
64
64
  | Broker Center foundations | Register connector profiles, inspect capability profiles, run read-only paper sync, review instrument constraints, and reconcile portfolio state. |
65
65
  | OrderTicket lifecycle | Draft, check, approve, submit, cancel, refresh, and inspect order tickets through central DB records and service-layer state transitions. |
66
- | External MCP Gate | Import external MCP discovery metadata, classify tool risk, scope role access, and block unsafe raw execution or secret proxy paths by default. |
66
+ | Data Sources gate | Import external source discovery metadata, review available actions, scope role access, and block unsafe raw execution or secret paths by default. |
67
67
  | Improvement loop | Quality gates, postmortems, optional skills, strategy skills, strict artifact checks, and generated workspace smoke tests turn process gaps into durable improvements. |
68
68
 
69
69
  ---
@@ -136,9 +136,10 @@ boundaries rather than on black-box automation.
136
136
  - Strong role model: one `head-manager` coordinates nine fixed specialist
137
137
  subagents and consumes accepted artifacts instead of silently redoing roles.
138
138
  - Deterministic executable boundary: every executable path follows
139
- `principal -> capability -> policy -> schema -> approval/idempotency -> adapter -> audit`.
140
- - Safety-first broker posture: live broker execution is excluded; paper, stub,
141
- and reviewed test/sandbox validation remain experimental local harness flows.
139
+ a fixed requester, permission, policy, payload, approval, duplicate-request,
140
+ connection, and audit sequence.
141
+ - Safety-first broker posture: live broker execution is excluded; paper and
142
+ reviewed test/sandbox validation remain experimental local harness flows.
142
143
 
143
144
  ---
144
145
 
@@ -148,8 +149,8 @@ TradingCodex is designed around handoffs:
148
149
 
149
150
  ```text
150
151
  evidence -> analysis -> valuation -> portfolio fit -> risk review
151
- -> draft order -> approval receipt -> MCP submit_approved_order
152
- -> adapter -> audit/postmortem
152
+ -> draft order -> approval receipt -> approved non-live submission
153
+ -> connection result -> audit/postmortem
153
154
  ```
154
155
 
155
156
  The `head-manager` maps the request, dispatches the selected role team, waits
@@ -172,7 +173,7 @@ workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
172
173
  | Decision review | `valuation-analyst` | Valuation ranges, scenario assumptions, multiples, sensitivity, and decision-quality gaps. |
173
174
  | Portfolio | `portfolio-manager` | Portfolio fit, sizing, concentration, liquidity, opportunity cost, and draft order-ticket readiness. |
174
175
  | Risk | `risk-manager` | Downside, restricted-list checks, policy readiness, approval readiness, and approval receipts. |
175
- | Execution | `execution-operator` | Approved paper/stub execution through TradingCodex MCP only. |
176
+ | Execution | `execution-operator` | Approved non-live submission through the TradingCodex service boundary only. |
176
177
 
177
178
  ---
178
179
 
@@ -180,7 +181,7 @@ workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
180
181
 
181
182
  | Surface | Role |
182
183
  | --- | --- |
183
- | Product web | Agents-first review dashboard for roles, skills, research markdown, Broker Center, External MCP Gate, order tickets, portfolio state, and activity. |
184
+ | Product web | Agents-first review dashboard for roles, skills, research markdown, Broker Center, Data Sources, order tickets, portfolio state, and activity. |
184
185
  | Django Admin | Local/staff DB inspection for policy, orders, portfolio, MCP registry, workflows, integrations, and audit rows. |
185
186
  | Django Ninja API | Typed local/staff REST and control endpoints that call service-layer use cases. |
186
187
  | MCP | Agent/tool boundary with typed tools, role scopes, policy checks, approval checks, and audit. |
@@ -197,7 +198,7 @@ core package.
197
198
  TradingCodex blocks or constrains:
198
199
 
199
200
  - direct live broker requests
200
- - raw broker API calls and raw external MCP execution proxies
201
+ - raw broker API calls and raw external source execution proxies
201
202
  - self-issued approvals
202
203
  - restricted-symbol orders
203
204
  - expired or payload-mismatched approval receipts
@@ -218,7 +219,7 @@ provide investment recommendations or guarantee returns.
218
219
  | Status | Milestone |
219
220
  | --- | --- |
220
221
  | Shipped | Generated Codex workspace, fixed role roster, project MCP config, Django service plane, local web dashboard, Admin, Ninja API, file-native research memory, component registry, policy/audit primitives. |
221
- | Current `0.2.x` | Central-DB `OrderTicket` rewrite, Broker Center foundations, External MCP Gate, role-scoped MCP tools, paper/stub execution lifecycle, and Python `>=3.11,<3.15` support. |
222
+ | Current `0.2.x` | Central-DB `OrderTicket` rewrite, Broker Center foundations, Data Sources gate, role-scoped actions, non-live execution lifecycle, and Python `>=3.11,<3.15` support. |
222
223
  | Next | Deeper validation scenarios, richer connector capability profiles, stronger generated-workspace smoke coverage, and improved artifact quality tooling. |
223
224
  | Future | Separately governed verified adapters, hosted/managed services, enterprise policy/compliance packs, and live broker support only after explicit product, policy, adapter, and validation work. |
224
225
 
@@ -232,7 +233,7 @@ provide investment recommendations or guarantee returns.
232
233
  | [Docs index](docs/README.md) | Source-of-truth reading order and document ownership. |
233
234
  | [Product direction](docs/product-direction.md) | Product thesis, target user posture, goals, non-goals, runtime defaults, and scope. |
234
235
  | [Core concepts and rules](docs/core-concepts-and-rules.md) | Fast operating reference for planes, guardrails, roles, execution lifecycle, and research memory. |
235
- | [Harness model](docs/harness.md) | Top-level harness model, components, guardrails, improvement, and naming rules. |
236
+ | [Workspace orchestration model](docs/harness.md) | Top-level workflow model, components, guardrails, improvement, and naming rules. |
236
237
  | [Roles, skills, and workflows](docs/roles-skills-and-workflows.md) | Fixed role roster, no-overlap handoffs, dispatch gates, skills, and strategy behavior. |
237
238
  | [Safety policy and execution](docs/safety-policy-and-execution.md) | Permissions, approvals, idempotency, broker safety, secret wall, and required blocks. |
238
239
  | [System architecture](docs/system-architecture.md) | Runtime planes, Django app boundaries, central DB ownership, models, and service use cases. |
@@ -247,7 +248,7 @@ Contributions use Apache-2.0 with DCO sign-off. See
247
248
  [CONTRIBUTING.md](CONTRIBUTING.md).
248
249
 
249
250
  For source changes, start with the focused validation command for the touched
250
- surface, then broaden as needed:
251
+ area, then broaden as needed:
251
252
 
252
253
  ```bash
253
254
  python -m pytest
@@ -24,6 +24,7 @@ reference, then follow the topic-specific files for implementation-level rules.
24
24
  | [guardrails.md](./guardrails.md) | Guardrails taxonomy: guidance, enforcement, and information barriers | Guardrail classes, enforcement boundaries, information barriers, or safety taxonomy changes |
25
25
  | [improvement-loop.md](./improvement-loop.md) | Improvement taxonomy: workflow quality, research memory, file-native skill proposals, postmortems, validation feedback | Quality gates, learning loops, postmortems, skill proposal/projection, or validation feedback behavior changes |
26
26
  | [product-direction.md](./product-direction.md) | Product definition, target users, goals, non-goals, scope posture, current defaults | Product direction, release scope, default runtime, product language, or live-execution posture changes |
27
+ | [financial-workflow-references.md](./financial-workflow-references.md) | Research-backed finance workflow and non-expert UX principles for workflow handoffs and role outputs | User-facing workflow intake, suitability/profile context, plain-English output, or professional finance method framing changes |
27
28
  | [system-architecture.md](./system-architecture.md) | Django modular monolith, central DB, app boundaries, service layer, core models, runtime planes | Django apps, DB ownership, service-layer use cases, model ownership, or runtime topology changes |
28
29
  | [interfaces-and-surfaces.md](./interfaces-and-surfaces.md) | Product web, Django Admin, Django Ninja API, MCP endpoint, CLI, generated `./tcx` wrapper | User/admin/API/MCP/CLI surface changes, route changes, or callable tool changes |
29
30
  | [safety-policy-and-execution.md](./safety-policy-and-execution.md) | Guardrail taxonomy, policy checks, approvals, idempotency, execution lifecycle, blocked actions | Policy, permissions, approvals, adapters, execution, restricted list, secret handling, or risk gates change |
@@ -43,7 +44,7 @@ reference, then follow the topic-specific files for implementation-level rules.
43
44
  | Gateway docs remain stable | `core-concepts-and-rules.md` stays as the stable entrypoint even when details move into topic files. |
44
45
  | Implementation verifies docs | Implementation does not replace the docs. If implementation reveals a durable rule, document it. |
45
46
  | Product language is English | TradingCodex product copy, generated workspace guidance, Admin UI, CLI help, and durable docs are written in English. |
46
- | Product web is review-first | The `/` web app redirects to the agents-first skill browser and can prepare starter prompts, but does not spawn agents, approve orders, or execute orders. |
47
+ | Product web is review-first | The `/` web app opens on the workflow planner and can preview handoffs, but does not spawn agents, approve orders, or execute orders. |
47
48
  | Open-core boundary is explicit | Apache-2.0 covers the repository open core; trademarks and official commercial offerings remain separately governed. |
48
49
 
49
50
  ## Change Checklist
@@ -52,6 +53,7 @@ reference, then follow the topic-specific files for implementation-level rules.
52
53
  | --- | --- |
53
54
  | Top-level harness model, component registry, guardrail/improvement taxonomy, or cross-cutting concept language | `harness.md`, `components.md`, `guardrails.md`, `improvement-loop.md`, `core-concepts-and-rules.md` |
54
55
  | Product scope, non-goals, or default runtime | `product-direction.md`, `harness.md` |
56
+ | Financial workflow intake, non-expert UX, suitability/profile context, or plain-English finance output | `financial-workflow-references.md`, `interfaces-and-surfaces.md`, `roles-skills-and-workflows.md` |
55
57
  | Django apps, models, service-layer contracts, or DB ownership | `system-architecture.md` |
56
58
  | Product web, Admin, REST, MCP, CLI, or wrapper behavior | `interfaces-and-surfaces.md` |
57
59
  | Guardrails, policy, permission, approval, execution, adapter, or secret boundary | `guardrails.md`, `safety-policy-and-execution.md`, `core-concepts-and-rules.md` |
@@ -43,16 +43,16 @@ paths clear.
43
43
  | `context-efficiency-contract` | Keeps workflows bounded through compact briefs, artifact references, context summaries, source snapshot IDs, targeted full-artifact reads, and `subagents context-audit` validation. | `guardrail.guidance`, `guardrail.information_barrier`, `improvement.workflow_quality`, `improvement.context_efficiency` |
44
44
  | `responsibility-boundary-contract` | Separates durable role identity, tool permissions, skill procedures, artifact contracts, and projection ownership so changes stay local. | `guardrail.guidance`, `guardrail.information_barrier`, `improvement.workflow_quality`, `improvement.skill_evolution` |
45
45
  | `external-data-source-gate` | Keeps external evidence read-only and source-aware. | `guardrail.guidance`, `improvement.workflow_quality` |
46
- | `external-mcp-proxy-gate` | Registers external MCP connections, imports metadata, classifies risk, manages lifecycle/review state, and blocks unsafe direct proxy paths. | `guardrail.enforcement`, `guardrail.information_barrier` |
46
+ | `external-mcp-proxy-gate` | Registers external MCP connections, imports metadata, classifies risk, manages lifecycle/review state, and blocks unsafe direct connection paths. | `guardrail.enforcement`, `guardrail.information_barrier` |
47
47
  | `broker-center` | Normalizes native broker connector profiles, read-only account discovery, sync runs, instrument constraints, and order-translation previews. | `guardrail.enforcement`, `improvement.workflow_quality` |
48
48
  | `secret-wall` | Blocks raw broker secrets from workspace files, prompts, shell paths, and role context. | `guardrail.enforcement`, `guardrail.information_barrier` |
49
49
  | `policy-and-restricted-list` | Evaluates principals, capabilities, explicit deny rules, restricted symbols, and limits. | `guardrail.enforcement` |
50
50
  | `approval-gate` | Validates order tickets, JSON order inputs, and approval receipts before execution-sensitive action. | `guardrail.enforcement` |
51
- | `execution-boundary` | Keeps execution behind MCP allowlists, approval, idempotency, adapter, and audit checks. | `guardrail.enforcement`, `guardrail.information_barrier` |
51
+ | `execution-boundary` | Keeps execution behind role action allowlists, approval, duplicate-request, connection, and audit checks. | `guardrail.enforcement`, `guardrail.information_barrier` |
52
52
  | `audit-ledger` | Records policy, MCP, order, approval, execution, and hook events. | `guardrail.enforcement`, `improvement.validation_feedback` |
53
53
  | `skill-improvement-loop` | Keeps core skills, strategy skills, and role-local optional skill files visible through validation, generated manifests, and read-only status. | `improvement.skill_evolution`, `guardrail.guidance` |
54
54
  | `postmortem-loop` | Turns rejected orders, process failures, thesis changes, and executions into improvements. | `improvement.postmortems`, `improvement.validation_feedback` |
55
- | `paper-execution` | Provides experimental local paper and stub adapters behind the execution boundary. | `guardrail.enforcement` |
55
+ | `paper-execution` | Provides experimental local paper and validation-only execution paths behind the approved action boundary. | `guardrail.enforcement` |
56
56
 
57
57
  ## Runtime Surfaces
58
58
 
@@ -7,9 +7,9 @@ the detailed source documents rather than repeating every rule. Use
7
7
  ## One-Line Product Definition
8
8
 
9
9
  TradingCodex is a Python/Django-native trading harness that lets an investor
10
- use Codex for research, decision support, approvals, and stub/paper execution
11
- while ensuring every executable action crosses a deterministic Django service
12
- layer and TradingCodex MCP enforcement boundary.
10
+ use Codex for research, decision support, approvals, and non-live validation
11
+ while ensuring every executable action crosses deterministic Django service
12
+ checks.
13
13
 
14
14
  ## Core Principles
15
15
 
@@ -19,8 +19,8 @@ layer and TradingCodex MCP enforcement boundary.
19
19
  | Django service layer is canonical | Product web, Admin, REST, MCP, and CLI call the same application services. | Do not duplicate policy, order, approval, execution, research indexing, or audit logic per interface. |
20
20
  | Central DB is the runtime ledger | Execution-sensitive mutable state lives in the user-level central Django DB. | Do not use workspace paths as portfolio/order/account ledgers. |
21
21
  | Workspace files are Codex-native SOT | Agent config, skill bundles, and research handoff markdown live in workspace files. | Codex-visible state must be projected to files rather than hidden only in DB rows. |
22
- | MCP owns executable boundary | Executable action boundaries belong to TradingCodex MCP/service-layer paths. | Raw API keys must not appear in workspace files, shell output, prompts, API responses, MCP responses, or audit output. |
23
- | Enforcement is deterministic | Blocking decisions are reproducible code/policy decisions. | Final order paths revalidate policy, schema, approval, idempotency, adapter, and audit. |
22
+ | Service gates own executable actions | Executable action boundaries belong to TradingCodex service-layer and MCP paths. | Raw API keys must not appear in workspace files, shell output, prompts, API responses, MCP responses, or audit output. |
23
+ | Enforcement is deterministic | Blocking decisions are reproducible code/policy decisions. | Final order paths revalidate policy, payload shape, approval, duplicate-request status, connection, and audit. |
24
24
  | Capability is an allowlist | Permission is explicit and narrow. | Allowing one action does not imply policy write, secret read, or cash movement. |
25
25
  | Information barriers control knowledge flow | Roles receive only the information they need. | Maintain research, execution, policy, and secret walls. |
26
26
  | Improvement loops raise work quality | The harness should improve investment work, not only block bad actions. | Manage skills, schemas, workflows, checklists, validation feedback, and postmortems together. |
@@ -91,7 +91,7 @@ subagents. Detailed responsibilities live in
91
91
  | analyst roles | research, evidence, valuation, market/instrument context | order approval, execution, secret read |
92
92
  | `portfolio-manager` | portfolio fit and draft order ticket | self-approval, execution, arbitrary policy change |
93
93
  | `risk-manager` | risk review, policy review, approval receipt | order drafting, execution, arbitrary policy change |
94
- | `execution-operator` | submit approved orders through TradingCodex MCP | raw broker API, secret read, policy change |
94
+ | `execution-operator` | submit approved non-live orders through the TradingCodex service boundary | raw broker API, secret read, policy change |
95
95
 
96
96
  Handoff states are `accepted`, `revise`, `blocked`, or `waiting`. Only accepted
97
97
  artifacts move downstream. `head-manager` may synthesize accepted outputs and
@@ -104,17 +104,18 @@ Detailed execution rules live in
104
104
 
105
105
  ```text
106
106
  evidence -> analysis -> portfolio fit -> draft order -> risk review
107
- -> approval receipt -> MCP submit_approved_order -> adapter -> audit/postmortem
107
+ -> approval receipt -> approved submit action -> connection -> audit/postmortem
108
108
  ```
109
109
 
110
110
  Every executable use case follows:
111
111
 
112
112
  ```text
113
- principal -> capability -> policy -> schema -> approval/idempotency -> adapter -> audit
113
+ requester -> permission -> policy -> payload validation -> approval/duplicate-request check -> connection -> audit
114
114
  ```
115
115
 
116
- Paper/stub execution remains experimental local harness behavior. Live broker
117
- adapters remain disabled and unimplemented in the initial core.
116
+ Paper and validation-only execution paths remain experimental local harness
117
+ behavior. Live broker adapters remain disabled and unimplemented in the initial
118
+ core.
118
119
 
119
120
  ## Research Memory Snapshot
120
121
 
@@ -133,7 +134,7 @@ Detailed research rules live in
133
134
 
134
135
  | Rule | Application |
135
136
  | --- | --- |
136
- | Durable rule change requires docs update | Product direction, safety rules, role responsibilities, execution boundary, artifact contracts, and generated behavior require docs updates. |
137
+ | Durable rule change requires docs update | Product direction, safety rules, role responsibilities, approved action boundary, artifact contracts, and generated behavior require docs updates. |
137
138
  | Docs are source of truth | Gateway and topic documents record intent above implementation. If implementation differs, decide explicitly which side changes. |
138
139
  | Avoid hidden policy drift | Do not hide durable rules only in templates, tests, MCP, hooks, prompts, or skills. |
139
140
  | Keep product language English | Do not add non-English durable copy to docs, generated workspace guidance, Admin UI, CLI help, role prompts, or examples. |
@@ -19,10 +19,10 @@ application-service surfaces are the supported contract.
19
19
  Execution status for this release line:
20
20
 
21
21
  - live broker execution is excluded
22
- - paper/stub execution code remains in the package for local harness tests
23
- - paper/stub execution is experimental and not production trading
24
- - execution MCP tools must stay behind policy, approval, idempotency, adapter,
25
- and audit checks
22
+ - paper and validation-only execution code remains in the package for local harness tests
23
+ - non-live execution is experimental and not production trading
24
+ - execution MCP tools must stay behind policy, approval, duplicate-request,
25
+ connection, and audit checks
26
26
 
27
27
  ## Maintainer Prerequisites
28
28
 
@@ -140,7 +140,7 @@ python3.11 -m venv /tmp/tcx-testpypi
140
140
  /tmp/tcx-testpypi/bin/pip install \
141
141
  --index-url https://test.pypi.org/simple/ \
142
142
  --extra-index-url https://pypi.org/simple/ \
143
- tradingcodex==0.2.2
143
+ tradingcodex==0.2.4
144
144
  rm -rf /tmp/tcx-testpypi-smoke
145
145
  mkdir -p /tmp/tcx-testpypi-smoke
146
146
  cd /tmp/tcx-testpypi-smoke
@@ -169,7 +169,7 @@ After the PyPI workflow completes:
169
169
 
170
170
  ```bash
171
171
  python3.11 -m venv /tmp/tcx-pypi
172
- /tmp/tcx-pypi/bin/pip install tradingcodex==0.2.2
172
+ /tmp/tcx-pypi/bin/pip install tradingcodex==0.2.4
173
173
  rm -rf /tmp/tcx-pypi-smoke
174
174
  mkdir -p /tmp/tcx-pypi-smoke
175
175
  cd /tmp/tcx-pypi-smoke
@@ -204,6 +204,30 @@ TradingCodex has two update layers:
204
204
  generated files, generated indexes, project MCP config, hook scripts, and
205
205
  central DB schema
206
206
 
207
+ Generated workspace `./tcx update` normally refreshes through `uvx` first so
208
+ stale recorded Python paths do not rewrite templates. In restricted Codex
209
+ permissions, `head-manager` should not run the update itself because it rewrites
210
+ protected `.codex` prompt/config/hook surfaces. When the package is already
211
+ installed and Codex startup health reports `workspace_update_allowed=true`,
212
+ `head-manager` should tell the user to switch to full access plus TradingCodex
213
+ build mode, or run the workspace-only path from a terminal:
214
+
215
+ ```bash
216
+ ./tcx update --skip-refresh
217
+ ```
218
+
219
+ `head-manager` may run the update directly only when
220
+ `update_status.can_self_update=true`, which requires Codex full access,
221
+ unexpired TradingCodex build mode, and an explicit user request. After a
222
+ self-update it must stop and tell the user to fully restart Codex. The terminal
223
+ path avoids package-cache or user-tool writes and keeps self-modifying `.codex`
224
+ prompt/config/hook updates outside a restricted active Codex agent sandbox.
225
+ Generated Codex config declares the bounded `~/.tradingcodex` writable root so
226
+ central DB migrations, lock files, and update preferences can still work
227
+ without disabling the sandbox when the active Codex surface honors
228
+ project-scoped sandbox roots. If a package update is required first, the user
229
+ should run the package-refresh command from a terminal instead.
230
+
207
231
  `tcx update` must preserve `.tradingcodex/workspace.json` identity fields,
208
232
  including `workspace_id` and active profile. It may overwrite generated paths
209
233
  owned by `workspace_templates/modules/*/files`, and it must not overwrite
@@ -223,7 +247,11 @@ Use PEP 440 versions:
223
247
  migration, generated workspace smoke checks, and release e2e checks are stable
224
248
  - `0.2.1` for Python `>=3.11,<3.15` support and clone-free setup guidance
225
249
  - `0.2.2` for dashboard startup behavior fixes after `0.2.1`
226
- - later patch releases for compatible fixes after `0.2.2`
250
+ - `0.2.3` for workflow-planner UX, fixed strategy authoring, profile-scoped
251
+ ticket isolation, workspace-scoped transition audit, and startup/status fixes
252
+ - `0.2.4` for the operate/build/execution plane rewrite, compact startup
253
+ context, build-mode updates, and connector scaffold workflow
254
+ - later patch releases for compatible fixes after `0.2.4`
227
255
  - pre-releases such as `0.3.0a1`, `0.3.0b1`, or `0.3.0rc1` when preparing
228
256
  the next minor contract
229
257
 
@@ -241,5 +269,5 @@ This PyPI release does not deploy:
241
269
  - official commercial/verified adapter packs
242
270
 
243
271
  Those surfaces require separate product decisions, separate documentation, and
244
- the same service-layer policy, approval, adapter, idempotency, and audit
272
+ the same service-layer policy, approval, duplicate-request, connection, and audit
245
273
  boundary.
@@ -0,0 +1,152 @@
1
+ # Financial Workflow References
2
+
3
+ TradingCodex should stay Codex-native while making expert financial workflow
4
+ steps legible to non-expert users. Product surfaces should translate a plain
5
+ request into a role workflow, show what is still blocked, and ask for missing
6
+ investor context before recommendation, sizing, approval, or execution.
7
+ This is the product's safe intuition-led workflow: a user can start with a
8
+ rough market intuition, but TradingCodex turns it into evidence gathering,
9
+ profile questions, role handoffs, and explicit next allowed actions instead of
10
+ jumping straight to a trade.
11
+ Short ticker-first intuition such as "TSLA feels interesting" or
12
+ "AAPL seems cheap" should therefore route to a research-first workflow unless
13
+ the user explicitly asks for valuation, portfolio fit, recommendation, order
14
+ drafting, approval, or execution.
15
+
16
+ ## Workflow Principles
17
+
18
+ | Principle | Product implication | Reference |
19
+ | --- | --- | --- |
20
+ | Portfolio risk comes before single-security action | Portfolio and risk lanes ask for objective, horizon, risk tolerance, liquidity needs, holdings, and constraints before recommendation, sizing, approval, or execution. | FINRA Rule 2111 customer investment profile and suitability guidance |
21
+ | Retail recommendations require investor-profile context | Decision-support workflows should expose missing profile fields rather than producing blanket recommendations. | SEC Regulation Best Interest staff bulletin on care obligations |
22
+ | Asset allocation, diversification, and rebalancing are the baseline risk frame | Research and portfolio outputs should separate single-name evidence from portfolio exposure, concentration, and rebalancing context. | SEC Investor.gov asset allocation/diversification/rebalancing guidance |
23
+ | Mean-variance and factor thinking are analytical tools, not automatic advice | Valuation and portfolio roles can use expected return, variance, covariance, and factor exposure concepts, but must expose assumptions and uncertainty. | Markowitz (1952); Fama and French (1993) |
24
+ | Strategic allocation depends on horizon and risk tolerance | Long-horizon workflows should treat time horizon and loss capacity as required context, not afterthoughts. | Campbell and Viceira (2002) |
25
+ | Investment policy is objectives plus constraints | Portfolio workflows should frame recommendations against return/risk objectives, liquidity, time horizon, tax, legal/regulatory, and unique constraints. | CFA Institute investment policy statement guidance |
26
+ | Planning is a process, not a one-shot answer | Beginner-facing UX should show workflow stage, next evidence needed, and blocked actions before presenting outputs as advice. | CFP Board financial planning process |
27
+ | Each workflow should make later workflows easier | Role artifacts should preserve reusable context summaries, reader summaries, source snapshots, missing-evidence notes, and improvement proposals instead of making future agents rediscover the same gaps. | Every compound engineering guide; Will Larson commentary |
28
+ | Agentic work should be a bounded loop, not open-ended autonomy | TradingCodex workflows may repeat evidence gathering, artifact verification, synthesis, and memory capture, but every lane must expose stop conditions and blocked actions. | Recent loop-engineering practice across Codex, Claude Code, OpenClaw, and memory-layer frameworks |
29
+ | Loop reliability depends on the verifier | Every workflow lane should name what gets checked after each pass: artifact quality, source freshness, profile gaps, and blocked actions. Failed checks return `revise`, `blocked`, or `waiting` rather than widening the lane. | Addy Osmani loop-engineering framing; recent verifier/budget loop guidance |
30
+ | Financial agent teams need explicit opposition | Decision-support synthesis should test the favorable case against a bearish or skeptical case, stale data, missing profile context, policy conflicts, and selected-strategy conflicts before naming a decision state. | TradingAgents bull/bear researcher debate; risk management team |
31
+ | AI-assisted finance must stay auditable and bounded | Agent workflows should keep role boundaries, source/as-of posture, handoff states, policy gates, duplicate-request controls, and audit evidence visible. | NIST AI Risk Management Framework |
32
+ | AI/ML in capital markets needs governance, testing, monitoring, data quality, and explainability | Agentic workflow features should keep dispatch, role outputs, source quality, and audit trails inspectable. | IOSCO AI/ML guidance for market intermediaries and asset managers |
33
+ | Plain English increases investor comprehension without deleting complexity | User-facing web output should show plain-language workflow summaries first, with professional evidence and caveats behind them. | SEC Plain English Handbook |
34
+
35
+ ## Source Map
36
+
37
+ | Source | TradingCodex design rule |
38
+ | --- | --- |
39
+ | [FINRA Rule 2111](https://www.finra.org/rules-guidance/rulebooks/finra-rules/2111) | Investor-profile fields are first-class workflow inputs: objective, other investments, tax/account constraints, horizon, liquidity, and risk tolerance. |
40
+ | [SEC Reg BI care-obligation staff bulletin](https://www.sec.gov/about/divisions-offices/division-trading-markets/broker-dealers/staff-bulletin-standards-conduct-broker-dealers-investment-advisers-care-obligations) | Decision-support lanes must expose missing retail-investor context before recommendation, sizing, or order work. |
41
+ | [SEC Investor.gov asset allocation guidance](https://www.investor.gov/introduction-investing/getting-started/asset-allocation) | Single-name research should stay separate from portfolio allocation, diversification, and rebalancing checks. |
42
+ | [Markowitz, "Portfolio Selection" (1952)](https://ideas.repec.org/a/bla/jfinan/v7y1952i1p77-91.html) | Portfolio roles should treat expected return, variance, covariance, and diversification as analytical lenses, not as automatic trade instructions. |
43
+ | [Fama and French, "Common risk factors in the returns on stocks and bonds" (1993)](https://ideas.repec.org/a/eee/jfinec/v33y1993i1p3-56.html) | Research and portfolio outputs should separate issuer-specific thesis claims from factor, market, maturity, and default-risk exposure. |
44
+ | [NIST AI Risk Management Framework](https://www.nist.gov/itl/ai-risk-management-framework) | Agentic finance workflows need visible governance, context mapping, measurement, and risk-management checkpoints. |
45
+ | [NIST AI RMF Core](https://airc.nist.gov/airmf-resources/airmf/5-sec-core/) | Prompt gates, handoff states, quality checks, and audit outputs should map to govern, map, measure, and manage functions. |
46
+ | [IOSCO AI/ML report for market intermediaries and asset managers](https://www.iosco.org/library/pubdocs/pdf/IOSCOPD684.pdf) | AI-assisted capital-markets features need governance, testing, monitoring, data-quality controls, explainability, and outsourcing/third-party oversight posture. |
47
+ | [SEC Plain English Handbook](https://www.sec.gov/pdf/handbook.pdf) | User-facing screens should start with plain-English workflow meaning before professional evidence, assumptions, caveats, and artifacts. |
48
+ | [Every, "Compound Engineering"](https://every.to/guides/compound-engineering) | Engineering work should teach the system reusable capabilities; TradingCodex applies this by making role outputs preserve compact context, reader summaries, source posture, and missing-evidence notes for future workflows. |
49
+ | [Will Larson, "Learning from Every's Compound Engineering"](https://lethain.com/everyinc-compound-engineering/) | The useful pattern is separating research/planning, work, review, and compounding lessons; TradingCodex mirrors that with starter intake, role artifacts, quality checks, and improvement proposals. |
50
+ | [Addy Osmani, "Loop Engineering"](https://addyosmani.com/blog/loop-engineering/) | A useful agentic loop combines automations, isolated workspaces, skills, connectors, subagents, and durable external memory; TradingCodex maps these to prompt gates, fixed subagents, MCP/service boundaries, artifacts, and generated workspace state. |
51
+ | [Business Insider, "Forget prompt engineering: Loop engineering is all the rage now"](https://www.businessinsider.com/what-are-loops-ai-engineering-tips-2026-6) | Current loop-engineering discourse emphasizes designing recurring systems that prompt agents, with cost and oversight tradeoffs; TradingCodex exposes loop controls and token/context budgets rather than unlimited autonomy. |
52
+ | [Anthropic Claude Code skills docs](https://docs.anthropic.com/en/docs/claude-code/skills) | Recent agent tooling exposes loops through reusable skills, bundled `/loop`, subagent execution, and dynamic context; TradingCodex mirrors the reusable-skill and fixed-subagent pattern without depending on Claude Code. |
53
+ | [Anthropic Claude Code hooks docs](https://docs.anthropic.com/en/docs/claude-code/hooks-guide) | Agent hooks can verify conditions before allowing a workflow to continue; TradingCodex maps this to hook gates, context-audit, quality-check, and handoff states. |
54
+ | [OpenClaw](https://github.com/openclaw/openclaw) | Agent control planes show the value and risk of persistent assistant loops across devices/channels; TradingCodex keeps loops workspace-scoped, auditable, and blocked from secrets or execution unless service gates allow it. |
55
+ | [Mem0, "Loop Engineering for AI Agents: Memory-First Design"](https://mem0.ai/blog/loop-engineering-for-ai-agents-memory-first-design) | Memory-first loop design separates durable memory from a single chat context; TradingCodex uses workspace-native artifacts, source snapshots, context summaries, and generated manifests as its durable memory layer. |
56
+ | [TradingAgents repository](https://github.com/tauricresearch/tradingagents) and [TradingAgents paper](https://arxiv.org/abs/2412.20138) | The useful pattern is not autonomous execution, but explicit role specialization, bull/bear researcher debate, trader synthesis, and risk review. TradingCodex adapts this as challenge review before synthesis while keeping order, approval, and execution behind service gates. |
57
+
58
+ ## Workflow Handoff Intake Contract
59
+
60
+ The workflow planner is a local preparation surface that produces a Codex
61
+ handoff. It must not spawn agents, produce investment analysis, approve orders,
62
+ or execute trades. It should:
63
+
64
+ - classify the request into a workflow lane and investment universe
65
+ - translate rough investor intuition into a plain-English working hypothesis
66
+ and safety boundary
67
+ - show the stage order in plain language, such as evidence, valuation,
68
+ portfolio fit, risk review, approved action boundary, and synthesis
69
+ - show stage exit criteria so users can see what must be true before the
70
+ workflow moves forward
71
+ - keep lane loop controls, judgment controls, strategy baseline, and method
72
+ lenses available in a review section so users can inspect professional
73
+ reasoning without making the first screen feel like an expert checklist
74
+ - expose method lenses such as suitability/profile, portfolio risk, factor
75
+ exposure, execution-boundary, or AI-governance references with a short
76
+ plain-language reason each lens matters
77
+ - show the selected role team in readable labels and explain why each role is
78
+ needed for the lane
79
+ - show blocked actions before artifacts exist, with a plain-language reason
80
+ for each blocked action
81
+ - show the next allowed actions so users can distinguish safe preparation from
82
+ blocked order, approval, or execution paths
83
+ - ask for investor profile context when the lane reaches decision support,
84
+ portfolio fit, order drafting, approval, or execution
85
+ - reuse answered active-profile investor context so users are not asked the
86
+ same suitability/profile question every time
87
+ - translate missing profile fields into direct user questions, with a short
88
+ reason each answer is required
89
+ - keep the generated Codex prompt compact enough for native dispatch and place
90
+ the raw prompt in a handoff section rather than making it the first-read UX
91
+ - instruct agents to write plain-English first, then professional evidence,
92
+ assumptions, and caveats
93
+ - instruct agents to preserve reusable context, source snapshots, missing
94
+ evidence, tests, or improvement proposals when a lesson should compound into
95
+ future workflows
96
+
97
+ Loop engineering applies only inside the workflow boundary selected at intake.
98
+ TradingCodex can loop over research discovery, artifact quality, stale-source
99
+ checks, profile gaps, and synthesis revisions. It must not let a loop widen
100
+ itself into recommendation, order drafting, approval, execution, raw broker API,
101
+ or secret handling. Those transitions require explicit user intent and the
102
+ separate service-layer gates already documented in the harness.
103
+
104
+ When no active user-approved strategy exists, TradingCodex should not invent a
105
+ fixed contract. It should state that the current request uses generated
106
+ TradingCodex rules, explicit user constraints, investor-profile context, and
107
+ temporary scenario assumptions. A durable strategy is created only through the
108
+ strategy authoring path, not as a side effect of analysis.
109
+
110
+ ## Source Notes
111
+
112
+ - SEC Investor.gov describes asset allocation, diversification, and
113
+ rebalancing as core risk-management practices for individual investors.
114
+ - SEC Reg BI staff guidance describes investment-profile factors such as
115
+ financial situation, needs, investments, tax status, time horizon, liquidity
116
+ needs, risk tolerance, investment experience, objectives, and goals.
117
+ - FINRA suitability materials define customer-specific suitability around the
118
+ customer's investment profile, including objectives, risk tolerance, horizon,
119
+ liquidity needs, and other customer-specific factors.
120
+ - Markowitz's portfolio-selection framework is the product reason portfolio
121
+ review treats variance, covariance, and diversification as required context
122
+ before action.
123
+ - Fama-French factor framing is the product reason research outputs must
124
+ distinguish company-specific claims from market, size, value, maturity, and
125
+ default-risk exposures.
126
+ - CFA Institute IPS guidance frames investment strategy around overall
127
+ financial plans, objectives, risk tolerance, preferences, and constraints.
128
+ - CFP Board practice standards treat planning as a collaborative process that
129
+ integrates personal and financial circumstances before advice.
130
+ - The SEC Plain English Handbook frames plain English as deciding what
131
+ investors need to know, then presenting complex information clearly.
132
+ - NIST AI RMF emphasizes governing, mapping, measuring, and managing AI risks
133
+ across real-world use, including transparency and documentation concerns.
134
+ - IOSCO AI/ML guidance highlights governance and oversight, algorithm
135
+ development/testing/monitoring, data quality and bias, transparency and
136
+ explainability, outsourcing, and ethical concerns for capital-markets AI.
137
+ - Addy Osmani frames loop engineering as designing the system that prompts
138
+ agents, built from automations, worktrees, skills, connectors, subagents, and
139
+ memory outside a single conversation.
140
+ - Recent loop-engineering frameworks converge on recurring agent triggers,
141
+ reusable procedures, subagent decomposition, verification hooks, connectors,
142
+ and durable memory. TradingCodex should stay framework-agnostic: use these
143
+ ideas through its own Codex-native prompt gates, skills, MCP/service boundary,
144
+ context-audit, role artifacts, and explicit human approval gates.
145
+ - The verifier is the bottleneck in a useful loop. TradingCodex therefore keeps
146
+ loop controls tied to source freshness, artifact quality, profile gaps, and
147
+ blocked actions rather than letting the agent repeat work until it invents a
148
+ broader mandate.
149
+ - TradingAgents uses specialized analysts, bull and bear researchers, trader
150
+ synthesis, and risk management. TradingCodex borrows the opposition and risk
151
+ review structure, but does not let that structure self-approve, self-execute,
152
+ or silently create a user strategy.