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