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