{"repo": "379350697/wlcodex", "files": {"config/wlcodex.toml": {"cba4c0de076f33eff14e81ac8966a84b99ce8e2c": {"t": 1785745339.037403, "n": 4947, "h": "5dcc9c60b5382772", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[runtime_retention]\nhot_retention_days = 7\narchive_retention_days = 90\ninterval_seconds = 21600\nbatch_size = 250\n# The initial historical migration was verified on 2026-07-10. Keep the\n# ordinary 7-day retention pass running after that one-off maintenance window.\nscheduled_apply_enabled = true\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[task]\nrelay_native_idle_timeout_seconds = 300\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 0\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[live_stream]\nenabled = true\nhost = \"127.0.0.1\"\nport = 18731\naccess_token_env = \"WLCODEX_LIVE_STREAM_TOKEN\"\nallow_unauthenticated_loopback = true\n\n[codex_native]\nenabled = true\ntransport = \"daemon\"\nsock_path = \"/Users/wl/.codex/app-server-control/app-server-control.sock\"\n\n[native_agents]\nenabled = true\ndefault_provider = \"codex\"\n\n[native_agents.codex]\nenabled = true\n\n[native_agents.claude]\nenabled = true\nengine = \"sdk-deepseek\"\n\n[native_agents.claude.sdk_deepseek]\napi_key_env = \"DEEPSEEK_API_KEY\"\nbase_url = \"https://api.deepseek.com/anthropic\"\nmodel = \"deepseek-v4-pro\"\neffort = \"xhigh\"\npermission_mode = \"acceptEdits\"\nsystem_prompt = \"\"\ncli_path = \"\"\nccswitch_fallback_enabled = true\nccswitch_db_path = \"~/.cc-switch/cc-switch.db\"\n\n[native_agents.antigravity]\nenabled = true\nengine = \"cli-local\"\n\n[native_agents.antigravity.cli_local]\ndefault_model = \"Gemini 3.5 Flash (High)\"\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/Users/wl/projects\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/Users/wl/projects/wlcodex\"\nallow_write = true\n"}, "06066b51631766d9a36fb0c5c210a78e1f0514ce": {"t": 1785750387.4757261, "n": 4796, "h": "60dcf91955131fec", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[runtime_retention]\nhot_retention_days = 7\narchive_retention_days = 90\ninterval_seconds = 21600\nbatch_size = 250\nscheduled_apply_enabled = false\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[task]\nrelay_native_idle_timeout_seconds = 300\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 0\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[live_stream]\nenabled = true\nhost = \"127.0.0.1\"\nport = 18731\naccess_token_env = \"WLCODEX_LIVE_STREAM_TOKEN\"\nallow_unauthenticated_loopback = true\n\n[codex_native]\nenabled = true\ntransport = \"daemon\"\nsock_path = \"/Users/wl/.codex/app-server-control/app-server-control.sock\"\n\n[native_agents]\nenabled = true\ndefault_provider = \"codex\"\n\n[native_agents.codex]\nenabled = true\n\n[native_agents.claude]\nenabled = true\nengine = \"sdk-deepseek\"\n\n[native_agents.claude.sdk_deepseek]\napi_key_env = \"DEEPSEEK_API_KEY\"\nbase_url = \"https://api.deepseek.com/anthropic\"\nmodel = \"deepseek-v4-pro\"\neffort = \"xhigh\"\npermission_mode = \"acceptEdits\"\nsystem_prompt = \"\"\ncli_path = \"\"\nccswitch_fallback_enabled = true\nccswitch_db_path = \"~/.cc-switch/cc-switch.db\"\n\n[native_agents.antigravity]\nenabled = true\nengine = \"cli-local\"\n\n[native_agents.antigravity.cli_local]\ndefault_model = \"Gemini 3.5 Flash (High)\"\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/Users/wl/projects\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/Users/wl/projects/wlcodex\"\nallow_write = true\n"}, "9ac75457b5decf310f41e5890caf06dc6384ee1b": {"t": 1785750388.579511, "n": 4650, "h": "cde50c85cf8a4b7e", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[task]\nrelay_native_idle_timeout_seconds = 300\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 0\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[live_stream]\nenabled = true\nhost = \"127.0.0.1\"\nport = 18731\naccess_token_env = \"WLCODEX_LIVE_STREAM_TOKEN\"\nallow_unauthenticated_loopback = true\n\n[codex_native]\nenabled = true\ntransport = \"daemon\"\nsock_path = \"/Users/wl/.codex/app-server-control/app-server-control.sock\"\n\n[native_agents]\nenabled = true\ndefault_provider = \"codex\"\n\n[native_agents.codex]\nenabled = true\n\n[native_agents.claude]\nenabled = true\nengine = \"sdk-deepseek\"\n\n[native_agents.claude.sdk_deepseek]\napi_key_env = \"DEEPSEEK_API_KEY\"\nbase_url = \"https://api.deepseek.com/anthropic\"\nmodel = \"deepseek-v4-pro\"\neffort = \"xhigh\"\npermission_mode = \"acceptEdits\"\nsystem_prompt = \"\"\ncli_path = \"\"\nccswitch_fallback_enabled = true\nccswitch_db_path = \"~/.cc-switch/cc-switch.db\"\n\n[native_agents.antigravity]\nenabled = true\nengine = \"cli-local\"\n\n[native_agents.antigravity.cli_local]\ndefault_model = \"Gemini 3.5 Flash (High)\"\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/Users/wl/projects\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/Users/wl/projects/wlcodex\"\nallow_write = true\n"}, "ab84721c79244c4d82fc21d25bd4b4576bcd0609": {"t": 1785750389.9618285, "n": 4576, "h": "77a82b516eb4355b", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[task]\nrelay_native_idle_timeout_seconds = 300\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 0\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[live_stream]\nenabled = true\nhost = \"127.0.0.1\"\nport = 18731\naccess_token_env = \"WLCODEX_LIVE_STREAM_TOKEN\"\nallow_unauthenticated_loopback = true\n\n[codex_native]\nenabled = true\ntransport = \"daemon\"\n\n[native_agents]\nenabled = true\ndefault_provider = \"codex\"\n\n[native_agents.codex]\nenabled = true\n\n[native_agents.claude]\nenabled = true\nengine = \"sdk-deepseek\"\n\n[native_agents.claude.sdk_deepseek]\napi_key_env = \"DEEPSEEK_API_KEY\"\nbase_url = \"https://api.deepseek.com/anthropic\"\nmodel = \"deepseek-v4-pro\"\neffort = \"xhigh\"\npermission_mode = \"acceptEdits\"\nsystem_prompt = \"\"\ncli_path = \"\"\nccswitch_fallback_enabled = true\nccswitch_db_path = \"~/.cc-switch/cc-switch.db\"\n\n[native_agents.antigravity]\nenabled = true\nengine = \"cli-local\"\n\n[native_agents.antigravity.cli_local]\ndefault_model = \"Gemini 3.5 Flash (High)\"\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/Users/wl/projects\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/Users/wl/projects/wlcodex\"\nallow_write = true\n"}, "d2a1719bfc8e01d68c038360e6ffef5c4207cfbe": {"t": 1785750391.0576553, "n": 4267, "h": "a54a06a3d1f43c9a", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[task]\nrelay_native_idle_timeout_seconds = 300\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 0\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[live_stream]\nenabled = true\nhost = \"127.0.0.1\"\nport = 18731\naccess_token_env = \"WLCODEX_LIVE_STREAM_TOKEN\"\nallow_unauthenticated_loopback = true\n\n[codex_native]\nenabled = true\ntransport = \"daemon\"\n\n[native_agents]\nenabled = true\ndefault_provider = \"codex\"\n\n[native_agents.codex]\nenabled = true\n\n[native_agents.claude]\nenabled = true\nengine = \"cli-local\"\n\n[native_agents.antigravity]\nenabled = true\nengine = \"cli-local\"\n\n[native_agents.antigravity.cli_local]\ndefault_model = \"Gemini 3.5 Flash (High)\"\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/Users/wl/projects\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/Users/wl/projects/wlcodex\"\nallow_write = true\n"}, "32d3db9d186c8eef660e8b0b38cb55704b71fea4": {"t": 1785750392.1555374, "n": 4138, "h": "925e890a46907886", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 0\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[live_stream]\nenabled = true\nhost = \"127.0.0.1\"\nport = 18731\naccess_token_env = \"WLCODEX_LIVE_STREAM_TOKEN\"\nallow_unauthenticated_loopback = true\n\n[codex_native]\nenabled = true\ntransport = \"daemon\"\n\n[native_agents]\nenabled = true\ndefault_provider = \"codex\"\n\n[native_agents.codex]\nenabled = true\n\n[native_agents.claude]\nenabled = true\nengine = \"cli-local\"\n\n[native_agents.antigravity]\nenabled = true\nengine = \"cli-local\"\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/Users/wl/projects\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/Users/wl/projects/wlcodex\"\nallow_write = true\n"}, "5db544a097be0b88535929f864a51c8b50e8b49e": {"t": 1785750393.2523015, "n": 4140, "h": "e8083efd0310c1c4", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 0\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[live_stream]\nenabled = true\nhost = \"127.0.0.1\"\nport = 18731\naccess_token_env = \"WLCODEX_LIVE_STREAM_TOKEN\"\nallow_unauthenticated_loopback = true\n\n[codex_native]\nenabled = true\ntransport = \"daemon\"\n\n[native_agents]\nenabled = true\ndefault_provider = \"codex\"\n\n[native_agents.codex]\nenabled = true\n\n[native_agents.claude]\nenabled = true\nengine = \"cli-local\"\n\n[native_agents.antigravity]\nenabled = true\nengine = \"cli-local\"\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/media/wl/新加卷/codex\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}, "ead6aca10837e872d90aa75aac0e6b8e3a43ba8f": {"t": 1785750394.3163402, "n": 3719, "h": "dafbc438d230dfbc", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 0\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/media/wl/新加卷/codex\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}, "21d67db603d686192d741f1db09bfb89c4bdde59": {"t": 1785750395.4054463, "n": 3719, "h": "060ff0571a5d639d", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\ncodex_home = \"~/.local/state/wlcodex/codex-home\"\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 3\nauto_delegate_simple_edits = false\n\n[adaptive_team]\nenabled = true\n\n[adaptive_team.model_profiles]\ncodex_gpt = \"codex\"\nclaude_deepseek = \"claude\"\n\n[adaptive_team.assignments]\ndirector = [\"codex_gpt\"]\ninvestigator = [\"codex_gpt\"]\narchitect = [\"codex_gpt\"]\nimplementer = [\"claude_deepseek\", \"codex_gpt\"]\ntester = [\"codex_gpt\"]\nauditor = [\"codex_gpt\"]\n\n[adaptive_team.role_skills]\ninvestigator = [\"systematic-debugging\", \"gitnexus-exploring\"]\narchitect = [\"gitnexus-impact-analysis\", \"karpathy-guidelines\"]\nimplementer = [\"test-driven-development\", \"verification-before-completion\"]\ntester = [\"test-driven-development\", \"verification-before-completion\"]\nauditor = [\"github:gh-address-comments\", \"gitnexus-pr-review\"]\n\n[adaptive_team.role_capabilities]\ninvestigator = [\"read\", \"shell_readonly\", \"logs\", \"gitnexus\"]\narchitect = [\"read\", \"shell_readonly\", \"gitnexus\"]\nimplementer = [\"read\", \"write\", \"shell\", \"tests\"]\ntester = [\"read\", \"write_tests\", \"shell_readonly\", \"tests\"]\nauditor = [\"read\", \"git_diff\", \"shell_readonly\", \"gitnexus\"]\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/media/wl/新加卷/codex\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}, "0ece4eb6c930400e5e380440d709c232fb74a0c6": {"t": 1785750396.4663777, "n": 2672, "h": "06ba0e1dbddf3b10", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 3\nauto_delegate_simple_edits = false\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\nblock_idle_seconds = 2.0\n\n[product]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/media/wl/新加卷/codex\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}, "b1fafa32159d361d39f5dcb0a592cf6854e7ae26": {"t": 1785750397.5174642, "n": 2573, "h": "24d09c9b346e5994", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\napproval_policy = \"never\"\nsandbox = \"danger-full-access\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"bypassPermissions\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 3\nauto_delegate_simple_edits = false\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/media/wl/新加卷/codex\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}, "19212d02beb50addeeb8aa52c161380b47c691a1": {"t": 1785750398.6013255, "n": 2569, "h": "29cc016461045242", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\napproval_policy = \"on-request\"\nsandbox = \"workspace-write\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 3600\ncodex_verification_hard_timeout_seconds = 3600\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"acceptEdits\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 3\nauto_delegate_simple_edits = false\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/media/wl/新加卷/codex\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}, "af23b8656c91a6ac7ddfc59d137f080ee1cddabf": {"t": 1785750399.6531243, "n": 2569, "h": "91f3deefdb3dcaff", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\napproval_policy = \"on-request\"\nsandbox = \"workspace-write\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 1200\ncodex_verification_hard_timeout_seconds = 1200\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"acceptEdits\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 3\nauto_delegate_simple_edits = false\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n[workspace_discovery]\nenabled = true\nroot = \"/media/wl/新加卷/codex\"\ninclude_git_only = true\nallow_write = true\nexclude = []\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}, "59a5049afa05b0a36345dd105a39f0989ae68584": {"t": 1785750400.7286377, "n": 2446, "h": "b035969843fabe81", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\napproval_policy = \"on-request\"\nsandbox = \"workspace-write\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 1200\ncodex_verification_hard_timeout_seconds = 1200\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"auto\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"acceptEdits\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 3\nauto_delegate_simple_edits = false\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}, "6c8a90d3dae2b8bc3678d2496c7e77e9960d40b9": {"t": 1785750402.1191313, "n": 2540, "h": "8afe423e3046e4a7", "c": "[telegram]\nbot_token_env = \"WLCODEX_TELEGRAM_BOT_TOKEN\"\nallowed_user_ids = [7024110327]\nprivate_chat_only = true\n\n[codex]\nbinary = \"codex\"\napp_server_host = \"127.0.0.1\"\napp_server_port = 17431\napproval_policy = \"on-request\"\nsandbox = \"workspace-write\"\n\n[storage]\nsqlite_path = \"runtime/wlcodex.sqlite3\"\ntask_log_dir = \"runtime/tasks\"\n\n[display]\nstatus_update_min_interval_seconds = 2\ntail_lines = 40\ndiff_max_chars = 3500\n\n[backend]\nstartup_timeout_seconds = 15\nrequest_timeout_seconds = 60\ncodex_prompt_idle_timeout_seconds = 300\ncodex_analysis_hard_timeout_seconds = 1200\ncodex_verification_hard_timeout_seconds = 1200\nevent_log_max_chars = 20000\n\n[claude]\nenabled = true\nbinary = \"/home/wl/.vscode/extensions/anthropic.claude-code-2.1.145-linux-x64/resources/native-binary/claude\"\nstartup_timeout_seconds = 15.0\nrequest_timeout_seconds = 3600.0\nstream_idle_timeout_seconds = 600.0\nmodel = \"deepseek-v4-pro\"\neffort = \"max\"\npermission_mode = \"acceptEdits\"\n\n[approval]\ncallback_timeout_seconds = 3600\nallow_session_approval = true\n\n[conversation]\nenabled = true\ndefault_mode = \"chief_engineer\"\ndefault_workspace = \"wlcodex\"\nsummary_max_tokens = 800\n\n[orchestration]\nenabled = true\nmax_verify_rounds = 3\nauto_delegate_simple_edits = false\n\n[context_budget]\ncodex_analysis_tokens = 2500\ncodex_to_claude_tokens = 1500\nclaude_to_codex_tokens = 2500\nconversation_summary_tokens = 800\n\n[streaming]\nenabled = true\nedit_min_interval_seconds = 1.0\n\n[interaction]\nprofile = \"natural\"\nstreaming_enabled = true\nshow_footer = false\nedit_min_interval_seconds = 1.0\n\n[terminal]\nenabled = true\ndefault_agent = \"claude\"\nmax_frame_chars = 3500\nredaction_enabled = true\n\n[telegram_output]\npreview_enabled = true\npreview_edit_min_interval_seconds = 2.0\npreview_send_timeout_seconds = 5.0\nproduct_body_mode = \"final\"\nterminal_body_mode = \"semantic_blocks\"\nsemantic_min_chars = 900\nsemantic_max_chars = 3200\nfinal_chunk_chars = 3900\nterminal_block_idle_seconds = 2.0\n\n[menu]\nregister_bot_commands = true\n\n# Live Telegram smoke env vars (for real acceptance gate):\n# WLCODEX_RUN_TELEGRAM_LIVE=1\n# WLCODEX_TELEGRAM_BOT_TOKEN=...\n# WLCODEX_TELEGRAM_ALLOWED_USER_ID=...\n# Optional before first real interaction:\n# WLCODEX_LIVE_WORKSPACE_ALIAS=...\n# WLCODEX_LIVE_SQLITE_PATH=...\n# Optional only for legacy diagnostic /task smoke:\n# WLCODEX_TELEGRAM_CHAT_ID=...\n# WLCODEX_LIVE_SMOKE_TASK_ID=...\n# WLCODEX_LIVE_APPROVAL_REQUIRED=1 (after running approval smoke)\n\n[[workspaces]]\nalias = \"wlcodex\"\npath = \"/media/wl/新加卷/codex/wlcodex\"\nallow_write = true\n"}}}}