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