tradingcodex 0.2.5__tar.gz → 0.2.7__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 (319) hide show
  1. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/PKG-INFO +24 -17
  2. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/README.md +23 -16
  3. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/README.md +3 -2
  4. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/components.md +4 -3
  5. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/core-concepts-and-rules.md +3 -3
  6. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/deployment.md +16 -10
  7. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/generated-workspaces.md +33 -12
  8. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/guardrails.md +1 -1
  9. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/harness.md +8 -0
  10. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/interfaces-and-surfaces.md +11 -10
  11. tradingcodex-0.2.7/docs/investment-decision-quality-prd.md +777 -0
  12. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/product-direction.md +3 -3
  13. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/research-memory-and-artifacts.md +15 -0
  14. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/roles-skills-and-workflows.md +54 -10
  15. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/safety-policy-and-execution.md +43 -43
  16. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/system-architecture.md +6 -5
  17. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/validation-and-test-plan.md +34 -42
  18. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/pyproject.toml +1 -1
  19. tradingcodex-0.2.7/tests/test_broker_center_prd.py +790 -0
  20. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tests/test_e2e_user_scenarios.py +103 -9
  21. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tests/test_python_migration.py +432 -181
  22. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex.egg-info/PKG-INFO +24 -17
  23. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex.egg-info/SOURCES.txt +15 -13
  24. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/__main__.py +50 -58
  25. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/bootstrap.py +3 -3
  26. tradingcodex-0.2.7/tradingcodex_cli/commands/connectors.py +99 -0
  27. tradingcodex-0.2.7/tradingcodex_cli/commands/decision.py +31 -0
  28. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/doctor.py +7 -6
  29. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/mcp.py +5 -2
  30. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/mode.py +2 -2
  31. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/orders.py +1 -1
  32. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/utils.py +8 -32
  33. tradingcodex-0.2.7/tradingcodex_cli/commands/workflow.py +23 -0
  34. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/startup_status.py +2 -8
  35. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/api.py +2 -9
  36. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/agents.py +255 -95
  37. tradingcodex-0.2.7/tradingcodex_service/application/artifact_quality.py +470 -0
  38. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/brokers.py +581 -817
  39. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/common.py +19 -0
  40. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/components.py +29 -8
  41. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/context_budget.py +1 -7
  42. tradingcodex-0.2.7/tradingcodex_service/application/decision_packages.py +258 -0
  43. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/harness.py +297 -73
  44. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/markdown_preview.py +19 -42
  45. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/orders.py +184 -35
  46. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/policy.py +12 -8
  47. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/mcp_runtime.py +120 -84
  48. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/settings.py +0 -1
  49. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/static/tradingcodex_web/app.css +1729 -4
  50. tradingcodex-0.2.7/tradingcodex_service/static/tradingcodex_web/app.js +186 -0
  51. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/base.html +6 -29
  52. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/brokers.html +21 -4
  53. tradingcodex-0.2.7/tradingcodex_service/templates/web/decisions.html +74 -0
  54. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/fragments/topology_canvas.html +7 -17
  55. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/fragments/workspace_card.html +2 -2
  56. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/mcp_router.html +17 -19
  57. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/urls.py +2 -2
  58. tradingcodex-0.2.7/tradingcodex_service/version.py +1 -0
  59. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/web.py +58 -4
  60. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.codex/config.toml +7 -1
  61. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +29 -3
  62. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/AGENTS.md +6 -3
  63. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/execution-operator.toml +3 -3
  64. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/task-quality-checklist.md +4 -0
  65. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/information-barriers/files/.tradingcodex/policies/information-barriers.yaml +32 -0
  66. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/SKILL.md +34 -0
  67. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/agents/openai.yaml +2 -2
  68. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/SKILL.md +5 -3
  69. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/references/decision-quality-spine.md +17 -0
  70. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/SKILL.md +7 -7
  71. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/SKILL.md +7 -0
  72. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/SKILL.md +7 -0
  73. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/SKILL.md +7 -0
  74. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/SKILL.md +7 -0
  75. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/SKILL.md +7 -0
  76. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/SKILL.md +7 -0
  77. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/anti-overfit-validation/SKILL.md +32 -0
  78. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/anti-overfit-validation/agents/openai.yaml +6 -0
  79. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/SKILL.md +7 -0
  80. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/forecasting-discipline/SKILL.md +40 -0
  81. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/forecasting-discipline/agents/openai.yaml +6 -0
  82. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/numeric-data-qc/SKILL.md +31 -0
  83. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/numeric-data-qc/agents/openai.yaml +6 -0
  84. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/thesis-scenario-tree/SKILL.md +31 -0
  85. tradingcodex-0.2.7/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/thesis-scenario-tree/agents/openai.yaml +6 -0
  86. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/SKILL.md +7 -0
  87. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/SKILL.md +9 -0
  88. tradingcodex-0.2.5/apps/integrations/services.py +0 -31
  89. tradingcodex-0.2.5/apps/research/admin.py +0 -1
  90. tradingcodex-0.2.5/apps/research/apps.py +0 -8
  91. tradingcodex-0.2.5/apps/research/models.py +0 -1
  92. tradingcodex-0.2.5/apps/workflows/migrations/__init__.py +0 -0
  93. tradingcodex-0.2.5/tests/test_broker_center_prd.py +0 -587
  94. tradingcodex-0.2.5/tradingcodex_cli/commands/connectors.py +0 -66
  95. tradingcodex-0.2.5/tradingcodex_service/application/artifact_quality.py +0 -217
  96. tradingcodex-0.2.5/tradingcodex_service/mcp_http.py +0 -60
  97. tradingcodex-0.2.5/tradingcodex_service/static/tradingcodex_web/app.js +0 -74
  98. tradingcodex-0.2.5/tradingcodex_service/static/tradingcodex_web/workbench.css +0 -1726
  99. tradingcodex-0.2.5/tradingcodex_service/static/vendor/alpine/alpine.min.js +0 -5
  100. tradingcodex-0.2.5/tradingcodex_service/version.py +0 -1
  101. tradingcodex-0.2.5/workspace_templates/modules/paper-trading/files/.tradingcodex/mcp/adapters/paper-trading.py +0 -4
  102. tradingcodex-0.2.5/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/SKILL.md +0 -31
  103. tradingcodex-0.2.5/workspace_templates/modules/stub-execution/files/.tradingcodex/mcp/adapters/stub-execution.py +0 -4
  104. tradingcodex-0.2.5/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/adapters/live-adapter.contract.md +0 -25
  105. tradingcodex-0.2.5/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/smoke-call.py +0 -18
  106. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/CONTRIBUTING.md +0 -0
  107. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/LICENSE +0 -0
  108. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/MANIFEST.in +0 -0
  109. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/NOTICE +0 -0
  110. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/TRADEMARKS.md +0 -0
  111. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/__init__.py +0 -0
  112. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/audit/__init__.py +0 -0
  113. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/audit/admin.py +0 -0
  114. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/audit/apps.py +0 -0
  115. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/audit/migrations/0001_initial.py +0 -0
  116. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/audit/migrations/__init__.py +0 -0
  117. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/audit/models.py +0 -0
  118. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/harness/__init__.py +0 -0
  119. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/harness/admin.py +0 -0
  120. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/harness/apps.py +0 -0
  121. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/harness/migrations/0001_initial.py +0 -0
  122. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/harness/migrations/__init__.py +0 -0
  123. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/harness/models.py +0 -0
  124. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/harness/templatetags/__init__.py +0 -0
  125. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/integrations/__init__.py +0 -0
  126. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/integrations/admin.py +0 -0
  127. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/integrations/apps.py +0 -0
  128. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/integrations/migrations/0001_initial.py +0 -0
  129. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/integrations/migrations/0002_brokerconnection_brokeraccount_instrumentmap.py +0 -0
  130. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/integrations/migrations/__init__.py +0 -0
  131. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/integrations/models.py +0 -0
  132. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/mcp/__init__.py +0 -0
  133. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/mcp/admin.py +0 -0
  134. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/mcp/apps.py +0 -0
  135. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/mcp/migrations/0001_initial.py +0 -0
  136. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/mcp/migrations/__init__.py +0 -0
  137. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/mcp/models.py +0 -0
  138. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/mcp/services.py +0 -0
  139. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/__init__.py +0 -0
  140. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/admin.py +0 -0
  141. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/apps.py +0 -0
  142. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/migrations/0001_initial.py +0 -0
  143. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/migrations/0002_approvalreceipt_approved_order_type_and_more.py +0 -0
  144. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/migrations/0003_migrate_orderintent_to_orderticket.py +0 -0
  145. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/migrations/0004_remove_order_intent_compat_fields.py +0 -0
  146. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/migrations/__init__.py +0 -0
  147. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/models.py +0 -0
  148. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/orders/services.py +0 -0
  149. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/policy/__init__.py +0 -0
  150. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/policy/admin.py +0 -0
  151. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/policy/apps.py +0 -0
  152. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/policy/migrations/0001_initial.py +0 -0
  153. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/policy/migrations/__init__.py +0 -0
  154. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/policy/models.py +0 -0
  155. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/policy/services.py +0 -0
  156. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/portfolio/__init__.py +0 -0
  157. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/portfolio/admin.py +0 -0
  158. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/portfolio/apps.py +0 -0
  159. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/portfolio/migrations/0001_initial.py +0 -0
  160. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/portfolio/migrations/0002_brokersyncrun_portfolioledgerevent_reconciliationrun.py +0 -0
  161. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/portfolio/migrations/__init__.py +0 -0
  162. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/portfolio/models.py +0 -0
  163. {tradingcodex-0.2.5/apps/research → tradingcodex-0.2.7/apps/workflows}/__init__.py +0 -0
  164. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/workflows/admin.py +0 -0
  165. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/workflows/apps.py +0 -0
  166. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/workflows/migrations/0001_initial.py +0 -0
  167. {tradingcodex-0.2.5/apps/research → tradingcodex-0.2.7/apps/workflows}/migrations/__init__.py +0 -0
  168. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/apps/workflows/models.py +0 -0
  169. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/assets/tradingcodex-banner.svg +0 -0
  170. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/financial-workflow-references.md +0 -0
  171. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/improvement-loop.md +0 -0
  172. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/docs/licensing-and-commercialization.md +0 -0
  173. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/install.sh +0 -0
  174. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/installation.md +0 -0
  175. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/setup.cfg +0 -0
  176. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex.egg-info/dependency_links.txt +0 -0
  177. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex.egg-info/entry_points.txt +0 -0
  178. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex.egg-info/requires.txt +0 -0
  179. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex.egg-info/top_level.txt +0 -0
  180. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/__init__.py +0 -0
  181. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/__init__.py +0 -0
  182. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/db.py +0 -0
  183. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/policy.py +0 -0
  184. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/profile.py +0 -0
  185. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/research.py +0 -0
  186. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/skills.py +0 -0
  187. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/strategies.py +0 -0
  188. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/subagents.py +0 -0
  189. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/commands/workspaces.py +0 -0
  190. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/generator.py +0 -0
  191. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/mcp_stdio.py +0 -0
  192. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_cli/service_autostart.py +0 -0
  193. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/__init__.py +0 -0
  194. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/admin.py +0 -0
  195. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/__init__.py +0 -0
  196. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/audit.py +0 -0
  197. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/portfolio.py +0 -0
  198. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/research.py +0 -0
  199. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/runtime.py +0 -0
  200. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/application/runtime_mode.py +0 -0
  201. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/asgi.py +0 -0
  202. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/static/tradingcodex_admin/favicon.svg +0 -0
  203. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/static/vendor/htmx/htmx.min.js +0 -0
  204. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/activity.html +0 -0
  205. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/agent_skills.html +0 -0
  206. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/agents.html +0 -0
  207. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/dashboard.html +0 -0
  208. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/fragments/role_inspector.html +0 -0
  209. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/fragments/starter_prompt.html +0 -0
  210. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/harness.html +0 -0
  211. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/orders.html +0 -0
  212. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/policy.html +0 -0
  213. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/portfolio.html +0 -0
  214. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/research.html +0 -0
  215. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/starter_prompt.html +0 -0
  216. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/templates/web/strategies.html +0 -0
  217. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/tradingcodex_service/wsgi.py +0 -0
  218. {tradingcodex-0.2.5/apps/workflows → tradingcodex-0.2.7/workspace_templates}/__init__.py +0 -0
  219. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/audit/files/.tradingcodex/audit/README.md +0 -0
  220. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/audit/files/trading/audit/.gitkeep +0 -0
  221. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/audit/module.json +0 -0
  222. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +0 -0
  223. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.codex/hooks.json +0 -0
  224. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.codex/rules/tradingcodex.rules +0 -0
  225. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.tradingcodex/capabilities.yaml +0 -0
  226. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.tradingcodex/cli.py +0 -0
  227. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.tradingcodex/config.yaml +0 -0
  228. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/policy-bindings.yaml +0 -0
  229. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/principals.yaml +0 -0
  230. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/roles.yaml +0 -0
  231. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/pyproject.toml +0 -0
  232. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/files/tcx +0 -0
  233. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/codex-base/module.json +0 -0
  234. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/access-policies.yaml +0 -0
  235. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/restricted-list.yaml +0 -0
  236. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/approval_receipt.schema.json +0 -0
  237. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/audit_event.schema.json +0 -0
  238. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/evidence_pack.schema.json +0 -0
  239. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/execution_result.schema.json +0 -0
  240. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/fundamental_report.schema.json +0 -0
  241. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/news_report.schema.json +0 -0
  242. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_ticket.schema.json +0 -0
  243. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/portfolio_review.schema.json +0 -0
  244. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/postmortem_report.schema.json +0 -0
  245. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/research_artifact.schema.json +0 -0
  246. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/risk_report.schema.json +0 -0
  247. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/technical_report.schema.json +0 -0
  248. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/thesis.schema.json +0 -0
  249. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/valuation.schema.json +0 -0
  250. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/enforcement-guardrails/module.json +0 -0
  251. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +0 -0
  252. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +0 -0
  253. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +0 -0
  254. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +0 -0
  255. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +0 -0
  256. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +0 -0
  257. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +0 -0
  258. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +0 -0
  259. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/head-manager.yaml +0 -0
  260. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/skill-change-proposals/.gitkeep +0 -0
  261. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/subagent-registry.yaml +0 -0
  262. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/fixed-subagents/module.json +0 -0
  263. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/guardrails.md +0 -0
  264. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/guidance-guardrails/module.json +0 -0
  265. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/information-barriers/files/.tradingcodex/secrets.md +0 -0
  266. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/information-barriers/files/trading/approvals/.gitkeep +0 -0
  267. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/market-data → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/forecasts}/.gitkeep +0 -0
  268. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/orders/approved → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/market-data}/.gitkeep +0 -0
  269. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/orders/draft → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/orders/approved}/.gitkeep +0 -0
  270. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/orders/executed → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/orders/draft}/.gitkeep +0 -0
  271. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/orders/rejected → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/orders/executed}/.gitkeep +0 -0
  272. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/portfolio → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/orders/rejected}/.gitkeep +0 -0
  273. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/fundamental → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/portfolio}/.gitkeep +0 -0
  274. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/instrument → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/fundamental}/.gitkeep +0 -0
  275. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/macro → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/instrument}/.gitkeep +0 -0
  276. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/news → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/macro}/.gitkeep +0 -0
  277. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/policy → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/news}/.gitkeep +0 -0
  278. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/portfolio → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/policy}/.gitkeep +0 -0
  279. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/postmortem → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/portfolio}/.gitkeep +0 -0
  280. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/risk → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/postmortem}/.gitkeep +0 -0
  281. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/technical → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/risk}/.gitkeep +0 -0
  282. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/reports/valuation → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/technical}/.gitkeep +0 -0
  283. {tradingcodex-0.2.5/workspace_templates/modules/information-barriers/files/trading/research → tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/reports/valuation}/.gitkeep +0 -0
  284. /tradingcodex-0.2.5/workspace_templates/__init__.py → /tradingcodex-0.2.7/workspace_templates/modules/information-barriers/files/trading/research/.gitkeep +0 -0
  285. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/information-barriers/module.json +0 -0
  286. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/paper-trading/module.json +0 -0
  287. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/postmortem/files/.tradingcodex/workflows/postmortem.yaml +0 -0
  288. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/postmortem/module.json +0 -0
  289. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/SKILL.md +0 -0
  290. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/agents/openai.yaml +0 -0
  291. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/SKILL.md +0 -0
  292. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/agents/openai.yaml +0 -0
  293. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/SKILL.md +0 -0
  294. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/agents/openai.yaml +0 -0
  295. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/agents/openai.yaml +0 -0
  296. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/agents/openai.yaml +0 -0
  297. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/agents/openai.yaml +0 -0
  298. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/agents/openai.yaml +0 -0
  299. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/agents/openai.yaml +0 -0
  300. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/agents/openai.yaml +0 -0
  301. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/SKILL.md +0 -0
  302. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/agents/openai.yaml +0 -0
  303. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/agents/openai.yaml +0 -0
  304. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/SKILL.md +0 -0
  305. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/agents/openai.yaml +0 -0
  306. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/SKILL.md +0 -0
  307. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/agents/openai.yaml +0 -0
  308. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/agents/openai.yaml +0 -0
  309. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/agents/openai.yaml +0 -0
  310. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/SKILL.md +0 -0
  311. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/agents/openai.yaml +0 -0
  312. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/agents/openai.yaml +0 -0
  313. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/agents/openai.yaml +0 -0
  314. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/repo-skills/module.json +0 -0
  315. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/stub-execution/module.json +0 -0
  316. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/enforcer/README.md +0 -0
  317. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/gateway/README.md +0 -0
  318. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/server.py +0 -0
  319. {tradingcodex-0.2.5 → tradingcodex-0.2.7}/workspace_templates/modules/tradingcodex-mcp/module.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tradingcodex
3
- Version: 0.2.5
3
+ Version: 0.2.7
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
@@ -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 non-live submission checks. Codex coordinates the work, Django
63
- owns the durable service plane, and TradingCodex owns the executable boundary.
62
+ service-gated execution checks. Codex coordinates the work, Django owns the
63
+ 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
 
@@ -78,7 +78,8 @@ policy and approval services, a central local ledger, and a local web dashboard
78
78
  for review.
79
79
 
80
80
  It is not an autonomous trading bot. Natural-language answers do not become
81
- broker actions. Live broker adapters are not shipped in the initial core.
81
+ broker actions. The core ships paper execution by default; live broker support
82
+ comes only from installed, reviewed providers and explicit live gates.
82
83
 
83
84
  ---
84
85
 
@@ -89,10 +90,11 @@ broker actions. Live broker adapters are not shipped in the initial core.
89
90
  | Codex-native harness | Generates a Codex workspace with `head-manager`, nine fixed subagents, role prompts, skills, hooks, project MCP config, and a local `./tcx` wrapper. |
90
91
  | 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
92
  | File-native research memory | Research markdown, role reports, source snapshots, versions, readiness labels, and handoff metadata stay readable in workspace files. |
93
+ | Decision Workflow Alpha | Turn a natural-language investment idea into a Codex-native workflow plan and Decision Package under `trading/decisions/`. |
92
94
  | Fixed-role workflows | Specialist agents own bounded questions across fundamentals, technicals, news, macro, instruments, valuation, portfolio, risk, and execution. |
93
95
  | Approved action boundary | Actions are typed, role-scoped, policy-checked, approval-aware, duplicate-request checked, connection-gated, and audited. |
94
96
  | 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
- | Broker Center foundations | Register connector profiles, inspect capability profiles, run read-only paper sync, review instrument constraints, and reconcile portfolio state. |
97
+ | Broker Center foundations | Connect provider-driven broker profiles, list installed providers, scaffold/register advanced connectors, inspect capability profiles, run account sync, review instrument constraints, and reconcile portfolio state. |
96
98
  | OrderTicket lifecycle | Draft, check, approve, submit, cancel, refresh, and inspect order tickets through central DB records and service-layer state transitions. |
97
99
  | 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
100
  | Improvement loop | Quality gates, postmortems, optional skills, strategy skills, strict artifact checks, and generated workspace smoke tests turn process gaps into durable improvements. |
@@ -169,8 +171,13 @@ boundaries rather than on black-box automation.
169
171
  - Deterministic executable boundary: every executable path follows
170
172
  a fixed requester, permission, policy, payload, approval, duplicate-request,
171
173
  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.
174
+ - Safety-first broker posture: paper is built in; live broker execution requires
175
+ an installed provider plus workspace config, policy, environment opt-in,
176
+ approval, confirmation, idempotency, sync, and audit gates.
177
+ - Broker control plane: TradingCodex stores connector state, capability
178
+ profiles, mapping review, approval, execution, reconciliation, and audit;
179
+ provider adapters absorb broker-specific REST, SDK, MCP, or manual interface
180
+ differences behind canonical service/MCP tools.
174
181
 
175
182
  ---
176
183
 
@@ -180,7 +187,7 @@ TradingCodex is designed around handoffs:
180
187
 
181
188
  ```text
182
189
  evidence -> analysis -> valuation -> portfolio fit -> risk review
183
- -> draft order -> approval receipt -> approved non-live submission
190
+ -> draft order -> approval receipt -> approved service-gated submission
184
191
  -> connection result -> audit/postmortem
185
192
  ```
186
193
 
@@ -204,7 +211,7 @@ workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
204
211
  | Decision review | `valuation-analyst` | Valuation ranges, scenario assumptions, multiples, sensitivity, and decision-quality gaps. |
205
212
  | Portfolio | `portfolio-manager` | Portfolio fit, sizing, concentration, liquidity, opportunity cost, and draft order-ticket readiness. |
206
213
  | Risk | `risk-manager` | Downside, restricted-list checks, policy readiness, approval readiness, and approval receipts. |
207
- | Execution | `execution-operator` | Approved non-live submission through the TradingCodex service boundary only. |
214
+ | Execution | `execution-operator` | Approved submission/cancel/status through the TradingCodex service boundary only; live requires all gates. |
208
215
 
209
216
  ---
210
217
 
@@ -218,9 +225,9 @@ workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
218
225
  | MCP | Agent/tool boundary with typed tools, role scopes, policy checks, approval checks, and audit. |
219
226
  | CLI | Local operator commands plus generated workspace `./tcx` wrapper behavior. |
220
227
 
221
- The baseline frontend uses Django templates, local static HTMX, and local
222
- static Alpine. There is no Node, bundler, React, or frontend build step in the
223
- core package.
228
+ The baseline frontend uses Django templates, local static HTMX, and small plain
229
+ JavaScript. There is no Node, bundler, React, or frontend build step in the core
230
+ package.
224
231
 
225
232
  ---
226
233
 
@@ -236,8 +243,8 @@ TradingCodex blocks or constrains:
236
243
  - duplicate approved-order submissions
237
244
  - raw secrets in workspace files, prompts, API responses, MCP responses, audit
238
245
  payloads, generated docs, or shell output
239
- - unsupported live execution for crypto, macro, options, credit, FX, rates,
240
- commodities, or other instruments
246
+ - unsupported live execution through any provider, instrument, account, or
247
+ policy posture that has not passed the explicit live gate
241
248
 
242
249
  TradingCodex is research, workflow, and execution-guardrail tooling. It is not
243
250
  financial, investment, legal, tax, or regulatory advice, and it does not
@@ -250,9 +257,9 @@ provide investment recommendations or guarantee returns.
250
257
  | Status | Milestone |
251
258
  | --- | --- |
252
259
  | 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. |
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. |
254
- | Next | Deeper validation scenarios, richer connector capability profiles, stronger generated-workspace smoke coverage, and improved artifact quality tooling. |
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. |
260
+ | Current `0.2.x` | Central-DB `OrderTicket` rewrite, provider-driven Broker Center foundations, Data Sources gate, role-scoped actions, live-gated execution lifecycle, and Python `>=3.11,<3.15` support. |
261
+ | Next | Codex-native Decision Packages, deeper validation scenarios, richer provider capability profiles, stronger generated-workspace smoke coverage, and improved artifact quality tooling. |
262
+ | Future | Separately governed verified adapters, hosted/managed services, enterprise policy/compliance packs, and broker-specific live providers only after explicit product, policy, adapter, and validation work. |
256
263
 
257
264
  ---
258
265
 
@@ -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 non-live submission checks. Codex coordinates the work, Django
32
- owns the durable service plane, and TradingCodex owns the executable boundary.
31
+ service-gated execution checks. Codex coordinates the work, Django owns the
32
+ 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
 
@@ -47,7 +47,8 @@ policy and approval services, a central local ledger, and a local web dashboard
47
47
  for review.
48
48
 
49
49
  It is not an autonomous trading bot. Natural-language answers do not become
50
- broker actions. Live broker adapters are not shipped in the initial core.
50
+ broker actions. The core ships paper execution by default; live broker support
51
+ comes only from installed, reviewed providers and explicit live gates.
51
52
 
52
53
  ---
53
54
 
@@ -58,10 +59,11 @@ broker actions. Live broker adapters are not shipped in the initial core.
58
59
  | Codex-native harness | Generates a Codex workspace with `head-manager`, nine fixed subagents, role prompts, skills, hooks, project MCP config, and a local `./tcx` wrapper. |
59
60
  | 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
61
  | File-native research memory | Research markdown, role reports, source snapshots, versions, readiness labels, and handoff metadata stay readable in workspace files. |
62
+ | Decision Workflow Alpha | Turn a natural-language investment idea into a Codex-native workflow plan and Decision Package under `trading/decisions/`. |
61
63
  | Fixed-role workflows | Specialist agents own bounded questions across fundamentals, technicals, news, macro, instruments, valuation, portfolio, risk, and execution. |
62
64
  | Approved action boundary | Actions are typed, role-scoped, policy-checked, approval-aware, duplicate-request checked, connection-gated, and audited. |
63
65
  | 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
- | Broker Center foundations | Register connector profiles, inspect capability profiles, run read-only paper sync, review instrument constraints, and reconcile portfolio state. |
66
+ | Broker Center foundations | Connect provider-driven broker profiles, list installed providers, scaffold/register advanced connectors, inspect capability profiles, run account sync, review instrument constraints, and reconcile portfolio state. |
65
67
  | OrderTicket lifecycle | Draft, check, approve, submit, cancel, refresh, and inspect order tickets through central DB records and service-layer state transitions. |
66
68
  | 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
69
  | Improvement loop | Quality gates, postmortems, optional skills, strategy skills, strict artifact checks, and generated workspace smoke tests turn process gaps into durable improvements. |
@@ -138,8 +140,13 @@ boundaries rather than on black-box automation.
138
140
  - Deterministic executable boundary: every executable path follows
139
141
  a fixed requester, permission, policy, payload, approval, duplicate-request,
140
142
  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.
143
+ - Safety-first broker posture: paper is built in; live broker execution requires
144
+ an installed provider plus workspace config, policy, environment opt-in,
145
+ approval, confirmation, idempotency, sync, and audit gates.
146
+ - Broker control plane: TradingCodex stores connector state, capability
147
+ profiles, mapping review, approval, execution, reconciliation, and audit;
148
+ provider adapters absorb broker-specific REST, SDK, MCP, or manual interface
149
+ differences behind canonical service/MCP tools.
143
150
 
144
151
  ---
145
152
 
@@ -149,7 +156,7 @@ TradingCodex is designed around handoffs:
149
156
 
150
157
  ```text
151
158
  evidence -> analysis -> valuation -> portfolio fit -> risk review
152
- -> draft order -> approval receipt -> approved non-live submission
159
+ -> draft order -> approval receipt -> approved service-gated submission
153
160
  -> connection result -> audit/postmortem
154
161
  ```
155
162
 
@@ -173,7 +180,7 @@ workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
173
180
  | Decision review | `valuation-analyst` | Valuation ranges, scenario assumptions, multiples, sensitivity, and decision-quality gaps. |
174
181
  | Portfolio | `portfolio-manager` | Portfolio fit, sizing, concentration, liquidity, opportunity cost, and draft order-ticket readiness. |
175
182
  | Risk | `risk-manager` | Downside, restricted-list checks, policy readiness, approval readiness, and approval receipts. |
176
- | Execution | `execution-operator` | Approved non-live submission through the TradingCodex service boundary only. |
183
+ | Execution | `execution-operator` | Approved submission/cancel/status through the TradingCodex service boundary only; live requires all gates. |
177
184
 
178
185
  ---
179
186
 
@@ -187,9 +194,9 @@ workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
187
194
  | MCP | Agent/tool boundary with typed tools, role scopes, policy checks, approval checks, and audit. |
188
195
  | CLI | Local operator commands plus generated workspace `./tcx` wrapper behavior. |
189
196
 
190
- The baseline frontend uses Django templates, local static HTMX, and local
191
- static Alpine. There is no Node, bundler, React, or frontend build step in the
192
- core package.
197
+ The baseline frontend uses Django templates, local static HTMX, and small plain
198
+ JavaScript. There is no Node, bundler, React, or frontend build step in the core
199
+ package.
193
200
 
194
201
  ---
195
202
 
@@ -205,8 +212,8 @@ TradingCodex blocks or constrains:
205
212
  - duplicate approved-order submissions
206
213
  - raw secrets in workspace files, prompts, API responses, MCP responses, audit
207
214
  payloads, generated docs, or shell output
208
- - unsupported live execution for crypto, macro, options, credit, FX, rates,
209
- commodities, or other instruments
215
+ - unsupported live execution through any provider, instrument, account, or
216
+ policy posture that has not passed the explicit live gate
210
217
 
211
218
  TradingCodex is research, workflow, and execution-guardrail tooling. It is not
212
219
  financial, investment, legal, tax, or regulatory advice, and it does not
@@ -219,9 +226,9 @@ provide investment recommendations or guarantee returns.
219
226
  | Status | Milestone |
220
227
  | --- | --- |
221
228
  | 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. |
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. |
223
- | Next | Deeper validation scenarios, richer connector capability profiles, stronger generated-workspace smoke coverage, and improved artifact quality tooling. |
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. |
229
+ | Current `0.2.x` | Central-DB `OrderTicket` rewrite, provider-driven Broker Center foundations, Data Sources gate, role-scoped actions, live-gated execution lifecycle, and Python `>=3.11,<3.15` support. |
230
+ | Next | Codex-native Decision Packages, deeper validation scenarios, richer provider capability profiles, stronger generated-workspace smoke coverage, and improved artifact quality tooling. |
231
+ | Future | Separately governed verified adapters, hosted/managed services, enterprise policy/compliance packs, and broker-specific live providers only after explicit product, policy, adapter, and validation work. |
225
232
 
226
233
  ---
227
234
 
@@ -25,6 +25,7 @@ reference, then follow the topic-specific files for implementation-level rules.
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
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 |
28
+ | [investment-decision-quality-prd.md](./investment-decision-quality-prd.md) | PRD for vague-prompt routing, Decision Quality Spine, forecast discipline, scenario reasoning, data QC, and anti-overfit validation | Investment-analysis quality, forecasting, decision-support routing, shared decision-quality skills, or forecast/readiness artifact contracts change |
28
29
  | [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 |
29
30
  | [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 |
30
31
  | [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 |
@@ -57,8 +58,8 @@ reference, then follow the topic-specific files for implementation-level rules.
57
58
  | Django apps, models, service-layer contracts, or DB ownership | `system-architecture.md` |
58
59
  | Product web, Admin, REST, MCP, CLI, or wrapper behavior | `interfaces-and-surfaces.md` |
59
60
  | Guardrails, policy, permission, approval, execution, adapter, or secret boundary | `guardrails.md`, `safety-policy-and-execution.md`, `core-concepts-and-rules.md` |
60
- | Subagent roster, role responsibilities, skills, strategy behavior, workflow routing, or information barriers | `roles-skills-and-workflows.md`, `core-concepts-and-rules.md` |
61
- | Research memory, artifacts, exports, source snapshots, report readiness, or postmortem learning | `improvement-loop.md`, `research-memory-and-artifacts.md` |
61
+ | Subagent roster, role responsibilities, skills, strategy behavior, workflow routing, decision-quality routing, or information barriers | `roles-skills-and-workflows.md`, `investment-decision-quality-prd.md`, `core-concepts-and-rules.md` |
62
+ | Research memory, artifacts, exports, source snapshots, forecast ledgers, report readiness, or postmortem learning | `improvement-loop.md`, `research-memory-and-artifacts.md`, `investment-decision-quality-prd.md` |
62
63
  | Generated workspace structure, templates, hooks, bootstrap, or MCP config | `generated-workspaces.md` |
63
64
  | Test coverage or validation commands | `validation-and-test-plan.md` |
64
65
  | PyPI/TestPyPI release, CI/CD, or package distribution boundary | `deployment.md`, `product-direction.md` |
@@ -38,13 +38,14 @@ paths clear.
38
38
  | `investment-request-routing` | Classifies user intent and activates fixed-role workflows. | `guardrail.guidance`, `improvement.workflow_quality` |
39
39
  | `fixed-role-dispatch` | Maintains head-manager, fixed subagent routing, and no-overlap handoff boundaries. | `guardrail.guidance`, `guardrail.information_barrier`, `improvement.workflow_quality` |
40
40
  | `research-memory` | Stores source-aware research artifacts, versions, snapshots, and exports. | `improvement.research_memory` |
41
- | `workflow-quality-gates` | Defines lane selection, handoff acceptance, artifact readiness, claim discipline, and synthesis gates. | `guardrail.guidance`, `improvement.workflow_quality` |
42
- | `artifact-quality-contract` | Evaluates workspace artifacts for source/as-of posture, claim tags, handoff state, confidence, missing evidence, and next-recipient routing metadata. | `guardrail.guidance`, `improvement.workflow_quality`, `improvement.research_memory` |
41
+ | `workflow-quality-gates` | Defines lane selection, Decision Quality Spine, handoff acceptance, artifact readiness, claim discipline, and synthesis gates. | `guardrail.guidance`, `improvement.workflow_quality` |
42
+ | `decision-package` | Wraps workflow plans, artifact paths, profile gaps, blocked actions, and next steps in Codex-readable workspace markdown. | `guardrail.guidance`, `improvement.workflow_quality`, `improvement.research_memory` |
43
+ | `artifact-quality-contract` | Evaluates workspace artifacts and forecast ledgers for source/as-of posture, claim tags, handoff state, confidence, missing evidence, and next-recipient routing metadata. | `guardrail.guidance`, `improvement.workflow_quality`, `improvement.research_memory` |
43
44
  | `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
45
  | `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
46
  | `external-data-source-gate` | Keeps external evidence read-only and source-aware. | `guardrail.guidance`, `improvement.workflow_quality` |
46
47
  | `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
- | `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
+ | `broker-center` | Acts as the local broker control plane for connector state, capability profiles, source drift, read-only account discovery, sync runs, mapping review, reconciliation, and service-gated execution. | `guardrail.enforcement`, `improvement.workflow_quality` |
48
49
  | `secret-wall` | Blocks raw broker secrets from workspace files, prompts, shell paths, and role context. | `guardrail.enforcement`, `guardrail.information_barrier` |
49
50
  | `policy-and-restricted-list` | Evaluates principals, capabilities, explicit deny rules, restricted symbols, and limits. | `guardrail.enforcement` |
50
51
  | `approval-gate` | Validates order tickets, JSON order inputs, and approval receipts before execution-sensitive action. | `guardrail.enforcement` |
@@ -59,7 +59,7 @@ Use [harness.md](./harness.md) for the top-level model,
59
59
  | Plane | Responsibility | Source document |
60
60
  | --- | --- | --- |
61
61
  | Codex control plane | Agent behavior, workflow, tool surface, prompts, skills, hooks, and Codex-level guidance | [roles-skills-and-workflows.md](./roles-skills-and-workflows.md), [generated-workspaces.md](./generated-workspaces.md) |
62
- | Django service plane | Durable policy/order/portfolio/audit/harness/integration logic, product web, Admin, Ninja, MCP HTTP endpoint, and research file indexing | [system-architecture.md](./system-architecture.md), [interfaces-and-surfaces.md](./interfaces-and-surfaces.md) |
62
+ | Django service plane | Durable policy/order/portfolio/audit/harness/integration logic, product web, Admin, Ninja, stdio MCP bridge, and research file indexing | [system-architecture.md](./system-architecture.md), [interfaces-and-surfaces.md](./interfaces-and-surfaces.md) |
63
63
  | Workspace system plane | Generated schemas, policy exports, MCP wrappers, research markdown, readable artifacts, audit directories | [generated-workspaces.md](./generated-workspaces.md), [research-memory-and-artifacts.md](./research-memory-and-artifacts.md) |
64
64
 
65
65
  Workspace identity is the Codex workbench identity. Research handoffs are
@@ -76,7 +76,7 @@ portfolio state or execution policy.
76
76
  | --- | --- | --- | --- |
77
77
  | Guidance guardrail | Reduce risky behavior before it reaches execution. | `AGENTS.md`, skills, role prompts, hooks, checklists | [roles-skills-and-workflows.md](./roles-skills-and-workflows.md) |
78
78
  | Enforcement guardrail | Deterministically block risky action completion. | permissions, policy, approval checks, MCP allowlists | [safety-policy-and-execution.md](./safety-policy-and-execution.md) |
79
- | Information barrier | Control knowledge and file-access flow. | role file walls, restricted list, secret wall | [roles-skills-and-workflows.md](./roles-skills-and-workflows.md), [safety-policy-and-execution.md](./safety-policy-and-execution.md) |
79
+ | Information barrier | Control knowledge and file-access flow. | role skill-source boundaries, restricted list, secret wall | [roles-skills-and-workflows.md](./roles-skills-and-workflows.md), [safety-policy-and-execution.md](./safety-policy-and-execution.md) |
80
80
  | Improvement loop | Standardize artifact quality, learn from outcomes, and improve future workflow behavior. | workflows, quality gates, readiness labels, research memory, file-native skill proposals, postmortems, validation feedback | [improvement-loop.md](./improvement-loop.md), [research-memory-and-artifacts.md](./research-memory-and-artifacts.md), [roles-skills-and-workflows.md](./roles-skills-and-workflows.md) |
81
81
 
82
82
  ## Role Boundary Snapshot
@@ -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 non-live orders through the TradingCodex service boundary | raw broker API, secret read, policy change |
94
+ | `execution-operator` | submit/cancel approved orders through the TradingCodex service boundary; live only after all gates pass | 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
@@ -5,8 +5,9 @@ TradingCodex is distributed as a Python package on PyPI. The package name is
5
5
 
6
6
  TradingCodex is local-first software. A PyPI release ships the CLI, Django
7
7
  service plane, generated workspace templates, Admin/Web templates, static
8
- assets, and MCP gateway code. It does not deploy a hosted service and it does
9
- not ship live broker execution.
8
+ assets, and MCP gateway code. It does not deploy a hosted service. Core ships
9
+ paper execution by default; broker-specific live execution requires installed,
10
+ reviewed providers and explicit live gates.
10
11
 
11
12
  ## Release Policy
12
13
 
@@ -18,9 +19,9 @@ application-service surfaces are the supported contract.
18
19
 
19
20
  Execution status for this release line:
20
21
 
21
- - live broker execution is excluded
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
22
+ - paper execution is built in
23
+ - validation and live-capable provider code must be installed/reviewed before use
24
+ - live submission is disabled by default and requires config, policy, environment, adapter, health, approval, confirmation, idempotency, sync, and audit gates
24
25
  - execution MCP tools must stay behind policy, approval, duplicate-request,
25
26
  connection, and audit checks
26
27
 
@@ -140,7 +141,7 @@ python3.11 -m venv /tmp/tcx-testpypi
140
141
  /tmp/tcx-testpypi/bin/pip install \
141
142
  --index-url https://test.pypi.org/simple/ \
142
143
  --extra-index-url https://pypi.org/simple/ \
143
- tradingcodex==0.2.5
144
+ tradingcodex==0.2.7
144
145
  rm -rf /tmp/tcx-testpypi-smoke
145
146
  mkdir -p /tmp/tcx-testpypi-smoke
146
147
  cd /tmp/tcx-testpypi-smoke
@@ -156,8 +157,8 @@ available on TestPyPI.
156
157
  Before pushing the release tag:
157
158
 
158
159
  - verify `pyproject.toml` version is the intended release version
159
- - verify `README.md` describes execution as experimental
160
- - verify docs mention that live broker execution is excluded
160
+ - verify `README.md` describes execution as service-gated
161
+ - verify docs mention that live broker execution requires installed providers and explicit gates
161
162
  - run local build verification
162
163
  - run a TestPyPI release when packaging changed
163
164
 
@@ -169,7 +170,7 @@ After the PyPI workflow completes:
169
170
 
170
171
  ```bash
171
172
  python3.11 -m venv /tmp/tcx-pypi
172
- /tmp/tcx-pypi/bin/pip install tradingcodex==0.2.5
173
+ /tmp/tcx-pypi/bin/pip install tradingcodex==0.2.7
173
174
  rm -rf /tmp/tcx-pypi-smoke
174
175
  mkdir -p /tmp/tcx-pypi-smoke
175
176
  cd /tmp/tcx-pypi-smoke
@@ -253,7 +254,12 @@ Use PEP 440 versions:
253
254
  context, build-mode updates, and connector scaffold workflow
254
255
  - `0.2.5` for packaged web static assets and startup service mismatch notices
255
256
  reaching head-manager compact context
256
- - later patch releases for compatible fixes after `0.2.5`
257
+ - `0.2.6` for provider-driven Broker Center foundations, live-gated provider
258
+ execution paths, runtime surface simplification, and stricter subagent skill
259
+ boundaries after `0.2.5`
260
+ - `0.2.7` for Codex-native decision packages and investment decision quality
261
+ spine improvements after `0.2.6`
262
+ - later patch releases for compatible fixes after `0.2.7`
257
263
  - pre-releases such as `0.3.0a1`, `0.3.0b1`, or `0.3.0rc1` when preparing
258
264
  the next minor contract
259
265
 
@@ -101,6 +101,11 @@ Generated workspaces contain:
101
101
  - no-overlap handoff contract: each role owns its specialist question, downstream roles consume accepted artifacts, and missing/stale/weak upstream work returns `revise`, `blocked`, or `waiting` instead of being silently redone by another role
102
102
  - closed selected team: hook/starter-prompt selected roles are binding for the current lane; research-only prompts do not add portfolio, risk, approval, or execution roles for precautionary coverage
103
103
  - negated scope routing: phrases such as "no valuation", "no order", and "no trading" remove those actions or roles from dispatch selection
104
+ - broad public-equity prompts such as "Analyze NVDA" default to deep thesis
105
+ review with fundamental, technical, news, and valuation roles unless explicit
106
+ constraints narrow the team first
107
+ - compact Decision Quality Spine flags in hook context for decision quality,
108
+ forecast contract, profile gate, anti-overfit, and deep thesis default
104
109
  - no full-history fixed-role spawn: fixed `agent_type` subagents receive compact assignment envelopes without full-history forking on the first attempt
105
110
  - subagent hook isolation: `UserPromptSubmit` auto-routing is ignored for fixed subagent contexts so subagent briefs cannot overwrite main-agent routing state or create recursive dispatch pressure
106
111
  - main-to-subagent briefs are assignment envelopes, not role manuals: they carry the current task, original request, explicit constraints, workflow consent posture, research artifact language, lane, artifact target, compact context summary, request-specific out-of-scope items, and return contract without repeating long method/source/guardrail checklists or pasting full artifacts
@@ -122,14 +127,16 @@ Generated workspaces contain:
122
127
  - fixed subagent `nickname_candidates` set to a single item matching the exact role `name`
123
128
  - fixed subagent identities kept in `.codex/agents/*.toml` `developer_instructions`, as required by Codex custom agent files
124
129
  - project-local additional agent instructions under `.tradingcodex/agent-instructions/<role>.md`; projection appends them after generated default instructions for `head-manager` and fixed subagents
125
- - twenty-four core repo skills across project-scope mainagent skills and subagent skill directories, each with `SKILL.md` frontmatter for document metadata and `agents/openai.yaml` UI metadata
130
+ - twenty-three core repo skills across project-scope mainagent skills and subagent skill directories, each with `SKILL.md` frontmatter for document metadata and `agents/openai.yaml` UI metadata
131
+ - shared decision-quality skill bundles for forecasting discipline, thesis
132
+ scenario trees, numeric data QC, and anti-overfit validation
126
133
  - standalone `strategy-*` skills under `.agents/skills/strategy-*` for user-approved agent-readable investment strategies, created through `strategy-creator`, CLI, API, or service-layer flows and exposed to the root `head-manager` through the strategy marker block in `.codex/config.toml`; Django web lists and previews them read-only
127
- - file-native agent/skill projection: role skill state is expressed in `.codex/agents/*.toml`, `.agents/skills/*`, `.tradingcodex/subagents/skills/*`, `.codex/config.toml`, `.tradingcodex/mainagent/skill-change-proposals/*.yaml`, and `.tradingcodex/generated/*.json`, not Django skill DB tables
134
+ - file-native agent/skill projection: head-manager and strategy skills live under `.agents/skills/*`, role-owned subagent skills live under `.tradingcodex/subagents/skills/*`, and role TOML embeds the allowed role skill source list; state is expressed in `.codex/agents/*.toml`, `.codex/config.toml`, `.tradingcodex/mainagent/skill-change-proposals/*.yaml`, and `.tradingcodex/generated/*.json`, not Django skill DB tables
128
135
  - optional subagent skills are created, updated, activated, archived, deleted, and validated through the shared application service used by `head-manager`, CLI, API, and Django web
129
136
  - information-barrier policies
130
137
  - order/approval schemas
131
138
  - restricted-list policy
132
- - paper and validation-only non-live adapters
139
+ - built-in paper provider plus provider-driven validation/live gates
133
140
  - audit directories
134
141
  - central local SQLite service access through `~/.tradingcodex/state/tradingcodex.sqlite3`
135
142
  - workspace identity through `.tradingcodex/workspace.json`
@@ -139,6 +146,7 @@ Generated workspaces contain:
139
146
  - generated indexes under `.tradingcodex/generated/`, including
140
147
  `module-lock.json`, `capability-index.json`, `component-index.json`,
141
148
  `agent-index.json`, `skill-index.json`, and `projection-manifest.json`
149
+ - append-only forecast ledger directory at `trading/forecasts/`
142
150
 
143
151
  Workspace template modules are deployment projections. Harness component
144
152
  ownership comes from the Python component registry and is exported into
@@ -250,9 +258,10 @@ Generated permission profiles allow network access for public evidence
250
258
  gathering, such as filings, disclosures, news, web sources, and market-data
251
259
  references. They still deny workspace secret paths and do not authorize direct
252
260
  broker APIs, broker-specific Codex MCP servers, approval bypass, or execution.
253
- Broker APIs are attached through native TradingCodex connector profiles using
254
- canonical MCP tools such as `list_broker_connector_templates`,
255
- `register_broker_connector`, `get_broker_capability_profile`,
261
+ Broker APIs are attached through provider-driven TradingCodex connector profiles
262
+ using canonical MCP tools such as `list_broker_adapter_providers`,
263
+ `scaffold_broker_connector`, `register_broker_connector`,
264
+ `validate_broker_connector_build`, `get_broker_capability_profile`,
256
265
  `get_broker_instrument_constraints`, and `preview_order_translation`.
257
266
 
258
267
  Generated Codex config declares the TradingCodex home directory, normally
@@ -331,8 +340,9 @@ Build mode is per workspace and explicit:
331
340
  - `./tcx mode set build --reason "<reason>"`
332
341
  - `./tcx mode set operate`
333
342
 
334
- Build mode may update TradingCodex, templates, and broker/API adapter
335
- scaffolds. It never enables live execution. Update recommendations are scoped
343
+ Build mode may update TradingCodex, templates, and broker/API provider
344
+ scaffolds, including live-capable provider code. It never submits live orders;
345
+ live submission remains behind the service gates. Update recommendations are scoped
336
346
  to the new-conversation health pass, not every user turn. If the user declines
337
347
  update prompts, `head-manager` records the TradingCodex home preference file,
338
348
  normally `~/.tradingcodex/preferences/update.json`, with
@@ -340,9 +350,20 @@ normally `~/.tradingcodex/preferences/update.json`, with
340
350
  recommend automatic workspace updates unless the user removes or changes that
341
351
  flag, or explicitly asks for an update.
342
352
 
343
- Connector scaffold commands accept short aliases such as `binance`, `kis`,
344
- `한투`, `upbit`, and `alpaca`; the generated connector profile still records
345
- the canonical template ID.
353
+ Connector onboarding is connect-first: `tcx connectors connect <broker>` wraps
354
+ provider discovery, scaffold, registration, validation, and plain status output.
355
+ Advanced scaffold/register/validate commands remain available. If the requested
356
+ provider is not installed, the generated connector profile records
357
+ `provider_development_required` instead of pretending the broker is already
358
+ supported.
359
+
360
+ Broker provider build work is separate from the running operate server. A
361
+ generated workspace may already have TradingCodex MCP autostarting the Django
362
+ service; provider file changes must not be treated as hot-loaded live execution
363
+ authority. Connector profiles record provider source hashes, status calls report
364
+ `service_restart_required` when source changed after registration, and live
365
+ execution remains blocked until the service is restarted and the connector is
366
+ revalidated.
346
367
 
347
368
  ## Hooks
348
369
 
@@ -364,7 +385,7 @@ enforcement.
364
385
  - execution negation routing such as "no order" and "no trading"
365
386
  - strategy authoring prompts remain in `strategy-creator`/strategy CRUD scope
366
387
  instead of auto-dispatching fixed investment subagents
367
- - connector implementation prompts such as "binance 붙여줘" or "connect KIS"
388
+ - connector implementation prompts such as "connect this broker"
368
389
  route to the `connector_build` lane and `$tcx-build`, not investment
369
390
  dispatch
370
391
  - secret-only routing: credential, token, password, broker-key, or `.env`
@@ -69,7 +69,7 @@ Information barriers cover:
69
69
  - execution walls
70
70
  - policy walls
71
71
  - secret walls
72
- - role file boundaries
72
+ - role skill-source boundaries
73
73
  - role-specific MCP allowlists
74
74
  - generated subagent permission profiles
75
75
 
@@ -50,6 +50,7 @@ TradingCodex Harness
50
50
  | Guardrails | Reduce, restrict, or block risky actions through guidance, enforcement, and information barriers. |
51
51
  | Improvement | Raise workflow quality through no-overlap handoff contracts, quality gates, artifact readiness, research memory, postmortems, and test feedback. |
52
52
  | Approved action boundary | Keep executable actions behind policy, approval, duplicate-request, connection, and audit checks. |
53
+ | Decision packages | Keep investment ideas Codex-native by packaging workflow plans, artifact paths, profile gaps, blocked actions, and next allowed actions as workspace markdown. |
53
54
  | Provenance | Record which workspace and role produced or requested work without making workspaces separate ledgers. |
54
55
  | Profiles | Separate paper portfolio/account/strategy state from workspace identity. |
55
56
  | Components | Provide the developer-facing maintenance map for implementation surfaces, dependencies, capabilities, tags, and validation. |
@@ -112,6 +113,13 @@ It is a tag and review lens applied to components.
112
113
  Improvement does not authorize execution. A high-quality report still needs the
113
114
  guardrail path before any draft, approval, or non-live connection use.
114
115
 
116
+ Decision Quality Spine is part of Improvement, not a new monolithic workflow.
117
+ It adds shared expectations for intent normalization, scenario reasoning,
118
+ forecast permission, numeric data QC, anti-overfit review, challenge review,
119
+ readiness labels, and append-only forecast ledger records. The spine applies
120
+ inside the selected lane and selected team only; it never widens role authority,
121
+ MCP access, approval, execution, broker, or secret boundaries.
122
+
115
123
  ## Interface Implications
116
124
 
117
125
  The product web app should make the harness usable through a workflow-planner
@@ -1,7 +1,7 @@
1
1
  # Interfaces And Surfaces
2
2
 
3
3
  This document owns the behavior of TradingCodex product web, Django Admin,
4
- Django Ninja API, Django-hosted MCP, CLI, and generated workspace wrappers.
4
+ Django Ninja API, stdio MCP, CLI, and generated workspace wrappers.
5
5
 
6
6
  ## Interface Rule
7
7
 
@@ -57,8 +57,8 @@ of the primary product navigation:
57
57
  - `/policy/` restricted list and policy decision review
58
58
  - `/activity/` MCP call ledger, audit events, and workflow activity
59
59
 
60
- The product web app uses Django templates, local static HTMX, and local static
61
- Alpine. There is no Node, bundler, React, or frontend build step in the
60
+ The product web app uses Django templates, local static HTMX, and small plain
61
+ JavaScript. There is no Node, bundler, React, or frontend build step in the
62
62
  baseline. Its visual language follows a compact dark dashboard style inspired
63
63
  by shadcn `new-york` components, implemented with vanilla CSS over Django
64
64
  templates rather than React or Tailwind.
@@ -232,8 +232,7 @@ workspace provenance stay in the same approved action boundary.
232
232
 
233
233
  TradingCodex exposes the official Codex MCP path through project-scoped stdio:
234
234
  `tcx mcp stdio`. MCP is intentionally selected service-layer use cases, not an
235
- automatic REST mirror. The Django `/mcp` endpoint is retained only as a
236
- legacy/debug transport and is not the generated Codex workspace path.
235
+ automatic REST mirror.
237
236
 
238
237
  Minimum MCP protocol surface:
239
238
 
@@ -364,8 +363,10 @@ Generated workspace wrapper commands:
364
363
  - `./tcx mode set build --reason "<reason>"`
365
364
  - `./tcx mode set operate`
366
365
  - `./tcx connectors status`
367
- - `./tcx connectors scaffold <template-or-alias> --broker-id <id>`
368
- - `./tcx connectors register <template-or-alias> --broker-id <id> --credential-ref <ref> --environment <paper|sandbox|testnet>`
366
+ - `./tcx connectors providers`
367
+ - `./tcx connectors connect <broker> [--provider <provider-id>] [--credential-ref <ref>] [--mode read-only|validation|live-request]`
368
+ - `./tcx connectors scaffold <broker-id> [--provider <provider-id>] [--credential-ref <ref>] [--environment <env>]`
369
+ - `./tcx connectors register --provider <provider-id> --broker-id <id> --credential-ref <ref> [--environment <env>]`
369
370
  - `./tcx connectors validate <broker-id>`
370
371
  - `./tcx workspace status|list`
371
372
  - `./tcx profile status|list|create|select|update`
@@ -373,9 +374,9 @@ Generated workspace wrapper commands:
373
374
  - `./tcx subagents prompt [--json|--explain] "<request>"`
374
375
  - `./tcx skills optional list|inspect|create|update|activate|archive|delete`
375
376
 
376
- Short aliases such as `binance`, `kis`, `한투`, `upbit`, and `alpaca` resolve
377
- to canonical connector templates while generated profiles keep the canonical
378
- template ID.
377
+ Connector setup is provider-first. Core ships the `paper` provider only; a
378
+ named broker request routes to `$tcx-build` to install or develop a reviewed
379
+ provider, then registration stores only provider metadata and `credential_ref`.
379
380
  - `./tcx strategies list|inspect|create|update|activate|archive|delete`
380
381
  - `./tcx validate order <path>`
381
382
  - `./tcx approve <path>`