tradingcodex 0.1.0a8__tar.gz → 0.2.1__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 (403) hide show
  1. tradingcodex-0.2.1/PKG-INFO +343 -0
  2. tradingcodex-0.2.1/README.md +312 -0
  3. tradingcodex-0.2.1/apps/audit/admin.py +6 -0
  4. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/audit/migrations/0001_initial.py +1 -1
  5. tradingcodex-0.2.1/apps/harness/admin.py +6 -0
  6. tradingcodex-0.2.1/apps/harness/migrations/0001_initial.py +35 -0
  7. tradingcodex-0.2.1/apps/harness/models.py +22 -0
  8. tradingcodex-0.2.1/apps/integrations/admin.py +6 -0
  9. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/integrations/migrations/0001_initial.py +1 -1
  10. tradingcodex-0.2.1/apps/integrations/migrations/0002_brokerconnection_brokeraccount_instrumentmap.py +85 -0
  11. tradingcodex-0.2.1/apps/integrations/models.py +97 -0
  12. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/integrations/services.py +1 -1
  13. tradingcodex-0.2.1/apps/mcp/admin.py +20 -0
  14. tradingcodex-0.2.1/apps/mcp/migrations/0001_initial.py +168 -0
  15. tradingcodex-0.2.1/apps/mcp/models.py +154 -0
  16. tradingcodex-0.2.1/apps/mcp/services.py +763 -0
  17. tradingcodex-0.2.1/apps/orders/admin.py +14 -0
  18. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/orders/migrations/0001_initial.py +1 -1
  19. tradingcodex-0.2.1/apps/orders/migrations/0002_approvalreceipt_approved_order_type_and_more.py +184 -0
  20. tradingcodex-0.2.1/apps/orders/migrations/0003_migrate_orderintent_to_orderticket.py +122 -0
  21. tradingcodex-0.2.1/apps/orders/migrations/0004_remove_order_intent_compat_fields.py +60 -0
  22. tradingcodex-0.2.1/apps/orders/models.py +181 -0
  23. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/orders/services.py +32 -9
  24. tradingcodex-0.2.1/apps/policy/admin.py +6 -0
  25. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/policy/migrations/0001_initial.py +1 -1
  26. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/policy/services.py +1 -1
  27. tradingcodex-0.2.1/apps/portfolio/admin.py +13 -0
  28. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/portfolio/migrations/0001_initial.py +1 -1
  29. tradingcodex-0.2.1/apps/portfolio/migrations/0002_brokersyncrun_portfolioledgerevent_reconciliationrun.py +83 -0
  30. tradingcodex-0.2.1/apps/portfolio/models.py +154 -0
  31. tradingcodex-0.2.1/apps/research/admin.py +1 -0
  32. tradingcodex-0.2.1/apps/research/models.py +1 -0
  33. tradingcodex-0.2.1/apps/workflows/admin.py +6 -0
  34. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/workflows/migrations/0001_initial.py +2 -1
  35. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/workflows/models.py +8 -0
  36. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/docs/README.md +12 -12
  37. tradingcodex-0.2.1/docs/components.md +76 -0
  38. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/docs/core-concepts-and-rules.md +27 -12
  39. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/docs/deployment.md +63 -26
  40. tradingcodex-0.2.1/docs/generated-workspaces.md +400 -0
  41. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/docs/guardrails.md +11 -0
  42. tradingcodex-0.2.1/docs/harness.md +133 -0
  43. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/docs/improvement-loop.md +28 -5
  44. tradingcodex-0.2.1/docs/interfaces-and-surfaces.md +357 -0
  45. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/docs/product-direction.md +8 -7
  46. tradingcodex-0.2.1/docs/research-memory-and-artifacts.md +194 -0
  47. tradingcodex-0.2.1/docs/roles-skills-and-workflows.md +375 -0
  48. tradingcodex-0.2.1/docs/safety-policy-and-execution.md +250 -0
  49. tradingcodex-0.2.1/docs/system-architecture.md +268 -0
  50. tradingcodex-0.2.1/docs/validation-and-test-plan.md +296 -0
  51. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/install.sh +29 -8
  52. tradingcodex-0.2.1/installation.md +130 -0
  53. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/pyproject.toml +10 -4
  54. tradingcodex-0.2.1/static/tradingcodex_web/app.css +2501 -0
  55. tradingcodex-0.2.1/static/tradingcodex_web/app.js +74 -0
  56. tradingcodex-0.2.1/static/tradingcodex_web/workbench.css +1733 -0
  57. tradingcodex-0.2.1/tests/test_broker_center_prd.py +503 -0
  58. tradingcodex-0.2.1/tests/test_e2e_user_scenarios.py +491 -0
  59. tradingcodex-0.2.1/tests/test_python_migration.py +3227 -0
  60. tradingcodex-0.2.1/tradingcodex.egg-info/PKG-INFO +343 -0
  61. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex.egg-info/SOURCES.txt +73 -51
  62. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex.egg-info/requires.txt +3 -0
  63. tradingcodex-0.2.1/tradingcodex_cli/__main__.py +125 -0
  64. tradingcodex-0.2.1/tradingcodex_cli/commands/bootstrap.py +168 -0
  65. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/commands/db.py +1 -1
  66. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/commands/doctor.py +89 -7
  67. tradingcodex-0.2.1/tradingcodex_cli/commands/mcp.py +329 -0
  68. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/commands/orders.py +25 -31
  69. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/commands/policy.py +2 -2
  70. tradingcodex-0.2.1/tradingcodex_cli/commands/profile.py +110 -0
  71. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/commands/research.py +35 -4
  72. tradingcodex-0.2.1/tradingcodex_cli/commands/skills.py +93 -0
  73. tradingcodex-0.2.1/tradingcodex_cli/commands/strategies.py +67 -0
  74. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/commands/subagents.py +40 -2
  75. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/commands/utils.py +30 -46
  76. tradingcodex-0.2.1/tradingcodex_cli/commands/workspaces.py +53 -0
  77. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/generator.py +16 -0
  78. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/mcp_stdio.py +2 -2
  79. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/service_autostart.py +55 -3
  80. tradingcodex-0.2.1/tradingcodex_service/admin.py +1 -0
  81. tradingcodex-0.2.1/tradingcodex_service/api.py +608 -0
  82. tradingcodex-0.2.1/tradingcodex_service/application/agents.py +1668 -0
  83. tradingcodex-0.2.1/tradingcodex_service/application/artifact_quality.py +206 -0
  84. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/application/audit.py +1 -1
  85. tradingcodex-0.2.1/tradingcodex_service/application/brokers.py +1868 -0
  86. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/application/common.py +43 -2
  87. tradingcodex-0.2.1/tradingcodex_service/application/components.py +396 -0
  88. tradingcodex-0.2.1/tradingcodex_service/application/context_budget.py +275 -0
  89. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/application/harness.py +274 -153
  90. tradingcodex-0.2.1/tradingcodex_service/application/markdown_preview.py +179 -0
  91. tradingcodex-0.2.1/tradingcodex_service/application/orders.py +1159 -0
  92. tradingcodex-0.2.1/tradingcodex_service/application/policy.py +247 -0
  93. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/application/portfolio.py +38 -8
  94. tradingcodex-0.2.1/tradingcodex_service/application/research.py +413 -0
  95. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/application/runtime.py +113 -11
  96. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/mcp_http.py +1 -0
  97. tradingcodex-0.2.1/tradingcodex_service/mcp_runtime.py +1055 -0
  98. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/settings.py +0 -1
  99. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/activity.html +0 -9
  100. tradingcodex-0.2.1/tradingcodex_service/templates/web/agent_skills.html +111 -0
  101. tradingcodex-0.2.1/tradingcodex_service/templates/web/agents.html +124 -0
  102. tradingcodex-0.2.1/tradingcodex_service/templates/web/base.html +157 -0
  103. tradingcodex-0.2.1/tradingcodex_service/templates/web/brokers.html +130 -0
  104. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/dashboard.html +39 -36
  105. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/fragments/role_inspector.html +15 -0
  106. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/fragments/topology_canvas.html +7 -1
  107. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/harness.html +53 -36
  108. tradingcodex-0.2.1/tradingcodex_service/templates/web/mcp_router.html +268 -0
  109. tradingcodex-0.2.1/tradingcodex_service/templates/web/orders.html +113 -0
  110. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/policy.html +16 -15
  111. tradingcodex-0.2.1/tradingcodex_service/templates/web/portfolio.html +81 -0
  112. tradingcodex-0.2.1/tradingcodex_service/templates/web/research.html +73 -0
  113. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/starter_prompt.html +5 -14
  114. tradingcodex-0.2.1/tradingcodex_service/templates/web/strategies.html +70 -0
  115. tradingcodex-0.2.1/tradingcodex_service/urls.py +52 -0
  116. tradingcodex-0.2.1/tradingcodex_service/version.py +1 -0
  117. tradingcodex-0.2.1/tradingcodex_service/web.py +1105 -0
  118. tradingcodex-0.2.1/workspace_templates/modules/codex-base/files/.codex/config.toml +300 -0
  119. tradingcodex-0.2.1/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +471 -0
  120. tradingcodex-0.2.1/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +189 -0
  121. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.codex/rules/tradingcodex.rules +3 -3
  122. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/capabilities.yaml +20 -5
  123. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/config.yaml +8 -20
  124. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/policy-bindings.yaml +6 -0
  125. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/principals.yaml +4 -0
  126. tradingcodex-0.2.1/workspace_templates/modules/codex-base/files/.tradingcodex/policies/roles.yaml +47 -0
  127. tradingcodex-0.2.1/workspace_templates/modules/codex-base/files/AGENTS.md +39 -0
  128. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/pyproject.toml +1 -1
  129. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/tcx +13 -2
  130. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/access-policies.yaml +2 -1
  131. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/approval_receipt.schema.json +4 -3
  132. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/execution_result.schema.json +2 -2
  133. tradingcodex-0.1.0a8/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_intent.schema.json → tradingcodex-0.2.1/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_ticket.schema.json +3 -2
  134. tradingcodex-0.2.1/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/research_artifact.schema.json +43 -0
  135. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/module.json +1 -1
  136. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/execution-operator.toml +15 -7
  137. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +9 -7
  138. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +9 -7
  139. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +9 -7
  140. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +9 -7
  141. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +13 -11
  142. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +10 -8
  143. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +9 -7
  144. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +8 -6
  145. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/head-manager.yaml +0 -1
  146. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/subagent-registry.yaml +1 -1
  147. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/task-quality-checklist.md +5 -3
  148. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/.tradingcodex/policies/information-barriers.yaml +10 -1
  149. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/SKILL.md +77 -0
  150. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/agents/openai.yaml +1 -1
  151. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/manage-optional-skills/SKILL.md +101 -0
  152. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/manage-optional-skills/agents/openai.yaml +6 -0
  153. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/SKILL.md +73 -0
  154. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/agents/openai.yaml +6 -0
  155. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/SKILL.md +51 -0
  156. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/SKILL.md +1 -1
  157. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/agents/openai.yaml +6 -0
  158. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/scenario-quality-gates/SKILL.md +25 -16
  159. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/scenario-quality-gates/agents/openai.yaml +6 -0
  160. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/SKILL.md +111 -0
  161. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/agents/openai.yaml +6 -0
  162. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/SKILL.md +51 -0
  163. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/agents/openai.yaml +1 -1
  164. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/SKILL.md +17 -0
  165. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/agents/openai.yaml +6 -0
  166. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/SKILL.md +96 -0
  167. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/agents/openai.yaml +6 -0
  168. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/asset-classes.md +43 -0
  169. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/capability-profile.md +51 -0
  170. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/connector-templates.md +70 -0
  171. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/safety-runbook.md +31 -0
  172. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/troubleshooting.md +50 -0
  173. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/scripts/summarize_connector_status.py +39 -0
  174. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/scripts/validate_connector_profile.py +80 -0
  175. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/SKILL.md +32 -0
  176. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/agents/openai.yaml +6 -0
  177. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst}/fundamental-analysis/SKILL.md +5 -9
  178. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/agents/openai.yaml +6 -0
  179. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst}/instrument-analysis/SKILL.md +7 -11
  180. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst}/macro-analysis/SKILL.md +4 -8
  181. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst}/news-analysis/SKILL.md +1 -5
  182. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/agents/openai.yaml +6 -0
  183. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/SKILL.md +42 -0
  184. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/agents/openai.yaml +6 -0
  185. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager}/portfolio-review/SKILL.md +13 -8
  186. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/agents/openai.yaml +6 -0
  187. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/SKILL.md +35 -0
  188. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/agents/openai.yaml +6 -0
  189. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager}/policy-review/SKILL.md +2 -7
  190. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/agents/openai.yaml +6 -0
  191. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager}/review-risk/SKILL.md +11 -7
  192. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/agents/openai.yaml +6 -0
  193. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared}/collect-evidence/SKILL.md +6 -7
  194. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared}/collect-evidence/agents/openai.yaml +1 -1
  195. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared}/external-data-source-gate/SKILL.md +8 -23
  196. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/agents/openai.yaml +6 -0
  197. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst}/technical-analysis/SKILL.md +3 -7
  198. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/agents/openai.yaml +6 -0
  199. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst}/valuation-review/SKILL.md +2 -6
  200. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/agents/openai.yaml +6 -0
  201. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/module.json +4 -2
  202. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/module.json +2 -1
  203. tradingcodex-0.1.0a8/PKG-INFO +0 -190
  204. tradingcodex-0.1.0a8/README.md +0 -165
  205. tradingcodex-0.1.0a8/apps/audit/admin.py +0 -11
  206. tradingcodex-0.1.0a8/apps/harness/admin.py +0 -52
  207. tradingcodex-0.1.0a8/apps/harness/migrations/0001_initial.py +0 -68
  208. tradingcodex-0.1.0a8/apps/harness/models.py +0 -55
  209. tradingcodex-0.1.0a8/apps/harness/services.py +0 -49
  210. tradingcodex-0.1.0a8/apps/harness/templatetags/tradingcodex_admin.py +0 -111
  211. tradingcodex-0.1.0a8/apps/integrations/admin.py +0 -24
  212. tradingcodex-0.1.0a8/apps/integrations/models.py +0 -16
  213. tradingcodex-0.1.0a8/apps/mcp/admin.py +0 -33
  214. tradingcodex-0.1.0a8/apps/mcp/migrations/0001_initial.py +0 -57
  215. tradingcodex-0.1.0a8/apps/mcp/migrations/0002_mcptooldefinition_experimental.py +0 -18
  216. tradingcodex-0.1.0a8/apps/mcp/models.py +0 -45
  217. tradingcodex-0.1.0a8/apps/mcp/services.py +0 -26
  218. tradingcodex-0.1.0a8/apps/orders/admin.py +0 -27
  219. tradingcodex-0.1.0a8/apps/orders/models.py +0 -66
  220. tradingcodex-0.1.0a8/apps/policy/admin.py +0 -60
  221. tradingcodex-0.1.0a8/apps/portfolio/admin.py +0 -21
  222. tradingcodex-0.1.0a8/apps/portfolio/models.py +0 -53
  223. tradingcodex-0.1.0a8/apps/research/admin.py +0 -42
  224. tradingcodex-0.1.0a8/apps/research/migrations/0001_initial.py +0 -99
  225. tradingcodex-0.1.0a8/apps/research/models.py +0 -85
  226. tradingcodex-0.1.0a8/apps/universes/admin.py +0 -10
  227. tradingcodex-0.1.0a8/apps/universes/apps.py +0 -8
  228. tradingcodex-0.1.0a8/apps/universes/migrations/0001_initial.py +0 -29
  229. tradingcodex-0.1.0a8/apps/universes/models.py +0 -16
  230. tradingcodex-0.1.0a8/apps/workflows/admin.py +0 -17
  231. tradingcodex-0.1.0a8/apps/workflows/migrations/__init__.py +0 -0
  232. tradingcodex-0.1.0a8/docs/generated-workspaces.md +0 -180
  233. tradingcodex-0.1.0a8/docs/harness.md +0 -77
  234. tradingcodex-0.1.0a8/docs/interfaces-and-surfaces.md +0 -211
  235. tradingcodex-0.1.0a8/docs/research-memory-and-artifacts.md +0 -149
  236. tradingcodex-0.1.0a8/docs/roles-skills-and-workflows.md +0 -192
  237. tradingcodex-0.1.0a8/docs/safety-policy-and-execution.md +0 -149
  238. tradingcodex-0.1.0a8/docs/system-architecture.md +0 -199
  239. tradingcodex-0.1.0a8/docs/tradingcodex-prd.md +0 -96
  240. tradingcodex-0.1.0a8/docs/validation-and-test-plan.md +0 -155
  241. tradingcodex-0.1.0a8/installation.md +0 -85
  242. tradingcodex-0.1.0a8/static/tradingcodex_admin/admin.css +0 -1113
  243. tradingcodex-0.1.0a8/static/tradingcodex_web/app.css +0 -1563
  244. tradingcodex-0.1.0a8/tests/test_python_migration.py +0 -990
  245. tradingcodex-0.1.0a8/tradingcodex.egg-info/PKG-INFO +0 -190
  246. tradingcodex-0.1.0a8/tradingcodex_cli/__main__.py +0 -123
  247. tradingcodex-0.1.0a8/tradingcodex_cli/commands/mcp.py +0 -116
  248. tradingcodex-0.1.0a8/tradingcodex_cli/commands/skills.py +0 -34
  249. tradingcodex-0.1.0a8/tradingcodex_cli/workspace.py +0 -115
  250. tradingcodex-0.1.0a8/tradingcodex_service/admin.py +0 -7
  251. tradingcodex-0.1.0a8/tradingcodex_service/api.py +0 -305
  252. tradingcodex-0.1.0a8/tradingcodex_service/application/orders.py +0 -378
  253. tradingcodex-0.1.0a8/tradingcodex_service/application/policy.py +0 -150
  254. tradingcodex-0.1.0a8/tradingcodex_service/application/research.py +0 -236
  255. tradingcodex-0.1.0a8/tradingcodex_service/domain.py +0 -46
  256. tradingcodex-0.1.0a8/tradingcodex_service/mcp_runtime.py +0 -510
  257. tradingcodex-0.1.0a8/tradingcodex_service/templates/admin/base_site.html +0 -35
  258. tradingcodex-0.1.0a8/tradingcodex_service/templates/admin/index.html +0 -242
  259. tradingcodex-0.1.0a8/tradingcodex_service/templates/admin/login.html +0 -56
  260. tradingcodex-0.1.0a8/tradingcodex_service/templates/web/base.html +0 -93
  261. tradingcodex-0.1.0a8/tradingcodex_service/templates/web/orders.html +0 -77
  262. tradingcodex-0.1.0a8/tradingcodex_service/templates/web/portfolio.html +0 -61
  263. tradingcodex-0.1.0a8/tradingcodex_service/templates/web/research.html +0 -52
  264. tradingcodex-0.1.0a8/tradingcodex_service/urls.py +0 -26
  265. tradingcodex-0.1.0a8/tradingcodex_service/version.py +0 -1
  266. tradingcodex-0.1.0a8/tradingcodex_service/web.py +0 -249
  267. tradingcodex-0.1.0a8/workspace_templates/__init__.py +0 -1
  268. tradingcodex-0.1.0a8/workspace_templates/modules/codex-base/files/.codex/config.toml +0 -257
  269. tradingcodex-0.1.0a8/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +0 -143
  270. tradingcodex-0.1.0a8/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +0 -105
  271. tradingcodex-0.1.0a8/workspace_templates/modules/codex-base/files/.tradingcodex/integrations/openbb-mcp.safe-profile.md +0 -61
  272. tradingcodex-0.1.0a8/workspace_templates/modules/codex-base/files/.tradingcodex/policies/roles.yaml +0 -27
  273. tradingcodex-0.1.0a8/workspace_templates/modules/codex-base/files/AGENTS.md +0 -50
  274. tradingcodex-0.1.0a8/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/scripts/validate-order-intent.py +0 -15
  275. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/approve-order/SKILL.md +0 -38
  276. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/approve-order/agents/openai.yaml +0 -6
  277. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/create-order-intent/SKILL.md +0 -46
  278. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/create-order-intent/agents/openai.yaml +0 -6
  279. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/execute-paper-order/SKILL.md +0 -35
  280. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/execute-paper-order/agents/openai.yaml +0 -6
  281. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/fundamental-analysis/agents/openai.yaml +0 -6
  282. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/head-manager-interview/SKILL.md +0 -81
  283. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/head-manager-interview/agents/openai.yaml +0 -6
  284. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/head-manager-interview/references/investor-profile-reference.md +0 -50
  285. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/SKILL.md +0 -108
  286. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/SKILL.md +0 -131
  287. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/news-analysis/agents/openai.yaml +0 -6
  288. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/SKILL.md +0 -261
  289. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/policy-review/agents/openai.yaml +0 -6
  290. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/portfolio-review/agents/openai.yaml +0 -6
  291. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/review-risk/agents/openai.yaml +0 -6
  292. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/SKILL.md +0 -52
  293. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/technical-analysis/agents/openai.yaml +0 -6
  294. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills/valuation-review/agents/openai.yaml +0 -6
  295. tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.tradingcodex/mainagent/head-manager-interview.md +0 -97
  296. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/CONTRIBUTING.md +0 -0
  297. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/LICENSE +0 -0
  298. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/MANIFEST.in +0 -0
  299. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/NOTICE +0 -0
  300. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/TRADEMARKS.md +0 -0
  301. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/__init__.py +0 -0
  302. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/audit/__init__.py +0 -0
  303. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/audit/apps.py +0 -0
  304. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/audit/migrations/__init__.py +0 -0
  305. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/audit/models.py +0 -0
  306. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/harness/__init__.py +0 -0
  307. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/harness/apps.py +0 -0
  308. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/harness/migrations/__init__.py +0 -0
  309. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/harness/templatetags/__init__.py +0 -0
  310. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/integrations/__init__.py +0 -0
  311. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/integrations/apps.py +0 -0
  312. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/integrations/migrations/__init__.py +0 -0
  313. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/mcp/__init__.py +0 -0
  314. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/mcp/apps.py +0 -0
  315. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/mcp/migrations/__init__.py +0 -0
  316. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/orders/__init__.py +0 -0
  317. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/orders/apps.py +0 -0
  318. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/orders/migrations/__init__.py +0 -0
  319. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/policy/__init__.py +0 -0
  320. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/policy/apps.py +0 -0
  321. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/policy/migrations/__init__.py +0 -0
  322. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/policy/models.py +0 -0
  323. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/portfolio/__init__.py +0 -0
  324. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/portfolio/apps.py +0 -0
  325. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/portfolio/migrations/__init__.py +0 -0
  326. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/research/__init__.py +0 -0
  327. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/research/apps.py +0 -0
  328. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/research/migrations/__init__.py +0 -0
  329. {tradingcodex-0.1.0a8/apps/universes → tradingcodex-0.2.1/apps/workflows}/__init__.py +0 -0
  330. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/apps/workflows/apps.py +0 -0
  331. {tradingcodex-0.1.0a8/apps/universes → tradingcodex-0.2.1/apps/workflows}/migrations/__init__.py +0 -0
  332. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/assets/tradingcodex-banner.svg +0 -0
  333. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/docs/licensing-and-commercialization.md +0 -0
  334. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/setup.cfg +0 -0
  335. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/static/tradingcodex_admin/favicon.svg +0 -0
  336. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/static/vendor/alpine/alpine.min.js +0 -0
  337. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/static/vendor/htmx/htmx.min.js +0 -0
  338. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex.egg-info/dependency_links.txt +0 -0
  339. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex.egg-info/entry_points.txt +0 -0
  340. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex.egg-info/top_level.txt +0 -0
  341. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/__init__.py +0 -0
  342. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_cli/commands/__init__.py +0 -0
  343. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/__init__.py +0 -0
  344. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/application/__init__.py +0 -0
  345. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/asgi.py +0 -0
  346. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/fragments/starter_prompt.html +0 -0
  347. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/tradingcodex_service/wsgi.py +0 -0
  348. {tradingcodex-0.1.0a8/apps/workflows → tradingcodex-0.2.1/workspace_templates}/__init__.py +0 -0
  349. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/audit/files/.tradingcodex/audit/README.md +0 -0
  350. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/audit/files/trading/audit/.gitkeep +0 -0
  351. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/audit/module.json +0 -0
  352. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.codex/hooks.json +0 -0
  353. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/cli.py +0 -0
  354. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/module.json +0 -0
  355. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/restricted-list.yaml +0 -0
  356. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/audit_event.schema.json +0 -0
  357. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/evidence_pack.schema.json +0 -0
  358. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/fundamental_report.schema.json +0 -0
  359. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/news_report.schema.json +0 -0
  360. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/portfolio_review.schema.json +0 -0
  361. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/postmortem_report.schema.json +0 -0
  362. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/risk_report.schema.json +0 -0
  363. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/technical_report.schema.json +0 -0
  364. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/thesis.schema.json +0 -0
  365. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/valuation.schema.json +0 -0
  366. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/skill-change-proposals/.gitkeep +0 -0
  367. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/module.json +0 -0
  368. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/guardrails.md +0 -0
  369. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/guidance-guardrails/module.json +0 -0
  370. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/.tradingcodex/secrets.md +0 -0
  371. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/approvals/.gitkeep +0 -0
  372. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/market-data/.gitkeep +0 -0
  373. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/orders/approved/.gitkeep +0 -0
  374. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/orders/draft/.gitkeep +0 -0
  375. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/orders/executed/.gitkeep +0 -0
  376. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/orders/rejected/.gitkeep +0 -0
  377. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/portfolio/.gitkeep +0 -0
  378. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/fundamental/.gitkeep +0 -0
  379. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/instrument/.gitkeep +0 -0
  380. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/macro/.gitkeep +0 -0
  381. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/news/.gitkeep +0 -0
  382. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/policy/.gitkeep +0 -0
  383. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/portfolio/.gitkeep +0 -0
  384. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/postmortem/.gitkeep +0 -0
  385. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/risk/.gitkeep +0 -0
  386. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/technical/.gitkeep +0 -0
  387. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/valuation/.gitkeep +0 -0
  388. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/research/.gitkeep +0 -0
  389. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/module.json +0 -0
  390. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/paper-trading/files/.tradingcodex/mcp/adapters/paper-trading.py +0 -0
  391. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/paper-trading/module.json +0 -0
  392. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/postmortem/files/.tradingcodex/workflows/postmortem.yaml +0 -0
  393. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/postmortem/module.json +0 -0
  394. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/agents/openai.yaml +0 -0
  395. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst}/instrument-analysis/agents/openai.yaml +0 -0
  396. {tradingcodex-0.1.0a8/workspace_templates/modules/repo-skills/files/.agents/skills → tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst}/macro-analysis/agents/openai.yaml +0 -0
  397. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/stub-execution/files/.tradingcodex/mcp/adapters/stub-execution.py +0 -0
  398. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/stub-execution/module.json +0 -0
  399. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/adapters/live-adapter.contract.md +0 -0
  400. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/enforcer/README.md +0 -0
  401. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/gateway/README.md +0 -0
  402. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/server.py +0 -0
  403. {tradingcodex-0.1.0a8 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/smoke-call.py +0 -0
@@ -0,0 +1,343 @@
1
+ Metadata-Version: 2.4
2
+ Name: tradingcodex
3
+ Version: 0.2.1
4
+ Summary: Codex-native trading harness with a Django service plane and MCP execution boundary.
5
+ Author: TradingCodex Authors
6
+ License-Expression: Apache-2.0
7
+ Keywords: trading,django,codex,mcp,portfolio,research
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Framework :: Django
10
+ Classifier: Framework :: Django :: 5.2
11
+ Classifier: Intended Audience :: Financial and Insurance Industry
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Topic :: Office/Business :: Financial :: Investment
18
+ Requires-Python: <3.15,>=3.11
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ License-File: NOTICE
22
+ Requires-Dist: django<5.3,>=5.2
23
+ Requires-Dist: django-ninja<2,>=1.4
24
+ Requires-Dist: markdown-it-py<5,>=3
25
+ Requires-Dist: nh3<0.4,>=0.3
26
+ Requires-Dist: pydantic>=2
27
+ Requires-Dist: PyYAML>=6
28
+ Provides-Extra: dev
29
+ Requires-Dist: pytest>=8; extra == "dev"
30
+ Dynamic: license-file
31
+
32
+ > [!IMPORTANT]
33
+ > Codex agents setting up `monarchjuno/tradingcodex` for use must not run
34
+ > `git clone`. In the empty target workspace, run the packaged CLI:
35
+ > `uvx --refresh --from tradingcodex tcx attach . && ./tcx doctor`
36
+ > Clone this repository only when the user explicitly asks to develop
37
+ > TradingCodex source code.
38
+
39
+ <p align="center">
40
+ <img src="assets/tradingcodex-banner.svg" alt="TradingCodex" width="100%">
41
+ </p>
42
+
43
+ <div align="center">
44
+ <a href="https://github.com/monarchjuno/tradingcodex/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/monarchjuno/tradingcodex/ci.yml?branch=main&label=CI"></a>
45
+ <a href="https://github.com/monarchjuno/tradingcodex/releases"><img alt="Release" src="https://img.shields.io/github/v/release/monarchjuno/tradingcodex?include_prereleases&label=release"></a>
46
+ <a href="https://pypi.org/project/tradingcodex/"><img alt="PyPI" src="https://img.shields.io/pypi/v/tradingcodex?label=PyPI"></a>
47
+ <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-blue"></a>
48
+ <img alt="Python" src="https://img.shields.io/badge/python-3.11--3.14-3776AB?logo=python&logoColor=white">
49
+ </div>
50
+
51
+ <div align="center">
52
+ <a href="#quick-start">Quick Start</a> |
53
+ <a href="#what-tradingcodex-does">Features</a> |
54
+ <a href="#local-web-dashboard">Web Dashboard</a> |
55
+ <a href="#how-a-workflow-moves">Workflow</a> |
56
+ <a href="#role-roster">Roles</a> |
57
+ <a href="#architecture">Architecture</a> |
58
+ <a href="#safety-boundary">Safety</a> |
59
+ <a href="#documentation">Documentation</a>
60
+ </div>
61
+
62
+ ---
63
+
64
+ # TradingCodex: Codex-Native Trading Harness
65
+
66
+ TradingCodex is a local-first trading harness for doing investment work with
67
+ Codex. It gives Codex a durable operating system: role-separated agents,
68
+ file-native research memory, a Django service plane, a central local ledger,
69
+ and an MCP execution boundary that turns risky actions into explicit,
70
+ auditable service-layer decisions.
71
+
72
+ It is not an autonomous trading bot. Codex coordinates and explains the work;
73
+ Django owns durable state and policy; TradingCodex MCP is the only executable
74
+ agent boundary; live broker adapters are not shipped in the initial core.
75
+
76
+ ## Quick Start
77
+
78
+ Codex app current-workspace one-liner: run this from the empty workspace you
79
+ want to turn into TradingCodex. Do not run `git clone` for setup; cloning
80
+ `monarchjuno/tradingcodex` is only for developing TradingCodex source code.
81
+
82
+ ```bash
83
+ uvx --refresh --from tradingcodex tcx attach . && ./tcx doctor
84
+ ```
85
+
86
+ This installs/runs the TradingCodex CLI with a compatible Python
87
+ (`>=3.11,<3.15`), attaches the harness to the current workspace, and runs the
88
+ smoke check. Then fully quit and restart Codex, open the generated workspace,
89
+ and start a new thread so project MCP config is reloaded. When TradingCodex MCP
90
+ autostarts the local service, the dashboard is available at
91
+ `http://127.0.0.1:48267/`.
92
+
93
+ Agents and install helpers do not invent a default workspace path. If the
94
+ target path is not supplied and the user did not say "current workspace", ask
95
+ before creating or attaching a workspace.
96
+
97
+ Start an orchestrated Codex workflow from the generated workspace:
98
+
99
+ ```text
100
+ $orchestrate-workflow analyze Apple with public equity research, valuation, portfolio, and risk review
101
+ ```
102
+
103
+ For repeated workspace creation, install the CLI as a user-level tool:
104
+
105
+ ```bash
106
+ uv tool install tradingcodex
107
+ uv tool update-shell
108
+ cd /path/to/target-workspace
109
+ tcx attach .
110
+ ./tcx doctor
111
+ ```
112
+
113
+ See [installation.md](https://github.com/monarchjuno/tradingcodex/blob/main/installation.md)
114
+ for GitHub-main installs, direct `uvx`, MCP/service details, and additional
115
+ smoke checks.
116
+
117
+ Update an existing generated workspace after a package release:
118
+
119
+ ```bash
120
+ uvx --refresh --from tradingcodex tcx update .
121
+ ```
122
+
123
+ ## Product Concept
124
+
125
+ TradingCodex exists because serious Codex-assisted investment work should not
126
+ live only in a chat transcript. Research, source freshness, role handoffs,
127
+ portfolio context, approvals, policy decisions, execution attempts, and audit
128
+ records need a system of record that remains inspectable after the thread ends.
129
+
130
+ The product model is a harness:
131
+
132
+ | Plane | What it gives you |
133
+ | --- | --- |
134
+ | Codex control plane | A generated Codex workspace with one `head-manager`, nine specialist subagents, role prompts, repo skills, hooks, and project-scoped MCP config. |
135
+ | Workspace file plane | Human-readable research markdown, source snapshots, strategy skills, policy exports, and generated `./tcx` wrappers inside the user's Codex workspace. |
136
+ | Django service plane | Local durable services for policy, orders, approvals, portfolio state, audit, workflows, MCP registry, external router review, API, Admin, and product web. |
137
+ | MCP execution boundary | Typed tools, role allowlists, policy checks, approval checks, idempotency, adapter submission, and ledgered results for executable actions. |
138
+
139
+ Generated workspaces are Codex workbenches, not brokerage accounts. Canonical
140
+ execution-sensitive state lives in the central local runtime DB:
141
+
142
+ ```text
143
+ ~/.tradingcodex/state/tradingcodex.sqlite3
144
+ ```
145
+
146
+ ## What TradingCodex Does
147
+
148
+ TradingCodex `0.2.1` provides:
149
+
150
+ - A generated Codex workspace with fixed role topology, project-scoped MCP,
151
+ local wrappers, workspace manifest, generated policy/config files, and
152
+ `./tcx doctor` validation.
153
+ - An explicit workspace update path that refreshes generated files, applies
154
+ central DB migrations, preserves workspace identity/profile state, and
155
+ re-runs doctor checks.
156
+ - A role workflow model where `head-manager` dispatches work and specialists
157
+ return bounded artifacts instead of every agent redoing every part of the
158
+ investment question.
159
+ - File-native research memory: markdown artifacts, source snapshots, versioned
160
+ handoffs, export/search flows, and source/as-of posture that agents and
161
+ humans can both read.
162
+ - Strategy and skill management through workspace files, including
163
+ `strategy-*` skills and role-local optional skills without weakening core
164
+ role boundaries.
165
+ - Policy, restricted-symbol, approval, order, execution, portfolio, MCP, and
166
+ audit services behind a shared Django application layer.
167
+ - Broker Center foundations: broker connections, native connector capability
168
+ profiles, broker accounts, read-only paper sync, external MCP discovery
169
+ import when needed, and reconciliation summaries behind the service layer.
170
+ - Canonical Order Ticket foundations: natural-language or structured draft
171
+ tickets, schema/policy/cash-position/broker validation checks, state-machine
172
+ events, exact approval-scope binding, broker order timeline, and paper fills.
173
+ - Experimental paper/stub order lifecycle support: check order tickets, request
174
+ approval receipts, submit approved orders, cancel approved orders, and record
175
+ outcomes.
176
+ - A local product web surface for browsing agents, skills, research markdown,
177
+ external MCP Gate metadata, starter prompts, and operational state.
178
+ - Django Admin, Django Ninja API, CLI, and MCP surfaces that call the same
179
+ service-layer logic instead of creating parallel execution paths.
180
+ - A managed External MCP Gate that imports discovery metadata,
181
+ classifies tool risk, scopes role access, and blocks unsafe direct proxy
182
+ paths by default.
183
+
184
+ ## Local Web Dashboard
185
+
186
+ TradingCodex includes a local Django web surface so users do not have to inspect
187
+ everything through chat or CLI output. When Codex trusts a generated workspace,
188
+ project MCP startup also starts the local service and exposes the dashboard at:
189
+
190
+ ```text
191
+ http://127.0.0.1:48267/
192
+ ```
193
+
194
+ The dashboard is a review and control surface for the agent roster, required
195
+ and optional skills, strategy skills, research markdown, Broker Center,
196
+ External MCP Gate metadata, portfolio sync/reconciliation, order-ticket
197
+ drafts/checks, starter prompts, policy/order/portfolio/activity status, and
198
+ local workspace state. It does not spawn Codex agents, approve orders, submit
199
+ executions, or provide investment recommendations.
200
+
201
+ For CLI-only sessions, start it manually:
202
+
203
+ ```bash
204
+ ./tcx service runserver
205
+ ```
206
+
207
+ Django Admin is available separately at `http://127.0.0.1:48267/admin/` for
208
+ local/staff DB inspection.
209
+
210
+ ## How A Workflow Moves
211
+
212
+ TradingCodex is designed around handoffs rather than one giant answer:
213
+
214
+ 1. The user asks Codex for an investment workflow.
215
+ 2. `head-manager` classifies the request, maps the investment universe and
216
+ workflow lane, and dispatches bounded work to specialist roles.
217
+ 3. Analysts create evidence-backed artifacts with source/as-of posture.
218
+ 4. Downstream roles consume accepted upstream artifacts instead of silently
219
+ filling missing work outside their role.
220
+ 5. Portfolio and risk roles review fit, sizing, broker sync/reconciliation,
221
+ limits, restricted symbols, order-ticket checks, and approval readiness.
222
+ 6. If an executable paper/stub action is requested, `risk-manager` creates an
223
+ approval receipt bound to the exact order payload hash and
224
+ `execution-operator` submits only through TradingCodex MCP.
225
+ 7. Policy decisions, MCP calls, approvals, execution results, and audit events
226
+ remain inspectable through local service surfaces.
227
+
228
+ ## Role Roster
229
+
230
+ | Layer | Agent | Role summary |
231
+ | --- | --- | --- |
232
+ | Main agent | `head-manager` | Dispatches specialist roles, preserves constraints, and synthesizes completed artifacts. |
233
+ | Analysis subagent | `fundamental-analyst` | Reviews business quality, financial evidence, company fundamentals, and source claims. |
234
+ | Analysis subagent | `technical-analyst` | Reviews price action, trend structure, levels, and market behavior. |
235
+ | Analysis subagent | `news-analyst` | Tracks news, catalysts, events, and freshness-sensitive context. |
236
+ | Market-context subagent | `macro-analyst` | Covers macro, rates, FX, commodities, policy, and cross-asset context. |
237
+ | Market-context subagent | `instrument-analyst` | Supports ETF/index, options, crypto market structure, and instrument-level work. |
238
+ | Decision-review subagent | `valuation-analyst` | Reviews valuation assumptions, sensitivity, and decision-quality gaps. |
239
+ | Portfolio subagent | `portfolio-manager` | Reviews portfolio fit, sizing, exposure, and draft order readiness. |
240
+ | Risk subagent | `risk-manager` | Reviews downside, policy constraints, restricted lists, and approval readiness. |
241
+ | Execution subagent | `execution-operator` | Handles approved paper/stub execution through TradingCodex MCP only. |
242
+
243
+ The default generated workspace includes this one-plus-nine roster. The main
244
+ agent coordinates and synthesizes; specialist agents own the actual role work.
245
+
246
+ ## Architecture
247
+
248
+ TradingCodex is a Python/Django modular monolith packaged as a local-first
249
+ tool. The important implementation rule is that every interface calls shared
250
+ application services:
251
+
252
+ | Surface | Role |
253
+ | --- | --- |
254
+ | Product web | Agents-first review dashboard for roles, skills, research markdown, External MCP Gate lifecycle/review, starter prompts, and local status. |
255
+ | Django Admin | Local/staff DB inspection for policy, orders, portfolio, MCP registry, workflows, integrations, and audit rows. |
256
+ | Django Ninja API | Typed local/staff REST and control endpoints. |
257
+ | MCP | Agent/tool boundary with typed tools, role scopes, policy checks, and audit. |
258
+ | CLI | Local operator commands and generated workspace wrapper behavior. |
259
+
260
+ Canonical implementation lives in:
261
+
262
+ ```txt
263
+ tradingcodex_service/application/
264
+ tradingcodex_cli/commands/
265
+ apps/
266
+ workspace_templates/modules/
267
+ ```
268
+
269
+ The baseline frontend uses Django templates, local static HTMX, and local
270
+ static Alpine. There is no Node, bundler, React, or frontend build step in the
271
+ core package.
272
+
273
+ ## Safety Boundary
274
+
275
+ TradingCodex treats executable actions as a deterministic service-layer
276
+ lifecycle:
277
+
278
+ ```text
279
+ principal -> capability -> policy -> schema -> approval/idempotency -> adapter -> audit
280
+ ```
281
+
282
+ Important boundaries:
283
+
284
+ - Product web routes do not spawn agents, generate investment analysis, create
285
+ approvals, or submit executions.
286
+ - REST/Admin/CLI/MCP call shared Django service functions.
287
+ - Role MCP allowlists are narrow: `head-manager` cannot submit orders,
288
+ `risk-manager` owns approvals, and `execution-operator` owns execution calls.
289
+ - Paper/stub and reviewed test/sandbox validation execution remain
290
+ experimental and non-live.
291
+ - Live broker adapters are not shipped in the initial core.
292
+ - Raw broker secrets must not be stored in this repository or generated
293
+ workspaces.
294
+
295
+ TradingCodex is research, workflow, and execution-guardrail tooling. It is not
296
+ financial, investment, legal, tax, or regulatory advice, and it does not provide
297
+ investment recommendations or guarantee returns.
298
+
299
+ ## Supported Workflow Scope
300
+
301
+ Public equity is the first deeply specified sleeve. The harness keeps explicit
302
+ paths for ETF/index, public crypto market, macro/rates/FX/commodities, options,
303
+ credit-signal, and cross-asset workflows when the required data source, role
304
+ workflow, and policy boundary exist.
305
+
306
+ Unsupported or weakly sourced workflows should receive conservative readiness
307
+ labels such as `research-only`, `screen-grade`, `not-decision-ready`, or
308
+ `blocked`.
309
+
310
+ ## Release Status
311
+
312
+ `0.2.1` is a compatibility patch on the `0.2.x` OrderTicket rewrite release
313
+ line for the generated workspace, Python CLI, Django service plane, product
314
+ web, MCP boundary, and documentation set. The package still uses an alpha
315
+ development classifier because live broker adapters and hosted service modes
316
+ are intentionally outside the initial core.
317
+
318
+ ## Documentation
319
+
320
+ - [Installation](installation.md)
321
+ - [Docs index](docs/README.md)
322
+ - [Product direction](docs/product-direction.md)
323
+ - [Core concepts and rules](docs/core-concepts-and-rules.md)
324
+ - [Harness model](docs/harness.md)
325
+ - [Roles, skills, and workflows](docs/roles-skills-and-workflows.md)
326
+ - [Safety policy and execution](docs/safety-policy-and-execution.md)
327
+ - [Interfaces and surfaces](docs/interfaces-and-surfaces.md)
328
+ - [Deployment](docs/deployment.md)
329
+
330
+ ## Contributing
331
+
332
+ Contributions use Apache-2.0 with DCO sign-off. See
333
+ [CONTRIBUTING.md](CONTRIBUTING.md).
334
+
335
+ ## License
336
+
337
+ TradingCodex is an Apache-2.0 open-core project.
338
+
339
+ Source code, generated workspace templates, and project documentation are
340
+ licensed under the Apache License, Version 2.0 unless marked otherwise. The
341
+ TradingCodex name, future logos, and official product marks are not granted by
342
+ the code license. See [LICENSE](LICENSE), [NOTICE](NOTICE), and
343
+ [TRADEMARKS.md](TRADEMARKS.md).
@@ -0,0 +1,312 @@
1
+ > [!IMPORTANT]
2
+ > Codex agents setting up `monarchjuno/tradingcodex` for use must not run
3
+ > `git clone`. In the empty target workspace, run the packaged CLI:
4
+ > `uvx --refresh --from tradingcodex tcx attach . && ./tcx doctor`
5
+ > Clone this repository only when the user explicitly asks to develop
6
+ > TradingCodex source code.
7
+
8
+ <p align="center">
9
+ <img src="assets/tradingcodex-banner.svg" alt="TradingCodex" width="100%">
10
+ </p>
11
+
12
+ <div align="center">
13
+ <a href="https://github.com/monarchjuno/tradingcodex/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/monarchjuno/tradingcodex/ci.yml?branch=main&label=CI"></a>
14
+ <a href="https://github.com/monarchjuno/tradingcodex/releases"><img alt="Release" src="https://img.shields.io/github/v/release/monarchjuno/tradingcodex?include_prereleases&label=release"></a>
15
+ <a href="https://pypi.org/project/tradingcodex/"><img alt="PyPI" src="https://img.shields.io/pypi/v/tradingcodex?label=PyPI"></a>
16
+ <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-blue"></a>
17
+ <img alt="Python" src="https://img.shields.io/badge/python-3.11--3.14-3776AB?logo=python&logoColor=white">
18
+ </div>
19
+
20
+ <div align="center">
21
+ <a href="#quick-start">Quick Start</a> |
22
+ <a href="#what-tradingcodex-does">Features</a> |
23
+ <a href="#local-web-dashboard">Web Dashboard</a> |
24
+ <a href="#how-a-workflow-moves">Workflow</a> |
25
+ <a href="#role-roster">Roles</a> |
26
+ <a href="#architecture">Architecture</a> |
27
+ <a href="#safety-boundary">Safety</a> |
28
+ <a href="#documentation">Documentation</a>
29
+ </div>
30
+
31
+ ---
32
+
33
+ # TradingCodex: Codex-Native Trading Harness
34
+
35
+ TradingCodex is a local-first trading harness for doing investment work with
36
+ Codex. It gives Codex a durable operating system: role-separated agents,
37
+ file-native research memory, a Django service plane, a central local ledger,
38
+ and an MCP execution boundary that turns risky actions into explicit,
39
+ auditable service-layer decisions.
40
+
41
+ It is not an autonomous trading bot. Codex coordinates and explains the work;
42
+ Django owns durable state and policy; TradingCodex MCP is the only executable
43
+ agent boundary; live broker adapters are not shipped in the initial core.
44
+
45
+ ## Quick Start
46
+
47
+ Codex app current-workspace one-liner: run this from the empty workspace you
48
+ want to turn into TradingCodex. Do not run `git clone` for setup; cloning
49
+ `monarchjuno/tradingcodex` is only for developing TradingCodex source code.
50
+
51
+ ```bash
52
+ uvx --refresh --from tradingcodex tcx attach . && ./tcx doctor
53
+ ```
54
+
55
+ This installs/runs the TradingCodex CLI with a compatible Python
56
+ (`>=3.11,<3.15`), attaches the harness to the current workspace, and runs the
57
+ smoke check. Then fully quit and restart Codex, open the generated workspace,
58
+ and start a new thread so project MCP config is reloaded. When TradingCodex MCP
59
+ autostarts the local service, the dashboard is available at
60
+ `http://127.0.0.1:48267/`.
61
+
62
+ Agents and install helpers do not invent a default workspace path. If the
63
+ target path is not supplied and the user did not say "current workspace", ask
64
+ before creating or attaching a workspace.
65
+
66
+ Start an orchestrated Codex workflow from the generated workspace:
67
+
68
+ ```text
69
+ $orchestrate-workflow analyze Apple with public equity research, valuation, portfolio, and risk review
70
+ ```
71
+
72
+ For repeated workspace creation, install the CLI as a user-level tool:
73
+
74
+ ```bash
75
+ uv tool install tradingcodex
76
+ uv tool update-shell
77
+ cd /path/to/target-workspace
78
+ tcx attach .
79
+ ./tcx doctor
80
+ ```
81
+
82
+ See [installation.md](https://github.com/monarchjuno/tradingcodex/blob/main/installation.md)
83
+ for GitHub-main installs, direct `uvx`, MCP/service details, and additional
84
+ smoke checks.
85
+
86
+ Update an existing generated workspace after a package release:
87
+
88
+ ```bash
89
+ uvx --refresh --from tradingcodex tcx update .
90
+ ```
91
+
92
+ ## Product Concept
93
+
94
+ TradingCodex exists because serious Codex-assisted investment work should not
95
+ live only in a chat transcript. Research, source freshness, role handoffs,
96
+ portfolio context, approvals, policy decisions, execution attempts, and audit
97
+ records need a system of record that remains inspectable after the thread ends.
98
+
99
+ The product model is a harness:
100
+
101
+ | Plane | What it gives you |
102
+ | --- | --- |
103
+ | Codex control plane | A generated Codex workspace with one `head-manager`, nine specialist subagents, role prompts, repo skills, hooks, and project-scoped MCP config. |
104
+ | Workspace file plane | Human-readable research markdown, source snapshots, strategy skills, policy exports, and generated `./tcx` wrappers inside the user's Codex workspace. |
105
+ | Django service plane | Local durable services for policy, orders, approvals, portfolio state, audit, workflows, MCP registry, external router review, API, Admin, and product web. |
106
+ | MCP execution boundary | Typed tools, role allowlists, policy checks, approval checks, idempotency, adapter submission, and ledgered results for executable actions. |
107
+
108
+ Generated workspaces are Codex workbenches, not brokerage accounts. Canonical
109
+ execution-sensitive state lives in the central local runtime DB:
110
+
111
+ ```text
112
+ ~/.tradingcodex/state/tradingcodex.sqlite3
113
+ ```
114
+
115
+ ## What TradingCodex Does
116
+
117
+ TradingCodex `0.2.1` provides:
118
+
119
+ - A generated Codex workspace with fixed role topology, project-scoped MCP,
120
+ local wrappers, workspace manifest, generated policy/config files, and
121
+ `./tcx doctor` validation.
122
+ - An explicit workspace update path that refreshes generated files, applies
123
+ central DB migrations, preserves workspace identity/profile state, and
124
+ re-runs doctor checks.
125
+ - A role workflow model where `head-manager` dispatches work and specialists
126
+ return bounded artifacts instead of every agent redoing every part of the
127
+ investment question.
128
+ - File-native research memory: markdown artifacts, source snapshots, versioned
129
+ handoffs, export/search flows, and source/as-of posture that agents and
130
+ humans can both read.
131
+ - Strategy and skill management through workspace files, including
132
+ `strategy-*` skills and role-local optional skills without weakening core
133
+ role boundaries.
134
+ - Policy, restricted-symbol, approval, order, execution, portfolio, MCP, and
135
+ audit services behind a shared Django application layer.
136
+ - Broker Center foundations: broker connections, native connector capability
137
+ profiles, broker accounts, read-only paper sync, external MCP discovery
138
+ import when needed, and reconciliation summaries behind the service layer.
139
+ - Canonical Order Ticket foundations: natural-language or structured draft
140
+ tickets, schema/policy/cash-position/broker validation checks, state-machine
141
+ events, exact approval-scope binding, broker order timeline, and paper fills.
142
+ - Experimental paper/stub order lifecycle support: check order tickets, request
143
+ approval receipts, submit approved orders, cancel approved orders, and record
144
+ outcomes.
145
+ - A local product web surface for browsing agents, skills, research markdown,
146
+ external MCP Gate metadata, starter prompts, and operational state.
147
+ - Django Admin, Django Ninja API, CLI, and MCP surfaces that call the same
148
+ service-layer logic instead of creating parallel execution paths.
149
+ - A managed External MCP Gate that imports discovery metadata,
150
+ classifies tool risk, scopes role access, and blocks unsafe direct proxy
151
+ paths by default.
152
+
153
+ ## Local Web Dashboard
154
+
155
+ TradingCodex includes a local Django web surface so users do not have to inspect
156
+ everything through chat or CLI output. When Codex trusts a generated workspace,
157
+ project MCP startup also starts the local service and exposes the dashboard at:
158
+
159
+ ```text
160
+ http://127.0.0.1:48267/
161
+ ```
162
+
163
+ The dashboard is a review and control surface for the agent roster, required
164
+ and optional skills, strategy skills, research markdown, Broker Center,
165
+ External MCP Gate metadata, portfolio sync/reconciliation, order-ticket
166
+ drafts/checks, starter prompts, policy/order/portfolio/activity status, and
167
+ local workspace state. It does not spawn Codex agents, approve orders, submit
168
+ executions, or provide investment recommendations.
169
+
170
+ For CLI-only sessions, start it manually:
171
+
172
+ ```bash
173
+ ./tcx service runserver
174
+ ```
175
+
176
+ Django Admin is available separately at `http://127.0.0.1:48267/admin/` for
177
+ local/staff DB inspection.
178
+
179
+ ## How A Workflow Moves
180
+
181
+ TradingCodex is designed around handoffs rather than one giant answer:
182
+
183
+ 1. The user asks Codex for an investment workflow.
184
+ 2. `head-manager` classifies the request, maps the investment universe and
185
+ workflow lane, and dispatches bounded work to specialist roles.
186
+ 3. Analysts create evidence-backed artifacts with source/as-of posture.
187
+ 4. Downstream roles consume accepted upstream artifacts instead of silently
188
+ filling missing work outside their role.
189
+ 5. Portfolio and risk roles review fit, sizing, broker sync/reconciliation,
190
+ limits, restricted symbols, order-ticket checks, and approval readiness.
191
+ 6. If an executable paper/stub action is requested, `risk-manager` creates an
192
+ approval receipt bound to the exact order payload hash and
193
+ `execution-operator` submits only through TradingCodex MCP.
194
+ 7. Policy decisions, MCP calls, approvals, execution results, and audit events
195
+ remain inspectable through local service surfaces.
196
+
197
+ ## Role Roster
198
+
199
+ | Layer | Agent | Role summary |
200
+ | --- | --- | --- |
201
+ | Main agent | `head-manager` | Dispatches specialist roles, preserves constraints, and synthesizes completed artifacts. |
202
+ | Analysis subagent | `fundamental-analyst` | Reviews business quality, financial evidence, company fundamentals, and source claims. |
203
+ | Analysis subagent | `technical-analyst` | Reviews price action, trend structure, levels, and market behavior. |
204
+ | Analysis subagent | `news-analyst` | Tracks news, catalysts, events, and freshness-sensitive context. |
205
+ | Market-context subagent | `macro-analyst` | Covers macro, rates, FX, commodities, policy, and cross-asset context. |
206
+ | Market-context subagent | `instrument-analyst` | Supports ETF/index, options, crypto market structure, and instrument-level work. |
207
+ | Decision-review subagent | `valuation-analyst` | Reviews valuation assumptions, sensitivity, and decision-quality gaps. |
208
+ | Portfolio subagent | `portfolio-manager` | Reviews portfolio fit, sizing, exposure, and draft order readiness. |
209
+ | Risk subagent | `risk-manager` | Reviews downside, policy constraints, restricted lists, and approval readiness. |
210
+ | Execution subagent | `execution-operator` | Handles approved paper/stub execution through TradingCodex MCP only. |
211
+
212
+ The default generated workspace includes this one-plus-nine roster. The main
213
+ agent coordinates and synthesizes; specialist agents own the actual role work.
214
+
215
+ ## Architecture
216
+
217
+ TradingCodex is a Python/Django modular monolith packaged as a local-first
218
+ tool. The important implementation rule is that every interface calls shared
219
+ application services:
220
+
221
+ | Surface | Role |
222
+ | --- | --- |
223
+ | Product web | Agents-first review dashboard for roles, skills, research markdown, External MCP Gate lifecycle/review, starter prompts, and local status. |
224
+ | Django Admin | Local/staff DB inspection for policy, orders, portfolio, MCP registry, workflows, integrations, and audit rows. |
225
+ | Django Ninja API | Typed local/staff REST and control endpoints. |
226
+ | MCP | Agent/tool boundary with typed tools, role scopes, policy checks, and audit. |
227
+ | CLI | Local operator commands and generated workspace wrapper behavior. |
228
+
229
+ Canonical implementation lives in:
230
+
231
+ ```txt
232
+ tradingcodex_service/application/
233
+ tradingcodex_cli/commands/
234
+ apps/
235
+ workspace_templates/modules/
236
+ ```
237
+
238
+ The baseline frontend uses Django templates, local static HTMX, and local
239
+ static Alpine. There is no Node, bundler, React, or frontend build step in the
240
+ core package.
241
+
242
+ ## Safety Boundary
243
+
244
+ TradingCodex treats executable actions as a deterministic service-layer
245
+ lifecycle:
246
+
247
+ ```text
248
+ principal -> capability -> policy -> schema -> approval/idempotency -> adapter -> audit
249
+ ```
250
+
251
+ Important boundaries:
252
+
253
+ - Product web routes do not spawn agents, generate investment analysis, create
254
+ approvals, or submit executions.
255
+ - REST/Admin/CLI/MCP call shared Django service functions.
256
+ - Role MCP allowlists are narrow: `head-manager` cannot submit orders,
257
+ `risk-manager` owns approvals, and `execution-operator` owns execution calls.
258
+ - Paper/stub and reviewed test/sandbox validation execution remain
259
+ experimental and non-live.
260
+ - Live broker adapters are not shipped in the initial core.
261
+ - Raw broker secrets must not be stored in this repository or generated
262
+ workspaces.
263
+
264
+ TradingCodex is research, workflow, and execution-guardrail tooling. It is not
265
+ financial, investment, legal, tax, or regulatory advice, and it does not provide
266
+ investment recommendations or guarantee returns.
267
+
268
+ ## Supported Workflow Scope
269
+
270
+ Public equity is the first deeply specified sleeve. The harness keeps explicit
271
+ paths for ETF/index, public crypto market, macro/rates/FX/commodities, options,
272
+ credit-signal, and cross-asset workflows when the required data source, role
273
+ workflow, and policy boundary exist.
274
+
275
+ Unsupported or weakly sourced workflows should receive conservative readiness
276
+ labels such as `research-only`, `screen-grade`, `not-decision-ready`, or
277
+ `blocked`.
278
+
279
+ ## Release Status
280
+
281
+ `0.2.1` is a compatibility patch on the `0.2.x` OrderTicket rewrite release
282
+ line for the generated workspace, Python CLI, Django service plane, product
283
+ web, MCP boundary, and documentation set. The package still uses an alpha
284
+ development classifier because live broker adapters and hosted service modes
285
+ are intentionally outside the initial core.
286
+
287
+ ## Documentation
288
+
289
+ - [Installation](installation.md)
290
+ - [Docs index](docs/README.md)
291
+ - [Product direction](docs/product-direction.md)
292
+ - [Core concepts and rules](docs/core-concepts-and-rules.md)
293
+ - [Harness model](docs/harness.md)
294
+ - [Roles, skills, and workflows](docs/roles-skills-and-workflows.md)
295
+ - [Safety policy and execution](docs/safety-policy-and-execution.md)
296
+ - [Interfaces and surfaces](docs/interfaces-and-surfaces.md)
297
+ - [Deployment](docs/deployment.md)
298
+
299
+ ## Contributing
300
+
301
+ Contributions use Apache-2.0 with DCO sign-off. See
302
+ [CONTRIBUTING.md](CONTRIBUTING.md).
303
+
304
+ ## License
305
+
306
+ TradingCodex is an Apache-2.0 open-core project.
307
+
308
+ Source code, generated workspace templates, and project documentation are
309
+ licensed under the Apache License, Version 2.0 unless marked otherwise. The
310
+ TradingCodex name, future logos, and official product marks are not granted by
311
+ the code license. See [LICENSE](LICENSE), [NOTICE](NOTICE), and
312
+ [TRADEMARKS.md](TRADEMARKS.md).
@@ -0,0 +1,6 @@
1
+ from django.contrib import admin
2
+
3
+ from apps.audit.models import AuditEvent
4
+
5
+
6
+ admin.site.register(AuditEvent)
@@ -1,4 +1,4 @@
1
- # Generated by Django 5.2.5 on 2026-06-08 09:49
1
+ # Generated by Django 5.2.5 on 2026-06-12 16:32
2
2
 
3
3
  from django.db import migrations, models
4
4
 
@@ -0,0 +1,6 @@
1
+ from django.contrib import admin
2
+
3
+ from apps.harness.models import WorkspaceContext
4
+
5
+
6
+ admin.site.register(WorkspaceContext)