tradingcodex 1.1.2__tar.gz → 1.2.0__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 (445) hide show
  1. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/CHANGELOG.md +29 -0
  2. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/PKG-INFO +15 -13
  3. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/README.md +14 -12
  4. tradingcodex-1.2.0/assets/tradingcodex-banner-v1.png +0 -0
  5. tradingcodex-1.2.0/assets/tradingcodex-banner-v2.png +0 -0
  6. tradingcodex-1.2.0/docs/README.md +101 -0
  7. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/codex-native-orchestration.md +54 -33
  8. tradingcodex-1.2.0/docs/data-sources-and-openbb.md +114 -0
  9. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/decision-memory.md +12 -7
  10. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/deployment.md +1 -1
  11. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/financial-workflow-references.md +2 -2
  12. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/generated-workspaces.md +249 -187
  13. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/guardrails.md +11 -12
  14. tradingcodex-1.2.0/docs/harness.md +122 -0
  15. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/improvement-loop.md +5 -7
  16. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/interfaces-and-surfaces.md +142 -78
  17. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/investment-brain-plugins.md +35 -36
  18. tradingcodex-1.2.0/docs/knowledge-wikis.md +196 -0
  19. tradingcodex-1.2.0/docs/product-direction.md +174 -0
  20. tradingcodex-1.2.0/docs/release-readiness.md +151 -0
  21. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/research-memory-and-artifacts.md +113 -37
  22. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/roles-skills-and-workflows.md +204 -69
  23. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/safety-policy-and-execution.md +57 -66
  24. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/system-architecture.md +17 -15
  25. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/user-facing-skills.md +30 -27
  26. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/validation-and-test-plan.md +170 -61
  27. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/package-lock.json +434 -5
  28. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/package.json +3 -0
  29. tradingcodex-1.2.0/frontend/src/App.tsx +82 -0
  30. tradingcodex-1.2.0/frontend/src/ViewerShell.tsx +75 -0
  31. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/src/domain.ts +35 -38
  32. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/src/features/LibraryPage.tsx +17 -25
  33. tradingcodex-1.2.0/frontend/src/features/SystemPage.tsx +31 -0
  34. tradingcodex-1.2.0/frontend/src/features/WikiPage.tsx +175 -0
  35. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/src/main.tsx +2 -0
  36. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/src/navigation.js +1 -1
  37. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/src/navigation.test.js +21 -26
  38. tradingcodex-1.2.0/frontend/src/styles.css +211 -0
  39. tradingcodex-1.2.0/frontend/src/ui.tsx +36 -0
  40. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/installation.md +35 -31
  41. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_artifact_authentication.py +638 -2
  42. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_brain_skill.py +6 -5
  43. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_build_contract_metadata.py +0 -29
  44. tradingcodex-1.2.0/tests/test_build_hook.py +310 -0
  45. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_build_turn_grant.py +110 -41
  46. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_calculation_runner.py +199 -7
  47. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_clean_v1_cli_audit.py +7 -9
  48. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_codex_capabilities.py +43 -1
  49. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_codex_cli_contract.py +4 -4
  50. tradingcodex-1.2.0/tests/test_codex_native_orchestration.py +517 -0
  51. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_dynamic_artifact_quality.py +1 -1
  52. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_e2e_user_scenarios.py +9 -41
  53. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_guidebook_contract.py +30 -18
  54. tradingcodex-1.2.0/tests/test_investment_brain_prompt_layers.py +103 -0
  55. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_investment_brain_provenance.py +17 -13
  56. tradingcodex-1.2.0/tests/test_knowledge_wikis.py +299 -0
  57. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_native_execution_gateway.py +18 -122
  58. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_order_turn_grant.py +3 -34
  59. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_platform_runtime.py +563 -93
  60. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_release_contract.py +1 -7
  61. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_research_forecast_surfaces.py +19 -2
  62. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_runtime_profile.py +0 -77
  63. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_security_invariants.py +87 -4
  64. tradingcodex-1.2.0/tests/test_skill_runtime_boundaries.py +82 -0
  65. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_source_snapshot_agent_contract.py +24 -7
  66. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_v1_state_integrity.py +0 -82
  67. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_viewer.py +29 -0
  68. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex.egg-info/PKG-INFO +15 -13
  69. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex.egg-info/SOURCES.txt +25 -15
  70. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/__main__.py +6 -4
  71. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/calculation_runner.py +109 -33
  72. tradingcodex-1.2.0/tradingcodex_cli/commands/data_sources.py +71 -0
  73. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/doctor.py +62 -76
  74. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/research.py +73 -0
  75. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/subagents.py +0 -40
  76. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/utils.py +1 -70
  77. tradingcodex-1.2.0/tradingcodex_cli/commands/wikis.py +137 -0
  78. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/generator.py +500 -98
  79. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/startup_status.py +7 -13
  80. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/api.py +59 -24
  81. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/agents.py +33 -162
  82. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/artifact_bindings.py +48 -10
  83. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/artifact_catalog.py +18 -2
  84. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/artifact_quality.py +0 -8
  85. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/build_gateway.py +2 -0
  86. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/calculations.py +103 -12
  87. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/codex_capabilities.py +175 -5
  88. tradingcodex-1.2.0/tradingcodex_service/application/data_sources.py +103 -0
  89. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/datasets.py +281 -14
  90. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/investment_brains.py +49 -384
  91. tradingcodex-1.2.0/tradingcodex_service/application/knowledge_wikis.py +1157 -0
  92. tradingcodex-1.2.0/tradingcodex_service/application/managed_package_sources.py +358 -0
  93. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/research.py +1335 -26
  94. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/research_object_catalog.py +4 -0
  95. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/runtime.py +52 -10
  96. tradingcodex-1.2.0/tradingcodex_service/application/wiki_viewer.py +308 -0
  97. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/workspace_git.py +3 -0
  98. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/mcp_runtime.py +760 -105
  99. tradingcodex-1.2.0/tradingcodex_service/static/tradingcodex_web/assets/allPaths-DJ5oy6Ot.js +1 -0
  100. tradingcodex-1.2.0/tradingcodex_service/static/tradingcodex_web/assets/allPathsLoader-CRlwLu1z.js +2 -0
  101. tradingcodex-1.2.0/tradingcodex_service/static/tradingcodex_web/assets/index-c5e0ZsDr.js +9 -0
  102. tradingcodex-1.2.0/tradingcodex_service/static/tradingcodex_web/assets/index-y2v9zCLQ.css +1 -0
  103. tradingcodex-1.2.0/tradingcodex_service/static/tradingcodex_web/assets/paths-BDuITqPr.js +1 -0
  104. tradingcodex-1.2.0/tradingcodex_service/static/tradingcodex_web/assets/paths-CoispWSv.js +1 -0
  105. tradingcodex-1.2.0/tradingcodex_service/static/tradingcodex_web/assets/splitPathsBySizeLoader-x57jFwA3.js +2 -0
  106. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/static/tradingcodex_web/index.html +2 -2
  107. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/urls.py +6 -0
  108. tradingcodex-1.2.0/tradingcodex_service/version.py +1 -0
  109. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/viewer_api.py +34 -0
  110. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/.codex/config.toml +10 -6
  111. tradingcodex-1.2.0/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +766 -0
  112. tradingcodex-1.2.0/workspace_templates/modules/codex-base/files/.codex/hooks.json +66 -0
  113. tradingcodex-1.2.0/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/fixed-role.md +16 -0
  114. tradingcodex-1.2.0/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +180 -0
  115. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/.tradingcodex/config.yaml +0 -4
  116. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/AGENTS.md +43 -20
  117. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +39 -0
  118. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +39 -0
  119. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/judgment-reviewer.toml +33 -0
  120. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +39 -0
  121. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +39 -0
  122. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +33 -0
  123. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +34 -0
  124. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +39 -0
  125. tradingcodex-1.2.0/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +39 -0
  126. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-brain/SKILL.md +26 -32
  127. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-brain/agents/openai.yaml +1 -1
  128. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/SKILL.md +25 -8
  129. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-wiki/SKILL.md +131 -0
  130. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-wiki/agents/openai.yaml +6 -0
  131. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-wiki/references/bundle-contract.md +64 -0
  132. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/SKILL.md +159 -0
  133. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/tcx-fundamental/SKILL.md +1 -1
  134. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/tcx-instrument/SKILL.md +1 -1
  135. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/judgment-reviewer/tcx-judgment/SKILL.md +2 -2
  136. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/tcx-macro/SKILL.md +1 -1
  137. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/tcx-news/SKILL.md +1 -1
  138. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/tcx-order-draft/SKILL.md +1 -1
  139. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/tcx-portfolio/SKILL.md +1 -1
  140. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-policy/SKILL.md +1 -1
  141. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-risk/SKILL.md +1 -1
  142. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-artifact/SKILL.md +70 -0
  143. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-calculation/SKILL.md +11 -3
  144. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-calculation/references/data-runtime.md +61 -0
  145. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-evidence/SKILL.md +41 -0
  146. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-source-gate/SKILL.md +45 -0
  147. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-source-gate/agents/openai.yaml +6 -0
  148. tradingcodex-1.2.0/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-source-gate/references/openbb-mcp.md +22 -0
  149. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/tcx-technical/SKILL.md +1 -1
  150. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/tcx-valuation/SKILL.md +11 -2
  151. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/module.json +1 -1
  152. tradingcodex-1.1.2/docs/README.md +0 -111
  153. tradingcodex-1.1.2/docs/components.md +0 -107
  154. tradingcodex-1.1.2/docs/core-concepts-and-rules.md +0 -171
  155. tradingcodex-1.1.2/docs/execution-without-subagent-plan.md +0 -493
  156. tradingcodex-1.1.2/docs/harness.md +0 -256
  157. tradingcodex-1.1.2/docs/product-direction.md +0 -196
  158. tradingcodex-1.1.2/docs/release-readiness.md +0 -206
  159. tradingcodex-1.1.2/frontend/src/App.tsx +0 -126
  160. tradingcodex-1.1.2/frontend/src/features/SkillsPage.tsx +0 -78
  161. tradingcodex-1.1.2/frontend/src/features/SystemPage.tsx +0 -37
  162. tradingcodex-1.1.2/frontend/src/styles.css +0 -531
  163. tradingcodex-1.1.2/frontend/src/ui.tsx +0 -42
  164. tradingcodex-1.1.2/tests/test_build_hook.py +0 -2373
  165. tradingcodex-1.1.2/tests/test_codex_native_orchestration.py +0 -304
  166. tradingcodex-1.1.2/tests/test_dashboard_skill.py +0 -67
  167. tradingcodex-1.1.2/tests/test_investment_brain_prompt_layers.py +0 -96
  168. tradingcodex-1.1.2/tests/test_skill_runtime_boundaries.py +0 -381
  169. tradingcodex-1.1.2/tradingcodex_cli/commands/mode.py +0 -33
  170. tradingcodex-1.1.2/tradingcodex_service/application/components.py +0 -613
  171. tradingcodex-1.1.2/tradingcodex_service/application/context_budget.py +0 -94
  172. tradingcodex-1.1.2/tradingcodex_service/application/runtime_mode.py +0 -90
  173. tradingcodex-1.1.2/tradingcodex_service/static/tradingcodex_web/assets/index-DYzj_xRR.css +0 -1
  174. tradingcodex-1.1.2/tradingcodex_service/static/tradingcodex_web/assets/index-gUVw-08l.js +0 -9
  175. tradingcodex-1.1.2/tradingcodex_service/version.py +0 -1
  176. tradingcodex-1.1.2/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +0 -4058
  177. tradingcodex-1.1.2/workspace_templates/modules/codex-base/files/.codex/hooks.json +0 -105
  178. tradingcodex-1.1.2/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +0 -535
  179. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +0 -67
  180. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +0 -69
  181. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/judgment-reviewer.toml +0 -62
  182. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +0 -69
  183. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +0 -68
  184. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +0 -65
  185. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +0 -65
  186. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +0 -68
  187. tradingcodex-1.1.2/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +0 -68
  188. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-dashboard/SKILL.md +0 -83
  189. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-dashboard/agents/openai.yaml +0 -6
  190. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/SKILL.md +0 -151
  191. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/references/context-and-override.md +0 -93
  192. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/references/decision-quality-spine.md +0 -58
  193. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-artifact/SKILL.md +0 -66
  194. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-evidence/SKILL.md +0 -74
  195. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-source-gate/SKILL.md +0 -108
  196. tradingcodex-1.1.2/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-source-gate/agents/openai.yaml +0 -6
  197. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/CONTRIBUTING.md +0 -0
  198. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/LICENSE +0 -0
  199. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/MANIFEST.in +0 -0
  200. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/NOTICE +0 -0
  201. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/TRADEMARKS.md +0 -0
  202. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/__init__.py +0 -0
  203. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/audit/__init__.py +0 -0
  204. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/audit/admin.py +0 -0
  205. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/audit/apps.py +0 -0
  206. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/audit/migrations/0001_v1_initial.py +0 -0
  207. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/audit/migrations/__init__.py +0 -0
  208. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/audit/models.py +0 -0
  209. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/harness/__init__.py +0 -0
  210. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/harness/admin.py +0 -0
  211. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/harness/apps.py +0 -0
  212. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/harness/migrations/0001_v1_initial.py +0 -0
  213. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/harness/migrations/__init__.py +0 -0
  214. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/harness/models.py +0 -0
  215. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/harness/templatetags/__init__.py +0 -0
  216. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/integrations/__init__.py +0 -0
  217. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/integrations/admin.py +0 -0
  218. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/integrations/apps.py +0 -0
  219. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/integrations/migrations/0001_v1_initial.py +0 -0
  220. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/integrations/migrations/__init__.py +0 -0
  221. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/integrations/models.py +0 -0
  222. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/mcp/__init__.py +0 -0
  223. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/mcp/admin.py +0 -0
  224. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/mcp/apps.py +0 -0
  225. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/mcp/migrations/0001_v1_initial.py +0 -0
  226. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/mcp/migrations/0002_remove_external_mcp_gate.py +0 -0
  227. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/mcp/migrations/__init__.py +0 -0
  228. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/mcp/models.py +0 -0
  229. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/mcp/services.py +0 -0
  230. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/orders/__init__.py +0 -0
  231. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/orders/admin.py +0 -0
  232. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/orders/apps.py +0 -0
  233. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/orders/migrations/0001_v1_initial.py +0 -0
  234. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/orders/migrations/__init__.py +0 -0
  235. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/orders/models.py +0 -0
  236. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/orders/services.py +0 -0
  237. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/policy/__init__.py +0 -0
  238. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/policy/admin.py +0 -0
  239. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/policy/apps.py +0 -0
  240. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/policy/migrations/0001_v1_initial.py +0 -0
  241. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/policy/migrations/__init__.py +0 -0
  242. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/policy/models.py +0 -0
  243. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/policy/services.py +0 -0
  244. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/portfolio/__init__.py +0 -0
  245. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/portfolio/admin.py +0 -0
  246. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/portfolio/apps.py +0 -0
  247. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/portfolio/migrations/0001_v1_initial.py +0 -0
  248. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/portfolio/migrations/__init__.py +0 -0
  249. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/apps/portfolio/models.py +0 -0
  250. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/assets/tradingcodex-banner-v3.png +0 -0
  251. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/assets/tradingcodex-banner.svg +0 -0
  252. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/docs/licensing-and-commercialization.md +0 -0
  253. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/index.html +0 -0
  254. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/src/api.ts +0 -0
  255. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/src/viewer-data.js +0 -0
  256. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/tsconfig.json +0 -0
  257. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/frontend/vite.config.ts +0 -0
  258. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/install.sh +0 -0
  259. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/pyproject.toml +0 -0
  260. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/setup.cfg +0 -0
  261. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_artifact_catalog.py +0 -0
  262. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_broker_center_prd.py +0 -0
  263. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_codex_cli_compat.py +0 -0
  264. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_datasets.py +0 -0
  265. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_decision_memory_core.py +0 -0
  266. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_dev_bootstrap.py +0 -0
  267. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_evaluation_lab_hardening.py +0 -0
  268. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_evaluation_profiles.py +0 -0
  269. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_investment_analysis.py +0 -0
  270. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_investment_brain_cli.py +0 -0
  271. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_investment_brain_registry.py +0 -0
  272. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_investor_context.py +0 -0
  273. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_mcp_broker_release_health.py +0 -0
  274. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_provider_source_approval.py +0 -0
  275. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_research_object_catalog.py +0 -0
  276. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_research_objects.py +0 -0
  277. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_research_spec_profiles.py +0 -0
  278. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_runtime_paths.py +0 -0
  279. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_v1_migrations.py +0 -0
  280. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tests/test_workspace_git_contract.py +0 -0
  281. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex.egg-info/dependency_links.txt +0 -0
  282. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex.egg-info/entry_points.txt +0 -0
  283. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex.egg-info/requires.txt +0 -0
  284. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex.egg-info/top_level.txt +0 -0
  285. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/__init__.py +0 -0
  286. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/calculation-runtime-lock.json +0 -0
  287. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/calculation-runtime-requirements.txt +0 -0
  288. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/__init__.py +0 -0
  289. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/bootstrap.py +0 -0
  290. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/build.py +0 -0
  291. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/connectors.py +0 -0
  292. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/db.py +0 -0
  293. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/decision.py +0 -0
  294. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/evaluation.py +0 -0
  295. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/forecast.py +0 -0
  296. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/home.py +0 -0
  297. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/investment_brains.py +0 -0
  298. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/investor_context.py +0 -0
  299. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/mcp.py +0 -0
  300. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/orders.py +0 -0
  301. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/policy.py +0 -0
  302. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/profile.py +0 -0
  303. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/skills.py +0 -0
  304. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/strategies.py +0 -0
  305. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/workflow.py +0 -0
  306. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/commands/workspaces.py +0 -0
  307. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/mcp_stdio.py +0 -0
  308. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/package_source.py +0 -0
  309. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/service_autostart.py +0 -0
  310. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_cli/versioning.py +0 -0
  311. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/__init__.py +0 -0
  312. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/admin.py +0 -0
  313. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/__init__.py +0 -0
  314. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/analysis_runs.py +0 -0
  315. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/audit.py +0 -0
  316. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/brokers.py +0 -0
  317. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/common.py +0 -0
  318. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/decision_packages.py +0 -0
  319. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/evaluation_lab.py +0 -0
  320. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/execution_gateway.py +0 -0
  321. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/forecasting.py +0 -0
  322. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/git_subprocess.py +0 -0
  323. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/harness.py +0 -0
  324. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/health.py +0 -0
  325. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/investment_analysis.py +0 -0
  326. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/investor_context.py +0 -0
  327. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/markdown_preview.py +0 -0
  328. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/operator_authority.py +0 -0
  329. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/orders.py +0 -0
  330. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/policy.py +0 -0
  331. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/portfolio.py +0 -0
  332. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/postmortems.py +0 -0
  333. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/research_objects.py +0 -0
  334. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/research_specs.py +0 -0
  335. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/skill_invocations.py +0 -0
  336. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/source_snapshots.py +0 -0
  337. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/viewer.py +0 -0
  338. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/application/workspaces.py +0 -0
  339. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/asgi.py +0 -0
  340. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/log_safety.py +0 -0
  341. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/runtime_profile.py +0 -0
  342. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/settings.py +0 -0
  343. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/static/tradingcodex_admin/favicon.svg +0 -0
  344. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/web.py +0 -0
  345. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/tradingcodex_service/wsgi.py +0 -0
  346. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/__init__.py +0 -0
  347. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/audit/files/.tradingcodex/audit/README.md +0 -0
  348. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/audit/files/trading/audit/.gitkeep +0 -0
  349. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/audit/module.json +0 -0
  350. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/.codex/rules/tradingcodex.rules +0 -0
  351. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/.tradingcodex/cli.py +0 -0
  352. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/pyproject.toml +0 -0
  353. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/tcx +0 -0
  354. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/tcx-calc +0 -0
  355. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/tcx-calc.cmd +0 -0
  356. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/files/tcx.cmd +0 -0
  357. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/codex-base/module.json +0 -0
  358. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/restricted-list.yaml +0 -0
  359. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/approval_receipt.schema.json +0 -0
  360. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/audit_event.schema.json +0 -0
  361. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/evidence_pack.schema.json +0 -0
  362. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/execution_result.schema.json +0 -0
  363. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/fundamental_report.schema.json +0 -0
  364. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/news_report.schema.json +0 -0
  365. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_ticket.schema.json +0 -0
  366. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/portfolio_review.schema.json +0 -0
  367. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/postmortem_report.schema.json +0 -0
  368. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/research_artifact.schema.json +0 -0
  369. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/risk_report.schema.json +0 -0
  370. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/technical_report.schema.json +0 -0
  371. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/thesis.schema.json +0 -0
  372. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/valuation.schema.json +0 -0
  373. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/enforcement-guardrails/module.json +0 -0
  374. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/skill-change-proposals/.gitkeep +0 -0
  375. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/fixed-subagents/module.json +0 -0
  376. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/guardrails.md +0 -0
  377. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/task-quality-checklist.md +0 -0
  378. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/guidance-guardrails/module.json +0 -0
  379. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/.tradingcodex/secrets.md +0 -0
  380. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/forecasts/.gitkeep +0 -0
  381. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/market-data/.gitkeep +0 -0
  382. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/portfolio/.gitkeep +0 -0
  383. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/fundamental/.gitkeep +0 -0
  384. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/instrument/.gitkeep +0 -0
  385. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/macro/.gitkeep +0 -0
  386. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/news/.gitkeep +0 -0
  387. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/policy/.gitkeep +0 -0
  388. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/portfolio/.gitkeep +0 -0
  389. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/postmortem/.gitkeep +0 -0
  390. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/risk/.gitkeep +0 -0
  391. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/technical/.gitkeep +0 -0
  392. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/reports/valuation/.gitkeep +0 -0
  393. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/files/trading/research/.gitkeep +0 -0
  394. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/information-barriers/module.json +0 -0
  395. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/paper-trading/module.json +0 -0
  396. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-automate/SKILL.md +0 -0
  397. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-automate/agents/openai.yaml +0 -0
  398. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-brain/references/bundle-contract.md +0 -0
  399. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/SKILL.md +0 -0
  400. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/agents/openai.yaml +0 -0
  401. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-investor-context/SKILL.md +0 -0
  402. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-investor-context/agents/openai.yaml +0 -0
  403. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-memory/SKILL.md +0 -0
  404. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-memory/agents/openai.yaml +0 -0
  405. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-allow/SKILL.md +0 -0
  406. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-allow/agents/openai.yaml +0 -0
  407. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-cancel/SKILL.md +0 -0
  408. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-cancel/agents/openai.yaml +0 -0
  409. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-submit/SKILL.md +0 -0
  410. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-submit/agents/openai.yaml +0 -0
  411. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-plan/SKILL.md +0 -0
  412. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-plan/agents/openai.yaml +0 -0
  413. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/agents/openai.yaml +0 -0
  414. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-strategy/SKILL.md +0 -0
  415. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-strategy/agents/openai.yaml +0 -0
  416. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/agents/openai.yaml +0 -0
  417. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/tcx-fundamental/agents/openai.yaml +0 -0
  418. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/tcx-instrument/agents/openai.yaml +0 -0
  419. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/judgment-reviewer/tcx-judgment/agents/openai.yaml +0 -0
  420. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/tcx-macro/agents/openai.yaml +0 -0
  421. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/tcx-news/agents/openai.yaml +0 -0
  422. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/tcx-order-draft/agents/openai.yaml +0 -0
  423. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/tcx-portfolio/agents/openai.yaml +0 -0
  424. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-order-approve/SKILL.md +0 -0
  425. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-order-approve/agents/openai.yaml +0 -0
  426. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-policy/agents/openai.yaml +0 -0
  427. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-risk/agents/openai.yaml +0 -0
  428. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-anti-overfit/SKILL.md +0 -0
  429. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-anti-overfit/agents/openai.yaml +0 -0
  430. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-artifact/agents/openai.yaml +0 -0
  431. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-calculation/agents/openai.yaml +0 -0
  432. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-calculation/references/finance-methods.md +0 -0
  433. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-data-qc/SKILL.md +0 -0
  434. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-data-qc/agents/openai.yaml +0 -0
  435. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-evidence/agents/openai.yaml +0 -0
  436. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-forecast/SKILL.md +0 -0
  437. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-forecast/agents/openai.yaml +0 -0
  438. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-scenarios/SKILL.md +0 -0
  439. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-scenarios/agents/openai.yaml +0 -0
  440. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/tcx-technical/agents/openai.yaml +0 -0
  441. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/tcx-valuation/agents/openai.yaml +0 -0
  442. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/enforcer/README.md +0 -0
  443. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/gateway/README.md +0 -0
  444. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/server.py +0 -0
  445. {tradingcodex-1.1.2 → tradingcodex-1.2.0}/workspace_templates/modules/tradingcodex-mcp/module.json +0 -0
@@ -2,6 +2,35 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.2.0 - 2026-07-20
6
+
7
+ - Refresh the manual GitHub Pages workflow to the current Node 24 action
8
+ majors after the v1.1.2 candidate exposed the upstream Node 20 deprecation
9
+ annotation. The guide remains explicit-dispatch only.
10
+ - Simplify Codex-native orchestration, hooks, and lifecycle boundaries while
11
+ retaining concise fixed-role prompts, direct native delegation, and
12
+ service-gated sensitive effects.
13
+ - Keep root work on the user's active Codex model and reasoning settings while
14
+ fixed roles use `gpt-5.6-terra`/high, including explicit independent risk and
15
+ judgment review boundaries.
16
+ - Preserve canonical research-artifact lookup when a supported export copies
17
+ Markdown between research and report paths. Current exports carry a
18
+ service-authenticated sidecar bound to central workspace provenance, while
19
+ pre-1.2 copies are recovered only when a retained signed receipt and, when
20
+ needed, a version archive prove the original path and bytes; altered,
21
+ replayed, copied-root, or ambiguous duplicates remain fail-closed.
22
+ - Require the same central workspace provenance for every run-bound receipt
23
+ read, including compact review and card projections, so a copied workspace
24
+ cannot replay authenticated research with a shared local service key.
25
+ - Keep optional OpenBB direct, add Snapshot/Dataset row-oriented reuse, and
26
+ strengthen conclusion-relevant point-in-time evidence, decision quality, and
27
+ artifact handoff guidance without adding provider or workflow services.
28
+ - Add agent-maintained, Obsidian-compatible Knowledge Wikis with explicit write
29
+ admission, immutable community packages, bounded read-only Viewer search,
30
+ and a separate Brain-promotion boundary.
31
+ - Record redacted external-tool observations for offline exact-repeat regression
32
+ checks; they do not infer outcome or block native tool use.
33
+
5
34
  ## 1.1.2 - 2026-07-17
6
35
 
7
36
  - Add a cross-platform fixed-role calculation surface with generated
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tradingcodex
3
- Version: 1.1.2
3
+ Version: 1.2.0
4
4
  Summary: Local-first investment operating system for Codex-native research and service-gated execution.
5
5
  Author: TradingCodex Authors
6
6
  License-Expression: Apache-2.0
@@ -59,7 +59,7 @@ next steps in your own workspace.
59
59
  It is not an autonomous trading bot. A research response never becomes a
60
60
  broker action on its own.
61
61
 
62
- [Get started](https://monarchjuno.github.io/tradingcodex/) · [All user-facing skills](docs/user-facing-skills.md) · [Provider to order](https://monarchjuno.github.io/tradingcodex/provider-to-order.html) · [Documentation](docs/README.md)
62
+ [Get started](https://monarchjuno.github.io/tradingcodex/) · [Data sources and OpenBB](docs/data-sources-and-openbb.md) · [All user-facing skills](docs/user-facing-skills.md) · [Provider to order](https://monarchjuno.github.io/tradingcodex/provider-to-order.html) · [Documentation](docs/README.md)
63
63
 
64
64
  ## Start Here
65
65
 
@@ -106,7 +106,8 @@ need Node, npm, or a separate frontend server.
106
106
  | Review a past decision or validate a lesson | [`$tcx-memory`](https://monarchjuno.github.io/tradingcodex/skill-memory.html) | Replay from point-in-time evidence and distinguish decision quality from outcome quality. |
107
107
  | Create a reusable method or reasoning framework | [`$tcx-strategy`](https://monarchjuno.github.io/tradingcodex/skill-strategy.html) or [`$tcx-brain`](https://monarchjuno.github.io/tradingcodex/skill-brain.html) | Start directly with the matching skill in the normal Research profile; its current-turn scope cannot grant execution authority or cross into generic Build work. |
108
108
  | Monitor work on a schedule | [`$tcx-automate`](https://monarchjuno.github.io/tradingcodex/skill-automate.html) | Create or update a Codex Scheduled Task that invokes the actual work skill on each run. |
109
- | Open the dashboard or recover a workspace | [`$tcx-dashboard`](https://monarchjuno.github.io/tradingcodex/skill-dashboard.html) or [`$tcx-server`](https://monarchjuno.github.io/tradingcodex/skill-server.html) | Open the read-only viewer inside Codex by default, request an external browser when needed, or receive a readiness check and safe recovery handoff. |
109
+ | Open the viewer or recover a workspace | The Viewer and Wiki links shown when a healthy workspace task starts, or [`$tcx-server`](https://monarchjuno.github.io/tradingcodex/skill-server.html) | Follow the read-only links directly; use the server skill for readiness checks and safe recovery guidance. |
110
+ | Configure optional OpenBB data access | [Data sources](https://monarchjuno.github.io/tradingcodex/data-sources.html) | OpenBB is projected by default as a non-required direct MCP; use `tcx data-sources openbb status|disable|enable` to control it. It is never installed during attach. |
110
111
  | Connect a provider and prepare an order | [Provider to order](https://monarchjuno.github.io/tradingcodex/provider-to-order.html) | Keep provider setup, account sync, ticket creation, checks, approval, and final action as separate checkpoints. |
111
112
 
112
113
  There are 13 user-facing skills. Browse their detailed behavior, examples, and
@@ -123,16 +124,16 @@ Analyze MSFT as a medium-term quality compounder. Separate facts, inferences,
123
124
  and assumptions. Include contrary evidence and invalidation conditions. No order.
124
125
  ```
125
126
 
126
- The workflow begins a lightweight, workspace-bound run. Head Manager selects
127
- only the fixed-role specialists the question needs, reassesses from accepted
128
- artifacts, and either synthesizes the result or states why work is waiting,
129
- needs revision, or is blocked.
127
+ Narrow trusted questions can stay direct. Fresh research begins a lightweight,
128
+ workspace-bound run; Head Manager selects only useful specialist profiles,
129
+ uses bounded fallback when necessary, and reassesses from accepted evidence
130
+ before answering, synthesizing, revising, or stopping on a gap.
130
131
 
131
132
  ## How TradingCodex Is Organized
132
133
 
133
134
  | Layer | What it does | What it does not do |
134
135
  | --- | --- | --- |
135
- | **Native Codex task** | Interprets the request, runs Head Manager, and dynamically dispatches exact fixed-role specialists. | It does not turn ordinary prose into an order or use a generic agent to imitate a specialist. |
136
+ | **Native Codex task** | Interprets the request, takes a direct fast path when sufficient, and uses specialist profiles or a bounded generic child only when needed. | It does not turn ordinary prose, a child, or a skill into policy, approval, broker, or execution authority. |
136
137
  | **Workspace** | Holds readable research, reports, source snapshots, skills, prompts, and lightweight run provenance. | It is not the portfolio, order, account, approval, or secret ledger. |
137
138
  | **Django service** | Enforces artifact identity, policy, approval, broker, idempotency, execution, and audit rules through shared application services. | It does not replace Codex with a semantic router, preset team, or stored workflow DAG. |
138
139
  | **Read-only viewer** | Lets you browse Library artifacts, Skills, System posture, and registered workspaces. | It does not launch Codex, write workspace files, or mutate orders, brokers, skills, or policy. |
@@ -161,11 +162,11 @@ that state in prompts or workspace files.
161
162
  - Fixed roles have bounded tools and handoff responsibilities. A final order
162
163
  path is available only from an exact root-native protocol, never from the
163
164
  viewer, a subagent, public REST, generic CLI, or direct MCP call.
164
- - User-installed MCP servers, skills, and plugins are BYOR native Codex
165
- capabilities. TradingCodex neither recommends nor verifies them; their
166
- licenses, data terms, costs, and side effects remain the user/provider's
167
- responsibility, and TradingCodex guarantees cover only its own capabilities,
168
- state, and actions.
165
+ - Relevant user-installed MCP servers and skills remain BYOR native Codex
166
+ capabilities. One relevant capability can be used for evidence without
167
+ becoming TradingCodex-managed. OpenBB is the one TradingCodex-supported
168
+ external data integration: it is optional, projected directly to evidence
169
+ roles, and still subject to upstream licenses and data terms.
169
170
  - Raw credentials do not belong in prompts, workspace files, reports, API/MCP
170
171
  output, or audit data.
171
172
 
@@ -180,6 +181,7 @@ guarantee returns.
180
181
  | [User Guide](https://monarchjuno.github.io/tradingcodex/) | Setup, examples, concepts, all user-facing skills, and provider-to-order onboarding. |
181
182
  | [Installation](installation.md) | Install variants, updates, runtime homes, MCP/service startup, and recovery. |
182
183
  | [User-facing skills](docs/user-facing-skills.md) | The full skill map, entry rules, and hard stops. |
184
+ | [Data sources and OpenBB](docs/data-sources-and-openbb.md) | Source routing, direct optional OpenBB projection, Snapshot/Dataset evidence, and third-party terms. |
183
185
  | [Research memory and artifacts](docs/research-memory-and-artifacts.md) | Artifact paths, source posture, versions, quality labels, forecasts, and exports. |
184
186
  | [Decision memory](docs/decision-memory.md) | Replay, postmortems, lesson validation, and reusable context. |
185
187
  | [Safety policy and execution](docs/safety-policy-and-execution.md) | Permissions, approvals, brokers, secrets, and execution boundaries. |
@@ -21,7 +21,7 @@ next steps in your own workspace.
21
21
  It is not an autonomous trading bot. A research response never becomes a
22
22
  broker action on its own.
23
23
 
24
- [Get started](https://monarchjuno.github.io/tradingcodex/) · [All user-facing skills](docs/user-facing-skills.md) · [Provider to order](https://monarchjuno.github.io/tradingcodex/provider-to-order.html) · [Documentation](docs/README.md)
24
+ [Get started](https://monarchjuno.github.io/tradingcodex/) · [Data sources and OpenBB](docs/data-sources-and-openbb.md) · [All user-facing skills](docs/user-facing-skills.md) · [Provider to order](https://monarchjuno.github.io/tradingcodex/provider-to-order.html) · [Documentation](docs/README.md)
25
25
 
26
26
  ## Start Here
27
27
 
@@ -68,7 +68,8 @@ need Node, npm, or a separate frontend server.
68
68
  | Review a past decision or validate a lesson | [`$tcx-memory`](https://monarchjuno.github.io/tradingcodex/skill-memory.html) | Replay from point-in-time evidence and distinguish decision quality from outcome quality. |
69
69
  | Create a reusable method or reasoning framework | [`$tcx-strategy`](https://monarchjuno.github.io/tradingcodex/skill-strategy.html) or [`$tcx-brain`](https://monarchjuno.github.io/tradingcodex/skill-brain.html) | Start directly with the matching skill in the normal Research profile; its current-turn scope cannot grant execution authority or cross into generic Build work. |
70
70
  | Monitor work on a schedule | [`$tcx-automate`](https://monarchjuno.github.io/tradingcodex/skill-automate.html) | Create or update a Codex Scheduled Task that invokes the actual work skill on each run. |
71
- | Open the dashboard or recover a workspace | [`$tcx-dashboard`](https://monarchjuno.github.io/tradingcodex/skill-dashboard.html) or [`$tcx-server`](https://monarchjuno.github.io/tradingcodex/skill-server.html) | Open the read-only viewer inside Codex by default, request an external browser when needed, or receive a readiness check and safe recovery handoff. |
71
+ | Open the viewer or recover a workspace | The Viewer and Wiki links shown when a healthy workspace task starts, or [`$tcx-server`](https://monarchjuno.github.io/tradingcodex/skill-server.html) | Follow the read-only links directly; use the server skill for readiness checks and safe recovery guidance. |
72
+ | Configure optional OpenBB data access | [Data sources](https://monarchjuno.github.io/tradingcodex/data-sources.html) | OpenBB is projected by default as a non-required direct MCP; use `tcx data-sources openbb status|disable|enable` to control it. It is never installed during attach. |
72
73
  | Connect a provider and prepare an order | [Provider to order](https://monarchjuno.github.io/tradingcodex/provider-to-order.html) | Keep provider setup, account sync, ticket creation, checks, approval, and final action as separate checkpoints. |
73
74
 
74
75
  There are 13 user-facing skills. Browse their detailed behavior, examples, and
@@ -85,16 +86,16 @@ Analyze MSFT as a medium-term quality compounder. Separate facts, inferences,
85
86
  and assumptions. Include contrary evidence and invalidation conditions. No order.
86
87
  ```
87
88
 
88
- The workflow begins a lightweight, workspace-bound run. Head Manager selects
89
- only the fixed-role specialists the question needs, reassesses from accepted
90
- artifacts, and either synthesizes the result or states why work is waiting,
91
- needs revision, or is blocked.
89
+ Narrow trusted questions can stay direct. Fresh research begins a lightweight,
90
+ workspace-bound run; Head Manager selects only useful specialist profiles,
91
+ uses bounded fallback when necessary, and reassesses from accepted evidence
92
+ before answering, synthesizing, revising, or stopping on a gap.
92
93
 
93
94
  ## How TradingCodex Is Organized
94
95
 
95
96
  | Layer | What it does | What it does not do |
96
97
  | --- | --- | --- |
97
- | **Native Codex task** | Interprets the request, runs Head Manager, and dynamically dispatches exact fixed-role specialists. | It does not turn ordinary prose into an order or use a generic agent to imitate a specialist. |
98
+ | **Native Codex task** | Interprets the request, takes a direct fast path when sufficient, and uses specialist profiles or a bounded generic child only when needed. | It does not turn ordinary prose, a child, or a skill into policy, approval, broker, or execution authority. |
98
99
  | **Workspace** | Holds readable research, reports, source snapshots, skills, prompts, and lightweight run provenance. | It is not the portfolio, order, account, approval, or secret ledger. |
99
100
  | **Django service** | Enforces artifact identity, policy, approval, broker, idempotency, execution, and audit rules through shared application services. | It does not replace Codex with a semantic router, preset team, or stored workflow DAG. |
100
101
  | **Read-only viewer** | Lets you browse Library artifacts, Skills, System posture, and registered workspaces. | It does not launch Codex, write workspace files, or mutate orders, brokers, skills, or policy. |
@@ -123,11 +124,11 @@ that state in prompts or workspace files.
123
124
  - Fixed roles have bounded tools and handoff responsibilities. A final order
124
125
  path is available only from an exact root-native protocol, never from the
125
126
  viewer, a subagent, public REST, generic CLI, or direct MCP call.
126
- - User-installed MCP servers, skills, and plugins are BYOR native Codex
127
- capabilities. TradingCodex neither recommends nor verifies them; their
128
- licenses, data terms, costs, and side effects remain the user/provider's
129
- responsibility, and TradingCodex guarantees cover only its own capabilities,
130
- state, and actions.
127
+ - Relevant user-installed MCP servers and skills remain BYOR native Codex
128
+ capabilities. One relevant capability can be used for evidence without
129
+ becoming TradingCodex-managed. OpenBB is the one TradingCodex-supported
130
+ external data integration: it is optional, projected directly to evidence
131
+ roles, and still subject to upstream licenses and data terms.
131
132
  - Raw credentials do not belong in prompts, workspace files, reports, API/MCP
132
133
  output, or audit data.
133
134
 
@@ -142,6 +143,7 @@ guarantee returns.
142
143
  | [User Guide](https://monarchjuno.github.io/tradingcodex/) | Setup, examples, concepts, all user-facing skills, and provider-to-order onboarding. |
143
144
  | [Installation](installation.md) | Install variants, updates, runtime homes, MCP/service startup, and recovery. |
144
145
  | [User-facing skills](docs/user-facing-skills.md) | The full skill map, entry rules, and hard stops. |
146
+ | [Data sources and OpenBB](docs/data-sources-and-openbb.md) | Source routing, direct optional OpenBB projection, Snapshot/Dataset evidence, and third-party terms. |
145
147
  | [Research memory and artifacts](docs/research-memory-and-artifacts.md) | Artifact paths, source posture, versions, quality labels, forecasts, and exports. |
146
148
  | [Decision memory](docs/decision-memory.md) | Replay, postmortems, lesson validation, and reusable context. |
147
149
  | [Safety policy and execution](docs/safety-policy-and-execution.md) | Permissions, approvals, brokers, secrets, and execution boundaries. |
@@ -0,0 +1,101 @@
1
+ # TradingCodex Documentation
2
+
3
+ `docs/` is the canonical product reference. It explains durable behavior and
4
+ the reasons behind it; it is not a second user guide or a source-file index.
5
+
6
+ - New users start with the [User Guide](https://monarchjuno.github.io/tradingcodex/).
7
+ - Operators start with [installation.md](../installation.md).
8
+ - Maintainers start with [AGENTS.md](../AGENTS.md) and
9
+ [openwiki/quickstart.md](../openwiki/quickstart.md), then read the owning page
10
+ below before changing behavior.
11
+
12
+ ## Documentation Ownership
13
+
14
+ | Layer | Purpose |
15
+ | --- | --- |
16
+ | `README.md` | Product summary and primary install route. |
17
+ | `installation.md` | Setup, update, and operator recovery. |
18
+ | `docs/` | Canonical product behavior, architecture, safety, and rationale. |
19
+ | `guidebook/` | Short task-first instructions for end users. |
20
+ | `openwiki/` | Source ownership and validation routing for coding agents. |
21
+ | `AGENTS.md` | Repository-wide development rules. |
22
+
23
+ Keep a concept in one owning document and link to it elsewhere. Update another
24
+ layer only when its audience's route changes; do not copy a behavior contract
25
+ into every layer. If two layers disagree, fix the owning `docs/` page first.
26
+
27
+ ## Start By Goal
28
+
29
+ | Goal | Canonical page | Useful follow-up |
30
+ | --- | --- | --- |
31
+ | Understand the product and its design posture | [Product Direction](product-direction.md) | [Harness](harness.md) |
32
+ | Understand runtime and source ownership | [System Architecture](system-architecture.md) | [Interfaces And Surfaces](interfaces-and-surfaces.md) |
33
+ | Change Head Manager, roles, skills, or research flow | [Roles, Skills, And Workflows](roles-skills-and-workflows.md) | [Codex-Native Orchestration](codex-native-orchestration.md) |
34
+ | Work with research evidence, datasets, and artifacts | [Research Memory And Artifacts](research-memory-and-artifacts.md) | [Data Sources And OpenBB](data-sources-and-openbb.md) |
35
+ | Work with reusable company, product, technology, science, industry, or value-chain knowledge | [Knowledge Wikis](knowledge-wikis.md) | [Investment Brain Plugins](investment-brain-plugins.md) |
36
+ | Understand saved decisions and improvement | [Decision Memory](decision-memory.md) | [Improvement Loop](improvement-loop.md) |
37
+ | Change policy, approvals, brokers, or execution | [Safety, Policy, And Execution](safety-policy-and-execution.md) | [Guardrails](guardrails.md) |
38
+ | Change attach/update or generated workspace files | [Generated Workspaces](generated-workspaces.md) | [Deployment](deployment.md) |
39
+ | Change the viewer, API, MCP, Admin, or CLI | [Interfaces And Surfaces](interfaces-and-surfaces.md) | [System Architecture](system-architecture.md) |
40
+ | Choose or verify validation | [Validation And Test Plan](validation-and-test-plan.md) | [Release Readiness](release-readiness.md) |
41
+
42
+ ## Reference By Domain
43
+
44
+ ### Product And Research
45
+
46
+ - [Product Direction](product-direction.md) — product thesis, native-Codex
47
+ posture, goals, non-goals, defaults, and scope.
48
+ - [Harness](harness.md) — how Codex, services, and workspace files cooperate.
49
+ - [Financial Workflow References](financial-workflow-references.md) — finance
50
+ workflow evidence and non-expert output requirements.
51
+ - [User-Facing Skills](user-facing-skills.md) — direct skill entrypoints and
52
+ user-visible responsibilities.
53
+ - [Roles, Skills, And Workflows](roles-skills-and-workflows.md) — agent and
54
+ skill behavior, research routing, and handoffs.
55
+ - [Codex-Native Orchestration](codex-native-orchestration.md) — the durable run
56
+ boundary and why Django is not an agent scheduler.
57
+ - [Research Memory And Artifacts](research-memory-and-artifacts.md) — file-native
58
+ evidence, datasets, calculations, artifacts, and provenance.
59
+ - [Knowledge Wikis](knowledge-wikis.md) — agent-maintained Obsidian-compatible
60
+ background knowledge, explicit write admission, community packages, and the
61
+ read-only Viewer.
62
+ - [Data Sources And OpenBB](data-sources-and-openbb.md) — source fallback,
63
+ optional direct OpenBB MCP, and third-party terms.
64
+ - [Decision Memory](decision-memory.md) and [Improvement Loop](improvement-loop.md)
65
+ — retained decisions, outcomes, lessons, and review.
66
+
67
+ ### Safety And Architecture
68
+
69
+ - [Safety, Policy, And Execution](safety-policy-and-execution.md) — canonical
70
+ sensitive-action, approval, broker, secret, and audit boundary.
71
+ - [Guardrails](guardrails.md) — guidance, enforcement, and information-barrier
72
+ taxonomy.
73
+ - [System Architecture](system-architecture.md) — runtime planes, central DB,
74
+ app boundaries, and service ownership.
75
+ - [Interfaces And Surfaces](interfaces-and-surfaces.md) — viewer, Admin, API,
76
+ MCP, CLI, and generated wrapper boundaries.
77
+ - [Generated Workspaces](generated-workspaces.md) — attach/update, generated
78
+ files, projection, provenance, and platform rules.
79
+ - [Investment Brain Plugins](investment-brain-plugins.md) — current managed
80
+ Brain behavior and migration context; native user skills remain the preferred
81
+ direction for future simplification.
82
+
83
+ ### Operations And Governance
84
+
85
+ - [Validation And Test Plan](validation-and-test-plan.md) — complete validation
86
+ matrix; use the smallest relevant subset during iteration.
87
+ - [Release Readiness](release-readiness.md) — release-specific evidence.
88
+ - [Deployment](deployment.md) — packaging, publication, update, and CI policy.
89
+ - [Licensing And Commercialization](licensing-and-commercialization.md) — open
90
+ source, generated workspace, trademark, and legal-review boundaries.
91
+
92
+ ## Writing Rules
93
+
94
+ - Document durable behavior, not temporary implementation plans or completed
95
+ checklists; Git history preserves those.
96
+ - Prefer links to repeated explanations. `openwiki/` should contain paths and
97
+ checks, not a second architecture narrative.
98
+ - Keep user procedures in `guidebook/`; keep internal source paths out of it.
99
+ - Keep product copy in English unless a reviewed localization layer is added.
100
+ - A behavior change updates its owning page in the same change. A code-only
101
+ refactor that preserves behavior need not churn every documentation layer.
@@ -3,18 +3,18 @@
3
3
  Status: v1 contract
4
4
 
5
5
  TradingCodex uses Codex itself as the investment research orchestrator. Head
6
- Manager interprets the user's original language, chooses the smallest useful
7
- fixed-role team, runs independent work in parallel, waits for authenticated
8
- artifacts, and decides whether to revise, add a role, challenge a conflict,
9
- stop, or synthesize.
6
+ Manager interprets the user's original language, answers narrow trusted facts
7
+ directly, and uses the smallest useful role set when fresh research or distinct
8
+ expertise is needed. It decides whether to follow up, add a role, challenge a
9
+ conflict, stop, answer directly, or synthesize.
10
10
 
11
11
  ```text
12
12
  User
13
13
  -> Head Manager
14
14
  -> begin_analysis_run (identity, request hash, sealed Brain/Strategy/Context provenance)
15
15
  -> optional one explicit Investment Brain inquiry overlay
16
- -> exact fixed-role children
17
- -> authenticated research artifacts
16
+ -> optional role-profile or workflow-defined fallback children
17
+ -> optional authenticated research artifacts
18
18
  -> dynamic next-role judgment
19
19
  -> run-local synthesis artifact
20
20
  ```
@@ -45,6 +45,13 @@ validated plugin `brain_id`, version, content digest, source metadata, manifest
45
45
  and source paths, and projected skill path. It does not store the raw request,
46
46
  a selected team, a plan, or a task queue.
47
47
 
48
+ Codex owns thread, child, wait, and follow-up lifecycle. TradingCodex does not
49
+ pre-allocate or mirror a Codex session-to-run map. When durable research
50
+ provenance is needed, `begin_analysis_run` creates the run ID and Head Manager
51
+ passes that returned ID in compact child briefs and authenticated artifact
52
+ calls. A follow-up in the same Codex task reuses that ID from task context;
53
+ TradingCodex does not reconstruct it from a session map.
54
+
48
55
  ## Investment Brain Context
49
56
 
50
57
  The native task may select at most one Primary Brain through one exact
@@ -72,23 +79,30 @@ falsify a Brain or Strategy assumption. Strategy governs a decision-rule
72
79
  conflict with Brain, while Investor Context remains blocking when suitability
73
80
  conflicts with Strategy.
74
81
 
75
- ## Dispatch Contract
76
-
77
- Every fixed-role child uses MultiAgent V2 with:
78
-
79
- - explicit `features.multi_agent_v2.enabled = true`
80
- - seven total session threads, preserving six child slots before the
81
- TradingCodex reserved-slot policy
82
- - exact registered `agent_type`
83
- - compact underscore-only `task_name`
84
- - compact role-owned assignment containing the analysis run id
85
- - `fork_turns="none"`
86
- - the role's projected model, reasoning effort, sandbox, web posture, skills,
87
- and MCP principal
88
-
89
- Each revision or follow-up is a fresh child. `followup_task`, generic/default
90
- agent fallback, full-history fork, role-TOML emulation, and source-code routing
91
- are not valid TradingCodex paths.
82
+ ## Delegation Contract
83
+
84
+ MultiAgent V2 exposes the generated role profiles with a depth-one boundary.
85
+ Head Manager prefers an exact profile when its specialty is useful and passes a
86
+ compact role-owned brief rather than the full root history. Role TOML supplies
87
+ the direct fixed model settings; their values and fallback eligibility are owned
88
+ by [Roles, Skills, And Workflows](roles-skills-and-workflows.md). Role profiles
89
+ retain their projected web posture, skills, tools, and MCP principal.
90
+
91
+ For an exact profile, Head Manager calls native `spawn_agent` with the exact
92
+ `agent_type`, a compact `message`, a `task_name`, and `fork_turns="none"`. It
93
+ does not pass `model` or `reasoning_effort`. A spawn is real only when the tool
94
+ returns a live target. Correct a rejected spawn only when its error identifies
95
+ the change; otherwise delegation remains blocked.
96
+
97
+ Use `followup_task` when a live child still owns a correction or clarification.
98
+ Start another child for a new specialty, an unavailable session, or independent
99
+ review. Apply the canonical fallback boundary in
100
+ [Roles, Skills, And Workflows](roles-skills-and-workflows.md). A child cannot
101
+ approve, execute, access a broker, or emulate Head Manager. Children never
102
+ delegate recursively. Head Manager waits only while a live child has useful work
103
+ and reports lifecycle events only from native tool and child-lifecycle results
104
+ in the current run. Native wait is wait-any and may serialize with no explicit
105
+ target list; that representation is not failure by itself.
92
106
 
93
107
  When a Brain applies, the assignment contains the question Head Manager derived
94
108
  from it, not the Brain body or a delegation of Brain authority. Brain content is
@@ -96,7 +110,8 @@ never copied into fixed-role configuration.
96
110
 
97
111
  ## Artifact And Lineage Contract
98
112
 
99
- Producing roles store their own output through `create_research_artifact`.
113
+ Decision-, reuse-, audit-, or handoff-relevant roles store their own output
114
+ through `create_research_artifact`; a narrow bounded answer need not create one.
100
115
  Authenticated service code derives the producer identity and content hash,
101
116
  verifies the analysis run, and resolves exact run-local `input_artifact_ids`
102
117
  into immutable input hashes. Head Manager reads exact returned artifact IDs
@@ -147,14 +162,20 @@ Brain invocation occur in native Codex tasks.
147
162
 
148
163
  A passing native smoke proves:
149
164
 
150
- 1. hooks provide transport/run context without semantic classification;
151
- 2. Head Manager calls `begin_analysis_run` for a fresh investment request;
165
+ 1. hooks provide compact context and proof gates without semantic classification
166
+ or generic shell-policy duplication;
167
+ 2. Head Manager uses the direct fast path or calls `begin_analysis_run` only for
168
+ fresh research and decision work;
152
169
  3. Korean and English requests both route by agent understanding;
153
- 4. exact Sol Head Manager and Terra roles use the configured reasoning levels;
154
- 5. spawns use exact V2 role identity and `fork_turns="none"`;
155
- 6. no Brain preserves baseline behavior, one exact Brain changes only inquiry
170
+ 4. generated root TOML inherits the user's model and reasoning settings, while
171
+ fixed-role TOML applies the child settings defined by the canonical role
172
+ contract;
173
+ 5. exact profiles spawn with compact fresh context, child follow-up targets a
174
+ returned live child, and lifecycle claims match completed native tool calls;
175
+ 6. fallback behavior matches the canonical role contract;
176
+ 7. no Brain preserves baseline behavior, one exact Brain changes only inquiry
156
177
  and interpretation, and multiple or unresolved Brains fail closed;
157
- 7. artifacts are principal-bound and preserve run-local Brain and input lineage;
158
- 8. Head Manager dynamically revises from artifacts without old plan tools;
159
- 9. memory-influenced judgment is blind-first and reports its delta; and
160
- 10. order/approval/execution gates remain service-owned.
178
+ 8. artifacts are principal-bound and preserve run-local Brain and input lineage;
179
+ 9. Head Manager dynamically revises from artifacts without old plan tools;
180
+ 10. memory-influenced judgment is blind-first and reports its delta; and
181
+ 11. order/approval/execution gates remain service-owned.
@@ -0,0 +1,114 @@
1
+ # Data Sources And OpenBB
2
+
3
+ This page is the canonical contract for external research sources. It does not
4
+ cover broker connectivity or execution; see
5
+ [safety-policy-and-execution.md](./safety-policy-and-execution.md) for those
6
+ boundaries.
7
+
8
+ ## Source routing
9
+
10
+ The shared `tcx-source-gate` skill gives an evidence-producing role this order
11
+ for each missing fact or series:
12
+
13
+ 1. Reuse a relevant SourceSnapshot or Dataset already supplied for the work.
14
+ 2. Use one relevant enabled user Skill, Plugin, or MCP capability.
15
+ 3. Use the optional direct OpenBB MCP if it is projected for the role.
16
+ 4. Research original public records: company IR and filings for companies,
17
+ exchanges for prices, central banks or statistics agencies for macro data,
18
+ and regulators for regulatory facts.
19
+ 5. Use another reliable web source.
20
+ 6. State the remaining data gap.
21
+
22
+ This is a short operating procedure, not a service-side source-rating system or
23
+ a guarantee about a third party. A role names the provider where possible, does
24
+ not repeat an unchanged request to the same source, and keeps a partial result
25
+ while asking the next source only for the missing field, identifier, or period.
26
+ TradingCodex does not install, classify, proxy, approve, or audit a user-owned
27
+ capability. The normal research safety boundaries still apply: never expose a
28
+ secret or mix research retrieval with account, order, or other mutation work.
29
+ Generic web, browser, and shell HTTP access belong to the public-web fallback;
30
+ they are not the user capability in step 2. For structured prices, OHLCV,
31
+ fundamentals, estimates, or macro series, an available direct OpenBB route is
32
+ attempted before that fallback unless the user selected another provider.
33
+
34
+ The procedure adds point-in-time context only when structured or historical
35
+ evidence matters to a conclusion. It preserves issuer identity and
36
+ instrument/venue, unit/currency/timezone, raw-versus-adjusted price policy,
37
+ filing timing/period/amendment posture, and macro first-release or vintage
38
+ posture versus a current revision. It also makes as-of/known-at/freshness,
39
+ empty/partial/stale/authentication/entitlement/rate-limit warnings, material
40
+ conflicts, and remaining coverage gaps visible. Narrow facts do not carry a
41
+ full evidence checklist.
42
+
43
+ ## Evidence records
44
+
45
+ Every used external document or response is recorded as a content-addressed
46
+ `SourceSnapshot`. Its provider, locator, as-of and known-at posture, hashes,
47
+ warnings, and necessary excerpt preserve provenance for filings, news, IR
48
+ material, HTML/PDF extracts, and other unstructured sources.
49
+
50
+ A `Dataset` is optional. Create one only when a reusable table, time series,
51
+ OHLCV set, or financial table is used. Preserve every row used in the analysis;
52
+ the immutable Dataset manifest binds its payload and source snapshots. A
53
+ `ResearchArtifact` cites the exact SourceSnapshot and Dataset IDs it consumed.
54
+ The resulting flow is:
55
+
56
+ ```text
57
+ external source → SourceSnapshot → Dataset (only for reusable structured rows) → ResearchArtifact
58
+ ```
59
+
60
+ There is no separate external-call receipt state machine and no document-blob
61
+ store. Existing Snapshot payload/locator/hash data and a necessary excerpt are
62
+ the current retention boundary. Add a source-specific adapter only when a real,
63
+ repeatable pipeline requires one; TradingCodex does not own adapters for SEC,
64
+ Treasury, BLS, ECB, World Bank, CFTC, Bank of Canada, or similar sources.
65
+
66
+ ## Optional OpenBB MCP
67
+
68
+ OpenBB is enabled by default as an optional, non-required source and is not
69
+ installed or started by `tcx attach` or `tcx update`. Generated configuration
70
+ projects the official upstream MCP directly to fundamental, technical, news,
71
+ macro, instrument, and valuation roles only. Head Manager, portfolio, risk,
72
+ and judgment roles do not receive it. An explicit `disable` choice is preserved
73
+ by later workspace updates.
74
+
75
+ ```toml
76
+ [mcp_servers.openbb]
77
+ command = "uvx"
78
+ args = ["--from", "openbb-mcp-server", "--with", "openbb", "openbb-mcp", "--transport", "stdio"]
79
+ enabled = true
80
+ required = false
81
+ env_vars = ["FMP_API_KEY"]
82
+ ```
83
+
84
+ `uvx` resolves the upstream packages only when Codex actually uses the MCP.
85
+ TradingCodex never wraps, provisions, supervises, validates, or proxies that
86
+ server. The configuration stores environment-variable *names* only; values are
87
+ inherited from the process that starts Codex and must not appear in workspace
88
+ files, prompts, APIs, MCP output, artifacts, or logs.
89
+
90
+ Only a role that actually selects this direct route reads the short OpenBB
91
+ procedure. It discovers the smallest needed upstream route, names and verifies
92
+ the provider when available, verifies returned identifiers/venue/time posture
93
+ and data units or adjustments, and treats access or empty-result warnings as
94
+ coverage gaps. A partial response remains usable while another source fills
95
+ only the missing coverage. Used responses become SourceSnapshots immediately;
96
+ reused structured rows also become Datasets. The procedure deliberately avoids
97
+ tool-name or version coupling.
98
+
99
+ From a workspace terminal, use only the small projection controls:
100
+
101
+ ```bash
102
+ ./tcx data-sources openbb status
103
+ ./tcx data-sources openbb env add OTHER_PROVIDER_KEY
104
+ ./tcx data-sources openbb disable
105
+ ./tcx data-sources openbb enable --env-var FMP_API_KEY
106
+ ./tcx update --skip-refresh --no-doctor
107
+ ```
108
+
109
+ Restart Codex after changing the projection or inherited environment. OpenBB,
110
+ its providers, and their data remain third-party services: package licensing,
111
+ provider terms, entitlement, cost, availability, accuracy, and data-use duties
112
+ are the user's responsibility. In particular, optional direct use does not by
113
+ itself settle OpenBB AGPL or downstream data-license obligations. See the
114
+ [upstream OpenBB license guidance](https://docs.openbb.co/odp/python/faqs/license).
@@ -120,6 +120,11 @@ does not establish truth.
120
120
 
121
121
  ### Wiki and graph posture
122
122
 
123
+ This section describes rebuildable views over Decision Memory. It does not own
124
+ the separate agent-maintained background vault defined by
125
+ [Knowledge Wikis](knowledge-wikis.md). Knowledge Wiki pages never become the
126
+ canonical decision ledger or gain automatic promotion from it.
127
+
123
128
  LLM-maintained Markdown is useful for navigation, synthesis, and progressive
124
129
  disclosure. It is unsuitable as the only investment memory because free-form
125
130
  pages do not reliably preserve observation time, contradicted claims, abandoned
@@ -364,13 +369,13 @@ Memory remains independent of the Brain that produced a decision:
364
369
  - a different Brain or Strategy starts a new run rather than mutating sealed
365
370
  provenance.
366
371
 
367
- Learning from memory into a Brain is a separate user-controlled curation path.
368
- Writing requires a root native Codex prompt whose first meaningful invocation
369
- is `$tcx-brain`, an explicit source-authoring request on that line or below it, an
370
- actual Codex sandbox that permits the required workspace-local writes, exact
371
- user-selected source episodes, and counterexamples. The Brain-scoped grant is
372
- bound to that turn, cannot authorize Build or Strategy work, and does not carry
373
- into follow-ups or subagents; the browser viewer has no management path.
372
+ Learning from memory or a selected Wiki page into a Brain is a separate
373
+ user-controlled curation path. Natural language may explicitly authorize a
374
+ user-owned source revision and proof-free validation; it does not authorize a
375
+ managed lifecycle change. Exact `$tcx-brain` first-line admission is required
376
+ only for install, update, activation, deactivation, rollback, or removal. The
377
+ Brain lifecycle grant cannot authorize Build, Wiki, or Strategy work and does
378
+ not carry into follow-ups or subagents; the browser viewer has no mutation path.
374
379
  It abstracts general heuristics into a privacy-reviewed user-owned local source
375
380
  without copying private cases or changing Decision Memory, installed packages,
376
381
  or third-party sources. It validates a created or revised local source without
@@ -283,7 +283,7 @@ sh "$SOURCE_ROOT/install.sh" \
283
283
  On native Windows PowerShell:
284
284
 
285
285
  ```powershell
286
- $ReleaseVersion = "1.1.2"
286
+ $ReleaseVersion = "1.2.0"
287
287
  $Workspace = Join-Path $env:TEMP "tcx-pypi-$ReleaseVersion"
288
288
  New-Item -ItemType Directory -Force $Workspace | Out-Null
289
289
  Set-Location $Workspace
@@ -79,7 +79,7 @@ request into the same fixed team or checklist.
79
79
  | [Addy Osmani, "Loop Engineering"](https://addyosmani.com/blog/loop-engineering/) | A useful agentic loop combines automations, isolated workspaces, skills, connectors, subagents, and durable external memory; TradingCodex maps these to Head Manager coordination, fixed subagents, MCP/service boundaries, artifacts, and generated workspace state. |
80
80
  | [Business Insider, "Forget prompt engineering: Loop engineering is all the rage now"](https://www.businessinsider.com/what-are-loops-ai-engineering-tips-2026-6) | Current loop-engineering discourse emphasizes designing recurring systems that prompt agents, with cost and oversight tradeoffs; TradingCodex exposes loop controls and token/context budgets rather than unlimited autonomy. |
81
81
  | [Anthropic Claude Code skills docs](https://docs.anthropic.com/en/docs/claude-code/skills) | Recent agent tooling exposes loops through reusable skills, bundled `/loop`, subagent execution, and dynamic context; TradingCodex mirrors the reusable-skill and fixed-subagent pattern without depending on Claude Code. |
82
- | [Anthropic Claude Code hooks docs](https://docs.anthropic.com/en/docs/claude-code/hooks-guide) | Agent hooks can verify conditions before allowing a workflow to continue; TradingCodex maps this to hook gates, context-audit, quality-check, and handoff states. |
82
+ | [Anthropic Claude Code hooks docs](https://docs.anthropic.com/en/docs/claude-code/hooks-guide) | Agent hooks can verify conditions before allowing a workflow to continue; TradingCodex maps this to safety gates, quality checks, and handoff states. |
83
83
  | [OpenClaw](https://github.com/openclaw/openclaw) | Agent control planes show the value and risk of persistent assistant loops across devices/channels; TradingCodex keeps loops workspace-scoped, auditable, and blocked from secrets or execution unless service gates allow it. |
84
84
  | [Mem0, "Loop Engineering for AI Agents: Memory-First Design"](https://mem0.ai/blog/loop-engineering-for-ai-agents-memory-first-design) | Memory-first loop design separates durable memory from a single chat context; TradingCodex uses workspace-native artifacts, source snapshots, context summaries, and generated manifests as its durable memory layer. |
85
85
  | [TradingAgents repository](https://github.com/tauricresearch/tradingagents) and [TradingAgents paper](https://arxiv.org/abs/2412.20138) | The useful pattern is not autonomous execution, but explicit role specialization, bull/bear researcher debate, trader synthesis, and risk review. TradingCodex adapts this as challenge review before synthesis while keeping order, approval, and execution behind service gates. |
@@ -181,7 +181,7 @@ strategy authoring path, not as a side effect of analysis.
181
181
  reusable procedures, subagent decomposition, verification hooks, connectors,
182
182
  and durable memory. TradingCodex should stay framework-agnostic: use these
183
183
  ideas through its own Codex-native request scoping, skills, MCP/service boundary,
184
- context-audit, role artifacts, and explicit human approval gates.
184
+ role artifacts, artifact quality checks, and explicit human approval gates.
185
185
  - The verifier is the bottleneck in a useful loop. TradingCodex therefore keeps
186
186
  loop controls tied to source freshness, artifact quality, investor-context gaps, and
187
187
  blocked actions rather than letting the agent repeat work until it invents a