tradingcodex 1.0.1__tar.gz → 1.1.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 (374) hide show
  1. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/CHANGELOG.md +56 -0
  2. {tradingcodex-1.0.1/tradingcodex.egg-info → tradingcodex-1.1.0}/PKG-INFO +1 -1
  3. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/README.md +1 -1
  4. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/core-concepts-and-rules.md +4 -2
  5. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/decision-memory.md +2 -2
  6. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/deployment.md +35 -16
  7. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/execution-without-subagent-plan.md +23 -17
  8. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/generated-workspaces.md +157 -46
  9. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/harness.md +20 -13
  10. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/interfaces-and-surfaces.md +44 -22
  11. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/investment-brain-plugins.md +4 -3
  12. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/product-direction.md +1 -1
  13. tradingcodex-1.1.0/docs/release-readiness.md +181 -0
  14. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/roles-skills-and-workflows.md +54 -19
  15. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/safety-policy-and-execution.md +94 -34
  16. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/system-architecture.md +3 -3
  17. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/user-facing-skills.md +42 -20
  18. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/validation-and-test-plan.md +116 -14
  19. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/installation.md +67 -3
  20. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_brain_skill.py +1 -1
  21. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_broker_center_prd.py +28 -0
  22. tradingcodex-1.1.0/tests/test_build_hook.py +2385 -0
  23. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_build_turn_grant.py +94 -14
  24. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_clean_v1_cli_audit.py +1 -0
  25. tradingcodex-1.1.0/tests/test_guidebook_contract.py +71 -0
  26. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_investment_brain_prompt_layers.py +6 -1
  27. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_investment_brain_provenance.py +39 -1
  28. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_investor_context.py +76 -0
  29. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_native_execution_gateway.py +101 -11
  30. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_order_turn_grant.py +29 -9
  31. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_platform_runtime.py +514 -7
  32. tradingcodex-1.1.0/tests/test_provider_source_approval.py +1041 -0
  33. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_release_contract.py +43 -11
  34. {tradingcodex-1.0.1 → tradingcodex-1.1.0/tradingcodex.egg-info}/PKG-INFO +1 -1
  35. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex.egg-info/SOURCES.txt +2 -0
  36. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/bootstrap.py +46 -1
  37. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/build.py +5 -4
  38. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/connectors.py +7 -0
  39. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/doctor.py +75 -14
  40. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/mcp.py +2 -1
  41. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/mode.py +1 -1
  42. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/generator.py +236 -14
  43. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/startup_status.py +15 -5
  44. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/analysis_runs.py +71 -13
  45. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/brokers.py +570 -48
  46. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/build_gateway.py +129 -79
  47. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/components.py +1 -1
  48. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/customization.py +6 -0
  49. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/execution_gateway.py +105 -40
  50. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/runtime_mode.py +4 -1
  51. tradingcodex-1.1.0/tradingcodex_service/application/skill_invocations.py +354 -0
  52. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/mcp_runtime.py +3 -3
  53. tradingcodex-1.1.0/tradingcodex_service/version.py +1 -0
  54. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/.codex/config.toml +71 -4
  55. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +1900 -35
  56. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/.codex/hooks.json +1 -1
  57. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +101 -41
  58. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/.codex/rules/tradingcodex.rules +0 -7
  59. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/AGENTS.md +41 -20
  60. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-automate/SKILL.md +24 -14
  61. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-brain/SKILL.md +13 -7
  62. tradingcodex-1.1.0/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/SKILL.md +195 -0
  63. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-allow/SKILL.md +12 -7
  64. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-cancel/SKILL.md +7 -3
  65. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-submit/SKILL.md +7 -3
  66. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/SKILL.md +5 -3
  67. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-strategy/SKILL.md +14 -8
  68. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/SKILL.md +12 -6
  69. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/references/context-and-override.md +4 -1
  70. tradingcodex-1.0.1/docs/release-readiness.md +0 -280
  71. tradingcodex-1.0.1/tests/test_build_hook.py +0 -1283
  72. tradingcodex-1.0.1/tests/test_provider_source_approval.py +0 -413
  73. tradingcodex-1.0.1/tradingcodex_service/version.py +0 -1
  74. tradingcodex-1.0.1/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/SKILL.md +0 -94
  75. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/CONTRIBUTING.md +0 -0
  76. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/LICENSE +0 -0
  77. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/MANIFEST.in +0 -0
  78. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/NOTICE +0 -0
  79. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/README.md +0 -0
  80. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/TRADEMARKS.md +0 -0
  81. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/__init__.py +0 -0
  82. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/audit/__init__.py +0 -0
  83. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/audit/admin.py +0 -0
  84. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/audit/apps.py +0 -0
  85. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/audit/migrations/0001_v1_initial.py +0 -0
  86. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/audit/migrations/__init__.py +0 -0
  87. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/audit/models.py +0 -0
  88. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/harness/__init__.py +0 -0
  89. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/harness/admin.py +0 -0
  90. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/harness/apps.py +0 -0
  91. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/harness/migrations/0001_v1_initial.py +0 -0
  92. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/harness/migrations/__init__.py +0 -0
  93. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/harness/models.py +0 -0
  94. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/harness/templatetags/__init__.py +0 -0
  95. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/integrations/__init__.py +0 -0
  96. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/integrations/admin.py +0 -0
  97. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/integrations/apps.py +0 -0
  98. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/integrations/migrations/0001_v1_initial.py +0 -0
  99. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/integrations/migrations/__init__.py +0 -0
  100. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/integrations/models.py +0 -0
  101. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/mcp/__init__.py +0 -0
  102. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/mcp/admin.py +0 -0
  103. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/mcp/apps.py +0 -0
  104. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/mcp/migrations/0001_v1_initial.py +0 -0
  105. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/mcp/migrations/__init__.py +0 -0
  106. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/mcp/models.py +0 -0
  107. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/mcp/services.py +0 -0
  108. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/orders/__init__.py +0 -0
  109. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/orders/admin.py +0 -0
  110. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/orders/apps.py +0 -0
  111. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/orders/migrations/0001_v1_initial.py +0 -0
  112. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/orders/migrations/__init__.py +0 -0
  113. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/orders/models.py +0 -0
  114. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/orders/services.py +0 -0
  115. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/policy/__init__.py +0 -0
  116. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/policy/admin.py +0 -0
  117. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/policy/apps.py +0 -0
  118. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/policy/migrations/0001_v1_initial.py +0 -0
  119. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/policy/migrations/__init__.py +0 -0
  120. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/policy/models.py +0 -0
  121. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/policy/services.py +0 -0
  122. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/portfolio/__init__.py +0 -0
  123. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/portfolio/admin.py +0 -0
  124. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/portfolio/apps.py +0 -0
  125. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/portfolio/migrations/0001_v1_initial.py +0 -0
  126. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/portfolio/migrations/__init__.py +0 -0
  127. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/apps/portfolio/models.py +0 -0
  128. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/assets/tradingcodex-banner.svg +0 -0
  129. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/codex-native-orchestration.md +0 -0
  130. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/components.md +0 -0
  131. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/financial-workflow-references.md +0 -0
  132. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/guardrails.md +0 -0
  133. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/improvement-loop.md +0 -0
  134. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/licensing-and-commercialization.md +0 -0
  135. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/docs/research-memory-and-artifacts.md +0 -0
  136. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/index.html +0 -0
  137. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/package-lock.json +0 -0
  138. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/package.json +0 -0
  139. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/App.tsx +0 -0
  140. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/api.ts +0 -0
  141. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/domain.ts +0 -0
  142. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/features/LibraryPage.tsx +0 -0
  143. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/features/SkillsPage.tsx +0 -0
  144. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/features/SystemPage.tsx +0 -0
  145. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/main.tsx +0 -0
  146. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/navigation.js +0 -0
  147. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/navigation.test.js +0 -0
  148. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/styles.css +0 -0
  149. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/ui.tsx +0 -0
  150. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/src/viewer-data.js +0 -0
  151. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/tsconfig.json +0 -0
  152. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/frontend/vite.config.ts +0 -0
  153. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/install.sh +0 -0
  154. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/pyproject.toml +0 -0
  155. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/setup.cfg +0 -0
  156. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_artifact_authentication.py +0 -0
  157. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_build_contract_metadata.py +0 -0
  158. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_codex_cli_compat.py +0 -0
  159. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_codex_cli_contract.py +0 -0
  160. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_codex_native_orchestration.py +0 -0
  161. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_dashboard_skill.py +0 -0
  162. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_decision_memory_core.py +0 -0
  163. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_dev_bootstrap.py +0 -0
  164. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_dynamic_artifact_quality.py +0 -0
  165. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_e2e_user_scenarios.py +0 -0
  166. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_evaluation_lab_hardening.py +0 -0
  167. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_evaluation_profiles.py +0 -0
  168. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_investment_analysis.py +0 -0
  169. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_investment_brain_cli.py +0 -0
  170. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_investment_brain_registry.py +0 -0
  171. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_mcp_broker_release_health.py +0 -0
  172. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_mcp_operator_authority.py +0 -0
  173. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_research_forecast_surfaces.py +0 -0
  174. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_research_spec_profiles.py +0 -0
  175. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_runtime_paths.py +0 -0
  176. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_runtime_profile.py +0 -0
  177. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_security_invariants.py +0 -0
  178. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_skill_runtime_boundaries.py +0 -0
  179. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_source_snapshot_agent_contract.py +0 -0
  180. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_v1_migrations.py +0 -0
  181. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_v1_state_integrity.py +0 -0
  182. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_viewer.py +0 -0
  183. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tests/test_workspace_git_contract.py +0 -0
  184. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex.egg-info/dependency_links.txt +0 -0
  185. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex.egg-info/entry_points.txt +0 -0
  186. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex.egg-info/requires.txt +0 -0
  187. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex.egg-info/top_level.txt +0 -0
  188. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/__init__.py +0 -0
  189. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/__main__.py +0 -0
  190. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/__init__.py +0 -0
  191. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/db.py +0 -0
  192. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/decision.py +0 -0
  193. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/evaluation.py +0 -0
  194. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/forecast.py +0 -0
  195. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/home.py +0 -0
  196. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/investment_brains.py +0 -0
  197. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/investor_context.py +0 -0
  198. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/orders.py +0 -0
  199. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/policy.py +0 -0
  200. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/profile.py +0 -0
  201. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/research.py +0 -0
  202. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/skills.py +0 -0
  203. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/strategies.py +0 -0
  204. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/subagents.py +0 -0
  205. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/utils.py +0 -0
  206. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/workflow.py +0 -0
  207. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/commands/workspaces.py +0 -0
  208. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/mcp_stdio.py +0 -0
  209. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/package_source.py +0 -0
  210. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/service_autostart.py +0 -0
  211. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_cli/versioning.py +0 -0
  212. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/__init__.py +0 -0
  213. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/admin.py +0 -0
  214. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/api.py +0 -0
  215. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/__init__.py +0 -0
  216. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/agents.py +0 -0
  217. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/artifact_bindings.py +0 -0
  218. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/artifact_quality.py +0 -0
  219. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/audit.py +0 -0
  220. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/common.py +0 -0
  221. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/context_budget.py +0 -0
  222. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/decision_packages.py +0 -0
  223. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/evaluation_lab.py +0 -0
  224. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/forecasting.py +0 -0
  225. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/git_subprocess.py +0 -0
  226. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/harness.py +0 -0
  227. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/health.py +0 -0
  228. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/investment_analysis.py +0 -0
  229. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/investment_brains.py +0 -0
  230. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/investor_context.py +0 -0
  231. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/markdown_preview.py +0 -0
  232. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/operator_authority.py +0 -0
  233. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/orders.py +0 -0
  234. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/policy.py +0 -0
  235. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/portfolio.py +0 -0
  236. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/postmortems.py +0 -0
  237. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/research.py +0 -0
  238. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/research_specs.py +0 -0
  239. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/runtime.py +0 -0
  240. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/source_snapshots.py +0 -0
  241. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/viewer.py +0 -0
  242. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/workspace_git.py +0 -0
  243. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/application/workspaces.py +0 -0
  244. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/asgi.py +0 -0
  245. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/log_safety.py +0 -0
  246. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/runtime_profile.py +0 -0
  247. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/settings.py +0 -0
  248. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/static/tradingcodex_admin/favicon.svg +0 -0
  249. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/static/tradingcodex_web/assets/index-CFoXYUtq.js +0 -0
  250. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/static/tradingcodex_web/assets/index-DYzj_xRR.css +0 -0
  251. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/static/tradingcodex_web/index.html +0 -0
  252. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/urls.py +0 -0
  253. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/viewer_api.py +0 -0
  254. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/web.py +0 -0
  255. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/tradingcodex_service/wsgi.py +0 -0
  256. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/__init__.py +0 -0
  257. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/audit/files/.tradingcodex/audit/README.md +0 -0
  258. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/audit/files/trading/audit/.gitkeep +0 -0
  259. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/audit/module.json +0 -0
  260. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/.tradingcodex/cli.py +0 -0
  261. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/.tradingcodex/config.yaml +0 -0
  262. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/pyproject.toml +0 -0
  263. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/tcx +0 -0
  264. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/files/tcx.cmd +0 -0
  265. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/codex-base/module.json +0 -0
  266. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/restricted-list.yaml +0 -0
  267. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/approval_receipt.schema.json +0 -0
  268. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/audit_event.schema.json +0 -0
  269. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/evidence_pack.schema.json +0 -0
  270. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/execution_result.schema.json +0 -0
  271. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/fundamental_report.schema.json +0 -0
  272. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/news_report.schema.json +0 -0
  273. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_ticket.schema.json +0 -0
  274. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/portfolio_review.schema.json +0 -0
  275. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/postmortem_report.schema.json +0 -0
  276. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/research_artifact.schema.json +0 -0
  277. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/risk_report.schema.json +0 -0
  278. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/technical_report.schema.json +0 -0
  279. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/thesis.schema.json +0 -0
  280. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/valuation.schema.json +0 -0
  281. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/enforcement-guardrails/module.json +0 -0
  282. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +0 -0
  283. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +0 -0
  284. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/judgment-reviewer.toml +0 -0
  285. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +0 -0
  286. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +0 -0
  287. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +0 -0
  288. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +0 -0
  289. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +0 -0
  290. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +0 -0
  291. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/skill-change-proposals/.gitkeep +0 -0
  292. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/fixed-subagents/module.json +0 -0
  293. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/guardrails.md +0 -0
  294. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/task-quality-checklist.md +0 -0
  295. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/guidance-guardrails/module.json +0 -0
  296. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/.tradingcodex/secrets.md +0 -0
  297. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/forecasts/.gitkeep +0 -0
  298. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/market-data/.gitkeep +0 -0
  299. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/portfolio/.gitkeep +0 -0
  300. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/fundamental/.gitkeep +0 -0
  301. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/instrument/.gitkeep +0 -0
  302. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/macro/.gitkeep +0 -0
  303. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/news/.gitkeep +0 -0
  304. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/policy/.gitkeep +0 -0
  305. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/portfolio/.gitkeep +0 -0
  306. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/postmortem/.gitkeep +0 -0
  307. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/risk/.gitkeep +0 -0
  308. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/technical/.gitkeep +0 -0
  309. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/reports/valuation/.gitkeep +0 -0
  310. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/files/trading/research/.gitkeep +0 -0
  311. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/information-barriers/module.json +0 -0
  312. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/paper-trading/module.json +0 -0
  313. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-automate/agents/openai.yaml +0 -0
  314. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-brain/agents/openai.yaml +0 -0
  315. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-brain/references/bundle-contract.md +0 -0
  316. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/agents/openai.yaml +0 -0
  317. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-dashboard/SKILL.md +0 -0
  318. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-dashboard/agents/openai.yaml +0 -0
  319. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-investor-context/SKILL.md +0 -0
  320. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-investor-context/agents/openai.yaml +0 -0
  321. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-memory/SKILL.md +0 -0
  322. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-memory/agents/openai.yaml +0 -0
  323. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-allow/agents/openai.yaml +0 -0
  324. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-cancel/agents/openai.yaml +0 -0
  325. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-order-submit/agents/openai.yaml +0 -0
  326. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-plan/SKILL.md +0 -0
  327. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-plan/agents/openai.yaml +0 -0
  328. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/agents/openai.yaml +0 -0
  329. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-strategy/agents/openai.yaml +0 -0
  330. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/agents/openai.yaml +0 -0
  331. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/references/decision-quality-spine.md +0 -0
  332. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/tcx-fundamental/SKILL.md +0 -0
  333. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/tcx-fundamental/agents/openai.yaml +0 -0
  334. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/tcx-instrument/SKILL.md +0 -0
  335. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/tcx-instrument/agents/openai.yaml +0 -0
  336. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/judgment-reviewer/tcx-judgment/SKILL.md +0 -0
  337. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/judgment-reviewer/tcx-judgment/agents/openai.yaml +0 -0
  338. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/tcx-macro/SKILL.md +0 -0
  339. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/tcx-macro/agents/openai.yaml +0 -0
  340. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/tcx-news/SKILL.md +0 -0
  341. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/tcx-news/agents/openai.yaml +0 -0
  342. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/tcx-order-draft/SKILL.md +0 -0
  343. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/tcx-order-draft/agents/openai.yaml +0 -0
  344. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/tcx-portfolio/SKILL.md +0 -0
  345. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/tcx-portfolio/agents/openai.yaml +0 -0
  346. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-order-approve/SKILL.md +0 -0
  347. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-order-approve/agents/openai.yaml +0 -0
  348. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-policy/SKILL.md +0 -0
  349. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-policy/agents/openai.yaml +0 -0
  350. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-risk/SKILL.md +0 -0
  351. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/tcx-risk/agents/openai.yaml +0 -0
  352. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-anti-overfit/SKILL.md +0 -0
  353. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-anti-overfit/agents/openai.yaml +0 -0
  354. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-artifact/SKILL.md +0 -0
  355. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-artifact/agents/openai.yaml +0 -0
  356. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-data-qc/SKILL.md +0 -0
  357. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-data-qc/agents/openai.yaml +0 -0
  358. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-evidence/SKILL.md +0 -0
  359. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-evidence/agents/openai.yaml +0 -0
  360. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-forecast/SKILL.md +0 -0
  361. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-forecast/agents/openai.yaml +0 -0
  362. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-scenarios/SKILL.md +0 -0
  363. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-scenarios/agents/openai.yaml +0 -0
  364. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-source-gate/SKILL.md +0 -0
  365. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/tcx-source-gate/agents/openai.yaml +0 -0
  366. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/tcx-technical/SKILL.md +0 -0
  367. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/tcx-technical/agents/openai.yaml +0 -0
  368. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/tcx-valuation/SKILL.md +0 -0
  369. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/tcx-valuation/agents/openai.yaml +0 -0
  370. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/repo-skills/module.json +0 -0
  371. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/enforcer/README.md +0 -0
  372. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/gateway/README.md +0 -0
  373. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/server.py +0 -0
  374. {tradingcodex-1.0.1 → tradingcodex-1.1.0}/workspace_templates/modules/tradingcodex-mcp/module.json +0 -0
@@ -2,6 +2,62 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.1.0 - 2026-07-16
6
+
7
+ - Make managed skill invocation resilient without weakening authority: Build,
8
+ Brain, Strategy, and native order entrypoints now share one lexical parser
9
+ that accepts the first meaningful line, matching projected-skill Markdown
10
+ links, same-line requests, BOMs, and cross-platform newline forms. Prompt
11
+ proofs remain bound to the original bytes, and order flags, approvals,
12
+ confirmations, one-effect limits, and replay protection remain strict.
13
+ - Give `trading-build` credential-free, limited public HTTP(S) and HTTPS Git
14
+ retrieval while keeping root native web search disabled. Public source files
15
+ are staged only below the workspace-specific cache-backed scratch provider
16
+ directory, remain inert, and may be hashed, diffed, inspected, or
17
+ syntax-checked but not installed or executed. The proxy uses full HTTP
18
+ transport only for Git Smart HTTP's read-only protocol POST; ordinary HTTP
19
+ remains GET/HEAD-only and general POST stays blocked. Authentication,
20
+ model-authored request bodies, private/local targets, shell pipelines,
21
+ dependency installation, direct `trading/` downloads, Git publication, and
22
+ broker effects remain blocked.
23
+ - Make the active Build-turn shell a narrow, non-extensible review lane. Edits
24
+ use `apply_patch`; admitted commands are public GET/HEAD, enumerated read-only
25
+ HTTPS Git, limited workspace reads, inert provider hash/diff/Git inspection,
26
+ exact isolated `py_compile`, and allowlisted workspace-launcher operations.
27
+ General interpreters, helper scripts, test runners, build systems, shell
28
+ composition, model-authored POST, and native browser/web/network tools now
29
+ fail closed during Build while Research browser behavior remains unchanged.
30
+ - Add provider source provenance, full bundle hashing, secret/VCS/symlink
31
+ rejection, immutable approval snapshots, and provider-first connector
32
+ onboarding. Build-side inspection can return an inert bundle-only hash and
33
+ `service_check_required` posture without reading the central ledger; only the
34
+ interactive operator path resolves canonical approval state. Missing-provider
35
+ connection requests no longer leave dead-end connector scaffolds; explicit
36
+ scaffold-only requests remain available.
37
+ - Preserve the v1 update contract for existing workspaces. `tcx update`
38
+ refreshes the generated invocation, permission, hook, and skill surfaces
39
+ without a database migration, keeps workspace identity and user-owned
40
+ artifacts, and retains the existing explicit home, database, and service
41
+ address. Fully restart Codex and open a new task after updating so an older
42
+ task cannot retain its prior hook snapshot. Existing manual provider bundles
43
+ may omit provenance, while changed or newly unsafe bundles must be reviewed
44
+ and approved again.
45
+
46
+ ## 1.0.2 - 2026-07-15
47
+
48
+ - Preserve an attached release workspace's explicit `TRADINGCODEX_HOME`,
49
+ explicit database override, and projected service address when an update is
50
+ launched through `uvx` instead of the generated wrapper. This prevents a
51
+ custom or isolated v1.0.0 workspace from silently switching to the platform
52
+ default ledger during a package refresh.
53
+ - Fix the public guide's full-width desktop grid so viewport gutters no longer
54
+ collapse the reading column, and align the provider-to-order header with the
55
+ primary Guide/Reference/GitHub navigation. Add route, fragment, mobile-menu,
56
+ and desktop-layout contract tests.
57
+ - Reduce hosted automation usage: normal CI, GitHub Pages deployment, and
58
+ release verification now use one job each; PyPI publication adds only its
59
+ protected upload job. Guide-only pushes skip the source CI workflow.
60
+
5
61
  ## 1.0.1 - 2026-07-15
6
62
 
7
63
  - Add the shared `tcx-artifact` skill to all nine producing fixed roles so
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tradingcodex
3
- Version: 1.0.1
3
+ Version: 1.1.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
@@ -47,7 +47,7 @@ If these layers disagree, treat `docs/` as the durable product intent and fix th
47
47
 
48
48
  | Document | Purpose |
49
49
  | --- | --- |
50
- | [release-readiness.md](./release-readiness.md) | v1.0.1 source readiness, final-commit and exact-artifact validation, and pending tag, publication, and post-publish gates. |
50
+ | [release-readiness.md](./release-readiness.md) | Current v1 release readiness, prior-version update compatibility, exact-artifact validation, and tag, publication, and post-publish gates. |
51
51
 
52
52
  ## Workflow And Agent Documents
53
53
 
@@ -122,7 +122,7 @@ exact root native action -> deterministic hook parse -> native-user permission
122
122
  -> policy -> payload validation -> approval/duplicate-request check
123
123
  -> mandatory intent audit -> connection -> finalized/uncertain audit
124
124
 
125
- exact first-line $tcx-order-allow -> workspace/session/turn/prompt/mode grant
125
+ exact first-meaningful-line $tcx-order-allow -> workspace/session/turn/prompt/mode grant
126
126
  -> protected use_order_turn_grant + PreToolUse proof -> consume once
127
127
  -> the same canonical policy/approval/idempotency/live/audit gates
128
128
  ```
@@ -131,8 +131,10 @@ The root `tcx-order-submit` and `tcx-order-cancel` skill bundles
131
131
  carry no tools. Their complete exact prompt grammar is intercepted by
132
132
  `UserPromptSubmit` and dispatched in-process to the service gateway before any
133
133
  model runs. The separate `tcx-order-allow` bundle documents current-turn admission:
134
- an exact physical first line issues one `OrderTurnGrant`, and only root Head
134
+ an exact first meaningful line issues one `OrderTurnGrant`, and only root Head
135
135
  Manager can select one later submit or cancel through `use_order_turn_grant`.
136
+ The leading skill may be a plain token or its matching projected Markdown link;
137
+ the order mode and immediate action grammars remain literal.
136
138
  `PreToolUse` injects proof that model input and direct MCP callers cannot supply.
137
139
  The browser viewer has no mutation route. Fixed roles, public REST, generic
138
140
  CLI, and unproven direct MCP calls cannot invoke the final mutation.
@@ -355,8 +355,8 @@ Memory remains independent of the Brain that produced a decision:
355
355
  provenance.
356
356
 
357
357
  Learning from memory into a Brain is a separate user-controlled curation path.
358
- Writing requires a root native Codex prompt whose exact physical first line is
359
- `$tcx-brain`, an explicit source-authoring request below it, an
358
+ Writing requires a root native Codex prompt whose first meaningful invocation
359
+ is `$tcx-brain`, an explicit source-authoring request on that line or below it, an
360
360
  actual Codex sandbox that permits the required workspace-local writes, exact
361
361
  user-selected source episodes, and counterexamples. The Brain-scoped grant is
362
362
  bound to that turn, cannot authorize Build or Strategy work, and does not carry
@@ -109,8 +109,12 @@ files are never replaced.
109
109
 
110
110
  ## Maintainer Prerequisites
111
111
 
112
- Release verification uses Python 3.11 and Node 22, while CI keeps the supported
113
- Python 3.11, 3.12, 3.13, and 3.14 range green. Node is a maintainer-only build
112
+ Release verification uses Python 3.11 and Node 22. The hosted CI budget runs
113
+ the complete source, frontend, and package gates once on Python 3.11 instead
114
+ of multiplying every push across the supported Python range and native
115
+ platforms. Maintainers run additional supported-version or native-platform
116
+ checks locally or through an explicit temporary/manual workflow when a change
117
+ touches compatibility-sensitive code. Node is a maintainer-only build
114
118
  dependency.
115
119
 
116
120
  Configure PyPI Trusted Publishing for:
@@ -146,12 +150,20 @@ find . -maxdepth 1 -name '*.egg-info' -type d -exec rm -rf {} +
146
150
  python3.11 -m build
147
151
  python3.11 -m twine check dist/*
148
152
  python3.11 tests/platform_wheel_smoke.py --wheel-dir dist
153
+ python3.11 tests/release_upgrade_smoke.py --wheel-dir dist --from-version 1.0.2
149
154
  ```
150
155
 
151
156
  The wheel smoke installs only the built wheel into a clean virtual environment,
152
157
  checks distribution metadata against the runtime version, attaches a workspace,
153
158
  validates native launchers and generated configuration, runs hooks and MCP
154
159
  stdio, exercises the local service, and loads the packaged SPA and assets.
160
+ The release-upgrade smoke starts from the published `1.0.2` package, updates
161
+ that attached workspace with the built candidate wheel, and verifies preserved
162
+ workspace and runtime identity, user-owned state, and explicit home, DB, and
163
+ service-address settings alongside the refreshed generated contract. It also
164
+ preserves the exact provider approval identity and timestamp, compares every
165
+ byte in the immutable provider snapshot, and proves that the candidate runtime
166
+ loads that approved snapshot after the update.
155
167
 
156
168
  Harness, role, prompt, skill, hook, policy, MCP, or generated-template changes
157
169
  also require the disposable-workspace and Codex-native checks documented in
@@ -159,9 +171,12 @@ also require the disposable-workspace and Codex-native checks documented in
159
171
 
160
172
  ## CI And Release Automation
161
173
 
162
- `.github/workflows/ci.yml` is test-only. It runs frontend verification, safety
163
- invariants, the supported Python matrix, clean package construction, and native
164
- macOS and Windows wheel smokes. It never publishes.
174
+ `.github/workflows/ci.yml` is test-only. One Ubuntu/Python 3.11 job runs the
175
+ frontend build, complete Python suite and framework gates, clean package
176
+ construction, the wheel smoke, and the prior-release update smoke. Guide-only
177
+ pushes skip this workflow because
178
+ the Pages workflow validates and deploys only static guide files. CI never
179
+ publishes.
165
180
 
166
181
  `.github/workflows/release.yml` is manual-only. Every run requires an explicit
167
182
  `release_version`. A dry run may build from any selected ref with
@@ -173,12 +188,15 @@ macOS and Windows wheel smokes. It never publishes.
173
188
  - the workflow ref is exactly `refs/tags/v<release_version>`
174
189
  - the tagged commit is on `origin/main`
175
190
  - the wheel and source-distribution filenames carry the same version
176
- - the built wheel passes the Ubuntu smoke
177
- - the exact uploaded artifact passes native macOS and Windows smokes
191
+ - `dist/` contains exactly that one wheel and one source distribution
192
+ - the built wheel passes the Ubuntu wheel and prior-release update smokes
178
193
  - the protected `pypi` environment approves Trusted Publishing
179
194
 
180
- The same uploaded artifact is downloaded by both native jobs and the PyPI
181
- publisher. No job rebuilds the distribution after verification.
195
+ The release workflow has one build/verification job. When publication is
196
+ requested, one protected PyPI job downloads that exact artifact and uploads it;
197
+ no job rebuilds the distribution after verification. Native macOS and Windows
198
+ release smokes are local or explicitly scheduled maintainer gates rather than
199
+ automatic jobs on every release.
182
200
 
183
201
  ## User Guide Pages
184
202
 
@@ -189,10 +207,10 @@ prompts, workspace viewing, reusable skills, and everyday recovery. The detailed
189
207
  product rules remain canonical in `README.md`, `installation.md`, and `docs/`;
190
208
  the guide links back to those sources rather than replacing them.
191
209
 
192
- `.github/workflows/deploy-user-guide.yml` uploads only `guidebook/` and deploys
193
- it to GitHub Pages after a push to `main` that changes the guide or its workflow.
194
- It can also be run manually. It does not build or deploy the Python package,
195
- the Django service, or a production Node runtime.
210
+ `.github/workflows/deploy-user-guide.yml` uses one job to configure, upload,
211
+ and deploy only `guidebook/` to GitHub Pages after a push to `main` that changes
212
+ the guide or its workflow. It can also be run manually. It does not build or
213
+ deploy the Python package, the Django service, or a production Node runtime.
196
214
 
197
215
  GitHub Pages is configured to use **GitHub Actions** as its publishing source.
198
216
  The guide for this repository is published at
@@ -214,8 +232,9 @@ The guide for this repository is published at
214
232
  ```
215
233
 
216
234
  5. In GitHub Actions, run `Manual Release` from that tag with the exact
217
- `release_version`. Use `publish_pypi=false` for a rehearsal and
218
- `publish_pypi=true` only for the approved publication.
235
+ `release_version`. Use `publish_pypi=true` for an approved publication; use
236
+ the optional `publish_pypi=false` rehearsal when release risk warrants an
237
+ additional hosted build.
219
238
 
220
239
  Pushing a branch or tag does not publish by itself.
221
240
 
@@ -252,7 +271,7 @@ sh "$SOURCE_ROOT/install.sh" \
252
271
  On native Windows PowerShell:
253
272
 
254
273
  ```powershell
255
- $ReleaseVersion = "1.0.1"
274
+ $ReleaseVersion = "1.1.0"
256
275
  $Workspace = Join-Path $env:TEMP "tcx-pypi-$ReleaseVersion"
257
276
  New-Item -ItemType Directory -Force $Workspace | Out-Null
258
277
  Set-Location $Workspace
@@ -26,7 +26,7 @@ design, migration, and validation evidence.
26
26
  author every class of Codex app Scheduled Task, from simple research and
27
27
  monitoring through optional turn-authorized execution.
28
28
  - [x] Issue a workspace-, session-, turn-, prompt-, and mode-bound single-use
29
- grant only for an exact physical first line `$tcx-order-allow --mode
29
+ grant only for an exact first meaningful line `$tcx-order-allow --mode
30
30
  paper|validation|live`; revoke it after one submit or cancel, after one hour,
31
31
  on `Stop`, or when the next user turn starts.
32
32
  - [x] Protect `use_order_turn_grant` so only root Head Manager can select the
@@ -82,9 +82,9 @@ Remove `execution-operator` from the fixed-role roster. Native Codex keeps the
82
82
  exact immediate submit/cancel path for already-known canonical identifiers and
83
83
  adds a separate single-turn path for workflows that create the ticket or
84
84
  approval during the turn. The immediate path executes in `UserPromptSubmit`
85
- before Head Manager runs. The turn path begins only when the physical first
86
- line is exact `$tcx-order-allow --mode paper|validation|live`, then continues the
87
- normal workflow with a single-use service grant.
85
+ before Head Manager runs. The turn path begins only when the first meaningful
86
+ line is exactly `$tcx-order-allow --mode paper|validation|live`, then continues
87
+ the normal workflow with a single-use service grant.
88
88
 
89
89
  `tcx-automate` authors Codex app Scheduled Tasks; it is not a scheduler or
90
90
  the skill invoked recursively by each run. Research, monitoring, recurring
@@ -109,7 +109,7 @@ UserPromptSubmit -> deterministic parse and native-user mandate
109
109
  Django service -> authorize, reserve, audit, invoke adapter, finalize
110
110
  Head Manager -> summarize the already-recorded result; no action authority
111
111
 
112
- native/scheduled user -> exact physical first-line $tcx-order-allow mode
112
+ native/scheduled user -> exact first-meaningful-line $tcx-order-allow mode
113
113
  UserPromptSubmit -> bind one grant to workspace + session + turn + prompt + mode
114
114
  roles/services -> create and approve canonical ticket state
115
115
  Head Manager -> call protected use_order_turn_grant once
@@ -152,7 +152,8 @@ Each bundle follows the normal TradingCodex skill shape, including `SKILL.md`
152
152
  and `agents/openai.yaml`, but contains no tool authority. The skill documents an
153
153
  action syntax intercepted by the hook before the model runs.
154
154
 
155
- The complete trimmed user prompt must have one of these forms:
155
+ The complete meaningful user prompt must have one of these canonical plain
156
+ forms:
156
157
 
157
158
  ```text
158
159
  $tcx-order-submit --ticket-id <ticket-id> --approval-receipt-id <receipt-id>
@@ -162,10 +163,13 @@ $tcx-order-cancel --ticket-id <ticket-id> --broker-order-id <broker-order-id> --
162
163
  $tcx-order-cancel --ticket-id <ticket-id> --broker-order-id <broker-order-id> --approval-receipt-id <receipt-id> --live-confirmation <token>
163
164
  ```
164
165
 
165
- Parsing rules are intentionally strict:
166
+ Parsing rules are intentionally strict. One UTF-8 BOM, normalized CRLF/CR/NEL/
167
+ Unicode line separators, leading/trailing blank lines, and a Markdown link whose
168
+ label and target match the projected workspace action skill are presentation
169
+ variants only:
166
170
 
167
171
  - Parse with `shlex.split`; never use a shell or evaluate prompt content.
168
- - Require the skill token to be the first token and the entire prompt to be the
172
+ - Require the skill invocation to be first and the entire meaningful prompt to be the
169
173
  action. Free-form prefixes, suffixes, comments, quotations, or a second skill
170
174
  invocation are invalid.
171
175
  - Accept only the documented `--name value` form. Reject `--name=value`, unknown
@@ -191,8 +195,8 @@ must not fall through to Head Manager as ordinary analysis.
191
195
 
192
196
  ## Turn-Scoped Order Allow Contract
193
197
 
194
- For a workflow that may create its final identifiers during the turn, the
195
- physical first line must be exactly one of:
198
+ For a workflow that may create its final identifiers during the turn, the first
199
+ meaningful line must be exactly one of:
196
200
 
197
201
  ```text
198
202
  $tcx-order-allow --mode paper
@@ -200,9 +204,10 @@ $tcx-order-allow --mode validation
200
204
  $tcx-order-allow --mode live
201
205
  ```
202
206
 
203
- The rest of the prompt is the ordinary interactive or Codex app Scheduled Task
204
- request. The line accepts no aliases, comments, quotes, extra flags, embedded
205
- prose, or `--mode=value` form. A free-form mention or later-line occurrence
207
+ The skill token may be its matching projected Markdown link. The rest of the
208
+ prompt is a non-empty ordinary interactive or Codex app Scheduled Task request.
209
+ The line accepts no aliases, comments, quotes, extra flags, embedded prose, or
210
+ `--mode=value` form. A free-form mention or later-meaningful-line occurrence
206
211
  does not grant authority. Scheduled and interactive turns use the same parser;
207
212
  there is no Automation-origin branch.
208
213
 
@@ -264,7 +269,7 @@ normal analysis context:
264
269
  The existing provider-call idempotency remains the replay defense if the hook
265
270
  event is delivered more than once.
266
271
 
267
- For `$tcx-order-allow`, `UserPromptSubmit` instead validates the exact first line,
272
+ For `$tcx-order-allow`, `UserPromptSubmit` instead validates the exact first meaningful line,
268
273
  requires root native `session_id` and `turn_id`, revokes the session's older
269
274
  grant, issues the new bounded grant, and continues normal analysis allocation.
270
275
  The additional context contains only mode, expiry, single-use posture, and the
@@ -400,8 +405,9 @@ map, or safety routing would otherwise become misleading.
400
405
  - Prove that unavailable hook audit blocks before reservation/provider use.
401
406
  - Prove that hook result projection contains no raw prompt, reasoning, secrets,
402
407
  credentials, raw provider payload, or unallowlisted error text.
403
- - Accept only the three exact physical-first-line `$tcx-order-allow` modes; reject
404
- later-line, malformed, subagent, Workbench, missing-session, and missing-turn
408
+ - Accept only the three exact first-meaningful-line `$tcx-order-allow` modes;
409
+ reject later-meaningful-line, malformed, subagent, Workbench,
410
+ missing-session, and missing-turn
405
411
  forms without issuing a grant.
406
412
  - Prove grant binding to workspace, session, turn, prompt hash, mode, and
407
413
  tool-use id; prove one-hour, `Stop`, next-turn, and consumption revocation.
@@ -465,7 +471,7 @@ The change is complete only when all of the following are true:
465
471
  8. Generated workspace update safely retires unmodified agent files and
466
472
  preserves modified-file conflict protection.
467
473
  9. A saved Scheduled Task prompt is processed as an ordinary root turn on each
468
- run; only an exact `$tcx-order-allow` physical first line can create one bounded
474
+ run; only an exact `$tcx-order-allow` first meaningful line can create one bounded
469
475
  effect grant, and no Automation-origin detector is involved.
470
476
 
471
477
  ## Explicit Non-Goals