DEFAULT_CONFIG changed 183 times in 30 days and nothing checked that a new key reached the docs; /pause (the global emergency stop) went undocumented for two months. scripts/ci/check_docs_drift.py lists every DEFAULT_CONFIG leaf and every registered slash command and finds the ones the docs never mention. A key is documented by its dotted path, a placeholder path in inline code (`auxiliary.<task>.timeout`, `display.pet.*`), or a YAML example nesting it under its parents; a slash command by a `/name` row in reference/slash-commands.md. The 132 keys undocumented today are baselined in docs_drift_baseline.json; tests/ci/test_docs_drift.py fails only on NEW gaps, so it never blocks an unrelated PR, and documenting a baselined key never fails. Deterministic, stdlib + repo imports, ~1s. /pause is documented here, so the slash-command baseline starts empty. contributing.md says what to do when the test fails.
138 lines
4.6 KiB
JSON
138 lines
4.6 KiB
JSON
{
|
|
"config": [
|
|
"agent.build_wait_timeout",
|
|
"agent.coding_context",
|
|
"agent.empty_response_guard.cost_threshold_usd",
|
|
"agent.empty_response_guard.enabled",
|
|
"agent.environment_hint",
|
|
"agent.environment_probe",
|
|
"agent.gateway_notify_interval",
|
|
"agent.gateway_startup_restore_drain_timeout",
|
|
"agent.gateway_startup_warmup_timeout",
|
|
"agent.gateway_timeout_warning",
|
|
"agent.intent_ack_continuation",
|
|
"agent.parallel_tool_call_guidance",
|
|
"agent.reasoning_echo",
|
|
"agent.sanitizer_heal_escalation_threshold",
|
|
"agent.task_completion_guidance",
|
|
"attachments.storage",
|
|
"bot_mode.turn_wait_seconds",
|
|
"browser.allow_unsafe_evaluate",
|
|
"browser.extension_control.developer_mode",
|
|
"compression.abort_on_summary_failure",
|
|
"compression.max_attempts",
|
|
"computer_use.ax_max_elements",
|
|
"computer_use.capture_after_mode",
|
|
"computer_use.max_image_dimension",
|
|
"context.memory_trim.cooldown_seconds",
|
|
"context.memory_trim.enabled",
|
|
"context.memory_trim.info_log_min_delta_mb",
|
|
"context.memory_trim.log_every_n",
|
|
"cron.output_retention",
|
|
"cron.session_db_timeout_seconds",
|
|
"dashboard.compute_host_heartbeat_secs",
|
|
"dashboard.compute_host_respawn_max",
|
|
"database.journal_size_limit",
|
|
"database.wal_autocheckpoint",
|
|
"delegation.inherit_mcp_toolsets",
|
|
"delegation.max_summary_chars",
|
|
"delegation.subagent_auto_approve",
|
|
"desktop.auto_continue.enabled",
|
|
"desktop.auto_continue.freshness_minutes",
|
|
"desktop.auto_continue.max_attempts",
|
|
"desktop.disable_gpu",
|
|
"desktop.password_store",
|
|
"desktop.renderer_accessibility",
|
|
"discord.approval_mentions",
|
|
"discord.dm_role_auth_guild",
|
|
"discord.server_actions",
|
|
"display.battery",
|
|
"display.busy_steer_ack_enabled",
|
|
"display.cli_refresh_interval",
|
|
"display.copy_shortcut",
|
|
"display.ephemeral_system_ttl",
|
|
"display.final_response_markdown",
|
|
"display.friendly_tool_labels",
|
|
"display.inline_diffs",
|
|
"display.persist_prompts",
|
|
"display.persistent_output",
|
|
"display.persistent_output_max_lines",
|
|
"display.platforms.slack.streaming",
|
|
"display.reasoning_full",
|
|
"display.resume_exchanges",
|
|
"display.resume_max_assistant_chars",
|
|
"display.resume_max_assistant_lines",
|
|
"display.resume_max_user_chars",
|
|
"display.resume_skip_tool_only",
|
|
"display.tui_agents_nudge",
|
|
"display.tui_auto_resume_recent",
|
|
"display.tui_native",
|
|
"display.turn_completion_explainer",
|
|
"display.user_message_preview.first_lines",
|
|
"display.user_message_preview.last_lines",
|
|
"doctor.live_probe_timeout",
|
|
"gateway.restart_loop_guard.max_gap_seconds",
|
|
"gateway.restart_loop_guard.max_restarts",
|
|
"gateway.restart_loop_guard.window_seconds",
|
|
"gateway.scale_to_zero.idle_timeout_minutes",
|
|
"kanban.notify_in_gateway",
|
|
"kanban.worker_log_backup_count",
|
|
"kanban.worker_log_rotate_bytes",
|
|
"local_runtime.models_max",
|
|
"local_runtime.port",
|
|
"logging.backup_count",
|
|
"logging.level",
|
|
"logging.max_size_mb",
|
|
"mattermost.free_response_channels",
|
|
"mattermost.require_mention",
|
|
"max_live_sessions",
|
|
"mcp.auto_reload_on_config_change",
|
|
"mcp_discovery_timeout",
|
|
"mcp_single_query_discovery_timeout",
|
|
"moa.active_preset",
|
|
"moa.save_traces",
|
|
"moa.trace_dir",
|
|
"models_dev.url",
|
|
"monitoring.gateway_health_export.diagnostic_events_enabled",
|
|
"monitoring.gateway_health_export.export_interval_seconds",
|
|
"monitoring.gateway_health_export.logs_export_interval_seconds",
|
|
"monitoring.gateway_health_export.metrics_enabled",
|
|
"monitoring.gateway_health_export.resource_attributes.deployment.environment.name",
|
|
"monitoring.gateway_health_export.resource_attributes.service.name",
|
|
"monitoring.gateway_health_export.warning_error_events_enabled",
|
|
"monitoring.install_id",
|
|
"nous.guest",
|
|
"paste_collapse_char_threshold",
|
|
"paste_collapse_threshold",
|
|
"paste_collapse_threshold_fallback",
|
|
"security.acked_advisories",
|
|
"security.protected_instruction_extra_patterns",
|
|
"security.protected_instruction_files",
|
|
"sessions.auto_archive_days",
|
|
"sessions.fts_optimize_notice",
|
|
"sessions.show_subagents",
|
|
"stt.elevenlabs.diarize",
|
|
"stt.elevenlabs.language_code",
|
|
"stt.elevenlabs.model_id",
|
|
"stt.elevenlabs.tag_audio_events",
|
|
"telegram.extra.allow_cjk_rich_messages",
|
|
"telegram.extra.rich_drafts",
|
|
"telegram.extra.rich_messages",
|
|
"telemetry.shared_metrics.endpoint",
|
|
"terminal.daemon_term_grace_seconds",
|
|
"terminal.degraded_mode",
|
|
"terminal.docker_shm_size",
|
|
"terminal.modal_mode",
|
|
"tts.deepinfra.model",
|
|
"tts.deepinfra.voice",
|
|
"updates.refresh_cua_driver",
|
|
"vault.bitwarden.binary_path",
|
|
"vault.onepassword.binary_path",
|
|
"voice.gpt_live.model",
|
|
"voice.thinking_sound",
|
|
"wake_word.sherpa.model_dir",
|
|
"x_search.reasoning_effort"
|
|
],
|
|
"slash_commands": []
|
|
}
|