tradingcodex 0.2.1__tar.gz → 0.2.3__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.3/PKG-INFO +314 -0
- tradingcodex-0.2.3/README.md +283 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/policy/services.py +14 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/README.md +3 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/components.md +3 -3
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/core-concepts-and-rules.md +12 -11
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/deployment.md +11 -8
- tradingcodex-0.2.3/docs/financial-workflow-references.md +152 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/generated-workspaces.md +28 -15
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/guardrails.md +6 -6
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/harness.md +10 -10
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/improvement-loop.md +1 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/interfaces-and-surfaces.md +69 -41
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/licensing-and-commercialization.md +2 -2
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/product-direction.md +10 -8
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/research-memory-and-artifacts.md +9 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/roles-skills-and-workflows.md +31 -10
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/safety-policy-and-execution.md +29 -23
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/system-architecture.md +16 -13
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/docs/validation-and-test-plan.md +17 -3
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/pyproject.toml +2 -2
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/static/tradingcodex_web/app.css +342 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/static/tradingcodex_web/workbench.css +7 -14
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tests/test_broker_center_prd.py +91 -7
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tests/test_e2e_user_scenarios.py +8 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tests/test_python_migration.py +808 -39
- tradingcodex-0.2.3/tradingcodex.egg-info/PKG-INFO +314 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex.egg-info/SOURCES.txt +3 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/__main__.py +4 -3
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/bootstrap.py +29 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/mcp.py +2 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/profile.py +39 -24
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/research.py +4 -0
- tradingcodex-0.2.3/tradingcodex_cli/commands/subagents.py +203 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/generator.py +2 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/service_autostart.py +60 -3
- tradingcodex-0.2.3/tradingcodex_cli/startup_status.py +254 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/api.py +16 -5
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/agents.py +43 -23
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/artifact_quality.py +11 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/components.py +6 -6
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/context_budget.py +34 -9
- tradingcodex-0.2.3/tradingcodex_service/application/harness.py +1691 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/orders.py +142 -21
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/portfolio.py +2 -2
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/research.py +4 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/runtime.py +51 -2
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/mcp_runtime.py +22 -12
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/agent_skills.html +2 -2
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/agents.html +4 -4
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/base.html +16 -42
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/brokers.html +14 -7
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/dashboard.html +14 -14
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/fragments/role_inspector.html +9 -9
- tradingcodex-0.2.3/tradingcodex_service/templates/web/fragments/starter_prompt.html +253 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/fragments/topology_canvas.html +6 -6
- tradingcodex-0.2.3/tradingcodex_service/templates/web/fragments/workspace_card.html +37 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/harness.html +10 -10
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/mcp_router.html +43 -43
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/orders.html +23 -12
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/policy.html +2 -2
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/portfolio.html +29 -11
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/research.html +33 -6
- tradingcodex-0.2.3/tradingcodex_service/templates/web/starter_prompt.html +51 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/strategies.html +9 -3
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/urls.py +1 -0
- tradingcodex-0.2.3/tradingcodex_service/version.py +1 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/web.py +182 -32
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.codex/config.toml +1 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +6 -222
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +21 -8
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/AGENTS.md +2 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/execution-operator.toml +6 -6
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +1 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +1 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/SKILL.md +1 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/SKILL.md +6 -4
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/SKILL.md +6 -3
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/scenario-quality-gates/SKILL.md +15 -3
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/SKILL.md +12 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/SKILL.md +16 -13
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/safety-runbook.md +2 -2
- tradingcodex-0.2.1/PKG-INFO +0 -343
- tradingcodex-0.2.1/README.md +0 -312
- tradingcodex-0.2.1/tradingcodex.egg-info/PKG-INFO +0 -343
- tradingcodex-0.2.1/tradingcodex_cli/commands/subagents.py +0 -113
- tradingcodex-0.2.1/tradingcodex_service/application/harness.py +0 -689
- tradingcodex-0.2.1/tradingcodex_service/templates/web/fragments/starter_prompt.html +0 -24
- tradingcodex-0.2.1/tradingcodex_service/templates/web/starter_prompt.html +0 -40
- tradingcodex-0.2.1/tradingcodex_service/version.py +0 -1
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/CONTRIBUTING.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/LICENSE +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/MANIFEST.in +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/NOTICE +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/TRADEMARKS.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/audit/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/audit/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/audit/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/audit/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/audit/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/audit/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/harness/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/harness/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/harness/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/harness/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/harness/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/harness/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/harness/templatetags/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/integrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/integrations/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/integrations/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/integrations/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/integrations/migrations/0002_brokerconnection_brokeraccount_instrumentmap.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/integrations/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/integrations/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/integrations/services.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/mcp/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/mcp/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/mcp/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/mcp/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/mcp/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/mcp/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/mcp/services.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/migrations/0002_approvalreceipt_approved_order_type_and_more.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/migrations/0003_migrate_orderintent_to_orderticket.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/migrations/0004_remove_order_intent_compat_fields.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/orders/services.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/policy/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/policy/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/policy/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/policy/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/policy/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/policy/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/portfolio/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/portfolio/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/portfolio/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/portfolio/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/portfolio/migrations/0002_brokersyncrun_portfolioledgerevent_reconciliationrun.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/portfolio/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/portfolio/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/research/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/research/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/research/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/research/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/research/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/workflows/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/workflows/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/workflows/apps.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/workflows/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/workflows/migrations/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/apps/workflows/models.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/assets/tradingcodex-banner.svg +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/install.sh +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/installation.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/setup.cfg +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/static/tradingcodex_admin/favicon.svg +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/static/tradingcodex_web/app.js +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/static/vendor/alpine/alpine.min.js +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/static/vendor/htmx/htmx.min.js +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex.egg-info/dependency_links.txt +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex.egg-info/entry_points.txt +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex.egg-info/requires.txt +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex.egg-info/top_level.txt +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/db.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/doctor.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/orders.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/policy.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/skills.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/strategies.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/utils.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/commands/workspaces.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_cli/mcp_stdio.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/admin.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/audit.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/brokers.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/common.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/markdown_preview.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/application/policy.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/asgi.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/mcp_http.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/settings.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/templates/web/activity.html +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/tradingcodex_service/wsgi.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/__init__.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/audit/files/.tradingcodex/audit/README.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/audit/files/trading/audit/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/audit/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.codex/hooks.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.codex/rules/tradingcodex.rules +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.tradingcodex/capabilities.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.tradingcodex/cli.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.tradingcodex/config.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/policy-bindings.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/principals.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/roles.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/pyproject.toml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/files/tcx +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/codex-base/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/access-policies.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/restricted-list.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/approval_receipt.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/audit_event.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/evidence_pack.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/execution_result.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/fundamental_report.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/news_report.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_ticket.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/portfolio_review.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/postmortem_report.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/research_artifact.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/risk_report.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/technical_report.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/thesis.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/valuation.schema.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/enforcement-guardrails/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/head-manager.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/skill-change-proposals/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/subagent-registry.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/fixed-subagents/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/guardrails.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/task-quality-checklist.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/guidance-guardrails/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/.tradingcodex/policies/information-barriers.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/.tradingcodex/secrets.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/approvals/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/market-data/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/orders/approved/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/orders/draft/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/orders/executed/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/orders/rejected/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/portfolio/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/fundamental/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/instrument/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/macro/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/news/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/policy/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/portfolio/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/postmortem/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/risk/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/technical/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/reports/valuation/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/files/trading/research/.gitkeep +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/information-barriers/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/paper-trading/files/.tradingcodex/mcp/adapters/paper-trading.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/paper-trading/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/postmortem/files/.tradingcodex/workflows/postmortem.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/postmortem/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/investment-workflow-map/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/manage-optional-skills/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/manage-optional-skills/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/manage-subagents/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/orchestrate-workflow/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/scenario-quality-gates/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/synthesize-decision/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/tradingcodex-operator/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/asset-classes.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/capability-profile.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/connector-templates.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/references/troubleshooting.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/scripts/summarize_connector_status.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.agents/skills/use-tradingcodex-server/scripts/validate_connector_profile.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/SKILL.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/agents/openai.yaml +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/repo-skills/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/stub-execution/files/.tradingcodex/mcp/adapters/stub-execution.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/stub-execution/module.json +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/adapters/live-adapter.contract.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/enforcer/README.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/gateway/README.md +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/server.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/smoke-call.py +0 -0
- {tradingcodex-0.2.1 → tradingcodex-0.2.3}/workspace_templates/modules/tradingcodex-mcp/module.json +0 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tradingcodex
|
|
3
|
+
Version: 0.2.3
|
|
4
|
+
Summary: Codex-native trading harness with a Django service plane and approved action boundary.
|
|
5
|
+
Author: TradingCodex Authors
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Keywords: trading,django,codex,mcp,portfolio,research
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Framework :: Django
|
|
10
|
+
Classifier: Framework :: Django :: 5.2
|
|
11
|
+
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
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
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Topic :: Office/Business :: Financial :: Investment
|
|
18
|
+
Requires-Python: <3.15,>=3.11
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
License-File: NOTICE
|
|
22
|
+
Requires-Dist: django<5.3,>=5.2
|
|
23
|
+
Requires-Dist: django-ninja<2,>=1.4
|
|
24
|
+
Requires-Dist: markdown-it-py<5,>=3
|
|
25
|
+
Requires-Dist: nh3<0.4,>=0.3
|
|
26
|
+
Requires-Dist: pydantic>=2
|
|
27
|
+
Requires-Dist: PyYAML>=6
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: pytest>=8; extra == "dev"
|
|
30
|
+
Dynamic: license-file
|
|
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
|
+
> Do not invent a default workspace path; ask the user where to attach
|
|
37
|
+
> TradingCodex unless they explicitly asked to use the current workspace.
|
|
38
|
+
> Clone this repository only when the user explicitly asks to develop,
|
|
39
|
+
> inspect, or modify TradingCodex source code.
|
|
40
|
+
|
|
41
|
+
# TradingCodex
|
|
42
|
+
|
|
43
|
+
<div align="center">
|
|
44
|
+
<a href="https://github.com/monarchjuno/tradingcodex/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/monarchjuno/tradingcodex/ci.yml?branch=main&label=CI"></a>
|
|
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>
|
|
46
|
+
<a href="https://pypi.org/project/tradingcodex/"><img alt="PyPI" src="https://img.shields.io/pypi/v/tradingcodex?label=PyPI"></a>
|
|
47
|
+
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-blue"></a>
|
|
48
|
+
<img alt="Python" src="https://img.shields.io/badge/python-3.11--3.14-3776AB?logo=python&logoColor=white">
|
|
49
|
+
<img alt="Django" src="https://img.shields.io/badge/Django-5.2-092E20?logo=django&logoColor=white">
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<div align="center">
|
|
53
|
+
<a href="https://github.com/monarchjuno/tradingcodex/stargazers"><img alt="GitHub Stars" src="https://img.shields.io/github/stars/monarchjuno/tradingcodex?style=social"></a>
|
|
54
|
+
<a href="https://github.com/monarchjuno/tradingcodex/network/members"><img alt="GitHub Forks" src="https://img.shields.io/github/forks/monarchjuno/tradingcodex?style=social"></a>
|
|
55
|
+
<a href="https://github.com/monarchjuno/tradingcodex/issues"><img alt="GitHub Issues" src="https://img.shields.io/github/issues/monarchjuno/tradingcodex"></a>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
### Codex-native investment work needs a harness, not a chat transcript.
|
|
59
|
+
|
|
60
|
+
TradingCodex is a local-first Python/Django trading harness for rigorous
|
|
61
|
+
Codex-assisted research, portfolio review, order-ticket checks, approvals, and
|
|
62
|
+
experimental non-live submission checks. Codex coordinates the work, Django
|
|
63
|
+
owns the durable service plane, and TradingCodex owns the executable boundary.
|
|
64
|
+
|
|
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
|
+
|
|
67
|
+
<p align="center">
|
|
68
|
+
<img src="assets/tradingcodex-banner.svg" alt="TradingCodex" width="100%">
|
|
69
|
+
</p>
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## About
|
|
74
|
+
|
|
75
|
+
TradingCodex gives Codex a durable operating system for investment workflows:
|
|
76
|
+
fixed specialist roles, file-native research memory, source-aware handoffs,
|
|
77
|
+
policy and approval services, a central local ledger, and a local web dashboard
|
|
78
|
+
for review.
|
|
79
|
+
|
|
80
|
+
It is not an autonomous trading bot. Natural-language answers do not become
|
|
81
|
+
broker actions. Live broker adapters are not shipped in the initial core.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Features
|
|
86
|
+
|
|
87
|
+
| Feature | Description |
|
|
88
|
+
| --- | --- |
|
|
89
|
+
| 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
|
+
| 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
|
+
| File-native research memory | Research markdown, role reports, source snapshots, versions, readiness labels, and handoff metadata stay readable in workspace files. |
|
|
92
|
+
| Fixed-role workflows | Specialist agents own bounded questions across fundamentals, technicals, news, macro, instruments, valuation, portfolio, risk, and execution. |
|
|
93
|
+
| Approved action boundary | Actions are typed, role-scoped, policy-checked, approval-aware, duplicate-request checked, connection-gated, and audited. |
|
|
94
|
+
| 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 | Register connector profiles, inspect capability profiles, run read-only paper sync, review instrument constraints, and reconcile portfolio state. |
|
|
96
|
+
| OrderTicket lifecycle | Draft, check, approve, submit, cancel, refresh, and inspect order tickets through central DB records and service-layer state transitions. |
|
|
97
|
+
| 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
|
+
| Improvement loop | Quality gates, postmortems, optional skills, strategy skills, strict artifact checks, and generated workspace smoke tests turn process gaps into durable improvements. |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Installation
|
|
103
|
+
|
|
104
|
+
### Option 1 - Attach TradingCodex To The Current Workspace
|
|
105
|
+
|
|
106
|
+
Run this from the empty workspace where you want Codex agents to work:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
uvx --refresh --from tradingcodex tcx attach . && ./tcx doctor
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Then fully quit and restart Codex, open the generated workspace, and start a
|
|
113
|
+
new thread so project MCP config, prompts, skills, and hooks are loaded.
|
|
114
|
+
|
|
115
|
+
When TradingCodex MCP autostarts the local service, open:
|
|
116
|
+
|
|
117
|
+
```text
|
|
118
|
+
http://127.0.0.1:48267/
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Option 2 - Install The CLI For Repeated Use
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
uv tool install tradingcodex
|
|
125
|
+
uv tool update-shell
|
|
126
|
+
cd /path/to/target-workspace
|
|
127
|
+
tcx attach .
|
|
128
|
+
./tcx doctor
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Option 3 - Install From GitHub Main
|
|
132
|
+
|
|
133
|
+
Use this when you need the current GitHub `main` source rather than the latest
|
|
134
|
+
PyPI package:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
uvx --refresh --from "tradingcodex @ git+https://github.com/monarchjuno/tradingcodex.git@main" tcx attach . && ./tcx doctor
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Option 4 - Develop TradingCodex Source
|
|
141
|
+
|
|
142
|
+
Clone this repository only for source development, inspection, or modification:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
git clone https://github.com/monarchjuno/tradingcodex.git
|
|
146
|
+
cd tradingcodex
|
|
147
|
+
python -m pytest
|
|
148
|
+
python manage.py check
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
See [installation.md](installation.md) for update flows, installer-script
|
|
152
|
+
equivalents, MCP/service details, and smoke checks.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## What Sets TradingCodex Apart
|
|
157
|
+
|
|
158
|
+
TradingCodex competes on workflow discipline, local durability, and execution
|
|
159
|
+
boundaries rather than on black-box automation.
|
|
160
|
+
|
|
161
|
+
- Local-first: PyPI installs the CLI, Django service plane, generated workspace
|
|
162
|
+
templates, Admin/Web templates, static assets, and MCP gateway code.
|
|
163
|
+
- Codex-readable by default: research artifacts, skill bundles, role prompts,
|
|
164
|
+
policy exports, and generated indexes remain ordinary workspace files.
|
|
165
|
+
- Service-layer canonical: Web, Admin, API, CLI, MCP, and hooks do not fork
|
|
166
|
+
policy, order, approval, execution, portfolio, research, or audit behavior.
|
|
167
|
+
- Strong role model: one `head-manager` coordinates nine fixed specialist
|
|
168
|
+
subagents and consumes accepted artifacts instead of silently redoing roles.
|
|
169
|
+
- Deterministic executable boundary: every executable path follows
|
|
170
|
+
a fixed requester, permission, policy, payload, approval, duplicate-request,
|
|
171
|
+
connection, and audit sequence.
|
|
172
|
+
- Safety-first broker posture: live broker execution is excluded; paper and
|
|
173
|
+
reviewed test/sandbox validation remain experimental local harness flows.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Workflow
|
|
178
|
+
|
|
179
|
+
TradingCodex is designed around handoffs:
|
|
180
|
+
|
|
181
|
+
```text
|
|
182
|
+
evidence -> analysis -> valuation -> portfolio fit -> risk review
|
|
183
|
+
-> draft order -> approval receipt -> approved non-live submission
|
|
184
|
+
-> connection result -> audit/postmortem
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
The `head-manager` maps the request, dispatches the selected role team, waits
|
|
188
|
+
for accepted artifacts, preserves conflicts, and synthesizes only what the
|
|
189
|
+
workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
|
|
190
|
+
`revise`, `blocked`, or `waiting` instead of being patched over by another role.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Role Roster
|
|
195
|
+
|
|
196
|
+
| Layer | Agent | Owns |
|
|
197
|
+
| --- | --- | --- |
|
|
198
|
+
| Main agent | `head-manager` | Intake, workflow dispatch, coordination, artifact acceptance, synthesis, and validation/audit status. |
|
|
199
|
+
| Research | `fundamental-analyst` | Business quality, financial statements, filings, economics, and fundamental risks. |
|
|
200
|
+
| Research | `technical-analyst` | Price action, trends, momentum, volume, volatility, and liquidity setup. |
|
|
201
|
+
| Research | `news-analyst` | Verified news, disclosures, event chronology, catalysts, and narrative change. |
|
|
202
|
+
| Market context | `macro-analyst` | Macro, rates, FX, commodities, liquidity, policy, and cross-asset transmission. |
|
|
203
|
+
| Market context | `instrument-analyst` | ETF/index, options, crypto public market structure, credit-signal boundary, and instrument mechanics. |
|
|
204
|
+
| Decision review | `valuation-analyst` | Valuation ranges, scenario assumptions, multiples, sensitivity, and decision-quality gaps. |
|
|
205
|
+
| Portfolio | `portfolio-manager` | Portfolio fit, sizing, concentration, liquidity, opportunity cost, and draft order-ticket readiness. |
|
|
206
|
+
| Risk | `risk-manager` | Downside, restricted-list checks, policy readiness, approval readiness, and approval receipts. |
|
|
207
|
+
| Execution | `execution-operator` | Approved non-live submission through the TradingCodex service boundary only. |
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Surfaces
|
|
212
|
+
|
|
213
|
+
| Surface | Role |
|
|
214
|
+
| --- | --- |
|
|
215
|
+
| Product web | Agents-first review dashboard for roles, skills, research markdown, Broker Center, Data Sources, order tickets, portfolio state, and activity. |
|
|
216
|
+
| Django Admin | Local/staff DB inspection for policy, orders, portfolio, MCP registry, workflows, integrations, and audit rows. |
|
|
217
|
+
| Django Ninja API | Typed local/staff REST and control endpoints that call service-layer use cases. |
|
|
218
|
+
| MCP | Agent/tool boundary with typed tools, role scopes, policy checks, approval checks, and audit. |
|
|
219
|
+
| CLI | Local operator commands plus generated workspace `./tcx` wrapper behavior. |
|
|
220
|
+
|
|
221
|
+
The baseline frontend uses Django templates, local static HTMX, and local
|
|
222
|
+
static Alpine. There is no Node, bundler, React, or frontend build step in the
|
|
223
|
+
core package.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Safety Boundary
|
|
228
|
+
|
|
229
|
+
TradingCodex blocks or constrains:
|
|
230
|
+
|
|
231
|
+
- direct live broker requests
|
|
232
|
+
- raw broker API calls and raw external source execution proxies
|
|
233
|
+
- self-issued approvals
|
|
234
|
+
- restricted-symbol orders
|
|
235
|
+
- expired or payload-mismatched approval receipts
|
|
236
|
+
- duplicate approved-order submissions
|
|
237
|
+
- raw secrets in workspace files, prompts, API responses, MCP responses, audit
|
|
238
|
+
payloads, generated docs, or shell output
|
|
239
|
+
- unsupported live execution for crypto, macro, options, credit, FX, rates,
|
|
240
|
+
commodities, or other instruments
|
|
241
|
+
|
|
242
|
+
TradingCodex is research, workflow, and execution-guardrail tooling. It is not
|
|
243
|
+
financial, investment, legal, tax, or regulatory advice, and it does not
|
|
244
|
+
provide investment recommendations or guarantee returns.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Roadmap
|
|
249
|
+
|
|
250
|
+
| Status | Milestone |
|
|
251
|
+
| --- | --- |
|
|
252
|
+
| 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, non-live execution lifecycle, and Python `>=3.11,<3.15` support. |
|
|
254
|
+
| Next | Deeper validation scenarios, richer connector capability profiles, stronger generated-workspace smoke coverage, and improved artifact quality tooling. |
|
|
255
|
+
| Future | Separately governed verified adapters, hosted/managed services, enterprise policy/compliance packs, and live broker support only after explicit product, policy, adapter, and validation work. |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Documentation
|
|
260
|
+
|
|
261
|
+
| Document | Start here for |
|
|
262
|
+
| --- | --- |
|
|
263
|
+
| [Installation](installation.md) | Setup, update, GitHub-main install, MCP/service startup, and smoke checks. |
|
|
264
|
+
| [Docs index](docs/README.md) | Source-of-truth reading order and document ownership. |
|
|
265
|
+
| [Product direction](docs/product-direction.md) | Product thesis, target user posture, goals, non-goals, runtime defaults, and scope. |
|
|
266
|
+
| [Core concepts and rules](docs/core-concepts-and-rules.md) | Fast operating reference for planes, guardrails, roles, execution lifecycle, and research memory. |
|
|
267
|
+
| [Workspace orchestration model](docs/harness.md) | Top-level workflow model, components, guardrails, improvement, and naming rules. |
|
|
268
|
+
| [Roles, skills, and workflows](docs/roles-skills-and-workflows.md) | Fixed role roster, no-overlap handoffs, dispatch gates, skills, and strategy behavior. |
|
|
269
|
+
| [Safety policy and execution](docs/safety-policy-and-execution.md) | Permissions, approvals, idempotency, broker safety, secret wall, and required blocks. |
|
|
270
|
+
| [System architecture](docs/system-architecture.md) | Runtime planes, Django app boundaries, central DB ownership, models, and service use cases. |
|
|
271
|
+
| [Interfaces and surfaces](docs/interfaces-and-surfaces.md) | Product web, Admin, API, MCP, CLI, and generated wrapper behavior. |
|
|
272
|
+
| [Validation plan](docs/validation-and-test-plan.md) | Required tests, generated workspace smokes, MCP smokes, and routing scenarios. |
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Contributing
|
|
277
|
+
|
|
278
|
+
Contributions use Apache-2.0 with DCO sign-off. See
|
|
279
|
+
[CONTRIBUTING.md](CONTRIBUTING.md).
|
|
280
|
+
|
|
281
|
+
For source changes, start with the focused validation command for the touched
|
|
282
|
+
area, then broaden as needed:
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
python -m pytest
|
|
286
|
+
python manage.py check
|
|
287
|
+
python -m compileall tradingcodex_cli tradingcodex_service apps tests
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Harness, agent, workflow, MCP, policy, skill, hook, or template changes also
|
|
291
|
+
need generated-workspace validation. See
|
|
292
|
+
[docs/validation-and-test-plan.md](docs/validation-and-test-plan.md).
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## License
|
|
297
|
+
|
|
298
|
+
TradingCodex is an Apache-2.0 open-core project.
|
|
299
|
+
|
|
300
|
+
Source code, generated workspace templates, and project documentation are
|
|
301
|
+
licensed under the Apache License, Version 2.0 unless marked otherwise. The
|
|
302
|
+
TradingCodex name, future logos, and official product marks are not granted by
|
|
303
|
+
the code license. See [LICENSE](LICENSE), [NOTICE](NOTICE), and
|
|
304
|
+
[TRADEMARKS.md](TRADEMARKS.md).
|
|
305
|
+
|
|
306
|
+
## Star History
|
|
307
|
+
|
|
308
|
+
<a href="https://www.star-history.com/?repos=monarchjuno%2Ftradingcodex&type=date&legend=top-left">
|
|
309
|
+
<picture>
|
|
310
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=monarchjuno/tradingcodex&type=date&theme=dark&legend=top-left" />
|
|
311
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=monarchjuno/tradingcodex&type=date&legend=top-left" />
|
|
312
|
+
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=monarchjuno/tradingcodex&type=date&legend=top-left" />
|
|
313
|
+
</picture>
|
|
314
|
+
</a>
|
|
@@ -0,0 +1,283 @@
|
|
|
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
|
+
> Do not invent a default workspace path; ask the user where to attach
|
|
6
|
+
> TradingCodex unless they explicitly asked to use the current workspace.
|
|
7
|
+
> Clone this repository only when the user explicitly asks to develop,
|
|
8
|
+
> inspect, or modify TradingCodex source code.
|
|
9
|
+
|
|
10
|
+
# TradingCodex
|
|
11
|
+
|
|
12
|
+
<div align="center">
|
|
13
|
+
<a href="https://github.com/monarchjuno/tradingcodex/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/monarchjuno/tradingcodex/ci.yml?branch=main&label=CI"></a>
|
|
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>
|
|
15
|
+
<a href="https://pypi.org/project/tradingcodex/"><img alt="PyPI" src="https://img.shields.io/pypi/v/tradingcodex?label=PyPI"></a>
|
|
16
|
+
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-blue"></a>
|
|
17
|
+
<img alt="Python" src="https://img.shields.io/badge/python-3.11--3.14-3776AB?logo=python&logoColor=white">
|
|
18
|
+
<img alt="Django" src="https://img.shields.io/badge/Django-5.2-092E20?logo=django&logoColor=white">
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<div align="center">
|
|
22
|
+
<a href="https://github.com/monarchjuno/tradingcodex/stargazers"><img alt="GitHub Stars" src="https://img.shields.io/github/stars/monarchjuno/tradingcodex?style=social"></a>
|
|
23
|
+
<a href="https://github.com/monarchjuno/tradingcodex/network/members"><img alt="GitHub Forks" src="https://img.shields.io/github/forks/monarchjuno/tradingcodex?style=social"></a>
|
|
24
|
+
<a href="https://github.com/monarchjuno/tradingcodex/issues"><img alt="GitHub Issues" src="https://img.shields.io/github/issues/monarchjuno/tradingcodex"></a>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
### Codex-native investment work needs a harness, not a chat transcript.
|
|
28
|
+
|
|
29
|
+
TradingCodex is a local-first Python/Django trading harness for rigorous
|
|
30
|
+
Codex-assisted research, portfolio review, order-ticket checks, approvals, and
|
|
31
|
+
experimental non-live submission checks. Codex coordinates the work, Django
|
|
32
|
+
owns the durable service plane, and TradingCodex owns the executable boundary.
|
|
33
|
+
|
|
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
|
+
|
|
36
|
+
<p align="center">
|
|
37
|
+
<img src="assets/tradingcodex-banner.svg" alt="TradingCodex" width="100%">
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## About
|
|
43
|
+
|
|
44
|
+
TradingCodex gives Codex a durable operating system for investment workflows:
|
|
45
|
+
fixed specialist roles, file-native research memory, source-aware handoffs,
|
|
46
|
+
policy and approval services, a central local ledger, and a local web dashboard
|
|
47
|
+
for review.
|
|
48
|
+
|
|
49
|
+
It is not an autonomous trading bot. Natural-language answers do not become
|
|
50
|
+
broker actions. Live broker adapters are not shipped in the initial core.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Features
|
|
55
|
+
|
|
56
|
+
| Feature | Description |
|
|
57
|
+
| --- | --- |
|
|
58
|
+
| 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
|
+
| 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
|
+
| File-native research memory | Research markdown, role reports, source snapshots, versions, readiness labels, and handoff metadata stay readable in workspace files. |
|
|
61
|
+
| Fixed-role workflows | Specialist agents own bounded questions across fundamentals, technicals, news, macro, instruments, valuation, portfolio, risk, and execution. |
|
|
62
|
+
| Approved action boundary | Actions are typed, role-scoped, policy-checked, approval-aware, duplicate-request checked, connection-gated, and audited. |
|
|
63
|
+
| 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 | Register connector profiles, inspect capability profiles, run read-only paper sync, review instrument constraints, and reconcile portfolio state. |
|
|
65
|
+
| OrderTicket lifecycle | Draft, check, approve, submit, cancel, refresh, and inspect order tickets through central DB records and service-layer state transitions. |
|
|
66
|
+
| 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
|
+
| Improvement loop | Quality gates, postmortems, optional skills, strategy skills, strict artifact checks, and generated workspace smoke tests turn process gaps into durable improvements. |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Installation
|
|
72
|
+
|
|
73
|
+
### Option 1 - Attach TradingCodex To The Current Workspace
|
|
74
|
+
|
|
75
|
+
Run this from the empty workspace where you want Codex agents to work:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
uvx --refresh --from tradingcodex tcx attach . && ./tcx doctor
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Then fully quit and restart Codex, open the generated workspace, and start a
|
|
82
|
+
new thread so project MCP config, prompts, skills, and hooks are loaded.
|
|
83
|
+
|
|
84
|
+
When TradingCodex MCP autostarts the local service, open:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
http://127.0.0.1:48267/
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Option 2 - Install The CLI For Repeated Use
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
uv tool install tradingcodex
|
|
94
|
+
uv tool update-shell
|
|
95
|
+
cd /path/to/target-workspace
|
|
96
|
+
tcx attach .
|
|
97
|
+
./tcx doctor
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Option 3 - Install From GitHub Main
|
|
101
|
+
|
|
102
|
+
Use this when you need the current GitHub `main` source rather than the latest
|
|
103
|
+
PyPI package:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
uvx --refresh --from "tradingcodex @ git+https://github.com/monarchjuno/tradingcodex.git@main" tcx attach . && ./tcx doctor
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Option 4 - Develop TradingCodex Source
|
|
110
|
+
|
|
111
|
+
Clone this repository only for source development, inspection, or modification:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
git clone https://github.com/monarchjuno/tradingcodex.git
|
|
115
|
+
cd tradingcodex
|
|
116
|
+
python -m pytest
|
|
117
|
+
python manage.py check
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
See [installation.md](installation.md) for update flows, installer-script
|
|
121
|
+
equivalents, MCP/service details, and smoke checks.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## What Sets TradingCodex Apart
|
|
126
|
+
|
|
127
|
+
TradingCodex competes on workflow discipline, local durability, and execution
|
|
128
|
+
boundaries rather than on black-box automation.
|
|
129
|
+
|
|
130
|
+
- Local-first: PyPI installs the CLI, Django service plane, generated workspace
|
|
131
|
+
templates, Admin/Web templates, static assets, and MCP gateway code.
|
|
132
|
+
- Codex-readable by default: research artifacts, skill bundles, role prompts,
|
|
133
|
+
policy exports, and generated indexes remain ordinary workspace files.
|
|
134
|
+
- Service-layer canonical: Web, Admin, API, CLI, MCP, and hooks do not fork
|
|
135
|
+
policy, order, approval, execution, portfolio, research, or audit behavior.
|
|
136
|
+
- Strong role model: one `head-manager` coordinates nine fixed specialist
|
|
137
|
+
subagents and consumes accepted artifacts instead of silently redoing roles.
|
|
138
|
+
- Deterministic executable boundary: every executable path follows
|
|
139
|
+
a fixed requester, permission, policy, payload, approval, duplicate-request,
|
|
140
|
+
connection, and audit sequence.
|
|
141
|
+
- Safety-first broker posture: live broker execution is excluded; paper and
|
|
142
|
+
reviewed test/sandbox validation remain experimental local harness flows.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Workflow
|
|
147
|
+
|
|
148
|
+
TradingCodex is designed around handoffs:
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
evidence -> analysis -> valuation -> portfolio fit -> risk review
|
|
152
|
+
-> draft order -> approval receipt -> approved non-live submission
|
|
153
|
+
-> connection result -> audit/postmortem
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The `head-manager` maps the request, dispatches the selected role team, waits
|
|
157
|
+
for accepted artifacts, preserves conflicts, and synthesizes only what the
|
|
158
|
+
workflow has earned. Weak, stale, missing, or out-of-scope upstream work returns
|
|
159
|
+
`revise`, `blocked`, or `waiting` instead of being patched over by another role.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Role Roster
|
|
164
|
+
|
|
165
|
+
| Layer | Agent | Owns |
|
|
166
|
+
| --- | --- | --- |
|
|
167
|
+
| Main agent | `head-manager` | Intake, workflow dispatch, coordination, artifact acceptance, synthesis, and validation/audit status. |
|
|
168
|
+
| Research | `fundamental-analyst` | Business quality, financial statements, filings, economics, and fundamental risks. |
|
|
169
|
+
| Research | `technical-analyst` | Price action, trends, momentum, volume, volatility, and liquidity setup. |
|
|
170
|
+
| Research | `news-analyst` | Verified news, disclosures, event chronology, catalysts, and narrative change. |
|
|
171
|
+
| Market context | `macro-analyst` | Macro, rates, FX, commodities, liquidity, policy, and cross-asset transmission. |
|
|
172
|
+
| Market context | `instrument-analyst` | ETF/index, options, crypto public market structure, credit-signal boundary, and instrument mechanics. |
|
|
173
|
+
| Decision review | `valuation-analyst` | Valuation ranges, scenario assumptions, multiples, sensitivity, and decision-quality gaps. |
|
|
174
|
+
| Portfolio | `portfolio-manager` | Portfolio fit, sizing, concentration, liquidity, opportunity cost, and draft order-ticket readiness. |
|
|
175
|
+
| Risk | `risk-manager` | Downside, restricted-list checks, policy readiness, approval readiness, and approval receipts. |
|
|
176
|
+
| Execution | `execution-operator` | Approved non-live submission through the TradingCodex service boundary only. |
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Surfaces
|
|
181
|
+
|
|
182
|
+
| Surface | Role |
|
|
183
|
+
| --- | --- |
|
|
184
|
+
| Product web | Agents-first review dashboard for roles, skills, research markdown, Broker Center, Data Sources, order tickets, portfolio state, and activity. |
|
|
185
|
+
| Django Admin | Local/staff DB inspection for policy, orders, portfolio, MCP registry, workflows, integrations, and audit rows. |
|
|
186
|
+
| Django Ninja API | Typed local/staff REST and control endpoints that call service-layer use cases. |
|
|
187
|
+
| MCP | Agent/tool boundary with typed tools, role scopes, policy checks, approval checks, and audit. |
|
|
188
|
+
| CLI | Local operator commands plus generated workspace `./tcx` wrapper behavior. |
|
|
189
|
+
|
|
190
|
+
The baseline frontend uses Django templates, local static HTMX, and local
|
|
191
|
+
static Alpine. There is no Node, bundler, React, or frontend build step in the
|
|
192
|
+
core package.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Safety Boundary
|
|
197
|
+
|
|
198
|
+
TradingCodex blocks or constrains:
|
|
199
|
+
|
|
200
|
+
- direct live broker requests
|
|
201
|
+
- raw broker API calls and raw external source execution proxies
|
|
202
|
+
- self-issued approvals
|
|
203
|
+
- restricted-symbol orders
|
|
204
|
+
- expired or payload-mismatched approval receipts
|
|
205
|
+
- duplicate approved-order submissions
|
|
206
|
+
- raw secrets in workspace files, prompts, API responses, MCP responses, audit
|
|
207
|
+
payloads, generated docs, or shell output
|
|
208
|
+
- unsupported live execution for crypto, macro, options, credit, FX, rates,
|
|
209
|
+
commodities, or other instruments
|
|
210
|
+
|
|
211
|
+
TradingCodex is research, workflow, and execution-guardrail tooling. It is not
|
|
212
|
+
financial, investment, legal, tax, or regulatory advice, and it does not
|
|
213
|
+
provide investment recommendations or guarantee returns.
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Roadmap
|
|
218
|
+
|
|
219
|
+
| Status | Milestone |
|
|
220
|
+
| --- | --- |
|
|
221
|
+
| 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, non-live execution lifecycle, and Python `>=3.11,<3.15` support. |
|
|
223
|
+
| Next | Deeper validation scenarios, richer connector capability profiles, stronger generated-workspace smoke coverage, and improved artifact quality tooling. |
|
|
224
|
+
| Future | Separately governed verified adapters, hosted/managed services, enterprise policy/compliance packs, and live broker support only after explicit product, policy, adapter, and validation work. |
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Documentation
|
|
229
|
+
|
|
230
|
+
| Document | Start here for |
|
|
231
|
+
| --- | --- |
|
|
232
|
+
| [Installation](installation.md) | Setup, update, GitHub-main install, MCP/service startup, and smoke checks. |
|
|
233
|
+
| [Docs index](docs/README.md) | Source-of-truth reading order and document ownership. |
|
|
234
|
+
| [Product direction](docs/product-direction.md) | Product thesis, target user posture, goals, non-goals, runtime defaults, and scope. |
|
|
235
|
+
| [Core concepts and rules](docs/core-concepts-and-rules.md) | Fast operating reference for planes, guardrails, roles, execution lifecycle, and research memory. |
|
|
236
|
+
| [Workspace orchestration model](docs/harness.md) | Top-level workflow model, components, guardrails, improvement, and naming rules. |
|
|
237
|
+
| [Roles, skills, and workflows](docs/roles-skills-and-workflows.md) | Fixed role roster, no-overlap handoffs, dispatch gates, skills, and strategy behavior. |
|
|
238
|
+
| [Safety policy and execution](docs/safety-policy-and-execution.md) | Permissions, approvals, idempotency, broker safety, secret wall, and required blocks. |
|
|
239
|
+
| [System architecture](docs/system-architecture.md) | Runtime planes, Django app boundaries, central DB ownership, models, and service use cases. |
|
|
240
|
+
| [Interfaces and surfaces](docs/interfaces-and-surfaces.md) | Product web, Admin, API, MCP, CLI, and generated wrapper behavior. |
|
|
241
|
+
| [Validation plan](docs/validation-and-test-plan.md) | Required tests, generated workspace smokes, MCP smokes, and routing scenarios. |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Contributing
|
|
246
|
+
|
|
247
|
+
Contributions use Apache-2.0 with DCO sign-off. See
|
|
248
|
+
[CONTRIBUTING.md](CONTRIBUTING.md).
|
|
249
|
+
|
|
250
|
+
For source changes, start with the focused validation command for the touched
|
|
251
|
+
area, then broaden as needed:
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
python -m pytest
|
|
255
|
+
python manage.py check
|
|
256
|
+
python -m compileall tradingcodex_cli tradingcodex_service apps tests
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Harness, agent, workflow, MCP, policy, skill, hook, or template changes also
|
|
260
|
+
need generated-workspace validation. See
|
|
261
|
+
[docs/validation-and-test-plan.md](docs/validation-and-test-plan.md).
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## License
|
|
266
|
+
|
|
267
|
+
TradingCodex is an Apache-2.0 open-core project.
|
|
268
|
+
|
|
269
|
+
Source code, generated workspace templates, and project documentation are
|
|
270
|
+
licensed under the Apache License, Version 2.0 unless marked otherwise. The
|
|
271
|
+
TradingCodex name, future logos, and official product marks are not granted by
|
|
272
|
+
the code license. See [LICENSE](LICENSE), [NOTICE](NOTICE), and
|
|
273
|
+
[TRADEMARKS.md](TRADEMARKS.md).
|
|
274
|
+
|
|
275
|
+
## Star History
|
|
276
|
+
|
|
277
|
+
<a href="https://www.star-history.com/?repos=monarchjuno%2Ftradingcodex&type=date&legend=top-left">
|
|
278
|
+
<picture>
|
|
279
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=monarchjuno/tradingcodex&type=date&theme=dark&legend=top-left" />
|
|
280
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=monarchjuno/tradingcodex&type=date&legend=top-left" />
|
|
281
|
+
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=monarchjuno/tradingcodex&type=date&legend=top-left" />
|
|
282
|
+
</picture>
|
|
283
|
+
</a>
|
|
@@ -31,13 +31,18 @@ def sync_builtin_principals_and_capabilities(tool_specs: Iterable[Any] | None =
|
|
|
31
31
|
from tradingcodex_service.mcp_runtime import TOOL_SPECS
|
|
32
32
|
|
|
33
33
|
tool_specs = TOOL_SPECS
|
|
34
|
+
tool_specs = tuple(tool_specs)
|
|
34
35
|
|
|
35
36
|
for role in sorted(BUILTIN_ROLE_IDS):
|
|
36
37
|
Principal.objects.get_or_create(principal_id=role, defaults={"role": role, "active": True})
|
|
37
38
|
|
|
39
|
+
expected_builtin_allows: set[tuple[str, str]] = set()
|
|
40
|
+
builtin_actions: set[str] = set()
|
|
38
41
|
for tool in tool_specs:
|
|
39
42
|
action = tool_capability_action(tool.name, tool.capability_required)
|
|
43
|
+
builtin_actions.add(action)
|
|
40
44
|
for role in tool.allowed_roles:
|
|
45
|
+
expected_builtin_allows.add((role, action))
|
|
41
46
|
principal, _ = Principal.objects.get_or_create(principal_id=role, defaults={"role": role, "active": True})
|
|
42
47
|
if principal.role != role:
|
|
43
48
|
principal.role = role
|
|
@@ -49,6 +54,15 @@ def sync_builtin_principals_and_capabilities(tool_specs: Iterable[Any] | None =
|
|
|
49
54
|
defaults={"effect": "allow"},
|
|
50
55
|
)
|
|
51
56
|
|
|
57
|
+
stale_builtin_allows = Capability.objects.filter(
|
|
58
|
+
principal__principal_id__in=BUILTIN_ROLE_IDS,
|
|
59
|
+
action__in=builtin_actions,
|
|
60
|
+
effect="allow",
|
|
61
|
+
)
|
|
62
|
+
for capability in stale_builtin_allows.select_related("principal"):
|
|
63
|
+
if (capability.principal.principal_id, capability.action) not in expected_builtin_allows:
|
|
64
|
+
capability.delete()
|
|
65
|
+
|
|
52
66
|
|
|
53
67
|
def role_for_principal_id(principal_id: str) -> str:
|
|
54
68
|
principal = Principal.objects.filter(principal_id=principal_id).first()
|
|
@@ -24,6 +24,7 @@ reference, then follow the topic-specific files for implementation-level rules.
|
|
|
24
24
|
| [guardrails.md](./guardrails.md) | Guardrails taxonomy: guidance, enforcement, and information barriers | Guardrail classes, enforcement boundaries, information barriers, or safety taxonomy changes |
|
|
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
|
+
| [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 |
|
|
27
28
|
| [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 |
|
|
28
29
|
| [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 |
|
|
29
30
|
| [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 |
|
|
@@ -43,7 +44,7 @@ reference, then follow the topic-specific files for implementation-level rules.
|
|
|
43
44
|
| Gateway docs remain stable | `core-concepts-and-rules.md` stays as the stable entrypoint even when details move into topic files. |
|
|
44
45
|
| Implementation verifies docs | Implementation does not replace the docs. If implementation reveals a durable rule, document it. |
|
|
45
46
|
| Product language is English | TradingCodex product copy, generated workspace guidance, Admin UI, CLI help, and durable docs are written in English. |
|
|
46
|
-
| Product web is review-first | The `/` web app
|
|
47
|
+
| Product web is review-first | The `/` web app opens on the workflow planner and can preview handoffs, but does not spawn agents, approve orders, or execute orders. |
|
|
47
48
|
| Open-core boundary is explicit | Apache-2.0 covers the repository open core; trademarks and official commercial offerings remain separately governed. |
|
|
48
49
|
|
|
49
50
|
## Change Checklist
|
|
@@ -52,6 +53,7 @@ reference, then follow the topic-specific files for implementation-level rules.
|
|
|
52
53
|
| --- | --- |
|
|
53
54
|
| Top-level harness model, component registry, guardrail/improvement taxonomy, or cross-cutting concept language | `harness.md`, `components.md`, `guardrails.md`, `improvement-loop.md`, `core-concepts-and-rules.md` |
|
|
54
55
|
| Product scope, non-goals, or default runtime | `product-direction.md`, `harness.md` |
|
|
56
|
+
| Financial workflow intake, non-expert UX, suitability/profile context, or plain-English finance output | `financial-workflow-references.md`, `interfaces-and-surfaces.md`, `roles-skills-and-workflows.md` |
|
|
55
57
|
| Django apps, models, service-layer contracts, or DB ownership | `system-architecture.md` |
|
|
56
58
|
| Product web, Admin, REST, MCP, CLI, or wrapper behavior | `interfaces-and-surfaces.md` |
|
|
57
59
|
| Guardrails, policy, permission, approval, execution, adapter, or secret boundary | `guardrails.md`, `safety-policy-and-execution.md`, `core-concepts-and-rules.md` |
|