tradingcodex 0.2.8__tar.gz → 0.2.10__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.8 → tradingcodex-0.2.10}/PKG-INFO +8 -4
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/README.md +7 -3
- tradingcodex-0.2.10/docs/README.md +95 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/deployment.md +6 -3
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/financial-workflow-references.md +3 -3
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/generated-workspaces.md +17 -15
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/harness.md +11 -9
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/interfaces-and-surfaces.md +6 -3
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/roles-skills-and-workflows.md +24 -18
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/validation-and-test-plan.md +10 -11
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/pyproject.toml +1 -1
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tests/test_e2e_user_scenarios.py +14 -23
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tests/test_python_migration.py +213 -74
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex.egg-info/PKG-INFO +8 -4
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex.egg-info/SOURCES.txt +5 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/__main__.py +2 -1
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/bootstrap.py +8 -1
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/doctor.py +4 -4
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/subagents.py +1 -1
- tradingcodex-0.2.10/tradingcodex_cli/commands/workflow.py +71 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/service_autostart.py +62 -7
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/api.py +30 -1
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/agents.py +5 -1
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/components.py +6 -6
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/context_budget.py +34 -21
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/decision_packages.py +4 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/harness.py +13 -11
- tradingcodex-0.2.10/tradingcodex_service/application/workflow_planner.py +384 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/static/tradingcodex_web/app.css +1 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/static/tradingcodex_web/app.js +5 -1
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/base.html +2 -2
- tradingcodex-0.2.10/tradingcodex_service/version.py +1 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.codex/config.toml +8 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.codex/hooks/tradingcodex_hook.py +36 -99
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.codex/prompts/base_instructions/head-manager.md +17 -10
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/AGENTS.md +3 -3
- tradingcodex-0.2.10/workspace_templates/modules/repo-skills/files/.agents/skills/automate-workflow/SKILL.md +69 -0
- tradingcodex-0.2.10/workspace_templates/modules/repo-skills/files/.agents/skills/automate-workflow/agents/openai.yaml +6 -0
- tradingcodex-0.2.10/workspace_templates/modules/repo-skills/files/.agents/skills/plan-workflow/SKILL.md +65 -0
- tradingcodex-0.2.10/workspace_templates/modules/repo-skills/files/.agents/skills/plan-workflow/agents/openai.yaml +6 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/SKILL.md +1 -1
- tradingcodex-0.2.10/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/SKILL.md +31 -0
- tradingcodex-0.2.10/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/agents/openai.yaml +6 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/module.json +2 -0
- tradingcodex-0.2.8/docs/README.md +0 -66
- tradingcodex-0.2.8/tradingcodex_cli/commands/workflow.py +0 -23
- tradingcodex-0.2.8/tradingcodex_service/version.py +0 -1
- tradingcodex-0.2.8/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/SKILL.md +0 -28
- tradingcodex-0.2.8/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/agents/openai.yaml +0 -6
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/CONTRIBUTING.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/LICENSE +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/MANIFEST.in +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/NOTICE +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/TRADEMARKS.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/audit/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/audit/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/audit/apps.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/audit/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/audit/migrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/audit/models.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/harness/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/harness/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/harness/apps.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/harness/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/harness/migrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/harness/models.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/harness/templatetags/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/integrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/integrations/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/integrations/apps.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/integrations/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/integrations/migrations/0002_brokerconnection_brokeraccount_instrumentmap.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/integrations/migrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/integrations/models.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/mcp/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/mcp/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/mcp/apps.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/mcp/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/mcp/migrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/mcp/models.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/mcp/services.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/apps.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/migrations/0002_approvalreceipt_approved_order_type_and_more.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/migrations/0003_migrate_orderintent_to_orderticket.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/migrations/0004_remove_order_intent_compat_fields.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/migrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/models.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/orders/services.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/policy/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/policy/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/policy/apps.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/policy/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/policy/migrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/policy/models.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/policy/services.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/portfolio/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/portfolio/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/portfolio/apps.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/portfolio/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/portfolio/migrations/0002_brokersyncrun_portfolioledgerevent_reconciliationrun.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/portfolio/migrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/portfolio/models.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/workflows/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/workflows/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/workflows/apps.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/workflows/migrations/0001_initial.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/workflows/migrations/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/apps/workflows/models.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/assets/tradingcodex-banner.svg +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/artifact-supervisor-loop-prd.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/components.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/core-concepts-and-rules.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/guardrails.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/improvement-loop.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/licensing-and-commercialization.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/product-direction.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/research-memory-and-artifacts.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/safety-policy-and-execution.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/docs/system-architecture.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/install.sh +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/installation.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/setup.cfg +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tests/test_broker_center_prd.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex.egg-info/dependency_links.txt +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex.egg-info/entry_points.txt +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex.egg-info/requires.txt +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex.egg-info/top_level.txt +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/connectors.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/db.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/decision.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/mcp.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/mode.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/orders.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/policy.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/profile.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/research.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/skills.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/strategies.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/utils.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/commands/workspaces.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/generator.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/mcp_stdio.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_cli/startup_status.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/admin.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/artifact_quality.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/audit.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/brokers.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/common.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/markdown_preview.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/orders.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/policy.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/portfolio.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/research.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/runtime.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/application/runtime_mode.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/asgi.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/mcp_runtime.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/settings.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/static/tradingcodex_admin/favicon.svg +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/static/vendor/htmx/htmx.min.js +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/activity.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/agent_skills.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/agents.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/brokers.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/dashboard.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/decisions.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/fragments/role_inspector.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/fragments/starter_prompt.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/fragments/topology_canvas.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/fragments/workspace_card.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/harness.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/mcp_router.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/orders.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/policy.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/portfolio.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/research.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/starter_prompt.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/templates/web/strategies.html +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/urls.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/web.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/tradingcodex_service/wsgi.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/__init__.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/audit/files/.tradingcodex/audit/README.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/audit/files/trading/audit/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/audit/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.codex/hooks.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.codex/rules/tradingcodex.rules +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.tradingcodex/capabilities.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.tradingcodex/cli.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.tradingcodex/config.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/policy-bindings.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/principals.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/.tradingcodex/policies/roles.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/pyproject.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/files/tcx +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/codex-base/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/access-policies.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/policies/restricted-list.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/approval_receipt.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/audit_event.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/evidence_pack.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/execution_result.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/fundamental_report.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/news_report.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/order_ticket.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/portfolio_review.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/postmortem_report.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/research_artifact.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/risk_report.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/technical_report.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/thesis.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/files/.tradingcodex/schemas/valuation.schema.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/enforcement-guardrails/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/execution-operator.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/fundamental-analyst.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/instrument-analyst.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/macro-analyst.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/news-analyst.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/portfolio-manager.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/risk-manager.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/technical-analyst.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.codex/agents/valuation-analyst.toml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/head-manager.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/skill-change-proposals/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/files/.tradingcodex/mainagent/subagent-registry.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/fixed-subagents/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/guardrails.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/guidance-guardrails/files/.tradingcodex/guidance/task-quality-checklist.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/guidance-guardrails/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/.tradingcodex/policies/information-barriers.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/.tradingcodex/secrets.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/approvals/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/forecasts/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/market-data/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/orders/approved/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/orders/draft/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/orders/executed/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/orders/rejected/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/portfolio/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/fundamental/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/instrument/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/macro/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/news/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/policy/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/portfolio/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/postmortem/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/risk/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/technical/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/reports/valuation/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/files/trading/research/.gitkeep +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/information-barriers/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/paper-trading/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/postmortem/files/.tradingcodex/workflows/postmortem.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/postmortem/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/postmortem/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/strategy-creator/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-build/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-server/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.agents/skills/tcx-workflow/references/decision-quality-spine.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/execution-operator/execute-paper-order/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/fundamental-analyst/fundamental-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/instrument-analyst/instrument-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/macro-analyst/macro-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/news-analyst/news-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/create-order-ticket/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/portfolio-manager/portfolio-review/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/approve-order/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/policy-review/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/risk-manager/review-risk/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/anti-overfit-validation/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/anti-overfit-validation/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/collect-evidence/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/external-data-source-gate/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/forecasting-discipline/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/forecasting-discipline/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/numeric-data-qc/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/numeric-data-qc/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/thesis-scenario-tree/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/shared/thesis-scenario-tree/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/technical-analyst/technical-analysis/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/SKILL.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/repo-skills/files/.tradingcodex/subagents/skills/valuation-analyst/valuation-review/agents/openai.yaml +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/stub-execution/module.json +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/enforcer/README.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/gateway/README.md +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/workspace_templates/modules/tradingcodex-mcp/files/.tradingcodex/mcp/server.py +0 -0
- {tradingcodex-0.2.8 → tradingcodex-0.2.10}/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.10
|
|
4
4
|
Summary: Codex-native trading harness with a Django service plane and approved action boundary.
|
|
5
5
|
Author: TradingCodex Authors
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -265,12 +265,16 @@ provide investment recommendations or guarantee returns.
|
|
|
265
265
|
|
|
266
266
|
## Documentation
|
|
267
267
|
|
|
268
|
-
|
|
268
|
+
`README.md` is the product overview. The `docs/` directory is the human-readable
|
|
269
|
+
source of truth for detailed product behavior, safety, architecture, workflow,
|
|
270
|
+
validation, and release policy.
|
|
271
|
+
|
|
272
|
+
| Start here | Use for |
|
|
269
273
|
| --- | --- |
|
|
270
274
|
| [Installation](installation.md) | Setup, update, GitHub-main install, MCP/service startup, and smoke checks. |
|
|
271
|
-
| [Docs index](docs/README.md) |
|
|
272
|
-
| [Product direction](docs/product-direction.md) | Product thesis, target user posture, goals, non-goals, runtime defaults, and scope. |
|
|
275
|
+
| [Docs index](docs/README.md) | Human-readable reading paths, document ownership, and change-to-doc routing. |
|
|
273
276
|
| [Core concepts and rules](docs/core-concepts-and-rules.md) | Fast operating reference for planes, guardrails, roles, execution lifecycle, and research memory. |
|
|
277
|
+
| [Product direction](docs/product-direction.md) | Product thesis, target user posture, goals, non-goals, runtime defaults, and scope. |
|
|
274
278
|
| [Workspace orchestration model](docs/harness.md) | Top-level workflow model, components, guardrails, improvement, and naming rules. |
|
|
275
279
|
| [Roles, skills, and workflows](docs/roles-skills-and-workflows.md) | Fixed role roster, no-overlap handoffs, dispatch gates, skills, and strategy behavior. |
|
|
276
280
|
| [Safety policy and execution](docs/safety-policy-and-execution.md) | Permissions, approvals, idempotency, broker safety, secret wall, and required blocks. |
|
|
@@ -234,12 +234,16 @@ provide investment recommendations or guarantee returns.
|
|
|
234
234
|
|
|
235
235
|
## Documentation
|
|
236
236
|
|
|
237
|
-
|
|
237
|
+
`README.md` is the product overview. The `docs/` directory is the human-readable
|
|
238
|
+
source of truth for detailed product behavior, safety, architecture, workflow,
|
|
239
|
+
validation, and release policy.
|
|
240
|
+
|
|
241
|
+
| Start here | Use for |
|
|
238
242
|
| --- | --- |
|
|
239
243
|
| [Installation](installation.md) | Setup, update, GitHub-main install, MCP/service startup, and smoke checks. |
|
|
240
|
-
| [Docs index](docs/README.md) |
|
|
241
|
-
| [Product direction](docs/product-direction.md) | Product thesis, target user posture, goals, non-goals, runtime defaults, and scope. |
|
|
244
|
+
| [Docs index](docs/README.md) | Human-readable reading paths, document ownership, and change-to-doc routing. |
|
|
242
245
|
| [Core concepts and rules](docs/core-concepts-and-rules.md) | Fast operating reference for planes, guardrails, roles, execution lifecycle, and research memory. |
|
|
246
|
+
| [Product direction](docs/product-direction.md) | Product thesis, target user posture, goals, non-goals, runtime defaults, and scope. |
|
|
243
247
|
| [Workspace orchestration model](docs/harness.md) | Top-level workflow model, components, guardrails, improvement, and naming rules. |
|
|
244
248
|
| [Roles, skills, and workflows](docs/roles-skills-and-workflows.md) | Fixed role roster, no-overlap handoffs, dispatch gates, skills, and strategy behavior. |
|
|
245
249
|
| [Safety policy and execution](docs/safety-policy-and-execution.md) | Permissions, approvals, idempotency, broker safety, secret wall, and required blocks. |
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# TradingCodex Documentation
|
|
2
|
+
|
|
3
|
+
This directory is the human-readable source of truth linked from the public `README.md`. It explains the product model, operating rules, safety boundaries, generated workspace behavior, implementation architecture, validation expectations, release policy, and licensing posture.
|
|
4
|
+
|
|
5
|
+
Use these docs when you want the deeper "why" behind TradingCodex behavior. Coding agents should use `openwiki/` for fast source navigation, then return here before changing durable product behavior.
|
|
6
|
+
|
|
7
|
+
## How To Read These Docs
|
|
8
|
+
|
|
9
|
+
| Reader goal | Start with | Then read |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| Understand TradingCodex quickly | [core-concepts-and-rules.md](./core-concepts-and-rules.md) | [product-direction.md](./product-direction.md), [harness.md](./harness.md) |
|
|
12
|
+
| Install or update a workspace | [../installation.md](../installation.md) | [generated-workspaces.md](./generated-workspaces.md), [deployment.md](./deployment.md) |
|
|
13
|
+
| Understand the investment workflow | [harness.md](./harness.md) | [roles-skills-and-workflows.md](./roles-skills-and-workflows.md), [research-memory-and-artifacts.md](./research-memory-and-artifacts.md) |
|
|
14
|
+
| Understand safety and execution boundaries | [safety-policy-and-execution.md](./safety-policy-and-execution.md) | [guardrails.md](./guardrails.md), [interfaces-and-surfaces.md](./interfaces-and-surfaces.md) |
|
|
15
|
+
| Understand implementation architecture | [system-architecture.md](./system-architecture.md) | [interfaces-and-surfaces.md](./interfaces-and-surfaces.md), [components.md](./components.md) |
|
|
16
|
+
| Change prompts, skills, hooks, routing, or generated workspaces | [roles-skills-and-workflows.md](./roles-skills-and-workflows.md) | [generated-workspaces.md](./generated-workspaces.md), [validation-and-test-plan.md](./validation-and-test-plan.md) |
|
|
17
|
+
| Validate a change before release or handoff | [validation-and-test-plan.md](./validation-and-test-plan.md) | The topic document for the changed area |
|
|
18
|
+
|
|
19
|
+
## Documentation Layers
|
|
20
|
+
|
|
21
|
+
| Layer | Audience | Role |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| `README.md` | New users and evaluators | Product summary, installation path, feature overview, and links into these docs. |
|
|
24
|
+
| `installation.md` | Operators | Setup, update, installer, MCP/service startup, and smoke checks. |
|
|
25
|
+
| `docs/` | Humans and maintainers | Durable product source of truth and deeper design rationale. |
|
|
26
|
+
| `openwiki/` | Coding agents | Fast repository map and edit/validation routing. |
|
|
27
|
+
| `AGENTS.md` | Coding agents | Hard rules, setup guard, coding rules, and validation requirements. |
|
|
28
|
+
|
|
29
|
+
If these layers disagree, treat `docs/` as the durable product intent and fix the mismatch deliberately. Do not let hidden behavior drift live only in code, tests, prompts, skills, hooks, or generated templates.
|
|
30
|
+
|
|
31
|
+
## Core Documents
|
|
32
|
+
|
|
33
|
+
| Document | Owns |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| [core-concepts-and-rules.md](./core-concepts-and-rules.md) | Fast operating reference for planes, guardrails, role boundaries, execution lifecycle, research memory, and documentation rules. |
|
|
36
|
+
| [product-direction.md](./product-direction.md) | Product thesis, target user posture, goals, non-goals, product language, default runtime, universe scope, and open-core posture. |
|
|
37
|
+
| [harness.md](./harness.md) | Top-level harness model: roles, skills, service-layer state, policy, MCP, research memory, approvals, execution adapters, audit, and improvement loops. |
|
|
38
|
+
| [components.md](./components.md) | Component-first maintenance registry, taxonomy tags, owned surfaces, dependencies, capabilities, and validation. |
|
|
39
|
+
|
|
40
|
+
## Workflow And Agent Documents
|
|
41
|
+
|
|
42
|
+
| Document | Owns |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| [roles-skills-and-workflows.md](./roles-skills-and-workflows.md) | Fixed role roster, no-overlap role contract, head-manager dispatch gate, skills, strategy skills, subagent isolation, workflow routing, and module graph. |
|
|
45
|
+
| [research-memory-and-artifacts.md](./research-memory-and-artifacts.md) | File-native research memory, source snapshots, artifact paths, readiness labels, report quality floor, forecast ledger posture, and handoff metadata. |
|
|
46
|
+
| [financial-workflow-references.md](./financial-workflow-references.md) | Research-backed finance workflow principles and non-expert UX requirements for workflow intake and handoffs. |
|
|
47
|
+
| [artifact-supervisor-loop-prd.md](./artifact-supervisor-loop-prd.md) | Artifact Supervisor Loop PRD, bounded follow-up routing, lane escalation, loop state, and Decision Quality Spine preservation. |
|
|
48
|
+
|
|
49
|
+
## Safety And Improvement Documents
|
|
50
|
+
|
|
51
|
+
| Document | Owns |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| [guardrails.md](./guardrails.md) | Guardrail taxonomy: guidance, enforcement, and information barriers. |
|
|
54
|
+
| [safety-policy-and-execution.md](./safety-policy-and-execution.md) | Permission checks, approval rules, execution lifecycle, adapter boundary, external MCP gate, blocked actions, and secret handling. |
|
|
55
|
+
| [improvement-loop.md](./improvement-loop.md) | Workflow quality, research memory, skill evolution, postmortems, validation feedback, and quality-learning loops. |
|
|
56
|
+
|
|
57
|
+
## Implementation And Operations Documents
|
|
58
|
+
|
|
59
|
+
| Document | Owns |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| [system-architecture.md](./system-architecture.md) | Django modular monolith, central DB ownership, app boundaries, runtime planes, service-layer use cases, and core models. |
|
|
62
|
+
| [interfaces-and-surfaces.md](./interfaces-and-surfaces.md) | Product web, Django Admin, Django Ninja API, MCP boundary, CLI, generated wrapper behavior, and external MCP surface. |
|
|
63
|
+
| [generated-workspaces.md](./generated-workspaces.md) | `tcx attach`, `tcx init`, `tcx update`, generated files, project-scoped MCP config, hooks, workspace provenance, profile scope, and template rules. |
|
|
64
|
+
| [validation-and-test-plan.md](./validation-and-test-plan.md) | Required validation commands, unit/API/generator/smoke coverage, MCP smokes, broker provider smokes, routing scenarios, and release-sensitive checks. |
|
|
65
|
+
| [deployment.md](./deployment.md) | PyPI/TestPyPI release process, CI/CD, Trusted Publishing, installer/update policy, versioning, and what is not deployed. |
|
|
66
|
+
| [licensing-and-commercialization.md](./licensing-and-commercialization.md) | Apache-2.0 open-core boundary, generated workspace ownership, contributions, trademark posture, and legal review needs. |
|
|
67
|
+
|
|
68
|
+
## Change-To-Docs Map
|
|
69
|
+
|
|
70
|
+
| Change type | Update these docs |
|
|
71
|
+
| --- | --- |
|
|
72
|
+
| Product scope, non-goals, default runtime, product language, or release posture | `product-direction.md`, `core-concepts-and-rules.md` |
|
|
73
|
+
| 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` |
|
|
74
|
+
| User-facing workflow intake, suitability/profile context, plain-English output, or professional finance framing | `financial-workflow-references.md`, `interfaces-and-surfaces.md`, `roles-skills-and-workflows.md` |
|
|
75
|
+
| Role roster, head-manager dispatch, skills, strategy behavior, routing, information barriers, or handoff quality | `roles-skills-and-workflows.md`, `artifact-supervisor-loop-prd.md`, `core-concepts-and-rules.md` |
|
|
76
|
+
| Research memory, source snapshots, forecast ledgers, readiness labels, artifact paths, report quality, or markdown preview | `research-memory-and-artifacts.md`, `improvement-loop.md`, `artifact-supervisor-loop-prd.md` |
|
|
77
|
+
| Policy, permissions, approvals, idempotency, execution, adapters, broker safety, external MCP gate, or secret handling | `safety-policy-and-execution.md`, `guardrails.md`, `core-concepts-and-rules.md` |
|
|
78
|
+
| Django apps, models, service-layer contracts, central DB ownership, or runtime topology | `system-architecture.md` |
|
|
79
|
+
| Product web, Admin, REST, MCP, CLI, or generated wrapper behavior | `interfaces-and-surfaces.md` |
|
|
80
|
+
| Workspace templates, bootstrap, hooks, project MCP config, generated files, or update behavior | `generated-workspaces.md` |
|
|
81
|
+
| Test expectations, smoke flows, validation commands, or regression scenarios | `validation-and-test-plan.md` |
|
|
82
|
+
| Packaging, installer, release automation, versioning, or distribution boundary | `deployment.md`, `installation.md` |
|
|
83
|
+
| License, contribution, trademark, generated workspace ownership, or commercialization boundary | `licensing-and-commercialization.md` |
|
|
84
|
+
|
|
85
|
+
## Source-Of-Truth Principles
|
|
86
|
+
|
|
87
|
+
| Principle | Meaning |
|
|
88
|
+
| --- | --- |
|
|
89
|
+
| Docs first for product behavior | Durable rules for safety, roles, workflows, execution, generated workspaces, and release posture belong in these docs. |
|
|
90
|
+
| Update docs with behavior | Code, templates, prompts, hooks, tests, and generated artifacts that change durable behavior should update the owning doc in the same change. |
|
|
91
|
+
| Keep `README.md` concise | The public README should explain the product and route readers here instead of duplicating every rule. |
|
|
92
|
+
| Keep OpenWiki agent-focused | `openwiki/` should help agents work efficiently and link back to these docs for durable explanations. |
|
|
93
|
+
| Keep product language English | TradingCodex product copy, generated workspace guidance, Admin UI, CLI help, role prompts, durable docs, and examples are written in English unless a reviewed localization layer is being built. |
|
|
94
|
+
| Product web is review-first | The `/` web app opens on workflow planning and can preview handoffs; it does not spawn agents, approve orders, or execute orders. |
|
|
95
|
+
| Open-core boundary is explicit | Apache-2.0 covers the repository open core; trademarks and official commercial offerings remain separately governed. |
|
|
@@ -141,7 +141,7 @@ python3.11 -m venv /tmp/tcx-testpypi
|
|
|
141
141
|
/tmp/tcx-testpypi/bin/pip install \
|
|
142
142
|
--index-url https://test.pypi.org/simple/ \
|
|
143
143
|
--extra-index-url https://pypi.org/simple/ \
|
|
144
|
-
tradingcodex==0.2.
|
|
144
|
+
tradingcodex==0.2.10
|
|
145
145
|
rm -rf /tmp/tcx-testpypi-smoke
|
|
146
146
|
mkdir -p /tmp/tcx-testpypi-smoke
|
|
147
147
|
cd /tmp/tcx-testpypi-smoke
|
|
@@ -170,7 +170,7 @@ After the PyPI workflow completes:
|
|
|
170
170
|
|
|
171
171
|
```bash
|
|
172
172
|
python3.11 -m venv /tmp/tcx-pypi
|
|
173
|
-
/tmp/tcx-pypi/bin/pip install tradingcodex==0.2.
|
|
173
|
+
/tmp/tcx-pypi/bin/pip install tradingcodex==0.2.10
|
|
174
174
|
rm -rf /tmp/tcx-pypi-smoke
|
|
175
175
|
mkdir -p /tmp/tcx-pypi-smoke
|
|
176
176
|
cd /tmp/tcx-pypi-smoke
|
|
@@ -261,7 +261,10 @@ Use PEP 440 versions:
|
|
|
261
261
|
spine improvements after `0.2.6`
|
|
262
262
|
- `0.2.8` for artifact-supervisor loop concurrency and run-specific workflow
|
|
263
263
|
loop state after `0.2.7`
|
|
264
|
-
-
|
|
264
|
+
- `0.2.9` for stale service replacement and web scroll-state fixes after
|
|
265
|
+
`0.2.8`
|
|
266
|
+
- `0.2.10` for workflow planning and automation skill updates after `0.2.9`
|
|
267
|
+
- later patch releases for compatible fixes after `0.2.10`
|
|
265
268
|
- pre-releases such as `0.3.0a1`, `0.3.0b1`, or `0.3.0rc1` when preparing
|
|
266
269
|
the next minor contract
|
|
267
270
|
|
|
@@ -42,12 +42,12 @@ drafting, approval, or execution.
|
|
|
42
42
|
| [Markowitz, "Portfolio Selection" (1952)](https://ideas.repec.org/a/bla/jfinan/v7y1952i1p77-91.html) | Portfolio roles should treat expected return, variance, covariance, and diversification as analytical lenses, not as automatic trade instructions. |
|
|
43
43
|
| [Fama and French, "Common risk factors in the returns on stocks and bonds" (1993)](https://ideas.repec.org/a/eee/jfinec/v33y1993i1p3-56.html) | Research and portfolio outputs should separate issuer-specific thesis claims from factor, market, maturity, and default-risk exposure. |
|
|
44
44
|
| [NIST AI Risk Management Framework](https://www.nist.gov/itl/ai-risk-management-framework) | Agentic finance workflows need visible governance, context mapping, measurement, and risk-management checkpoints. |
|
|
45
|
-
| [NIST AI RMF Core](https://airc.nist.gov/airmf-resources/airmf/5-sec-core/) |
|
|
45
|
+
| [NIST AI RMF Core](https://airc.nist.gov/airmf-resources/airmf/5-sec-core/) | Workflow intake, handoff states, quality checks, and audit outputs should map to govern, map, measure, and manage functions. |
|
|
46
46
|
| [IOSCO AI/ML report for market intermediaries and asset managers](https://www.iosco.org/library/pubdocs/pdf/IOSCOPD684.pdf) | AI-assisted capital-markets features need governance, testing, monitoring, data-quality controls, explainability, and outsourcing/third-party oversight posture. |
|
|
47
47
|
| [SEC Plain English Handbook](https://www.sec.gov/pdf/handbook.pdf) | User-facing screens should start with plain-English workflow meaning before professional evidence, assumptions, caveats, and artifacts. |
|
|
48
48
|
| [Every, "Compound Engineering"](https://every.to/guides/compound-engineering) | Engineering work should teach the system reusable capabilities; TradingCodex applies this by making role outputs preserve compact context, reader summaries, source posture, and missing-evidence notes for future workflows. |
|
|
49
49
|
| [Will Larson, "Learning from Every's Compound Engineering"](https://lethain.com/everyinc-compound-engineering/) | The useful pattern is separating research/planning, work, review, and compounding lessons; TradingCodex mirrors that with starter intake, role artifacts, quality checks, and improvement proposals. |
|
|
50
|
-
| [Addy Osmani, "Loop Engineering"](https://addyosmani.com/blog/loop-engineering/) | A useful agentic loop combines automations, isolated workspaces, skills, connectors, subagents, and durable external memory; TradingCodex maps these to
|
|
50
|
+
| [Addy Osmani, "Loop Engineering"](https://addyosmani.com/blog/loop-engineering/) | A useful agentic loop combines automations, isolated workspaces, skills, connectors, subagents, and durable external memory; TradingCodex maps these to workflow intake, fixed subagents, MCP/service boundaries, artifacts, and generated workspace state. |
|
|
51
51
|
| [Business Insider, "Forget prompt engineering: Loop engineering is all the rage now"](https://www.businessinsider.com/what-are-loops-ai-engineering-tips-2026-6) | Current loop-engineering discourse emphasizes designing recurring systems that prompt agents, with cost and oversight tradeoffs; TradingCodex exposes loop controls and token/context budgets rather than unlimited autonomy. |
|
|
52
52
|
| [Anthropic Claude Code skills docs](https://docs.anthropic.com/en/docs/claude-code/skills) | Recent agent tooling exposes loops through reusable skills, bundled `/loop`, subagent execution, and dynamic context; TradingCodex mirrors the reusable-skill and fixed-subagent pattern without depending on Claude Code. |
|
|
53
53
|
| [Anthropic Claude Code hooks docs](https://docs.anthropic.com/en/docs/claude-code/hooks-guide) | Agent hooks can verify conditions before allowing a workflow to continue; TradingCodex maps this to hook gates, context-audit, quality-check, and handoff states. |
|
|
@@ -140,7 +140,7 @@ strategy authoring path, not as a side effect of analysis.
|
|
|
140
140
|
- Recent loop-engineering frameworks converge on recurring agent triggers,
|
|
141
141
|
reusable procedures, subagent decomposition, verification hooks, connectors,
|
|
142
142
|
and durable memory. TradingCodex should stay framework-agnostic: use these
|
|
143
|
-
ideas through its own Codex-native
|
|
143
|
+
ideas through its own Codex-native workflow intake, skills, MCP/service boundary,
|
|
144
144
|
context-audit, role artifacts, and explicit human approval gates.
|
|
145
145
|
- The verifier is the bottleneck in a useful loop. TradingCodex therefore keeps
|
|
146
146
|
loop controls tied to source freshness, artifact quality, profile gaps, and
|
|
@@ -99,7 +99,9 @@ Generated workspaces contain:
|
|
|
99
99
|
- Codex-style operating style in the root `head-manager` prompt: scoped `AGENTS.md` handling, concise preambles, selective planning, `rg`-first search, `apply_patch` edits, focused validation, dirty-worktree respect, and concise final handoffs
|
|
100
100
|
- instruction/skill separation: root `head-manager` instructions own identity, durable safety boundaries, fail-closed dispatch, role boundaries, skill routing, optional-skill management, and approved action boundaries; fixed subagent TOML files own standing role identity, MCP/tool config, artifact walls, and always-on prohibitions; repo skills are dependency-light capability procedures for workflow maps, compact assignment-envelope templates, optional skill file management, quality gates, synthesis, and postmortems, without declaring role ownership or direct inter-skill call chains
|
|
101
101
|
- no-overlap handoff contract: each role owns its specialist question, downstream roles consume accepted artifacts, and missing/stale/weak upstream work returns `revise`, `blocked`, or `waiting` instead of being silently redone by another role
|
|
102
|
-
-
|
|
102
|
+
- validated staged workflow plan: hook intake hints are not binding; `$tcx-workflow`
|
|
103
|
+
drafts, validates, records, and dispatches from a staged plan before
|
|
104
|
+
substantive investment analysis
|
|
103
105
|
- negated scope routing: phrases such as "no valuation", "no order", and "no trading" remove those actions or roles from dispatch selection
|
|
104
106
|
- broad public-equity prompts such as "Analyze NVDA" default to deep thesis
|
|
105
107
|
review with fundamental, technical, news, and valuation roles unless explicit
|
|
@@ -114,7 +116,7 @@ Generated workspaces contain:
|
|
|
114
116
|
before opening full markdown; `reader_summary` and `next_action` keep the
|
|
115
117
|
first-read experience clear for non-expert users
|
|
116
118
|
- context-budget audit: `./tcx subagents context-audit --strict` inspects the
|
|
117
|
-
latest
|
|
119
|
+
latest workflow intake, intake history, compact hook context, subagent
|
|
118
120
|
session state, workflow loop state, and research artifacts after long multi-subagent runs; it
|
|
119
121
|
fails strict mode when handoff artifacts lack `context_summary`, compact gate
|
|
120
122
|
history grows beyond budget, or gate/state/history payloads look like pasted
|
|
@@ -126,9 +128,9 @@ Generated workspaces contain:
|
|
|
126
128
|
- compact workflow loop state: `.tradingcodex/mainagent/workflow-loop-state.json`
|
|
127
129
|
is the latest summary and pointer; the canonical state for each routed prompt
|
|
128
130
|
lives under `.tradingcodex/mainagent/workflows/<workflow_run_id>/loop-state.json`
|
|
129
|
-
with
|
|
130
|
-
allowed follow-up team,
|
|
131
|
-
planner decisions, escalation proposals, blocked actions, and stop reason
|
|
131
|
+
with `intake.json` and `workflow-plan.json` beside it. The state records
|
|
132
|
+
validated stages, selected team, allowed follow-up team, loop policy, pending
|
|
133
|
+
tasks, planner decisions, escalation proposals, blocked actions, and stop reason
|
|
132
134
|
without spawning subagents recursively
|
|
133
135
|
- Codex session/thread routing map:
|
|
134
136
|
`.tradingcodex/mainagent/session-workflow-runs.json` maps a Codex app session
|
|
@@ -138,7 +140,7 @@ Generated workspaces contain:
|
|
|
138
140
|
- fixed subagent `nickname_candidates` set to a single item matching the exact role `name`
|
|
139
141
|
- fixed subagent identities kept in `.codex/agents/*.toml` `developer_instructions`, as required by Codex custom agent files
|
|
140
142
|
- project-local additional agent instructions under `.tradingcodex/agent-instructions/<role>.md`; projection appends them after generated default instructions for `head-manager` and fixed subagents
|
|
141
|
-
- twenty-
|
|
143
|
+
- twenty-five 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
|
|
142
144
|
- shared decision-quality skill bundles for forecasting discipline, thesis
|
|
143
145
|
scenario trees, numeric data QC, and anti-overfit validation
|
|
144
146
|
- 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
|
|
@@ -305,6 +307,8 @@ service at `127.0.0.1:48267` while keeping MCP stdio stdout clean.
|
|
|
305
307
|
If the port is already open, MCP startup verifies that the existing process is
|
|
306
308
|
a TradingCodex service with the same package version and central DB path before
|
|
307
309
|
using it.
|
|
310
|
+
When the existing process is an older TradingCodex service backed by the same
|
|
311
|
+
central DB, MCP autostart may stop it and launch the current package instead.
|
|
308
312
|
|
|
309
313
|
The autostart path must be:
|
|
310
314
|
|
|
@@ -322,7 +326,7 @@ or performs package refresh on its own. The emitted context uses marker
|
|
|
322
326
|
`allowed_next_actions`, and `routing_status`.
|
|
323
327
|
|
|
324
328
|
`head-manager` uses `$tcx-server` for service/MCP doctor checks,
|
|
325
|
-
`./tcx service status`, and `./tcx service ensure`. It tells the user that the
|
|
329
|
+
`./tcx service status`, `./tcx service stop`, and `./tcx service ensure`. It tells the user that the
|
|
326
330
|
local dashboard is available at `http://127.0.0.1:48267/` and opens it only
|
|
327
331
|
when explicitly asked. If project MCP config was created or changed, the user
|
|
328
332
|
must fully quit and restart Codex and start a new thread because Codex may not
|
|
@@ -385,17 +389,15 @@ enforcement.
|
|
|
385
389
|
|
|
386
390
|
- prompt classification
|
|
387
391
|
- secret warnings
|
|
388
|
-
- natural-language investment workflow
|
|
392
|
+
- natural-language investment workflow intake context and deterministic hints
|
|
389
393
|
- direct-answer prevention context
|
|
390
394
|
- duplicate marker management
|
|
391
|
-
-
|
|
395
|
+
- workflow-intake audit metadata with prompt hash and heuristic lane, without raw
|
|
392
396
|
prompt text in the audit ledger
|
|
393
|
-
- compact hook `additionalContext`;
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
-
|
|
397
|
-
`allowed_followup_team`, `escalation_team`, `loop_policy`, the latest loop
|
|
398
|
-
summary, and the canonical run-specific loop-state path
|
|
397
|
+
- compact hook `additionalContext`; full staged workflow contracts are recorded
|
|
398
|
+
by `$tcx-workflow` under `.tradingcodex/mainagent/workflows/<workflow_run_id>/`
|
|
399
|
+
- compact Artifact Supervisor Loop metadata in recorded `workflow-plan.json`
|
|
400
|
+
and `loop-state.json`, not as final hook-selected teams
|
|
399
401
|
- assisted loop planner previews through `./tcx subagents loop --artifact
|
|
400
402
|
<path>`, with optional `--record` limited to file-native pending tasks,
|
|
401
403
|
planner decisions, escalation proposals, blocked actions, and stop reason
|
|
@@ -54,7 +54,7 @@ TradingCodex Harness
|
|
|
54
54
|
| Provenance | Record which workspace and role produced or requested work without making workspaces separate ledgers. |
|
|
55
55
|
| Profiles | Separate paper portfolio/account/strategy state from workspace identity. |
|
|
56
56
|
| Components | Provide the developer-facing maintenance map for implementation surfaces, dependencies, capabilities, tags, and validation. |
|
|
57
|
-
| Context efficiency | Keep subagent briefs compact, pass artifact paths and context summaries before full artifacts, audit long runs with `subagents context-audit` over
|
|
57
|
+
| Context efficiency | Keep subagent briefs compact, pass artifact paths and context summaries before full artifacts, audit long runs with `subagents context-audit` over workflow intake history, and avoid repeated role manuals or source dumps. |
|
|
58
58
|
| Responsibility boundaries | Keep role identity, MCP allowlists, permission profiles, hooks, policies, skills, schemas, and service behavior in their own authoritative surfaces. |
|
|
59
59
|
|
|
60
60
|
## Components As Maintenance Units
|
|
@@ -106,8 +106,8 @@ It is a tag and review lens applied to components.
|
|
|
106
106
|
- Context efficiency keeps those quality gates usable by passing summaries and
|
|
107
107
|
artifact references first, then opening full evidence only when needed.
|
|
108
108
|
- Context-budget audits make long multi-subagent runs inspectable by checking
|
|
109
|
-
compact hook
|
|
110
|
-
|
|
109
|
+
compact hook intake, intake history, bounded subagent session state,
|
|
110
|
+
workflow loop state, and `context_summary` coverage across research
|
|
111
111
|
artifacts. Full subagent event history stays in append-only audit JSONL.
|
|
112
112
|
|
|
113
113
|
Improvement does not authorize execution. A high-quality report still needs the
|
|
@@ -120,12 +120,14 @@ Quality Spine remains the cross-lane quality contract inside that loop. Neither
|
|
|
120
120
|
the loop nor the spine widens role authority, MCP access, approval, execution,
|
|
121
121
|
broker, or secret boundaries.
|
|
122
122
|
|
|
123
|
-
Runtime loop inspection is file-native and read-first.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
Runtime loop inspection is file-native and read-first. `$plan-workflow`
|
|
124
|
+
clarifies ambiguous requests into a compact mandate; `UserPromptSubmit`
|
|
125
|
+
writes compact intake; `$tcx-workflow` records the validated staged plan and
|
|
126
|
+
canonical per-run state under
|
|
127
|
+
`.tradingcodex/mainagent/workflows/<workflow_run_id>/`. A compact latest
|
|
128
|
+
summary stays at `.tradingcodex/mainagent/workflow-loop-state.json`;
|
|
129
|
+
`tcx subagents plan` shows the current staged plan, selected team, pending
|
|
130
|
+
tasks, stop reason, and canonical state path.
|
|
129
131
|
Codex session/thread ids are mapped through
|
|
130
132
|
`.tradingcodex/mainagent/session-workflow-runs.json`, so multiple Codex app
|
|
131
133
|
threads in the same workspace can continue different loops without overwriting
|
|
@@ -203,7 +203,9 @@ Django Ninja provides local/staff typed control APIs:
|
|
|
203
203
|
- `GET|PATCH|DELETE /api/subagents/{role}/optional-skills/{name}`
|
|
204
204
|
- `POST /api/subagents/{role}/optional-skills/{name}/activate|archive`
|
|
205
205
|
- `GET /api/workflows/{id}`
|
|
206
|
-
- `POST /api/workflows/
|
|
206
|
+
- `POST /api/workflows/intake` records compact workflow intake hints without raw prompt storage
|
|
207
|
+
- `POST /api/workflows/{id}/validate` validates an agent-authored staged workflow plan, or returns a deterministic preview for compatibility
|
|
208
|
+
- `POST /api/workflows/record` records a validated staged workflow plan and initializes loop state
|
|
207
209
|
- `POST /api/policy/simulate`
|
|
208
210
|
- `GET|POST /api/orders/tickets`; list responses are scoped to the active
|
|
209
211
|
profile (`portfolio_id`, `account_id`, `strategy_id`)
|
|
@@ -359,6 +361,7 @@ Top-level commands:
|
|
|
359
361
|
- `tcx mcp stdio`
|
|
360
362
|
- `tcx service runserver`
|
|
361
363
|
- `tcx service ensure`
|
|
364
|
+
- `tcx service stop`
|
|
362
365
|
- `tcx service status [--json]`
|
|
363
366
|
|
|
364
367
|
Generated workspace wrapper commands:
|
|
@@ -394,8 +397,8 @@ provider, then registration stores only provider metadata and `credential_ref`.
|
|
|
394
397
|
- `./tcx research create|append|get|list|search|export`
|
|
395
398
|
|
|
396
399
|
Default main-agent skill listing is user-facing, not exhaustive. It shows only
|
|
397
|
-
direct user entrypoints: `
|
|
398
|
-
`strategy-creator`, `postmortem`, and active `strategy-*` skills. Full
|
|
400
|
+
direct user entrypoints: `plan-workflow`, `tcx-workflow`, `automate-workflow`,
|
|
401
|
+
`tcx-server`, `tcx-build`, `strategy-creator`, `postmortem`, and active `strategy-*` skills. Full
|
|
399
402
|
inspection is available through
|
|
400
403
|
`./tcx skills list --all` and role-specific `./tcx subagents skills <role>`.
|
|
401
404
|
|
|
@@ -98,23 +98,26 @@ they are not required before `head-manager` routes the work.
|
|
|
98
98
|
|
|
99
99
|
| Trigger | Handling |
|
|
100
100
|
| --- | --- |
|
|
101
|
-
|
|
|
102
|
-
|
|
|
101
|
+
| Ambiguous planning request, such as "help me design a workflow for daily market prep" | Route through `$plan-workflow`; ask focused questions, preserve negated scope, and produce a compact workflow mandate before execution or automation. |
|
|
102
|
+
| General investment request, such as "Analyze Apple stock" | `UserPromptSubmit` records compact workflow intake hints; `head-manager` uses `$tcx-workflow` to draft, validate, record, and then dispatch from a staged workflow plan before analysis. |
|
|
103
|
+
| Explicit `$tcx-workflow` request | The workflow skill becomes the primary orchestrator, records a validated staged plan, and dispatches selected stages. |
|
|
104
|
+
| Recurring automation request, such as "run this before market open every day" | Route through `$automate-workflow`; use `$plan-workflow` first when the recurring mandate is ambiguous or execution-sensitive, then register an active Codex automation only after the mandate is armed. |
|
|
103
105
|
| Broker/provider build request, such as "connect this broker" | Route to the `connector_build` lane and `$tcx-build`; connect/scaffold/register/validate provider metadata without investment dispatch or live submission. |
|
|
104
106
|
| Runtime/server request, such as "open dashboard" or "check TradingCodex status" | Route to `$tcx-server`; report service/MCP/update posture and use CLI recovery commands without changing execution authority. |
|
|
105
|
-
| Explicit subagent/parallel/delegated request | `UserPromptSubmit` records
|
|
107
|
+
| Explicit subagent/parallel/delegated request | `UserPromptSubmit` records intake hints; the skill checks existing subagent state and validates the staged plan before creating/reusing sessions. |
|
|
106
108
|
| Strategy authoring request, such as "Create a quality income strategy" | Do not auto-dispatch investment subagents. Route through `strategy-creator`, CLI, API, or service-layer flows so the strategy skill is created and projected as a root/head-manager strategy entry. Django web previews strategies read-only. |
|
|
107
109
|
| Non-investment repository, docs, or harness administration request | No investment dispatch is required; `head-manager` follows normal Codex coding-agent behavior while preserving execution and secret guardrails. |
|
|
108
110
|
| Same run/role subagent is active | Wait or follow up instead of creating duplicates. |
|
|
109
111
|
| Same role artifact has passed quality gates | Reuse the artifact instead of duplicating work. |
|
|
110
112
|
| Codex `spawn_agent` schema cannot select exact fixed role | Treat role routing as `routing-unverified`; provide `waiting_for_subagent_dispatch` and task briefs only. |
|
|
111
113
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
outside that
|
|
115
|
-
not add valuation, portfolio, risk,
|
|
116
|
-
user later asks for valuation,
|
|
117
|
-
drafting, approval, or
|
|
114
|
+
Hook-selected roles are deterministic hints, not the final contract. The
|
|
115
|
+
recorded validated staged workflow plan is binding for the current run.
|
|
116
|
+
`head-manager` must not add roles outside that plan merely because they might
|
|
117
|
+
be useful. For `research_only`, do not add valuation, portfolio, risk,
|
|
118
|
+
approval, or execution roles unless the user later asks for valuation,
|
|
119
|
+
decision support, portfolio fit, sizing, order drafting, approval, or
|
|
120
|
+
execution and a new validated plan permits it.
|
|
118
121
|
|
|
119
122
|
Negated scope terms are binding. Phrases such as "no valuation", "no order", or
|
|
120
123
|
"no trading" remove those actions or roles from routing instead of triggering
|
|
@@ -175,7 +178,7 @@ Instruction/skill separation:
|
|
|
175
178
|
| Surface | Owns | Must not own |
|
|
176
179
|
| --- | --- | --- |
|
|
177
180
|
| `head-manager` base instructions | durable identity, safety invariants, dispatch fail-closed rule, role boundaries, approved action boundary, skill routing | workflow templates, scenario tables, long checklists, subagent message bodies |
|
|
178
|
-
| Head-manager skills | compact repeatable procedures for workflow routing, server/runtime recovery, build-mode work, strategy creation, and postmortems | role identity, durable routing authority, MCP allowlists, weakening base guardrails, bypassing role-owned skills, approving or executing directly |
|
|
181
|
+
| Head-manager skills | compact repeatable procedures for workflow planning, workflow routing, automation arming, server/runtime recovery, build-mode work, strategy creation, and postmortems | role identity, durable routing authority, MCP allowlists, weakening base guardrails, bypassing role-owned skills, approving or executing directly |
|
|
179
182
|
| Fixed subagent TOML | standing role identity, role purpose, artifact wall, model/tool config, MCP allowlist, single-item display nickname candidates, and always-on prohibitions | per-request user intent, workflow lane decisions, source selection, or temporary task-specific context |
|
|
180
183
|
| Role-owned skills | capability procedure, artifact expectations, quality checks, and local output rules | role eligibility, work for other roles, self-approval, execution outside MCP |
|
|
181
184
|
| Main-to-subagent briefs | request-specific assignment envelope: verbatim user request, explicit constraints, workflow consent posture, research artifact language, lane, artifact path, `context_summary`, data-cutoff needs, request-specific out-of-scope items, and return contract | standing role manuals, model/tool config, MCP allowlists, long method checklists, long source-class lists, full artifacts, or repeated guardrail prose |
|
|
@@ -206,7 +209,9 @@ role work directly.
|
|
|
206
209
|
User-visible skill lists are not the same as enabled or installed skills. The
|
|
207
210
|
main-agent user surface should show only direct user entrypoints by default:
|
|
208
211
|
|
|
212
|
+
- `plan-workflow`
|
|
209
213
|
- `tcx-workflow`
|
|
214
|
+
- `automate-workflow`
|
|
210
215
|
- `tcx-server`
|
|
211
216
|
- `tcx-build`
|
|
212
217
|
- `strategy-creator`
|
|
@@ -238,7 +243,9 @@ Head-manager skill responsibilities:
|
|
|
238
243
|
|
|
239
244
|
| Skill | Responsibility |
|
|
240
245
|
| --- | --- |
|
|
246
|
+
| `plan-workflow` | focused user Q&A, ambiguity detection, negated-scope preservation, and user-language compact workflow mandate creation before immediate or recurring workflows |
|
|
241
247
|
| `tcx-workflow` | compact workflow routing, selected-team dispatch/reuse, Artifact Supervisor Loop planning, handoff quality states, bounded follow-up/escalation proposals, and synthesis after accepted artifacts |
|
|
248
|
+
| `automate-workflow` | mandate reuse from `$plan-workflow`, preflight checks, arming status, user-language automation summaries, and Codex automation registration for recurring TradingCodex workflows without granting execution authority |
|
|
242
249
|
| `tcx-server` | startup health, local dashboard URL guidance, explicit user-requested dashboard opening, Codex restart guidance, TradingCodex MCP setup, update-status explanation, read-only broker/status inspection, and service troubleshooting without granting execution authority |
|
|
243
250
|
| `tcx-build` | full-access plus TCX-build-mode gated self-update, template/harness edits, broker/API provider connect/scaffold/register/validate flows, credential-ref handling, and live-submit blocking outside service gates |
|
|
244
251
|
| `external-data-source-gate` | read-only external evidence-source constraints and External MCP Gate honesty |
|
|
@@ -353,13 +360,11 @@ posture, or core skill behavior.
|
|
|
353
360
|
summary with total counters and a recent-event window. Full subagent event
|
|
354
361
|
history belongs in `trading/audit/subagent-session-events.jsonl`.
|
|
355
362
|
- `.tradingcodex/mainagent/workflow-loop-state.json` is the compact latest
|
|
356
|
-
assisted-loop summary and pointer. The canonical
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
blocked actions, and stop reason. It is inspectable state, not an automatic
|
|
362
|
-
recursive dispatch mechanism.
|
|
363
|
+
assisted-loop summary and pointer. The canonical run folder contains
|
|
364
|
+
`intake.json`, `workflow-plan.json`, and `loop-state.json`. It contains
|
|
365
|
+
validated stages, selected team, allowed follow-up team, pending tasks,
|
|
366
|
+
planner decisions, blocked actions, and stop reason. It is inspectable
|
|
367
|
+
state, not an automatic recursive dispatch mechanism.
|
|
363
368
|
- `.tradingcodex/mainagent/session-workflow-runs.json` maps Codex session or
|
|
364
369
|
thread keys to workflow run ids. Subagent start/stop records use run id,
|
|
365
370
|
role, and subagent session id so a reused role session can continue the right
|
|
@@ -371,6 +376,7 @@ posture, or core skill behavior.
|
|
|
371
376
|
- Downstream roles start from artifact path plus `context_summary`; they open
|
|
372
377
|
full markdown only for disputed, stale, missing, or load-bearing evidence.
|
|
373
378
|
- The head-manager should tell subagents to write reader-facing research artifacts in the user's language from the original request unless the user explicitly requests another artifact language. File paths, frontmatter keys, symbols, tickers, source names, and quoted source text stay in their natural/original form.
|
|
379
|
+
- `plan-workflow` mandates and `automate-workflow` automation summaries follow the same user-language rule.
|
|
374
380
|
- When selecting an exact fixed role with Codex `spawn_agent`, do not combine `agent_type` with full-history forking. Use a compact assignment envelope on the first attempt and no model/reasoning overrides.
|
|
375
381
|
- Workflow consent stays separate from explicit user constraints. Consent to orchestrate or use subagents allows dispatch, but it is not itself an analytical constraint.
|
|
376
382
|
- Execution roles may additionally receive the approved action boundary because they need it to submit approved actions.
|
|
@@ -398,7 +404,7 @@ TradingCodex MCP allowlists, and service-layer policy.
|
|
|
398
404
|
|
|
399
405
|
## Hooks Are Guidance
|
|
400
406
|
|
|
401
|
-
- `UserPromptSubmit` handles prompt classification, secret warnings, direct-answer prevention context, and duplicate marker management.
|
|
407
|
+
- `UserPromptSubmit` handles prompt classification, secret warnings, compact workflow intake hints, direct-answer prevention context, and duplicate marker management. It does not choose the final staged workflow plan.
|
|
402
408
|
- `SessionStart` writes compact TradingCodex mode, permission, update, server/MCP, and routing diagnostics for `head-manager`; incompatible service details such as version mismatch, DB mismatch, and occupied ports must survive into compact context so `head-manager` can mention the startup notice before claiming dashboard readiness. Startup recovery and dashboard URL guidance stay in `$tcx-server`, while self-update and connector implementation stay in `$tcx-build`.
|
|
403
409
|
- Official `UserPromptSubmit` matchers are ignored, so classification happens inside the hook script.
|
|
404
410
|
- Hooks use command type only and do not rely on ordering or concurrency between hooks.
|
|
@@ -85,7 +85,7 @@ Smoke coverage should verify:
|
|
|
85
85
|
- generated workspace contains `.tradingcodex/workspace.json`
|
|
86
86
|
- generated workspace contains `.tradingcodex/generated/component-index.json`
|
|
87
87
|
- generated workspace contains no `package.json` or Node MCP/runtime files
|
|
88
|
-
- generated workspace contains nine fixed subagents and twenty-
|
|
88
|
+
- generated workspace contains nine fixed subagents and twenty-five core repo skills
|
|
89
89
|
- two generated workspaces have different workspace ids
|
|
90
90
|
- two generated workspaces keep separate research markdown/source-snapshot files while sharing non-research MCP ledger rows through the central DB
|
|
91
91
|
- profile selection controls paper portfolio separation
|
|
@@ -233,14 +233,14 @@ Scenarios should include:
|
|
|
233
233
|
answered, and complete active-profile investor context
|
|
234
234
|
- starter-prompt web profile-answer forms persist answers to the active profile
|
|
235
235
|
and the refreshed preview removes those questions
|
|
236
|
-
- Codex `UserPromptSubmit` generated hooks
|
|
237
|
-
|
|
238
|
-
|
|
236
|
+
- Codex `UserPromptSubmit` generated hooks keep compact intake hints under
|
|
237
|
+
budget; `$tcx-workflow` reuses answered active-profile investor context when
|
|
238
|
+
drafting the validated staged plan
|
|
239
239
|
- unavailable or unverified subagent routing fails closed
|
|
240
240
|
- completed role artifacts are reused when quality gates pass
|
|
241
241
|
- downstream roles return `revise`, `blocked`, or `waiting` instead of filling missing upstream role work
|
|
242
|
-
- hook `additionalContext` stays compact and points to
|
|
243
|
-
instead of injecting
|
|
242
|
+
- hook `additionalContext` stays compact and points to persisted workflow
|
|
243
|
+
intake instead of injecting a full starter prompt into every routed turn
|
|
244
244
|
- starter prompts and generated guidance expose the no-overlap handoff contract
|
|
245
245
|
- starter prompts and generated guidance tell subagents to write reader-facing
|
|
246
246
|
research artifacts in the user's language unless explicitly overridden
|
|
@@ -255,13 +255,12 @@ Scenarios should include:
|
|
|
255
255
|
budget so agents pass artifact paths, context summaries, source snapshot IDs,
|
|
256
256
|
and short deltas instead of full artifacts or repeated role manuals
|
|
257
257
|
- multi-round subagent smokes run `tcx subagents context-audit --strict` after
|
|
258
|
-
several
|
|
258
|
+
several workflow intakes, subagent start/stop events, and large research
|
|
259
259
|
artifacts across research-only, thesis, portfolio/risk, order-draft,
|
|
260
260
|
approval/execution, crypto, ETF/index, and options/instrument lanes; the
|
|
261
|
-
audit must show compact hook
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
gate/history/state, no research artifacts missing `context_summary`, and
|
|
261
|
+
audit must show compact hook intake, compact intake history, compact session
|
|
262
|
+
state with total counters plus retained recent events, no pasted markdown artifacts in
|
|
263
|
+
intake/history/state, no research artifacts missing `context_summary`, and
|
|
265
264
|
warnings for artifacts missing reader-first `reader_summary` or `next_action`
|
|
266
265
|
- repo skill boundary tests fail when role identifiers leak into generic skills
|
|
267
266
|
outside necessary command principal examples or policy/artifact contracts
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tradingcodex"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.10"
|
|
8
8
|
description = "Codex-native trading harness with a Django service plane and approved action boundary."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.15"
|
|
@@ -78,7 +78,7 @@ def test_generated_workspace_connects_mock_broker(tmp_path: Path) -> None:
|
|
|
78
78
|
tcx(workspace, env_extra, "mode", "set", "build", "--reason", "mock broker connector smoke")
|
|
79
79
|
gate = hook_context(workspace, "Connect mock-json broker. No order, no trading, do not read secrets.", env_extra)
|
|
80
80
|
assert gate is not None
|
|
81
|
-
assert gate["
|
|
81
|
+
assert gate["heuristic_lane"] == "connector_build"
|
|
82
82
|
|
|
83
83
|
write_mock_provider(
|
|
84
84
|
workspace,
|
|
@@ -218,24 +218,16 @@ def test_generated_workspace_codex_cli_user_scenario_matrix(tmp_path: Path) -> N
|
|
|
218
218
|
for index, (prompt, lane, roles, secret_warning) in enumerate(prompt_cases):
|
|
219
219
|
gate = hook_context(workspace, prompt, env_extra, via_hooks_json=index == 0)
|
|
220
220
|
assert gate is not None, prompt
|
|
221
|
-
assert gate["
|
|
222
|
-
assert gate["
|
|
221
|
+
assert gate["heuristic_lane"] == lane
|
|
222
|
+
assert gate["heuristic_roles"] == roles
|
|
223
223
|
assert gate["secret_warning"] is secret_warning
|
|
224
|
-
assert gate["
|
|
225
|
-
assert gate["context_mode"] == "compact_workflow_gate"
|
|
226
|
-
assert gate["starter_prompt_path"] == ".tradingcodex/mainagent/latest-user-prompt-gate.json"
|
|
224
|
+
assert gate["intake_path"].endswith("/intake.json")
|
|
227
225
|
assert "starter_prompt" not in gate
|
|
228
226
|
assert len(json.dumps(gate, ensure_ascii=False)) < 1800
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
assert "Research artifact language:" in starter
|
|
234
|
-
assert "Use handoff states: accepted, revise, blocked, waiting." in starter
|
|
235
|
-
assert "source/as-of posture" in starter
|
|
236
|
-
assert "Context budget:" in starter
|
|
237
|
-
assert "context_summary" in starter
|
|
238
|
-
assert "Blocked actions before artifacts:" in starter
|
|
227
|
+
persisted_intake = json.loads((workspace / ".tradingcodex" / "mainagent" / "latest-workflow-intake.json").read_text(encoding="utf-8"))
|
|
228
|
+
assert persisted_intake["heuristic_lane"] == lane
|
|
229
|
+
assert "prompt_sha256" in persisted_intake
|
|
230
|
+
assert prompt not in json.dumps(persisted_intake, ensure_ascii=False)
|
|
239
231
|
|
|
240
232
|
hook_audit_path = workspace / "trading" / "audit" / "codex-hooks.jsonl"
|
|
241
233
|
assert hook_audit_path.exists()
|
|
@@ -251,7 +243,7 @@ def test_generated_workspace_codex_cli_user_scenario_matrix(tmp_path: Path) -> N
|
|
|
251
243
|
status = json.loads(tcx(workspace, env_extra, "subagents", "status").stdout)
|
|
252
244
|
assert status["installed_count"] == 9
|
|
253
245
|
assert status["fixed_roster_ok"] is True
|
|
254
|
-
assert status["skills_installed"] ==
|
|
246
|
+
assert status["skills_installed"] == 25
|
|
255
247
|
plan = json.loads(tcx(workspace, env_extra, "subagents", "plan", "--all").stdout)
|
|
256
248
|
assert plan["requested_count"] == 9
|
|
257
249
|
assert plan["parallel_spawn_ok"] is True
|
|
@@ -476,16 +468,15 @@ def test_long_multi_subagent_context_budget_audit(tmp_path: Path) -> None:
|
|
|
476
468
|
for round_index, (prompt, expected_lane) in enumerate(scenarios, start=1):
|
|
477
469
|
context = hook_context(workspace, prompt, env_extra)
|
|
478
470
|
assert context is not None
|
|
479
|
-
assert context["
|
|
471
|
+
assert context["heuristic_lane"] == expected_lane
|
|
480
472
|
assert "starter_prompt" not in context
|
|
481
473
|
assert len(json.dumps(context, ensure_ascii=False)) < 1600
|
|
482
474
|
|
|
483
|
-
|
|
484
|
-
assert sentinel not in
|
|
485
|
-
assert "
|
|
486
|
-
assert "context_summary" in persisted_gate
|
|
475
|
+
persisted_intake = (workspace / ".tradingcodex" / "mainagent" / "latest-workflow-intake.json").read_text(encoding="utf-8")
|
|
476
|
+
assert sentinel not in persisted_intake
|
|
477
|
+
assert "prompt_sha256" in persisted_intake
|
|
487
478
|
|
|
488
|
-
for role in context["
|
|
479
|
+
for role in context["heuristic_roles"]:
|
|
489
480
|
artifact_id = f"long-{round_index}-{role}"
|
|
490
481
|
hook_event(workspace, "subagent-start", {"agent_type": role, "task_name": f"{role} round {round_index}"}, env_extra)
|
|
491
482
|
markdown = (
|