tradingcodex 0.2.0__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 (321) hide show
  1. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/PKG-INFO +71 -72
  2. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/README.md +66 -70
  3. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/components.md +4 -0
  4. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/deployment.md +19 -17
  5. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/generated-workspaces.md +74 -12
  6. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/guardrails.md +5 -0
  7. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/harness.md +16 -0
  8. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/improvement-loop.md +3 -0
  9. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/interfaces-and-surfaces.md +13 -8
  10. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/research-memory-and-artifacts.md +24 -1
  11. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/roles-skills-and-workflows.md +44 -25
  12. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/safety-policy-and-execution.md +43 -16
  13. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/system-architecture.md +30 -0
  14. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/validation-and-test-plan.md +93 -1
  15. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/install.sh +13 -5
  16. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/installation.md +22 -18
  17. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/pyproject.toml +5 -2
  18. tradingcodex-0.2.1/static/tradingcodex_web/app.js +74 -0
  19. tradingcodex-0.2.1/static/tradingcodex_web/workbench.css +1733 -0
  20. tradingcodex-0.2.1/tests/test_broker_center_prd.py +503 -0
  21. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tests/test_e2e_user_scenarios.py +195 -2
  22. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tests/test_python_migration.py +670 -59
  23. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex.egg-info/PKG-INFO +71 -72
  24. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex.egg-info/SOURCES.txt +14 -0
  25. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/__main__.py +2 -1
  26. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/bootstrap.py +12 -1
  27. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/doctor.py +19 -2
  28. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/mcp.py +36 -3
  29. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/orders.py +7 -12
  30. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/research.py +17 -1
  31. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/subagents.py +7 -0
  32. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/utils.py +15 -0
  33. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/api.py +8 -0
  34. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/agents.py +150 -15
  35. tradingcodex-0.2.1/tradingcodex_service/application/artifact_quality.py +206 -0
  36. tradingcodex-0.2.1/tradingcodex_service/application/brokers.py +1868 -0
  37. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/components.py +65 -2
  38. tradingcodex-0.2.1/tradingcodex_service/application/context_budget.py +275 -0
  39. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/harness.py +84 -142
  40. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/orders.py +183 -4
  41. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/policy.py +50 -4
  42. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/research.py +49 -1
  43. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/runtime.py +2 -2
  44. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/mcp_runtime.py +132 -5
  45. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/agents.html +34 -31
  46. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/base.html +11 -4
  47. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/brokers.html +42 -32
  48. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/research.html +2 -2
  49. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/strategies.html +3 -7
  50. tradingcodex-0.2.1/tradingcodex_service/version.py +1 -0
  51. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/web.py +35 -2
  52. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.codex/config.toml +24 -11
  53. tradingcodex-0.2.1/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +471 -0
  54. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +62 -2
  55. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/config.yaml +3 -0
  56. tradingcodex-0.2.1/workspace_templates/modules/codex-base/files/AGENTS.md +39 -0
  57. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/pyproject.toml +1 -1
  58. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/tcx +3 -3
  59. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/access-policies.yaml +1 -0
  60. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_ticket.schema.json +1 -1
  61. tradingcodex-0.2.1/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/research_artifact.schema.json +43 -0
  62. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/execution-operator.toml +4 -2
  63. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +3 -2
  64. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +3 -2
  65. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +2 -1
  66. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +2 -1
  67. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +2 -1
  68. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +2 -1
  69. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +3 -2
  70. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +2 -1
  71. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/task-quality-checklist.md +1 -1
  72. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/.tradingcodex/policies/information-barriers.yaml +9 -0
  73. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/SKILL.md +77 -0
  74. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/agents/openai.yaml +1 -1
  75. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/SKILL.md +73 -0
  76. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/SKILL.md +51 -0
  77. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/SKILL.md +1 -1
  78. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/scenario-quality-gates/SKILL.md +4 -0
  79. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/SKILL.md +16 -14
  80. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/SKILL.md +51 -0
  81. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/agents/openai.yaml +1 -1
  82. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/SKILL.md +17 -0
  83. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/agents/openai.yaml +1 -1
  84. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/SKILL.md +96 -0
  85. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/agents/openai.yaml +6 -0
  86. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/asset-classes.md +43 -0
  87. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/capability-profile.md +51 -0
  88. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/connector-templates.md +70 -0
  89. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/safety-runbook.md +31 -0
  90. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/troubleshooting.md +50 -0
  91. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/scripts/summarize_connector_status.py +39 -0
  92. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/scripts/validate_connector_profile.py +80 -0
  93. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/SKILL.md +6 -10
  94. tradingcodex-0.2.1/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/agents/openai.yaml +6 -0
  95. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/SKILL.md +5 -9
  96. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/SKILL.md +7 -11
  97. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/SKILL.md +4 -8
  98. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/SKILL.md +1 -5
  99. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/SKILL.md +3 -9
  100. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/SKILL.md +2 -8
  101. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/SKILL.md +1 -8
  102. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/SKILL.md +1 -6
  103. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/SKILL.md +1 -7
  104. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/SKILL.md +4 -5
  105. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/SKILL.md +8 -13
  106. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/SKILL.md +3 -7
  107. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/SKILL.md +2 -6
  108. tradingcodex-0.2.0/tests/test_broker_center_prd.py +0 -175
  109. tradingcodex-0.2.0/tradingcodex_service/application/brokers.py +0 -733
  110. tradingcodex-0.2.0/tradingcodex_service/version.py +0 -1
  111. tradingcodex-0.2.0/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +0 -173
  112. tradingcodex-0.2.0/workspace_templates/modules/codex-base/files/AGENTS.md +0 -53
  113. tradingcodex-0.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/SKILL.md +0 -106
  114. tradingcodex-0.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/SKILL.md +0 -140
  115. tradingcodex-0.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/SKILL.md +0 -138
  116. tradingcodex-0.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/SKILL.md +0 -54
  117. tradingcodex-0.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/SKILL.md +0 -73
  118. tradingcodex-0.2.0/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/agents/openai.yaml +0 -6
  119. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/CONTRIBUTING.md +0 -0
  120. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/LICENSE +0 -0
  121. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/MANIFEST.in +0 -0
  122. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/NOTICE +0 -0
  123. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/TRADEMARKS.md +0 -0
  124. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/__init__.py +0 -0
  125. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/audit/__init__.py +0 -0
  126. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/audit/admin.py +0 -0
  127. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/audit/apps.py +0 -0
  128. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/audit/migrations/0001_initial.py +0 -0
  129. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/audit/migrations/__init__.py +0 -0
  130. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/audit/models.py +0 -0
  131. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/harness/__init__.py +0 -0
  132. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/harness/admin.py +0 -0
  133. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/harness/apps.py +0 -0
  134. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/harness/migrations/0001_initial.py +0 -0
  135. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/harness/migrations/__init__.py +0 -0
  136. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/harness/models.py +0 -0
  137. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/harness/templatetags/__init__.py +0 -0
  138. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/integrations/__init__.py +0 -0
  139. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/integrations/admin.py +0 -0
  140. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/integrations/apps.py +0 -0
  141. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/integrations/migrations/0001_initial.py +0 -0
  142. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/integrations/migrations/0002_brokerconnection_brokeraccount_instrumentmap.py +0 -0
  143. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/integrations/migrations/__init__.py +0 -0
  144. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/integrations/models.py +0 -0
  145. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/integrations/services.py +0 -0
  146. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/mcp/__init__.py +0 -0
  147. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/mcp/admin.py +0 -0
  148. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/mcp/apps.py +0 -0
  149. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/mcp/migrations/0001_initial.py +0 -0
  150. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/mcp/migrations/__init__.py +0 -0
  151. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/mcp/models.py +0 -0
  152. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/mcp/services.py +0 -0
  153. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/__init__.py +0 -0
  154. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/admin.py +0 -0
  155. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/apps.py +0 -0
  156. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/migrations/0001_initial.py +0 -0
  157. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/migrations/0002_approvalreceipt_approved_order_type_and_more.py +0 -0
  158. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/migrations/0003_migrate_orderintent_to_orderticket.py +0 -0
  159. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/migrations/0004_remove_order_intent_compat_fields.py +0 -0
  160. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/migrations/__init__.py +0 -0
  161. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/models.py +0 -0
  162. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/orders/services.py +0 -0
  163. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/policy/__init__.py +0 -0
  164. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/policy/admin.py +0 -0
  165. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/policy/apps.py +0 -0
  166. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/policy/migrations/0001_initial.py +0 -0
  167. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/policy/migrations/__init__.py +0 -0
  168. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/policy/models.py +0 -0
  169. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/policy/services.py +0 -0
  170. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/portfolio/__init__.py +0 -0
  171. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/portfolio/admin.py +0 -0
  172. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/portfolio/apps.py +0 -0
  173. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/portfolio/migrations/0001_initial.py +0 -0
  174. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/portfolio/migrations/0002_brokersyncrun_portfolioledgerevent_reconciliationrun.py +0 -0
  175. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/portfolio/migrations/__init__.py +0 -0
  176. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/portfolio/models.py +0 -0
  177. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/research/__init__.py +0 -0
  178. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/research/admin.py +0 -0
  179. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/research/apps.py +0 -0
  180. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/research/migrations/__init__.py +0 -0
  181. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/research/models.py +0 -0
  182. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/workflows/__init__.py +0 -0
  183. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/workflows/admin.py +0 -0
  184. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/workflows/apps.py +0 -0
  185. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/workflows/migrations/0001_initial.py +0 -0
  186. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/workflows/migrations/__init__.py +0 -0
  187. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/apps/workflows/models.py +0 -0
  188. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/assets/tradingcodex-banner.svg +0 -0
  189. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/README.md +0 -0
  190. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/core-concepts-and-rules.md +0 -0
  191. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/licensing-and-commercialization.md +0 -0
  192. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/docs/product-direction.md +0 -0
  193. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/setup.cfg +0 -0
  194. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/static/tradingcodex_admin/favicon.svg +0 -0
  195. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/static/tradingcodex_web/app.css +0 -0
  196. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/static/vendor/alpine/alpine.min.js +0 -0
  197. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/static/vendor/htmx/htmx.min.js +0 -0
  198. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex.egg-info/dependency_links.txt +0 -0
  199. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex.egg-info/entry_points.txt +0 -0
  200. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex.egg-info/requires.txt +0 -0
  201. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex.egg-info/top_level.txt +0 -0
  202. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/__init__.py +0 -0
  203. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/__init__.py +0 -0
  204. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/db.py +0 -0
  205. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/policy.py +0 -0
  206. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/profile.py +0 -0
  207. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/skills.py +0 -0
  208. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/strategies.py +0 -0
  209. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/commands/workspaces.py +0 -0
  210. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/generator.py +0 -0
  211. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/mcp_stdio.py +0 -0
  212. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_cli/service_autostart.py +0 -0
  213. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/__init__.py +0 -0
  214. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/admin.py +0 -0
  215. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/__init__.py +0 -0
  216. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/audit.py +0 -0
  217. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/common.py +0 -0
  218. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/markdown_preview.py +0 -0
  219. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/application/portfolio.py +0 -0
  220. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/asgi.py +0 -0
  221. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/mcp_http.py +0 -0
  222. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/settings.py +0 -0
  223. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/activity.html +0 -0
  224. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/agent_skills.html +0 -0
  225. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/dashboard.html +0 -0
  226. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/fragments/role_inspector.html +0 -0
  227. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/fragments/starter_prompt.html +0 -0
  228. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/fragments/topology_canvas.html +0 -0
  229. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/harness.html +0 -0
  230. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/mcp_router.html +0 -0
  231. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/orders.html +0 -0
  232. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/policy.html +0 -0
  233. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/portfolio.html +0 -0
  234. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/templates/web/starter_prompt.html +0 -0
  235. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/urls.py +0 -0
  236. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/tradingcodex_service/wsgi.py +0 -0
  237. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/__init__.py +0 -0
  238. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/audit/files/.tradingcodex/audit/README.md +0 -0
  239. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/audit/files/trading/audit/.gitkeep +0 -0
  240. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/audit/module.json +0 -0
  241. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.codex/hooks.json +0 -0
  242. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.codex/rules/tradingcodex.rules +0 -0
  243. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/capabilities.yaml +0 -0
  244. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/cli.py +0 -0
  245. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/policy-bindings.yaml +0 -0
  246. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/principals.yaml +0 -0
  247. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/roles.yaml +0 -0
  248. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/codex-base/module.json +0 -0
  249. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/restricted-list.yaml +0 -0
  250. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/approval_receipt.schema.json +0 -0
  251. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/audit_event.schema.json +0 -0
  252. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/evidence_pack.schema.json +0 -0
  253. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/execution_result.schema.json +0 -0
  254. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/fundamental_report.schema.json +0 -0
  255. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/news_report.schema.json +0 -0
  256. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/portfolio_review.schema.json +0 -0
  257. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/postmortem_report.schema.json +0 -0
  258. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/risk_report.schema.json +0 -0
  259. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/technical_report.schema.json +0 -0
  260. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/thesis.schema.json +0 -0
  261. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/valuation.schema.json +0 -0
  262. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/enforcement-guardrails/module.json +0 -0
  263. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/head-manager.yaml +0 -0
  264. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/skill-change-proposals/.gitkeep +0 -0
  265. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/subagent-registry.yaml +0 -0
  266. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/fixed-subagents/module.json +0 -0
  267. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/guardrails.md +0 -0
  268. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/guidance-guardrails/module.json +0 -0
  269. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/.tradingcodex/secrets.md +0 -0
  270. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/approvals/.gitkeep +0 -0
  271. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/market-data/.gitkeep +0 -0
  272. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/orders/approved/.gitkeep +0 -0
  273. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/orders/draft/.gitkeep +0 -0
  274. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/orders/executed/.gitkeep +0 -0
  275. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/orders/rejected/.gitkeep +0 -0
  276. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/portfolio/.gitkeep +0 -0
  277. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/fundamental/.gitkeep +0 -0
  278. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/instrument/.gitkeep +0 -0
  279. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/macro/.gitkeep +0 -0
  280. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/news/.gitkeep +0 -0
  281. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/policy/.gitkeep +0 -0
  282. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/portfolio/.gitkeep +0 -0
  283. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/postmortem/.gitkeep +0 -0
  284. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/risk/.gitkeep +0 -0
  285. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/technical/.gitkeep +0 -0
  286. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/reports/valuation/.gitkeep +0 -0
  287. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/files/trading/research/.gitkeep +0 -0
  288. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/information-barriers/module.json +0 -0
  289. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/paper-trading/files/.tradingcodex/mcp/adapters/paper-trading.py +0 -0
  290. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/paper-trading/module.json +0 -0
  291. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/postmortem/files/.tradingcodex/workflows/postmortem.yaml +0 -0
  292. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/postmortem/module.json +0 -0
  293. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/manage-optional-skills/SKILL.md +0 -0
  294. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/manage-optional-skills/agents/openai.yaml +0 -0
  295. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/agents/openai.yaml +0 -0
  296. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/agents/openai.yaml +0 -0
  297. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/agents/openai.yaml +0 -0
  298. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/scenario-quality-gates/agents/openai.yaml +0 -0
  299. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/agents/openai.yaml +0 -0
  300. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/agents/openai.yaml +0 -0
  301. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/agents/openai.yaml +0 -0
  302. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/agents/openai.yaml +0 -0
  303. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/agents/openai.yaml +0 -0
  304. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/agents/openai.yaml +0 -0
  305. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/agents/openai.yaml +0 -0
  306. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/agents/openai.yaml +0 -0
  307. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/agents/openai.yaml +0 -0
  308. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/agents/openai.yaml +0 -0
  309. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/agents/openai.yaml +0 -0
  310. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/agents/openai.yaml +0 -0
  311. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/agents/openai.yaml +0 -0
  312. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/agents/openai.yaml +0 -0
  313. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/repo-skills/module.json +0 -0
  314. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/stub-execution/files/.tradingcodex/mcp/adapters/stub-execution.py +0 -0
  315. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/stub-execution/module.json +0 -0
  316. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/adapters/live-adapter.contract.md +0 -0
  317. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/enforcer/README.md +0 -0
  318. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/gateway/README.md +0 -0
  319. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/server.py +0 -0
  320. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/smoke-call.py +0 -0
  321. {tradingcodex-0.2.0 → tradingcodex-0.2.1}/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.0
3
+ Version: 0.2.1
4
4
  Summary: Codex-native trading harness with a Django service plane and MCP execution boundary.
5
5
  Author: TradingCodex Authors
6
6
  License-Expression: Apache-2.0
@@ -10,9 +10,12 @@ Classifier: Framework :: Django
10
10
  Classifier: Framework :: Django :: 5.2
11
11
  Classifier: Intended Audience :: Financial and Insurance Industry
12
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
13
16
  Classifier: Programming Language :: Python :: 3.14
14
17
  Classifier: Topic :: Office/Business :: Financial :: Investment
15
- Requires-Python: <3.15,>=3.14
18
+ Requires-Python: <3.15,>=3.11
16
19
  Description-Content-Type: text/markdown
17
20
  License-File: LICENSE
18
21
  License-File: NOTICE
@@ -26,6 +29,13 @@ Provides-Extra: dev
26
29
  Requires-Dist: pytest>=8; extra == "dev"
27
30
  Dynamic: license-file
28
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
+
29
39
  <p align="center">
30
40
  <img src="assets/tradingcodex-banner.svg" alt="TradingCodex" width="100%">
31
41
  </p>
@@ -35,7 +45,7 @@ Dynamic: license-file
35
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>
36
46
  <a href="https://pypi.org/project/tradingcodex/"><img alt="PyPI" src="https://img.shields.io/pypi/v/tradingcodex?label=PyPI"></a>
37
47
  <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-blue"></a>
38
- <img alt="Python" src="https://img.shields.io/badge/python-3.14-3776AB?logo=python&logoColor=white">
48
+ <img alt="Python" src="https://img.shields.io/badge/python-3.11--3.14-3776AB?logo=python&logoColor=white">
39
49
  </div>
40
50
 
41
51
  <div align="center">
@@ -63,6 +73,53 @@ It is not an autonomous trading bot. Codex coordinates and explains the work;
63
73
  Django owns durable state and policy; TradingCodex MCP is the only executable
64
74
  agent boundary; live broker adapters are not shipped in the initial core.
65
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
+
66
123
  ## Product Concept
67
124
 
68
125
  TradingCodex exists because serious Codex-assisted investment work should not
@@ -88,7 +145,7 @@ execution-sensitive state lives in the central local runtime DB:
88
145
 
89
146
  ## What TradingCodex Does
90
147
 
91
- TradingCodex `0.2.0` provides:
148
+ TradingCodex `0.2.1` provides:
92
149
 
93
150
  - A generated Codex workspace with fixed role topology, project-scoped MCP,
94
151
  local wrappers, workspace manifest, generated policy/config files, and
@@ -107,9 +164,9 @@ TradingCodex `0.2.0` provides:
107
164
  role boundaries.
108
165
  - Policy, restricted-symbol, approval, order, execution, portfolio, MCP, and
109
166
  audit services behind a shared Django application layer.
110
- - Broker Center foundations: broker connections, broker accounts, read-only
111
- paper sync, external MCP broker discovery import, and reconciliation
112
- summaries behind the service 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.
113
170
  - Canonical Order Ticket foundations: natural-language or structured draft
114
171
  tickets, schema/policy/cash-position/broker validation checks, state-machine
115
172
  events, exact approval-scope binding, broker order timeline, and paper fills.
@@ -124,66 +181,6 @@ TradingCodex `0.2.0` provides:
124
181
  classifies tool risk, scopes role access, and blocks unsafe direct proxy
125
182
  paths by default.
126
183
 
127
- ## Quick Start
128
-
129
- Choose an empty target directory for the generated Codex workspace. Source
130
- checkouts of this repository are for TradingCodex development; generated
131
- TradingCodex workspaces are separate Codex projects.
132
-
133
- Agents and install helpers do not invent a default workspace path. If the
134
- target path is not supplied, ask the user before creating or attaching a
135
- workspace.
136
-
137
- Install TradingCodex and attach it to a user-selected workspace:
138
-
139
- ```bash
140
- mkdir -p /path/to/target-workspace
141
- cd /path/to/target-workspace
142
- curl -fsSL https://raw.githubusercontent.com/monarchjuno/tradingcodex/main/install.sh | sh -s -- .
143
- ```
144
-
145
- Run the smoke check:
146
-
147
- ```bash
148
- ./tcx doctor
149
- ```
150
-
151
- After installation, fully quit and restart Codex, then open the generated
152
- workspace and start from a new thread so project MCP config is reloaded. When
153
- TradingCodex MCP autostarts the local service, the dashboard is available at:
154
-
155
- ```text
156
- http://127.0.0.1:48267/
157
- ```
158
-
159
- Start an orchestrated Codex workflow from the generated workspace:
160
-
161
- ```text
162
- $orchestrate-workflow analyze Apple with public equity research, valuation, portfolio, and risk review
163
- ```
164
-
165
- For repeated workspace creation, install the CLI as a user-level tool:
166
-
167
- ```bash
168
- uv python install 3.14
169
- uv tool install --python 3.14 tradingcodex
170
- uv tool update-shell
171
- cd /path/to/target-workspace
172
- tcx attach .
173
- ./tcx doctor
174
- ```
175
-
176
- See [installation.md](https://github.com/monarchjuno/tradingcodex/blob/main/installation.md)
177
- for GitHub-main installs, direct `uvx`, MCP/service details, and additional
178
- smoke checks.
179
-
180
- Update an existing generated workspace after a package release:
181
-
182
- ```bash
183
- cd /path/to/target-workspace
184
- curl -fsSL https://raw.githubusercontent.com/monarchjuno/tradingcodex/main/install.sh | sh -s -- --update .
185
- ```
186
-
187
184
  ## Local Web Dashboard
188
185
 
189
186
  TradingCodex includes a local Django web surface so users do not have to inspect
@@ -289,7 +286,8 @@ Important boundaries:
289
286
  - REST/Admin/CLI/MCP call shared Django service functions.
290
287
  - Role MCP allowlists are narrow: `head-manager` cannot submit orders,
291
288
  `risk-manager` owns approvals, and `execution-operator` owns execution calls.
292
- - Paper/stub execution remains experimental.
289
+ - Paper/stub and reviewed test/sandbox validation execution remain
290
+ experimental and non-live.
293
291
  - Live broker adapters are not shipped in the initial core.
294
292
  - Raw broker secrets must not be stored in this repository or generated
295
293
  workspaces.
@@ -311,10 +309,11 @@ labels such as `research-only`, `screen-grade`, `not-decision-ready`, or
311
309
 
312
310
  ## Release Status
313
311
 
314
- `0.2.0` is the OrderTicket rewrite release for the generated workspace, Python
315
- CLI, Django service plane, product web, MCP boundary, and documentation set.
316
- The package still uses an alpha development classifier because live broker
317
- adapters and hosted service modes are intentionally outside the initial core.
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.
318
317
 
319
318
  ## Documentation
320
319
 
@@ -1,3 +1,10 @@
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
+
1
8
  <p align="center">
2
9
  <img src="assets/tradingcodex-banner.svg" alt="TradingCodex" width="100%">
3
10
  </p>
@@ -7,7 +14,7 @@
7
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>
8
15
  <a href="https://pypi.org/project/tradingcodex/"><img alt="PyPI" src="https://img.shields.io/pypi/v/tradingcodex?label=PyPI"></a>
9
16
  <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-blue"></a>
10
- <img alt="Python" src="https://img.shields.io/badge/python-3.14-3776AB?logo=python&logoColor=white">
17
+ <img alt="Python" src="https://img.shields.io/badge/python-3.11--3.14-3776AB?logo=python&logoColor=white">
11
18
  </div>
12
19
 
13
20
  <div align="center">
@@ -35,6 +42,53 @@ It is not an autonomous trading bot. Codex coordinates and explains the work;
35
42
  Django owns durable state and policy; TradingCodex MCP is the only executable
36
43
  agent boundary; live broker adapters are not shipped in the initial core.
37
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
+
38
92
  ## Product Concept
39
93
 
40
94
  TradingCodex exists because serious Codex-assisted investment work should not
@@ -60,7 +114,7 @@ execution-sensitive state lives in the central local runtime DB:
60
114
 
61
115
  ## What TradingCodex Does
62
116
 
63
- TradingCodex `0.2.0` provides:
117
+ TradingCodex `0.2.1` provides:
64
118
 
65
119
  - A generated Codex workspace with fixed role topology, project-scoped MCP,
66
120
  local wrappers, workspace manifest, generated policy/config files, and
@@ -79,9 +133,9 @@ TradingCodex `0.2.0` provides:
79
133
  role boundaries.
80
134
  - Policy, restricted-symbol, approval, order, execution, portfolio, MCP, and
81
135
  audit services behind a shared Django application layer.
82
- - Broker Center foundations: broker connections, broker accounts, read-only
83
- paper sync, external MCP broker discovery import, and reconciliation
84
- summaries behind the service 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.
85
139
  - Canonical Order Ticket foundations: natural-language or structured draft
86
140
  tickets, schema/policy/cash-position/broker validation checks, state-machine
87
141
  events, exact approval-scope binding, broker order timeline, and paper fills.
@@ -96,66 +150,6 @@ TradingCodex `0.2.0` provides:
96
150
  classifies tool risk, scopes role access, and blocks unsafe direct proxy
97
151
  paths by default.
98
152
 
99
- ## Quick Start
100
-
101
- Choose an empty target directory for the generated Codex workspace. Source
102
- checkouts of this repository are for TradingCodex development; generated
103
- TradingCodex workspaces are separate Codex projects.
104
-
105
- Agents and install helpers do not invent a default workspace path. If the
106
- target path is not supplied, ask the user before creating or attaching a
107
- workspace.
108
-
109
- Install TradingCodex and attach it to a user-selected workspace:
110
-
111
- ```bash
112
- mkdir -p /path/to/target-workspace
113
- cd /path/to/target-workspace
114
- curl -fsSL https://raw.githubusercontent.com/monarchjuno/tradingcodex/main/install.sh | sh -s -- .
115
- ```
116
-
117
- Run the smoke check:
118
-
119
- ```bash
120
- ./tcx doctor
121
- ```
122
-
123
- After installation, fully quit and restart Codex, then open the generated
124
- workspace and start from a new thread so project MCP config is reloaded. When
125
- TradingCodex MCP autostarts the local service, the dashboard is available at:
126
-
127
- ```text
128
- http://127.0.0.1:48267/
129
- ```
130
-
131
- Start an orchestrated Codex workflow from the generated workspace:
132
-
133
- ```text
134
- $orchestrate-workflow analyze Apple with public equity research, valuation, portfolio, and risk review
135
- ```
136
-
137
- For repeated workspace creation, install the CLI as a user-level tool:
138
-
139
- ```bash
140
- uv python install 3.14
141
- uv tool install --python 3.14 tradingcodex
142
- uv tool update-shell
143
- cd /path/to/target-workspace
144
- tcx attach .
145
- ./tcx doctor
146
- ```
147
-
148
- See [installation.md](https://github.com/monarchjuno/tradingcodex/blob/main/installation.md)
149
- for GitHub-main installs, direct `uvx`, MCP/service details, and additional
150
- smoke checks.
151
-
152
- Update an existing generated workspace after a package release:
153
-
154
- ```bash
155
- cd /path/to/target-workspace
156
- curl -fsSL https://raw.githubusercontent.com/monarchjuno/tradingcodex/main/install.sh | sh -s -- --update .
157
- ```
158
-
159
153
  ## Local Web Dashboard
160
154
 
161
155
  TradingCodex includes a local Django web surface so users do not have to inspect
@@ -261,7 +255,8 @@ Important boundaries:
261
255
  - REST/Admin/CLI/MCP call shared Django service functions.
262
256
  - Role MCP allowlists are narrow: `head-manager` cannot submit orders,
263
257
  `risk-manager` owns approvals, and `execution-operator` owns execution calls.
264
- - Paper/stub execution remains experimental.
258
+ - Paper/stub and reviewed test/sandbox validation execution remain
259
+ experimental and non-live.
265
260
  - Live broker adapters are not shipped in the initial core.
266
261
  - Raw broker secrets must not be stored in this repository or generated
267
262
  workspaces.
@@ -283,10 +278,11 @@ labels such as `research-only`, `screen-grade`, `not-decision-ready`, or
283
278
 
284
279
  ## Release Status
285
280
 
286
- `0.2.0` is the OrderTicket rewrite release for the generated workspace, Python
287
- CLI, Django service plane, product web, MCP boundary, and documentation set.
288
- The package still uses an alpha development classifier because live broker
289
- adapters and hosted service modes are intentionally outside the initial core.
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.
290
286
 
291
287
  ## Documentation
292
288
 
@@ -39,8 +39,12 @@ paths clear.
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
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` |
43
+ | `context-efficiency-contract` | Keeps workflows bounded through compact briefs, artifact references, context summaries, source snapshot IDs, targeted full-artifact reads, and `subagents context-audit` validation. | `guardrail.guidance`, `guardrail.information_barrier`, `improvement.workflow_quality`, `improvement.context_efficiency` |
44
+ | `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` |
42
45
  | `external-data-source-gate` | Keeps external evidence read-only and source-aware. | `guardrail.guidance`, `improvement.workflow_quality` |
43
46
  | `external-mcp-proxy-gate` | Registers external MCP connections, imports metadata, classifies risk, manages lifecycle/review state, and blocks unsafe direct proxy paths. | `guardrail.enforcement`, `guardrail.information_barrier` |
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` |
44
48
  | `secret-wall` | Blocks raw broker secrets from workspace files, prompts, shell paths, and role context. | `guardrail.enforcement`, `guardrail.information_barrier` |
45
49
  | `policy-and-restricted-list` | Evaluates principals, capabilities, explicit deny rules, restricted symbols, and limits. | `guardrail.enforcement` |
46
50
  | `approval-gate` | Validates order tickets, JSON order inputs, and approval receipts before execution-sensitive action. | `guardrail.enforcement` |
@@ -10,7 +10,7 @@ not ship live broker execution.
10
10
 
11
11
  ## Release Policy
12
12
 
13
- The `0.2.0` release is the OrderTicket rewrite contract for the local-first
13
+ The `0.2.x` release line is the OrderTicket rewrite contract for the local-first
14
14
  Python/Django harness. Order flows use central DB `OrderTicket` records
15
15
  directly; pre-release compatibility shims do not remain in the runtime package.
16
16
  The documented Web, API, CLI, MCP, generated workspace, and
@@ -26,8 +26,9 @@ Execution status for this release line:
26
26
 
27
27
  ## Maintainer Prerequisites
28
28
 
29
- Use Python 3.14 for release verification. The package metadata requires
30
- `>=3.14,<3.15`, and CI is pinned to Python 3.14.
29
+ Use Python 3.11 for release build verification and keep CI green across the
30
+ supported range. The package metadata requires `>=3.11,<3.15`, and CI runs on
31
+ Python 3.11, 3.12, 3.13, and 3.14.
31
32
 
32
33
  Create separate PyPI and TestPyPI accounts. TestPyPI is a separate service and
33
34
  does not share login state with PyPI.
@@ -53,26 +54,26 @@ On GitHub, create both environments:
53
54
  Run the regular validation suite first:
54
55
 
55
56
  ```bash
56
- python3.14 -m pytest
57
- python3.14 manage.py check
58
- python3.14 manage.py makemigrations --check --dry-run
59
- python3.14 -m compileall tradingcodex_cli tradingcodex_service apps tests
57
+ python3.11 -m pytest
58
+ python3.11 manage.py check
59
+ python3.11 manage.py makemigrations --check --dry-run
60
+ python3.11 -m compileall tradingcodex_cli tradingcodex_service apps tests
60
61
  ```
61
62
 
62
63
  Build and check the source distribution and wheel:
63
64
 
64
65
  ```bash
65
- python3.14 -m pip install --upgrade build twine
66
+ python3.11 -m pip install --upgrade build twine
66
67
  rm -rf dist build
67
68
  find . -maxdepth 1 -name '*.egg-info' -type d -exec rm -rf {} +
68
- python3.14 -m build
69
- python3.14 -m twine check dist/*
69
+ python3.11 -m build
70
+ python3.11 -m twine check dist/*
70
71
  ```
71
72
 
72
73
  Install the built wheel in a clean environment:
73
74
 
74
75
  ```bash
75
- python3.14 -m venv /tmp/tcx-install-test
76
+ python3.11 -m venv /tmp/tcx-install-test
76
77
  /tmp/tcx-install-test/bin/pip install dist/*.whl
77
78
  rm -rf /tmp/tcx-smoke
78
79
  mkdir -p /tmp/tcx-smoke
@@ -135,11 +136,11 @@ Use TestPyPI before the first public PyPI release and after packaging changes.
135
136
  Example:
136
137
 
137
138
  ```bash
138
- python3.14 -m venv /tmp/tcx-testpypi
139
+ python3.11 -m venv /tmp/tcx-testpypi
139
140
  /tmp/tcx-testpypi/bin/pip install \
140
141
  --index-url https://test.pypi.org/simple/ \
141
142
  --extra-index-url https://pypi.org/simple/ \
142
- tradingcodex==0.2.0
143
+ tradingcodex==0.2.1
143
144
  rm -rf /tmp/tcx-testpypi-smoke
144
145
  mkdir -p /tmp/tcx-testpypi-smoke
145
146
  cd /tmp/tcx-testpypi-smoke
@@ -167,8 +168,8 @@ publication; tag pushes are intentionally non-publishing.
167
168
  After the PyPI workflow completes:
168
169
 
169
170
  ```bash
170
- python3.14 -m venv /tmp/tcx-pypi
171
- /tmp/tcx-pypi/bin/pip install tradingcodex==0.2.0
171
+ python3.11 -m venv /tmp/tcx-pypi
172
+ /tmp/tcx-pypi/bin/pip install tradingcodex==0.2.1
172
173
  rm -rf /tmp/tcx-pypi-smoke
173
174
  mkdir -p /tmp/tcx-pypi-smoke
174
175
  cd /tmp/tcx-pypi-smoke
@@ -207,7 +208,7 @@ TradingCodex has two update layers:
207
208
  including `workspace_id` and active profile. It may overwrite generated paths
208
209
  owned by `workspace_templates/modules/*/files`, and it must not overwrite
209
210
  workspace-native user artifacts such as `trading/research/*`,
210
- `trading/reports/*`, `.tradingcodex/strategies/*`, or optional role skills
211
+ `trading/reports/*`, `.agents/skills/strategy-*`, or optional role skills
211
212
  except through their documented service-layer workflows.
212
213
 
213
214
  After a workspace update, users must fully quit and restart Codex, then start
@@ -220,7 +221,8 @@ Use PEP 440 versions:
220
221
 
221
222
  - `0.2.0` for the OrderTicket rewrite contract after install, docs, DB
222
223
  migration, generated workspace smoke checks, and release e2e checks are stable
223
- - patch releases such as `0.2.1` for compatible fixes after `0.2.0`
224
+ - `0.2.1` for Python `>=3.11,<3.15` support and clone-free setup guidance
225
+ - later patch releases for compatible fixes after `0.2.1`
224
226
  - pre-releases such as `0.3.0a1`, `0.3.0b1`, or `0.3.0rc1` when preparing
225
227
  the next minor contract
226
228
 
@@ -51,11 +51,20 @@ The target may be:
51
51
  Source checkouts of this repository are development projects, not generated
52
52
  TradingCodex workspaces.
53
53
 
54
- Codex agents must not silently create a default target when a user only asks to
54
+ Codex agents must not run `git clone` when a user asks to install, set up,
55
+ attach, or use `monarchjuno/tradingcodex` in a workspace. Run the packaged CLI
56
+ from the target workspace instead:
57
+
58
+ ```bash
59
+ uvx --refresh --from tradingcodex tcx attach . && ./tcx doctor
60
+ ```
61
+
62
+ Agents must also not silently create a default target when a user only asks to
55
63
  install `monarchjuno/tradingcodex`. The agent rule is: do not invent a
56
- workspace path such as `tradingcodex-workspace`. If no target path is supplied,
57
- ask for the target directory before running the installer. If the user is
58
- already in an empty target workspace, install into `.`.
64
+ workspace path such as `tradingcodex-workspace`. If no target path is supplied
65
+ and the user did not ask to use the current workspace, ask for the target
66
+ directory before running setup. If the user is already in an empty target
67
+ workspace, install into `.`.
59
68
 
60
69
  ## Generated Files
61
70
 
@@ -94,13 +103,27 @@ Generated workspaces contain:
94
103
  - negated scope routing: phrases such as "no valuation", "no order", and "no trading" remove those actions or roles from dispatch selection
95
104
  - no full-history fixed-role spawn: fixed `agent_type` subagents receive compact assignment envelopes without full-history forking on the first attempt
96
105
  - 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
97
- - 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, material context, request-specific out-of-scope items, and return contract without repeating long method/source/guardrail checklists
106
+ - 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
107
+ - context-efficient research handoffs: stored markdown frontmatter includes
108
+ `context_summary` so downstream roles can consume artifact paths and summaries
109
+ before opening full markdown
110
+ - context-budget audit: `./tcx subagents context-audit --strict` inspects the
111
+ latest prompt gate, prompt-gate history, compact hook context, subagent
112
+ session state, and research artifacts after long multi-subagent runs; it
113
+ fails strict mode when handoff artifacts lack `context_summary`, compact gate
114
+ history grows beyond budget, or gate/state/history payloads look like pasted
115
+ markdown artifacts
116
+ - compact subagent session state: `.tradingcodex/mainagent/subagent-session-state.json`
117
+ keeps total counters plus recent active/completed/event records for Codex
118
+ context; the full event stream remains in
119
+ `trading/audit/subagent-session-events.jsonl`
98
120
  - fixed subagents configured for `model = "gpt-5.5"` and `model_reasoning_effort = "high"`
121
+ - fixed subagent `nickname_candidates` set to a single item matching the exact role `name`
99
122
  - fixed subagent identities kept in `.codex/agents/*.toml` `developer_instructions`, as required by Codex custom agent files
100
123
  - project-local additional agent instructions under `.tradingcodex/agent-instructions/<role>.md`; projection appends them after generated default instructions for `head-manager` and fixed subagents
101
- - 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
102
- - `strategy-*` skills under `.tradingcodex/strategies/*` 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
103
- - file-native agent/skill projection: role skill state is expressed in `.codex/agents/*.toml`, `.agents/skills/*`, `.tradingcodex/subagents/skills/*`, `.tradingcodex/strategies/*`, `.codex/config.toml`, `.tradingcodex/mainagent/skill-change-proposals/*.yaml`, and `.tradingcodex/generated/*.json`, not Django skill DB tables
124
+ - 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
125
+ - 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
126
+ - 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
104
127
  - 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
105
128
  - information-barrier policies
106
129
  - order/approval schemas
@@ -130,8 +153,7 @@ the operator wants to ask Codex agents to work.
130
153
  Recommended agent-facing flow:
131
154
 
132
155
  ```bash
133
- uv python install 3.14
134
- uv tool install --python 3.14 tradingcodex
156
+ uv tool install tradingcodex
135
157
  uv tool update-shell
136
158
  cd <user-selected-workspace>
137
159
  tcx attach .
@@ -201,8 +223,13 @@ The package spec is recorded during bootstrap so PyPI and GitHub-source
201
223
  installs keep the same MCP source without stale source-cache reuse.
202
224
 
203
225
  Codex project config should register only the `tradingcodex` MCP server.
204
- Broker/data MCP servers are registered inside TradingCodex External MCP Gate
205
- with `./tcx mcp external ...`, not directly in `.codex/config.toml` or
226
+ Broker APIs are attached through native TradingCodex connector profiles using
227
+ canonical MCP tools such as `list_broker_connector_templates`,
228
+ `register_broker_connector`, `get_broker_capability_profile`,
229
+ `get_broker_instrument_constraints`, and `preview_order_translation`.
230
+ Broker/data MCP servers, when explicitly needed for reviewed read-only
231
+ discovery, are registered inside TradingCodex External MCP Gate with
232
+ `./tcx mcp external ...`, not directly in `.codex/config.toml` or
206
233
  `.codex/agents/*.toml`.
207
234
 
208
235
  ## MCP Autostart
@@ -226,6 +253,32 @@ The autostart path must be:
226
253
  - silent on MCP stdout except for MCP protocol messages
227
254
  - not required for direct `./tcx mcp stdio` smoke checks
228
255
 
256
+ Generated workspaces also support startup health for Codex sessions. The
257
+ `SessionStart` hook writes a compact diagnostic cache at
258
+ `.tradingcodex/mainagent/server-status.json`; it does not start services,
259
+ update workspaces, or open browsers. `head-manager` then uses
260
+ `$use-tradingcodex-server` to run service/MCP doctor checks, call
261
+ `./tcx service ensure` when recovery is possible, and open the local dashboard
262
+ in the Codex in-app browser when available before it offers a task menu or
263
+ starts other work. If project MCP config was created or changed, the user must
264
+ fully quit and restart Codex and start a new thread because Codex may not hot
265
+ reload project MCP config.
266
+
267
+ Startup health may also compare the generated workspace version in
268
+ `.tradingcodex/generated/module-lock.json` with the currently installed/running
269
+ `tcx` package version. The workspace version is the local baseline: if it
270
+ differs from the installed `tcx` version, `head-manager` may recommend aligning
271
+ the workspace to the installed version. If the installed `tcx` is known to be
272
+ older than the latest TradingCodex release, workspace update is blocked until
273
+ the package is updated first, so an old package does not refresh the workspace
274
+ with stale templates. Update recommendations are scoped to the
275
+ new-conversation health pass, not every user turn. If the user declines update
276
+ prompts, `head-manager` records the TradingCodex home preference file, normally
277
+ `~/.tradingcodex/preferences/update.json`, with
278
+ `suppress_update_recommendation=true`; future new conversations should not
279
+ recommend automatic workspace updates unless the user removes or changes that
280
+ flag, or explicitly asks for an update.
281
+
229
282
  ## Hooks
230
283
 
231
284
  Generated hooks are Python scripts. Hook behavior is guidance, not final
@@ -238,6 +291,11 @@ enforcement.
238
291
  - natural-language investment workflow auto-routing context
239
292
  - direct-answer prevention context
240
293
  - duplicate marker management
294
+ - prompt-gate audit metadata with prompt hash and workflow lane, without raw
295
+ prompt text in the audit ledger
296
+ - compact hook `additionalContext`; the full generated starter prompt remains
297
+ in `.tradingcodex/mainagent/latest-user-prompt-gate.json` and is loaded only
298
+ when the compact gate is insufficient
241
299
  - execution negation routing such as "no order" and "no trading"
242
300
  - strategy authoring prompts remain in `strategy-creator`/strategy CRUD scope
243
301
  instead of auto-dispatching fixed investment subagents
@@ -245,6 +303,10 @@ enforcement.
245
303
  storage/read/rotation prompts create warning context without activating
246
304
  investment subagent dispatch unless a separate investment or execution
247
305
  request remains
306
+ - startup server diagnostics: `SessionStart` records compact service and MCP
307
+ config status for `head-manager` to repair through `$use-tradingcodex-server`
308
+ - update recommendation diagnostics: `SessionStart` records generated workspace
309
+ version drift and respects the TradingCodex home update preference file
248
310
 
249
311
  Hooks load only in trusted projects and may be disabled when
250
312
  `features.hooks=false`.
@@ -73,6 +73,11 @@ Information barriers cover:
73
73
  - role-specific MCP allowlists
74
74
  - generated subagent permission profiles
75
75
 
76
+ Information barriers are also a maintainability boundary. A new role or tool
77
+ surface should update the barrier policy, role TOML, MCP allowlist, and tests
78
+ together. Generic skills should not become the hidden place where file access,
79
+ role eligibility, or tool authority is widened.
80
+
76
81
  The root `head-manager` may coordinate and inspect, but should not silently
77
82
  perform role work that belongs to specialist workflows.
78
83