Files
deepseek-harness/docs/module-graph.md
T
Hypatia May a23a6bdd15 Merge origin/master into codex/status-bar-token-metrics
Resolve the agent-loop import conflict by retaining both durable request context and runtime policy context. Refresh the combined session fixtures and regenerate documentation catalogs. Mark PDF artifacts as binary so staged whitespace checks do not parse PDF bytes as text.
2026-07-31 16:53:03 +08:00

83 KiB

Module dependency graph

Inter-package dependencies among the @deepseek-ai/dsh-* harness packages, derived from each package's peerDependencies (the canonical runtime-dependency signal) and grouped by the packages/<group>/<pkg> hierarchy. An edge a --> b means package a depends on package b. Names have the @deepseek-ai/dsh- prefix stripped.

flowchart TD
  subgraph group_util["packages/util"]
    pkg_atomic_write["atomic-write"]
    pkg_brand["brand"]
    pkg_native_command["native-command"]
    pkg_paths["paths"]
    pkg_retention["retention"]
    pkg_timeout["timeout"]
  end
  subgraph group_llm["packages/llm"]
    pkg_llm["llm"]
    pkg_llm_deepseek["llm-deepseek"]
    pkg_llm_pi_ai["llm-pi-ai"]
    pkg_llm_retry["llm-retry"]
    pkg_token_meter["token-meter"]
  end
  subgraph group_core["packages/core"]
    pkg_agent["agent"]
    pkg_agent_loop["agent-loop"]
    pkg_scope["scope"]
    pkg_session["session"]
    pkg_system_prompt["system-prompt"]
    pkg_tools["tools"]
  end
  subgraph group_goal["packages/goal"]
    pkg_command_goal["command-goal"]
    pkg_goal["goal"]
    pkg_goal_session["goal-session"]
    pkg_tool_goal["tool-goal"]
  end
  subgraph group_bash["packages/bash"]
    pkg_bash["bash"]
    pkg_bash_local["bash-local"]
    pkg_bash_sandbox["bash-sandbox"]
    pkg_tool_bash["tool-bash"]
  end
  subgraph group_fs["packages/fs"]
    pkg_fs["fs"]
    pkg_fs_local["fs-local"]
    pkg_fs_policy["fs-policy"]
    pkg_fs_sandbox["fs-sandbox"]
    pkg_tool_fs["tool-fs"]
    pkg_tool_fs_search["tool-fs-search"]
    pkg_tool_str_replace_editor["tool-str-replace-editor"]
  end
  subgraph group_skill["packages/skill"]
    pkg_skill["skill"]
    pkg_skill_local["skill-local"]
    pkg_tool_skill["tool-skill"]
  end
  subgraph group_compact["packages/compact"]
    pkg_compact["compact"]
    pkg_compact_basic["compact-basic"]
    pkg_compact_tool_result_prune["compact-tool-result-prune"]
  end
  subgraph group_subagent["packages/subagent"]
    pkg_subagent["subagent"]
    pkg_subagent_acp["subagent-acp"]
    pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
    pkg_subagent_fork["subagent-fork"]
    pkg_subagent_inprocess["subagent-inprocess"]
    pkg_subagent_spawn["subagent-spawn"]
    pkg_tool_subagent["tool-subagent"]
  end
  subgraph group_web["packages/web"]
    pkg_tool_web["tool-web"]
    pkg_web["web"]
    pkg_web_fetch_local["web-fetch-local"]
    pkg_web_search_deepseek["web-search-deepseek"]
    pkg_web_search_exa["web-search-exa"]
    pkg_web_search_perplexity["web-search-perplexity"]
  end
  subgraph group_spill["packages/spill"]
    pkg_spill["spill"]
    pkg_spill_local["spill-local"]
    pkg_spill_policy["spill-policy"]
  end
  subgraph group_timeout["packages/timeout"]
    pkg_timeout_policy["timeout-policy"]
  end
  subgraph group_todo["packages/todo"]
    pkg_tool_todo["tool-todo"]
  end
  subgraph group_plan["packages/plan"]
    pkg_plan_mode["plan-mode"]
  end
  subgraph group_cordis["packages/cordis"]
    pkg_tool_cordis["tool-cordis"]
  end
  subgraph group_hooks["packages/hooks"]
    pkg_hook_protocol["hook-protocol"]
    pkg_hooks_claude["hooks-claude"]
    pkg_hooks_codex["hooks-codex"]
  end
  subgraph group_session_persistence["packages/session-persistence"]
    pkg_session_checkpoint_policy["session-checkpoint-policy"]
    pkg_session_persistence["session-persistence"]
    pkg_session_persistence_jsonl["session-persistence-jsonl"]
    pkg_session_persistence_sqlite["session-persistence-sqlite"]
  end
  subgraph group_session_query["packages/session-query"]
    pkg_session_query["session-query"]
    pkg_session_query_sqlite["session-query-sqlite"]
    pkg_tool_session_query["tool-session-query"]
  end
  subgraph group_session_title["packages/session-title"]
    pkg_session_title["session-title"]
    pkg_session_title_all_messages_llm["session-title-all-messages-llm"]
    pkg_session_title_first_message_llm["session-title-first-message-llm"]
    pkg_session_title_llm["session-title-llm"]
  end
  subgraph group_support["packages/support"]
    pkg_acp_snapshot["acp-snapshot"]
    pkg_agent_loop_testkit["agent-loop-testkit"]
    pkg_invariants["invariants"]
    pkg_llm_mock_server["llm-mock-server"]
    pkg_llm_replay["llm-replay"]
    pkg_loader_smoke["loader-smoke"]
  end
  subgraph group_acp["packages/acp"]
    pkg_acp["acp"]
  end
  subgraph group_ui["packages/ui"]
    pkg_app_boot["app-boot"]
    pkg_commands["commands"]
    pkg_jsonrpc["jsonrpc"]
    pkg_permission["permission"]
    pkg_tool_ask_user["tool-ask-user"]
    pkg_tui["tui"]
    pkg_user_approval["user-approval"]
    pkg_user_interaction["user-interaction"]
  end
  subgraph group_client["packages/client"]
    pkg_client_connection["client-connection"]
    pkg_client_hmr["client-hmr"]
    pkg_client_locale["client-locale"]
    pkg_client_modules["client-modules"]
    pkg_client_runtime["client-runtime"]
    pkg_client_schema_form["client-schema-form"]
    pkg_client_test_runtime["client-test-runtime"]
    pkg_client_ui_command["client-ui-command"]
    pkg_client_ui_conversation["client-ui-conversation"]
    pkg_client_ui_goal["client-ui-goal"]
    pkg_client_ui_layout["client-ui-layout"]
    pkg_client_ui_model["client-ui-model"]
    pkg_client_ui_models["client-ui-models"]
    pkg_client_ui_permission["client-ui-permission"]
    pkg_client_ui_plan["client-ui-plan"]
    pkg_client_ui_primitives["client-ui-primitives"]
    pkg_client_ui_question["client-ui-question"]
    pkg_client_ui_settings["client-ui-settings"]
    pkg_client_ui_settings_general["client-ui-settings-general"]
    pkg_client_ui_sidebar["client-ui-sidebar"]
    pkg_client_ui_skill["client-ui-skill"]
    pkg_client_ui_slash["client-ui-slash"]
    pkg_client_ui_slots["client-ui-slots"]
    pkg_client_ui_subagent["client-ui-subagent"]
    pkg_client_ui_theme["client-ui-theme"]
    pkg_client_ui_trajectory["client-ui-trajectory"]
    pkg_client_ui_workspace["client-ui-workspace"]
    pkg_client_web["client-web"]
    pkg_client_web_react["client-web-react"]
  end
  subgraph group_code_runtime["packages/code-runtime"]
    pkg_code_runtime["code-runtime"]
    pkg_code_runtime_worker["code-runtime-worker"]
  end
  subgraph group_context["packages/context"]
    pkg_session_reference["session-reference"]
    pkg_time_context["time-context"]
    pkg_tmux_context["tmux-context"]
    pkg_workspace_context["workspace-context"]
  end
  subgraph group_credentials["packages/credentials"]
    pkg_credentials["credentials"]
    pkg_credentials_local["credentials-local"]
  end
  subgraph group_examples["packages/examples"]
    pkg_acp_demo["acp-demo"]
    pkg_agent_spine_demo["agent-spine-demo"]
    pkg_cli_demo["cli-demo"]
    pkg_jsonrpc_demo["jsonrpc-demo"]
  end
  subgraph group_guard["packages/guard"]
    pkg_repeat_tool_guard["repeat-tool-guard"]
  end
  subgraph group_host["packages/host"]
    pkg_host_apiproxy["host-apiproxy"]
    pkg_host_directory_picker["host-directory-picker"]
    pkg_host_directory_picker_auto["host-directory-picker-auto"]
    pkg_host_directory_picker_browse["host-directory-picker-browse"]
    pkg_host_directory_picker_native["host-directory-picker-native"]
    pkg_host_webserver["host-webserver"]
  end
  subgraph group_lsp["packages/lsp"]
    pkg_lsp["lsp"]
    pkg_lsp_local["lsp-local"]
    pkg_tool_lsp["tool-lsp"]
  end
  subgraph group_mcp["packages/mcp"]
    pkg_mcp_client["mcp-client"]
  end
  subgraph group_pty["packages/pty"]
    pkg_pty["pty"]
    pkg_pty_local["pty-local"]
    pkg_tool_bash_persistent["tool-bash-persistent"]
    pkg_tool_pty["tool-pty"]
  end
  subgraph group_sandbox["packages/sandbox"]
    pkg_sandbox["sandbox"]
    pkg_sandbox_local["sandbox-local"]
    pkg_sandbox_policy["sandbox-policy"]
  end
  subgraph group_sdk["packages/sdk"]
    pkg_helper["helper"]
    pkg_scripts["scripts"]
    pkg_sdk_client["sdk-client"]
    pkg_sdk_protocol["sdk-protocol"]
    pkg_telemetry["telemetry"]
  end
  subgraph group_session_projection["packages/session-projection"]
    pkg_session_projection["session-projection"]
    pkg_session_projection_cache["session-projection-cache"]
  end
  subgraph group_settings["packages/settings"]
    pkg_settings["settings"]
    pkg_settings_local["settings-local"]
  end
  subgraph group_storage["packages/storage"]
    pkg_storage["storage"]
    pkg_storage_domain["storage-domain"]
    pkg_storage_json["storage-json"]
    pkg_storage_sqlite["storage-sqlite"]
  end
  subgraph group_subprocess["packages/subprocess"]
    pkg_subprocess["subprocess"]
    pkg_subprocess_local["subprocess-local"]
  end
  subgraph group_tasks["packages/tasks"]
    pkg_tasks["tasks"]
    pkg_tasks_local["tasks-local"]
    pkg_tool_tasks["tool-tasks"]
  end
  subgraph group_telemetry["packages/telemetry"]
    pkg_session_telemetry["session-telemetry"]
    pkg_session_telemetry_otel["session-telemetry-otel"]
  end
  subgraph group_typert["packages/typert"]
    pkg_typert_generator["typert-generator"]
    pkg_typert_loader["typert-loader"]
    pkg_typert_registry["typert-registry"]
  end
  subgraph group_workflow["packages/workflow"]
    pkg_tool_ralph["tool-ralph"]
    pkg_tool_workflow["tool-workflow"]
    pkg_workflow["workflow"]
    pkg_workflow_workerthread["workflow-workerthread"]
  end
  subgraph group_workspace["packages/workspace"]
    pkg_workspace["workspace"]
  end
  pkg_atomic_write --> pkg_invariants
  pkg_brand --> pkg_invariants
  pkg_native_command --> pkg_invariants
  pkg_paths --> pkg_invariants
  pkg_retention --> pkg_invariants
  pkg_timeout --> pkg_invariants
  pkg_scope --> pkg_invariants
  pkg_skill --> pkg_invariants
  pkg_acp_snapshot --> pkg_invariants
  pkg_llm_mock_server --> pkg_invariants
  pkg_loader_smoke --> pkg_invariants
  pkg_client_modules --> pkg_invariants
  pkg_client_runtime --> pkg_invariants
  pkg_client_schema_form --> pkg_invariants
  pkg_client_ui_primitives --> pkg_invariants
  pkg_client_ui_slots --> pkg_invariants
  pkg_client_web --> pkg_invariants
  pkg_client_web_react --> pkg_invariants
  pkg_code_runtime --> pkg_invariants
  pkg_jsonrpc_demo --> pkg_invariants
  pkg_host_apiproxy --> pkg_invariants
  pkg_host_directory_picker --> pkg_invariants
  pkg_host_webserver --> pkg_invariants
  pkg_storage --> pkg_invariants
  pkg_subprocess --> pkg_invariants
  pkg_typert_generator --> pkg_invariants
  pkg_typert_registry --> pkg_invariants
  pkg_llm --> pkg_brand
  pkg_llm --> pkg_invariants
  pkg_llm --> pkg_timeout
  pkg_client_connection --> pkg_host_webserver
  pkg_client_connection --> pkg_invariants
  pkg_client_hmr --> pkg_client_modules
  pkg_client_hmr --> pkg_host_webserver
  pkg_client_hmr --> pkg_invariants
  pkg_client_locale --> pkg_client_runtime
  pkg_client_locale --> pkg_client_ui_primitives
  pkg_client_locale --> pkg_client_ui_slots
  pkg_client_locale --> pkg_invariants
  pkg_client_test_runtime --> pkg_client_runtime
  pkg_client_test_runtime --> pkg_client_ui_slots
  pkg_client_test_runtime --> pkg_client_web_react
  pkg_client_test_runtime --> pkg_host_apiproxy
  pkg_client_test_runtime --> pkg_invariants
  pkg_client_ui_settings --> pkg_client_runtime
  pkg_client_ui_settings --> pkg_client_ui_primitives
  pkg_client_ui_settings --> pkg_client_ui_slots
  pkg_client_ui_settings --> pkg_invariants
  pkg_client_ui_trajectory --> pkg_client_ui_primitives
  pkg_client_ui_trajectory --> pkg_invariants
  pkg_credentials --> pkg_brand
  pkg_credentials --> pkg_invariants
  pkg_helper --> pkg_brand
  pkg_helper --> pkg_invariants
  pkg_helper --> pkg_subprocess
  pkg_telemetry --> pkg_brand
  pkg_telemetry --> pkg_invariants
  pkg_telemetry --> pkg_paths
  pkg_settings --> pkg_brand
  pkg_settings --> pkg_invariants
  pkg_storage_domain --> pkg_invariants
  pkg_storage_domain --> pkg_storage
  pkg_storage_json --> pkg_invariants
  pkg_storage_json --> pkg_storage
  pkg_storage_sqlite --> pkg_invariants
  pkg_storage_sqlite --> pkg_storage
  pkg_subprocess_local --> pkg_invariants
  pkg_subprocess_local --> pkg_subprocess
  pkg_typert_loader --> pkg_invariants
  pkg_typert_loader --> pkg_typert_registry
  pkg_llm_deepseek --> pkg_credentials
  pkg_llm_deepseek --> pkg_invariants
  pkg_llm_deepseek --> pkg_llm
  pkg_llm_deepseek --> pkg_settings
  pkg_llm_deepseek --> pkg_timeout
  pkg_llm_pi_ai --> pkg_credentials
  pkg_llm_pi_ai --> pkg_invariants
  pkg_llm_pi_ai --> pkg_llm
  pkg_llm_pi_ai --> pkg_settings
  pkg_llm_pi_ai --> pkg_timeout
  pkg_session --> pkg_brand
  pkg_session --> pkg_invariants
  pkg_session --> pkg_llm
  pkg_session --> pkg_scope
  pkg_system_prompt --> pkg_invariants
  pkg_system_prompt --> pkg_llm
  pkg_system_prompt --> pkg_scope
  pkg_web --> pkg_invariants
  pkg_web --> pkg_llm
  pkg_client_ui_models --> pkg_client_connection
  pkg_client_ui_models --> pkg_client_runtime
  pkg_client_ui_models --> pkg_client_schema_form
  pkg_client_ui_models --> pkg_client_ui_primitives
  pkg_client_ui_models --> pkg_client_ui_slots
  pkg_client_ui_models --> pkg_client_web_react
  pkg_client_ui_models --> pkg_invariants
  pkg_client_ui_question --> pkg_client_locale
  pkg_client_ui_question --> pkg_invariants
  pkg_client_ui_settings_general --> pkg_client_connection
  pkg_client_ui_settings_general --> pkg_client_locale
  pkg_client_ui_settings_general --> pkg_client_runtime
  pkg_client_ui_settings_general --> pkg_client_ui_primitives
  pkg_client_ui_settings_general --> pkg_client_ui_settings
  pkg_client_ui_settings_general --> pkg_client_ui_slots
  pkg_client_ui_settings_general --> pkg_client_web_react
  pkg_client_ui_settings_general --> pkg_invariants
  pkg_client_ui_sidebar --> pkg_client_locale
  pkg_client_ui_sidebar --> pkg_client_runtime
  pkg_client_ui_sidebar --> pkg_client_ui_primitives
  pkg_client_ui_sidebar --> pkg_client_ui_slots
  pkg_client_ui_sidebar --> pkg_invariants
  pkg_client_ui_slash --> pkg_client_locale
  pkg_client_ui_slash --> pkg_client_runtime
  pkg_client_ui_slash --> pkg_client_ui_primitives
  pkg_client_ui_slash --> pkg_client_ui_slots
  pkg_client_ui_slash --> pkg_invariants
  pkg_client_ui_theme --> pkg_client_locale
  pkg_client_ui_theme --> pkg_client_runtime
  pkg_client_ui_theme --> pkg_client_ui_primitives
  pkg_client_ui_theme --> pkg_client_ui_slots
  pkg_client_ui_theme --> pkg_invariants
  pkg_client_ui_workspace --> pkg_client_locale
  pkg_client_ui_workspace --> pkg_client_runtime
  pkg_client_ui_workspace --> pkg_client_ui_primitives
  pkg_client_ui_workspace --> pkg_client_ui_slots
  pkg_client_ui_workspace --> pkg_invariants
  pkg_credentials_local --> pkg_atomic_write
  pkg_credentials_local --> pkg_credentials
  pkg_credentials_local --> pkg_invariants
  pkg_credentials_local --> pkg_paths
  pkg_lsp --> pkg_brand
  pkg_lsp --> pkg_invariants
  pkg_lsp --> pkg_llm
  pkg_sandbox --> pkg_invariants
  pkg_sandbox --> pkg_llm
  pkg_settings_local --> pkg_atomic_write
  pkg_settings_local --> pkg_invariants
  pkg_settings_local --> pkg_paths
  pkg_settings_local --> pkg_settings
  pkg_agent --> pkg_brand
  pkg_agent --> pkg_invariants
  pkg_agent --> pkg_llm
  pkg_agent --> pkg_scope
  pkg_agent --> pkg_session
  pkg_agent --> pkg_system_prompt
  pkg_bash --> pkg_invariants
  pkg_bash --> pkg_sandbox
  pkg_bash --> pkg_subprocess
  pkg_fs --> pkg_brand
  pkg_fs --> pkg_invariants
  pkg_fs --> pkg_llm
  pkg_fs --> pkg_sandbox
  pkg_compact --> pkg_invariants
  pkg_compact --> pkg_llm
  pkg_compact --> pkg_session
  pkg_compact_tool_result_prune --> pkg_invariants
  pkg_compact_tool_result_prune --> pkg_llm
  pkg_compact_tool_result_prune --> pkg_session
  pkg_web_fetch_local --> pkg_invariants
  pkg_web_fetch_local --> pkg_timeout
  pkg_web_fetch_local --> pkg_web
  pkg_web_search_exa --> pkg_invariants
  pkg_web_search_exa --> pkg_web
  pkg_web_search_perplexity --> pkg_invariants
  pkg_web_search_perplexity --> pkg_web
  pkg_spill --> pkg_brand
  pkg_spill --> pkg_invariants
  pkg_spill --> pkg_llm
  pkg_spill --> pkg_session
  pkg_session_persistence --> pkg_brand
  pkg_session_persistence --> pkg_invariants
  pkg_session_persistence --> pkg_session
  pkg_llm_replay --> pkg_invariants
  pkg_llm_replay --> pkg_llm
  pkg_llm_replay --> pkg_session
  pkg_app_boot --> pkg_invariants
  pkg_app_boot --> pkg_paths
  pkg_app_boot --> pkg_system_prompt
  pkg_client_ui_layout --> pkg_client_runtime
  pkg_client_ui_layout --> pkg_client_ui_slots
  pkg_client_ui_layout --> pkg_client_ui_theme
  pkg_client_ui_layout --> pkg_invariants
  pkg_client_ui_skill --> pkg_client_connection
  pkg_client_ui_skill --> pkg_client_runtime
  pkg_client_ui_skill --> pkg_client_ui_slash
  pkg_client_ui_skill --> pkg_client_ui_slots
  pkg_client_ui_skill --> pkg_invariants
  pkg_client_ui_subagent --> pkg_client_runtime
  pkg_client_ui_subagent --> pkg_client_ui_slash
  pkg_client_ui_subagent --> pkg_client_ui_slots
  pkg_client_ui_subagent --> pkg_invariants
  pkg_code_runtime_worker --> pkg_code_runtime
  pkg_code_runtime_worker --> pkg_invariants
  pkg_code_runtime_worker --> pkg_session
  pkg_code_runtime_worker --> pkg_timeout
  pkg_host_directory_picker_browse --> pkg_client_locale
  pkg_host_directory_picker_browse --> pkg_client_runtime
  pkg_host_directory_picker_browse --> pkg_client_ui_primitives
  pkg_host_directory_picker_browse --> pkg_client_ui_slots
  pkg_host_directory_picker_browse --> pkg_client_ui_workspace
  pkg_host_directory_picker_browse --> pkg_invariants
  pkg_host_directory_picker_native --> pkg_client_runtime
  pkg_host_directory_picker_native --> pkg_client_ui_slots
  pkg_host_directory_picker_native --> pkg_client_ui_workspace
  pkg_host_directory_picker_native --> pkg_invariants
  pkg_lsp_local --> pkg_brand
  pkg_lsp_local --> pkg_invariants
  pkg_lsp_local --> pkg_llm
  pkg_lsp_local --> pkg_lsp
  pkg_lsp_local --> pkg_subprocess
  pkg_lsp_local --> pkg_timeout
  pkg_sandbox_local --> pkg_invariants
  pkg_sandbox_local --> pkg_llm
  pkg_sandbox_local --> pkg_sandbox
  pkg_session_projection --> pkg_invariants
  pkg_session_projection --> pkg_session
  pkg_llm_retry --> pkg_agent
  pkg_llm_retry --> pkg_invariants
  pkg_llm_retry --> pkg_llm
  pkg_llm_retry --> pkg_session
  pkg_llm_retry --> pkg_timeout
  pkg_token_meter --> pkg_invariants
  pkg_token_meter --> pkg_llm
  pkg_token_meter --> pkg_session
  pkg_token_meter --> pkg_session_projection
  pkg_goal --> pkg_agent
  pkg_goal --> pkg_brand
  pkg_goal --> pkg_invariants
  pkg_goal --> pkg_llm
  pkg_goal --> pkg_scope
  pkg_goal --> pkg_session
  pkg_goal --> pkg_session_projection
  pkg_bash_local --> pkg_bash
  pkg_bash_local --> pkg_invariants
  pkg_bash_local --> pkg_subprocess
  pkg_bash_local --> pkg_timeout
  pkg_fs_local --> pkg_fs
  pkg_fs_local --> pkg_invariants
  pkg_fs_policy --> pkg_fs
  pkg_fs_policy --> pkg_invariants
  pkg_skill_local --> pkg_fs
  pkg_skill_local --> pkg_invariants
  pkg_skill_local --> pkg_paths
  pkg_skill_local --> pkg_skill
  pkg_web_search_deepseek --> pkg_agent
  pkg_web_search_deepseek --> pkg_credentials
  pkg_web_search_deepseek --> pkg_invariants
  pkg_web_search_deepseek --> pkg_session
  pkg_web_search_deepseek --> pkg_web
  pkg_spill_local --> pkg_invariants
  pkg_spill_local --> pkg_spill
  pkg_hook_protocol --> pkg_bash
  pkg_hook_protocol --> pkg_invariants
  pkg_hook_protocol --> pkg_session
  pkg_session_persistence_jsonl --> pkg_invariants
  pkg_session_persistence_jsonl --> pkg_session
  pkg_session_persistence_jsonl --> pkg_session_persistence
  pkg_session_persistence_sqlite --> pkg_invariants
  pkg_session_persistence_sqlite --> pkg_session
  pkg_session_persistence_sqlite --> pkg_session_persistence
  pkg_session_title --> pkg_brand
  pkg_session_title --> pkg_invariants
  pkg_session_title --> pkg_llm
  pkg_session_title --> pkg_session
  pkg_session_title --> pkg_session_projection
  pkg_commands --> pkg_agent
  pkg_commands --> pkg_brand
  pkg_commands --> pkg_invariants
  pkg_commands --> pkg_scope
  pkg_commands --> pkg_session
  pkg_user_approval --> pkg_agent
  pkg_user_approval --> pkg_brand
  pkg_user_approval --> pkg_invariants
  pkg_user_approval --> pkg_llm
  pkg_user_approval --> pkg_scope
  pkg_user_approval --> pkg_session
  pkg_user_approval --> pkg_system_prompt
  pkg_user_interaction --> pkg_agent
  pkg_user_interaction --> pkg_invariants
  pkg_user_interaction --> pkg_llm
  pkg_time_context --> pkg_agent
  pkg_time_context --> pkg_invariants
  pkg_time_context --> pkg_session
  pkg_tmux_context --> pkg_agent
  pkg_tmux_context --> pkg_bash
  pkg_tmux_context --> pkg_invariants
  pkg_tmux_context --> pkg_session
  pkg_host_directory_picker_auto --> pkg_host_directory_picker_browse
  pkg_host_directory_picker_auto --> pkg_host_directory_picker_native
  pkg_host_directory_picker_auto --> pkg_host_webserver
  pkg_host_directory_picker_auto --> pkg_invariants
  pkg_pty --> pkg_agent
  pkg_pty --> pkg_brand
  pkg_pty --> pkg_invariants
  pkg_sandbox_policy --> pkg_agent
  pkg_sandbox_policy --> pkg_invariants
  pkg_sandbox_policy --> pkg_sandbox
  pkg_sandbox_policy --> pkg_session
  pkg_sandbox_policy --> pkg_system_prompt
  pkg_scripts --> pkg_app_boot
  pkg_scripts --> pkg_invariants
  pkg_session_projection_cache --> pkg_invariants
  pkg_session_projection_cache --> pkg_session
  pkg_session_projection_cache --> pkg_session_persistence
  pkg_session_projection_cache --> pkg_session_projection
  pkg_session_projection_cache --> pkg_storage_domain
  pkg_tasks --> pkg_agent
  pkg_tasks --> pkg_brand
  pkg_tasks --> pkg_invariants
  pkg_tasks --> pkg_session
  pkg_session_telemetry --> pkg_agent
  pkg_session_telemetry --> pkg_invariants
  pkg_session_telemetry --> pkg_session
  pkg_workflow --> pkg_agent
  pkg_workflow --> pkg_brand
  pkg_workflow --> pkg_invariants
  pkg_workflow --> pkg_llm
  pkg_workflow --> pkg_session
  pkg_workspace --> pkg_brand
  pkg_workspace --> pkg_invariants
  pkg_workspace --> pkg_session
  pkg_workspace --> pkg_session_persistence
  pkg_workspace --> pkg_storage
  pkg_workspace --> pkg_storage_domain
  pkg_tools --> pkg_agent
  pkg_tools --> pkg_code_runtime
  pkg_tools --> pkg_invariants
  pkg_tools --> pkg_llm
  pkg_tools --> pkg_scope
  pkg_tools --> pkg_session
  pkg_tools --> pkg_system_prompt
  pkg_tools --> pkg_user_approval
  pkg_command_goal --> pkg_commands
  pkg_command_goal --> pkg_goal
  pkg_command_goal --> pkg_invariants
  pkg_goal_session --> pkg_agent
  pkg_goal_session --> pkg_goal
  pkg_goal_session --> pkg_invariants
  pkg_goal_session --> pkg_llm
  pkg_goal_session --> pkg_session
  pkg_bash_sandbox --> pkg_bash
  pkg_bash_sandbox --> pkg_bash_local
  pkg_bash_sandbox --> pkg_invariants
  pkg_bash_sandbox --> pkg_sandbox
  pkg_bash_sandbox --> pkg_sandbox_policy
  pkg_fs_sandbox --> pkg_fs
  pkg_fs_sandbox --> pkg_fs_local
  pkg_fs_sandbox --> pkg_invariants
  pkg_fs_sandbox --> pkg_sandbox
  pkg_fs_sandbox --> pkg_sandbox_policy
  pkg_compact_basic --> pkg_agent
  pkg_compact_basic --> pkg_compact
  pkg_compact_basic --> pkg_compact_tool_result_prune
  pkg_compact_basic --> pkg_invariants
  pkg_compact_basic --> pkg_llm
  pkg_compact_basic --> pkg_session
  pkg_compact_basic --> pkg_token_meter
  pkg_session_query --> pkg_brand
  pkg_session_query --> pkg_invariants
  pkg_session_query --> pkg_llm
  pkg_session_query --> pkg_session
  pkg_session_query --> pkg_session_persistence
  pkg_session_query --> pkg_session_title
  pkg_session_title_llm --> pkg_invariants
  pkg_session_title_llm --> pkg_llm
  pkg_session_title_llm --> pkg_session
  pkg_session_title_llm --> pkg_session_title
  pkg_session_title_llm --> pkg_timeout
  pkg_acp --> pkg_agent
  pkg_acp --> pkg_invariants
  pkg_acp --> pkg_session
  pkg_acp --> pkg_user_approval
  pkg_permission --> pkg_bash
  pkg_permission --> pkg_commands
  pkg_permission --> pkg_invariants
  pkg_permission --> pkg_sandbox
  pkg_permission --> pkg_sandbox_policy
  pkg_permission --> pkg_session
  pkg_permission --> pkg_session_projection
  pkg_permission --> pkg_settings
  pkg_permission --> pkg_user_approval
  pkg_client_ui_conversation --> pkg_client_locale
  pkg_client_ui_conversation --> pkg_client_runtime
  pkg_client_ui_conversation --> pkg_client_ui_primitives
  pkg_client_ui_conversation --> pkg_client_ui_slash
  pkg_client_ui_conversation --> pkg_client_ui_slots
  pkg_client_ui_conversation --> pkg_invariants
  pkg_client_ui_conversation --> pkg_token_meter
  pkg_pty_local --> pkg_agent
  pkg_pty_local --> pkg_invariants
  pkg_pty_local --> pkg_pty
  pkg_pty_local --> pkg_sandbox
  pkg_pty_local --> pkg_sandbox_policy
  pkg_pty_local --> pkg_session
  pkg_pty_local --> pkg_subprocess
  pkg_tasks_local --> pkg_agent
  pkg_tasks_local --> pkg_invariants
  pkg_tasks_local --> pkg_tasks
  pkg_tasks_local --> pkg_timeout
  pkg_session_telemetry_otel --> pkg_brand
  pkg_session_telemetry_otel --> pkg_invariants
  pkg_session_telemetry_otel --> pkg_llm
  pkg_session_telemetry_otel --> pkg_paths
  pkg_session_telemetry_otel --> pkg_session
  pkg_session_telemetry_otel --> pkg_session_telemetry
  pkg_agent_loop --> pkg_agent
  pkg_agent_loop --> pkg_invariants
  pkg_agent_loop --> pkg_llm
  pkg_agent_loop --> pkg_scope
  pkg_agent_loop --> pkg_session
  pkg_agent_loop --> pkg_session_persistence
  pkg_agent_loop --> pkg_system_prompt
  pkg_agent_loop --> pkg_tools
  pkg_tool_goal --> pkg_agent
  pkg_tool_goal --> pkg_goal
  pkg_tool_goal --> pkg_invariants
  pkg_tool_goal --> pkg_llm
  pkg_tool_goal --> pkg_session
  pkg_tool_goal --> pkg_system_prompt
  pkg_tool_goal --> pkg_tools
  pkg_tool_bash --> pkg_agent
  pkg_tool_bash --> pkg_bash
  pkg_tool_bash --> pkg_invariants
  pkg_tool_bash --> pkg_llm
  pkg_tool_bash --> pkg_paths
  pkg_tool_bash --> pkg_sandbox
  pkg_tool_bash --> pkg_sandbox_policy
  pkg_tool_bash --> pkg_session_persistence
  pkg_tool_bash --> pkg_system_prompt
  pkg_tool_bash --> pkg_tasks
  pkg_tool_bash --> pkg_tools
  pkg_tool_bash --> pkg_user_approval
  pkg_tool_fs --> pkg_fs
  pkg_tool_fs --> pkg_invariants
  pkg_tool_fs --> pkg_llm
  pkg_tool_fs --> pkg_sandbox
  pkg_tool_fs --> pkg_sandbox_policy
  pkg_tool_fs --> pkg_session
  pkg_tool_fs --> pkg_system_prompt
  pkg_tool_fs --> pkg_tools
  pkg_tool_fs --> pkg_user_approval
  pkg_tool_fs_search --> pkg_bash
  pkg_tool_fs_search --> pkg_invariants
  pkg_tool_fs_search --> pkg_llm
  pkg_tool_fs_search --> pkg_retention
  pkg_tool_fs_search --> pkg_session
  pkg_tool_fs_search --> pkg_spill
  pkg_tool_fs_search --> pkg_system_prompt
  pkg_tool_fs_search --> pkg_tools
  pkg_tool_str_replace_editor --> pkg_fs
  pkg_tool_str_replace_editor --> pkg_invariants
  pkg_tool_str_replace_editor --> pkg_sandbox
  pkg_tool_str_replace_editor --> pkg_sandbox_policy
  pkg_tool_str_replace_editor --> pkg_tools
  pkg_tool_skill --> pkg_agent
  pkg_tool_skill --> pkg_invariants
  pkg_tool_skill --> pkg_llm
  pkg_tool_skill --> pkg_skill
  pkg_tool_skill --> pkg_tools
  pkg_subagent --> pkg_agent
  pkg_subagent --> pkg_brand
  pkg_subagent --> pkg_invariants
  pkg_subagent --> pkg_llm
  pkg_subagent --> pkg_scope
  pkg_subagent --> pkg_session
  pkg_subagent --> pkg_tools
  pkg_tool_web --> pkg_invariants
  pkg_tool_web --> pkg_llm
  pkg_tool_web --> pkg_system_prompt
  pkg_tool_web --> pkg_tools
  pkg_tool_web --> pkg_web
  pkg_spill_policy --> pkg_invariants
  pkg_spill_policy --> pkg_llm
  pkg_spill_policy --> pkg_retention
  pkg_spill_policy --> pkg_session
  pkg_spill_policy --> pkg_spill
  pkg_spill_policy --> pkg_tools
  pkg_timeout_policy --> pkg_invariants
  pkg_timeout_policy --> pkg_llm
  pkg_timeout_policy --> pkg_timeout
  pkg_timeout_policy --> pkg_tools
  pkg_tool_todo --> pkg_agent
  pkg_tool_todo --> pkg_invariants
  pkg_tool_todo --> pkg_session
  pkg_tool_todo --> pkg_session_projection
  pkg_tool_todo --> pkg_tools
  pkg_plan_mode --> pkg_agent
  pkg_plan_mode --> pkg_commands
  pkg_plan_mode --> pkg_invariants
  pkg_plan_mode --> pkg_llm
  pkg_plan_mode --> pkg_session
  pkg_plan_mode --> pkg_session_projection
  pkg_plan_mode --> pkg_system_prompt
  pkg_plan_mode --> pkg_tools
  pkg_plan_mode --> pkg_user_interaction
  pkg_tool_cordis --> pkg_invariants
  pkg_tool_cordis --> pkg_scope
  pkg_tool_cordis --> pkg_tools
  pkg_hooks_codex --> pkg_agent
  pkg_hooks_codex --> pkg_hook_protocol
  pkg_hooks_codex --> pkg_invariants
  pkg_hooks_codex --> pkg_llm
  pkg_hooks_codex --> pkg_session
  pkg_hooks_codex --> pkg_session_persistence
  pkg_hooks_codex --> pkg_tools
  pkg_session_checkpoint_policy --> pkg_agent
  pkg_session_checkpoint_policy --> pkg_invariants
  pkg_session_checkpoint_policy --> pkg_llm
  pkg_session_checkpoint_policy --> pkg_session
  pkg_session_checkpoint_policy --> pkg_session_persistence
  pkg_session_checkpoint_policy --> pkg_tools
  pkg_session_query_sqlite --> pkg_invariants
  pkg_session_query_sqlite --> pkg_session
  pkg_session_query_sqlite --> pkg_session_persistence
  pkg_session_query_sqlite --> pkg_session_query
  pkg_tool_session_query --> pkg_invariants
  pkg_tool_session_query --> pkg_llm
  pkg_tool_session_query --> pkg_session
  pkg_tool_session_query --> pkg_session_query
  pkg_tool_session_query --> pkg_system_prompt
  pkg_tool_session_query --> pkg_timeout
  pkg_tool_session_query --> pkg_tools
  pkg_session_title_all_messages_llm --> pkg_invariants
  pkg_session_title_all_messages_llm --> pkg_llm
  pkg_session_title_all_messages_llm --> pkg_session
  pkg_session_title_all_messages_llm --> pkg_session_title
  pkg_session_title_all_messages_llm --> pkg_session_title_llm
  pkg_session_title_first_message_llm --> pkg_invariants
  pkg_session_title_first_message_llm --> pkg_llm
  pkg_session_title_first_message_llm --> pkg_session
  pkg_session_title_first_message_llm --> pkg_session_title
  pkg_session_title_first_message_llm --> pkg_session_title_llm
  pkg_agent_loop_testkit --> pkg_agent
  pkg_agent_loop_testkit --> pkg_invariants
  pkg_agent_loop_testkit --> pkg_llm
  pkg_agent_loop_testkit --> pkg_session
  pkg_agent_loop_testkit --> pkg_system_prompt
  pkg_agent_loop_testkit --> pkg_tools
  pkg_tool_ask_user --> pkg_agent
  pkg_tool_ask_user --> pkg_invariants
  pkg_tool_ask_user --> pkg_tools
  pkg_tool_ask_user --> pkg_user_interaction
  pkg_client_ui_command --> pkg_client_connection
  pkg_client_ui_command --> pkg_client_locale
  pkg_client_ui_command --> pkg_client_runtime
  pkg_client_ui_command --> pkg_client_ui_conversation
  pkg_client_ui_command --> pkg_client_ui_primitives
  pkg_client_ui_command --> pkg_client_ui_slash
  pkg_client_ui_command --> pkg_client_ui_slots
  pkg_client_ui_command --> pkg_invariants
  pkg_client_ui_goal --> pkg_client_connection
  pkg_client_ui_goal --> pkg_client_locale
  pkg_client_ui_goal --> pkg_client_runtime
  pkg_client_ui_goal --> pkg_client_ui_conversation
  pkg_client_ui_goal --> pkg_client_ui_primitives
  pkg_client_ui_goal --> pkg_client_ui_slots
  pkg_client_ui_goal --> pkg_goal
  pkg_client_ui_goal --> pkg_invariants
  pkg_session_reference --> pkg_agent
  pkg_session_reference --> pkg_compact
  pkg_session_reference --> pkg_invariants
  pkg_session_reference --> pkg_llm
  pkg_session_reference --> pkg_retention
  pkg_session_reference --> pkg_session
  pkg_session_reference --> pkg_session_query
  pkg_workspace_context --> pkg_agent
  pkg_workspace_context --> pkg_fs
  pkg_workspace_context --> pkg_invariants
  pkg_workspace_context --> pkg_llm
  pkg_workspace_context --> pkg_paths
  pkg_workspace_context --> pkg_session
  pkg_workspace_context --> pkg_tools
  pkg_repeat_tool_guard --> pkg_agent
  pkg_repeat_tool_guard --> pkg_invariants
  pkg_repeat_tool_guard --> pkg_tools
  pkg_tool_lsp --> pkg_invariants
  pkg_tool_lsp --> pkg_llm
  pkg_tool_lsp --> pkg_lsp
  pkg_tool_lsp --> pkg_system_prompt
  pkg_tool_lsp --> pkg_timeout
  pkg_tool_lsp --> pkg_tools
  pkg_mcp_client --> pkg_invariants
  pkg_mcp_client --> pkg_llm
  pkg_mcp_client --> pkg_subprocess
  pkg_mcp_client --> pkg_tools
  pkg_tool_bash_persistent --> pkg_agent
  pkg_tool_bash_persistent --> pkg_invariants
  pkg_tool_bash_persistent --> pkg_pty
  pkg_tool_bash_persistent --> pkg_timeout
  pkg_tool_bash_persistent --> pkg_tools
  pkg_tool_pty --> pkg_agent
  pkg_tool_pty --> pkg_invariants
  pkg_tool_pty --> pkg_llm
  pkg_tool_pty --> pkg_pty
  pkg_tool_pty --> pkg_retention
  pkg_tool_pty --> pkg_system_prompt
  pkg_tool_pty --> pkg_tasks
  pkg_tool_pty --> pkg_tools
  pkg_tool_tasks --> pkg_agent
  pkg_tool_tasks --> pkg_invariants
  pkg_tool_tasks --> pkg_llm
  pkg_tool_tasks --> pkg_retention
  pkg_tool_tasks --> pkg_system_prompt
  pkg_tool_tasks --> pkg_tasks
  pkg_tool_tasks --> pkg_tools
  pkg_tool_workflow --> pkg_agent
  pkg_tool_workflow --> pkg_invariants
  pkg_tool_workflow --> pkg_llm
  pkg_tool_workflow --> pkg_system_prompt
  pkg_tool_workflow --> pkg_tools
  pkg_tool_workflow --> pkg_workflow
  pkg_subagent_acp --> pkg_agent
  pkg_subagent_acp --> pkg_invariants
  pkg_subagent_acp --> pkg_llm
  pkg_subagent_acp --> pkg_session
  pkg_subagent_acp --> pkg_subagent
  pkg_subagent_acp --> pkg_subprocess
  pkg_subagent_inprocess --> pkg_agent
  pkg_subagent_inprocess --> pkg_invariants
  pkg_subagent_inprocess --> pkg_llm
  pkg_subagent_inprocess --> pkg_sandbox_policy
  pkg_subagent_inprocess --> pkg_session
  pkg_subagent_inprocess --> pkg_subagent
  pkg_subagent_inprocess --> pkg_system_prompt
  pkg_subagent_inprocess --> pkg_tools
  pkg_subagent_inprocess --> pkg_user_approval
  pkg_tool_subagent --> pkg_agent
  pkg_tool_subagent --> pkg_invariants
  pkg_tool_subagent --> pkg_llm
  pkg_tool_subagent --> pkg_subagent
  pkg_tool_subagent --> pkg_tasks
  pkg_tool_subagent --> pkg_tools
  pkg_hooks_claude --> pkg_agent
  pkg_hooks_claude --> pkg_hook_protocol
  pkg_hooks_claude --> pkg_invariants
  pkg_hooks_claude --> pkg_llm
  pkg_hooks_claude --> pkg_session
  pkg_hooks_claude --> pkg_session_persistence
  pkg_hooks_claude --> pkg_subagent
  pkg_hooks_claude --> pkg_tools
  pkg_tui --> pkg_agent
  pkg_tui --> pkg_agent_loop
  pkg_tui --> pkg_commands
  pkg_tui --> pkg_compact
  pkg_tui --> pkg_goal
  pkg_tui --> pkg_invariants
  pkg_tui --> pkg_llm
  pkg_tui --> pkg_llm_retry
  pkg_tui --> pkg_session
  pkg_tui --> pkg_session_persistence
  pkg_tui --> pkg_session_query
  pkg_tui --> pkg_session_reference
  pkg_tui --> pkg_session_title
  pkg_tui --> pkg_skill
  pkg_tui --> pkg_subprocess
  pkg_tui --> pkg_system_prompt
  pkg_tui --> pkg_token_meter
  pkg_tui --> pkg_tools
  pkg_tui --> pkg_user_interaction
  pkg_client_ui_model --> pkg_client_connection
  pkg_client_ui_model --> pkg_client_locale
  pkg_client_ui_model --> pkg_client_runtime
  pkg_client_ui_model --> pkg_client_ui_command
  pkg_client_ui_model --> pkg_client_ui_conversation
  pkg_client_ui_model --> pkg_client_ui_primitives
  pkg_client_ui_model --> pkg_client_ui_slash
  pkg_client_ui_model --> pkg_client_ui_slots
  pkg_client_ui_model --> pkg_invariants
  pkg_client_ui_permission --> pkg_client_connection
  pkg_client_ui_permission --> pkg_client_locale
  pkg_client_ui_permission --> pkg_client_runtime
  pkg_client_ui_permission --> pkg_client_schema_form
  pkg_client_ui_permission --> pkg_client_ui_command
  pkg_client_ui_permission --> pkg_client_ui_primitives
  pkg_client_ui_permission --> pkg_client_ui_slash
  pkg_client_ui_permission --> pkg_client_ui_slots
  pkg_client_ui_permission --> pkg_invariants
  pkg_client_ui_permission --> pkg_permission
  pkg_client_ui_plan --> pkg_client_connection
  pkg_client_ui_plan --> pkg_client_locale
  pkg_client_ui_plan --> pkg_client_runtime
  pkg_client_ui_plan --> pkg_client_ui_conversation
  pkg_client_ui_plan --> pkg_client_ui_primitives
  pkg_client_ui_plan --> pkg_client_ui_slots
  pkg_client_ui_plan --> pkg_invariants
  pkg_client_ui_plan --> pkg_plan_mode
  pkg_agent_spine_demo --> pkg_agent
  pkg_agent_spine_demo --> pkg_agent_loop
  pkg_agent_spine_demo --> pkg_goal
  pkg_agent_spine_demo --> pkg_goal_session
  pkg_agent_spine_demo --> pkg_invariants
  pkg_agent_spine_demo --> pkg_llm
  pkg_agent_spine_demo --> pkg_llm_retry
  pkg_agent_spine_demo --> pkg_paths
  pkg_agent_spine_demo --> pkg_scope
  pkg_agent_spine_demo --> pkg_session
  pkg_agent_spine_demo --> pkg_session_title
  pkg_agent_spine_demo --> pkg_skill
  pkg_agent_spine_demo --> pkg_skill_local
  pkg_agent_spine_demo --> pkg_system_prompt
  pkg_agent_spine_demo --> pkg_tasks_local
  pkg_agent_spine_demo --> pkg_tool_bash
  pkg_agent_spine_demo --> pkg_tool_goal
  pkg_agent_spine_demo --> pkg_tool_skill
  pkg_agent_spine_demo --> pkg_tool_tasks
  pkg_agent_spine_demo --> pkg_tools
  pkg_agent_spine_demo --> pkg_workspace_context
  pkg_sdk_protocol --> pkg_invariants
  pkg_sdk_protocol --> pkg_llm
  pkg_sdk_protocol --> pkg_session
  pkg_sdk_protocol --> pkg_subagent
  pkg_tool_ralph --> pkg_agent
  pkg_tool_ralph --> pkg_invariants
  pkg_tool_ralph --> pkg_llm
  pkg_tool_ralph --> pkg_subagent
  pkg_tool_ralph --> pkg_system_prompt
  pkg_tool_ralph --> pkg_tools
  pkg_tool_ralph --> pkg_workflow
  pkg_workflow_workerthread --> pkg_agent
  pkg_workflow_workerthread --> pkg_brand
  pkg_workflow_workerthread --> pkg_invariants
  pkg_workflow_workerthread --> pkg_llm
  pkg_workflow_workerthread --> pkg_session
  pkg_workflow_workerthread --> pkg_subagent
  pkg_workflow_workerthread --> pkg_tools
  pkg_workflow_workerthread --> pkg_workflow
  pkg_subagent_fork --> pkg_agent
  pkg_subagent_fork --> pkg_invariants
  pkg_subagent_fork --> pkg_session
  pkg_subagent_fork --> pkg_subagent
  pkg_subagent_fork --> pkg_subagent_inprocess
  pkg_subagent_spawn --> pkg_invariants
  pkg_subagent_spawn --> pkg_subagent
  pkg_subagent_spawn --> pkg_subagent_inprocess
  pkg_jsonrpc --> pkg_agent
  pkg_jsonrpc --> pkg_invariants
  pkg_jsonrpc --> pkg_llm
  pkg_jsonrpc --> pkg_llm_deepseek
  pkg_jsonrpc --> pkg_scope
  pkg_jsonrpc --> pkg_sdk_protocol
  pkg_jsonrpc --> pkg_session
  pkg_jsonrpc --> pkg_subagent
  pkg_acp_demo --> pkg_acp
  pkg_acp_demo --> pkg_agent_spine_demo
  pkg_acp_demo --> pkg_app_boot
  pkg_acp_demo --> pkg_invariants
  pkg_acp_demo --> pkg_session_checkpoint_policy
  pkg_acp_demo --> pkg_session_persistence_jsonl
  pkg_acp_demo --> pkg_session_query
  pkg_acp_demo --> pkg_session_query_sqlite
  pkg_acp_demo --> pkg_tools
  pkg_acp_demo --> pkg_workspace_context
  pkg_cli_demo --> pkg_agent
  pkg_cli_demo --> pkg_agent_spine_demo
  pkg_cli_demo --> pkg_app_boot
  pkg_cli_demo --> pkg_invariants
  pkg_cli_demo --> pkg_llm
  pkg_cli_demo --> pkg_session
  pkg_cli_demo --> pkg_session_checkpoint_policy
  pkg_cli_demo --> pkg_session_persistence_jsonl
  pkg_cli_demo --> pkg_tools
  pkg_cli_demo --> pkg_workspace_context
  pkg_sdk_client --> pkg_invariants
  pkg_sdk_client --> pkg_llm
  pkg_sdk_client --> pkg_sdk_protocol
  pkg_sdk_client --> pkg_session
  pkg_subagent_dsh_sdk --> pkg_agent
  pkg_subagent_dsh_sdk --> pkg_invariants
  pkg_subagent_dsh_sdk --> pkg_llm
  pkg_subagent_dsh_sdk --> pkg_sdk_client
  pkg_subagent_dsh_sdk --> pkg_session
  pkg_subagent_dsh_sdk --> pkg_subagent
  pkg_subagent_dsh_sdk --> pkg_subprocess
Package Group Depends on
invariants support
atomic-write util invariants
brand util invariants
native-command util invariants
paths util invariants
retention util invariants
timeout util invariants
scope core invariants
skill skill invariants
acp-snapshot support invariants
llm-mock-server support invariants
loader-smoke support invariants
client-modules client invariants
client-runtime client invariants
client-schema-form client invariants
client-ui-primitives client invariants
client-ui-slots client invariants
client-web client invariants
client-web-react client invariants
code-runtime code-runtime invariants
jsonrpc-demo examples invariants
host-apiproxy host invariants
host-directory-picker host invariants
host-webserver host invariants
storage storage invariants
subprocess subprocess invariants
typert-generator typert invariants
typert-registry typert invariants
llm llm brand, invariants, timeout
client-connection client host-webserver, invariants
client-hmr client client-modules, host-webserver, invariants
client-locale client client-runtime, client-ui-primitives, client-ui-slots, invariants
client-test-runtime client client-runtime, client-ui-slots, client-web-react, host-apiproxy, invariants
client-ui-settings client client-runtime, client-ui-primitives, client-ui-slots, invariants
client-ui-trajectory client client-ui-primitives, invariants
credentials credentials brand, invariants
helper sdk brand, invariants, subprocess
telemetry sdk brand, invariants, paths
settings settings brand, invariants
storage-domain storage invariants, storage
storage-json storage invariants, storage
storage-sqlite storage invariants, storage
subprocess-local subprocess invariants, subprocess
typert-loader typert invariants, typert-registry
llm-deepseek llm credentials, invariants, llm, settings, timeout
llm-pi-ai llm credentials, invariants, llm, settings, timeout
session core brand, invariants, llm, scope
system-prompt core invariants, llm, scope
web web invariants, llm
client-ui-models client client-connection, client-runtime, client-schema-form, client-ui-primitives, client-ui-slots, client-web-react, invariants
client-ui-question client client-locale, invariants
client-ui-settings-general client client-connection, client-locale, client-runtime, client-ui-primitives, client-ui-settings, client-ui-slots, client-web-react, invariants
client-ui-sidebar client client-locale, client-runtime, client-ui-primitives, client-ui-slots, invariants
client-ui-slash client client-locale, client-runtime, client-ui-primitives, client-ui-slots, invariants
client-ui-theme client client-locale, client-runtime, client-ui-primitives, client-ui-slots, invariants
client-ui-workspace client client-locale, client-runtime, client-ui-primitives, client-ui-slots, invariants
credentials-local credentials atomic-write, credentials, invariants, paths
lsp lsp brand, invariants, llm
sandbox sandbox invariants, llm
settings-local settings atomic-write, invariants, paths, settings
agent core brand, invariants, llm, scope, session, system-prompt
bash bash invariants, sandbox, subprocess
fs fs brand, invariants, llm, sandbox
compact compact invariants, llm, session
compact-tool-result-prune compact invariants, llm, session
web-fetch-local web invariants, timeout, web
web-search-exa web invariants, web
web-search-perplexity web invariants, web
spill spill brand, invariants, llm, session
session-persistence session-persistence brand, invariants, session
llm-replay support invariants, llm, session
app-boot ui invariants, paths, system-prompt
client-ui-layout client client-runtime, client-ui-slots, client-ui-theme, invariants
client-ui-skill client client-connection, client-runtime, client-ui-slash, client-ui-slots, invariants
client-ui-subagent client client-runtime, client-ui-slash, client-ui-slots, invariants
code-runtime-worker code-runtime code-runtime, invariants, session, timeout
host-directory-picker-browse host client-locale, client-runtime, client-ui-primitives, client-ui-slots, client-ui-workspace, invariants
host-directory-picker-native host client-runtime, client-ui-slots, client-ui-workspace, invariants
lsp-local lsp brand, invariants, llm, lsp, subprocess, timeout
sandbox-local sandbox invariants, llm, sandbox
session-projection session-projection invariants, session
llm-retry llm agent, invariants, llm, session, timeout
token-meter llm invariants, llm, session, session-projection
goal goal agent, brand, invariants, llm, scope, session, session-projection
bash-local bash bash, invariants, subprocess, timeout
fs-local fs fs, invariants
fs-policy fs fs, invariants
skill-local skill fs, invariants, paths, skill
web-search-deepseek web agent, credentials, invariants, session, web
spill-local spill invariants, spill
hook-protocol hooks bash, invariants, session
session-persistence-jsonl session-persistence invariants, session, session-persistence
session-persistence-sqlite session-persistence invariants, session, session-persistence
session-title session-title brand, invariants, llm, session, session-projection
commands ui agent, brand, invariants, scope, session
user-approval ui agent, brand, invariants, llm, scope, session, system-prompt
user-interaction ui agent, invariants, llm
time-context context agent, invariants, session
tmux-context context agent, bash, invariants, session
host-directory-picker-auto host host-directory-picker-browse, host-directory-picker-native, host-webserver, invariants
pty pty agent, brand, invariants
sandbox-policy sandbox agent, invariants, sandbox, session, system-prompt
scripts sdk app-boot, invariants
session-projection-cache session-projection invariants, session, session-persistence, session-projection, storage-domain
tasks tasks agent, brand, invariants, session
session-telemetry telemetry agent, invariants, session
workflow workflow agent, brand, invariants, llm, session
workspace workspace brand, invariants, session, session-persistence, storage, storage-domain
tools core agent, code-runtime, invariants, llm, scope, session, system-prompt, user-approval
command-goal goal commands, goal, invariants
goal-session goal agent, goal, invariants, llm, session
bash-sandbox bash bash, bash-local, invariants, sandbox, sandbox-policy
fs-sandbox fs fs, fs-local, invariants, sandbox, sandbox-policy
compact-basic compact agent, compact, compact-tool-result-prune, invariants, llm, session, token-meter
session-query session-query brand, invariants, llm, session, session-persistence, session-title
session-title-llm session-title invariants, llm, session, session-title, timeout
acp acp agent, invariants, session, user-approval
permission ui bash, commands, invariants, sandbox, sandbox-policy, session, session-projection, settings, user-approval
client-ui-conversation client client-locale, client-runtime, client-ui-primitives, client-ui-slash, client-ui-slots, invariants, token-meter
pty-local pty agent, invariants, pty, sandbox, sandbox-policy, session, subprocess
tasks-local tasks agent, invariants, tasks, timeout
session-telemetry-otel telemetry brand, invariants, llm, paths, session, session-telemetry
agent-loop core agent, invariants, llm, scope, session, session-persistence, system-prompt, tools
tool-goal goal agent, goal, invariants, llm, session, system-prompt, tools
tool-bash bash agent, bash, invariants, llm, paths, sandbox, sandbox-policy, session-persistence, system-prompt, tasks, tools, user-approval
tool-fs fs fs, invariants, llm, sandbox, sandbox-policy, session, system-prompt, tools, user-approval
tool-fs-search fs bash, invariants, llm, retention, session, spill, system-prompt, tools
tool-str-replace-editor fs fs, invariants, sandbox, sandbox-policy, tools
tool-skill skill agent, invariants, llm, skill, tools
subagent subagent agent, brand, invariants, llm, scope, session, tools
tool-web web invariants, llm, system-prompt, tools, web
spill-policy spill invariants, llm, retention, session, spill, tools
timeout-policy timeout invariants, llm, timeout, tools
tool-todo todo agent, invariants, session, session-projection, tools
plan-mode plan agent, commands, invariants, llm, session, session-projection, system-prompt, tools, user-interaction
tool-cordis cordis invariants, scope, tools
hooks-codex hooks agent, hook-protocol, invariants, llm, session, session-persistence, tools
session-checkpoint-policy session-persistence agent, invariants, llm, session, session-persistence, tools
session-query-sqlite session-query invariants, session, session-persistence, session-query
tool-session-query session-query invariants, llm, session, session-query, system-prompt, timeout, tools
session-title-all-messages-llm session-title invariants, llm, session, session-title, session-title-llm
session-title-first-message-llm session-title invariants, llm, session, session-title, session-title-llm
agent-loop-testkit support agent, invariants, llm, session, system-prompt, tools
tool-ask-user ui agent, invariants, tools, user-interaction
client-ui-command client client-connection, client-locale, client-runtime, client-ui-conversation, client-ui-primitives, client-ui-slash, client-ui-slots, invariants
client-ui-goal client client-connection, client-locale, client-runtime, client-ui-conversation, client-ui-primitives, client-ui-slots, goal, invariants
session-reference context agent, compact, invariants, llm, retention, session, session-query
workspace-context context agent, fs, invariants, llm, paths, session, tools
repeat-tool-guard guard agent, invariants, tools
tool-lsp lsp invariants, llm, lsp, system-prompt, timeout, tools
mcp-client mcp invariants, llm, subprocess, tools
tool-bash-persistent pty agent, invariants, pty, timeout, tools
tool-pty pty agent, invariants, llm, pty, retention, system-prompt, tasks, tools
tool-tasks tasks agent, invariants, llm, retention, system-prompt, tasks, tools
tool-workflow workflow agent, invariants, llm, system-prompt, tools, workflow
subagent-acp subagent agent, invariants, llm, session, subagent, subprocess
subagent-inprocess subagent agent, invariants, llm, sandbox-policy, session, subagent, system-prompt, tools, user-approval
tool-subagent subagent agent, invariants, llm, subagent, tasks, tools
hooks-claude hooks agent, hook-protocol, invariants, llm, session, session-persistence, subagent, tools
tui ui agent, agent-loop, commands, compact, goal, invariants, llm, llm-retry, session, session-persistence, session-query, session-reference, session-title, skill, subprocess, system-prompt, token-meter, tools, user-interaction
client-ui-model client client-connection, client-locale, client-runtime, client-ui-command, client-ui-conversation, client-ui-primitives, client-ui-slash, client-ui-slots, invariants
client-ui-permission client client-connection, client-locale, client-runtime, client-schema-form, client-ui-command, client-ui-primitives, client-ui-slash, client-ui-slots, invariants, permission
client-ui-plan client client-connection, client-locale, client-runtime, client-ui-conversation, client-ui-primitives, client-ui-slots, invariants, plan-mode
agent-spine-demo examples agent, agent-loop, goal, goal-session, invariants, llm, llm-retry, paths, scope, session, session-title, skill, skill-local, system-prompt, tasks-local, tool-bash, tool-goal, tool-skill, tool-tasks, tools, workspace-context
sdk-protocol sdk invariants, llm, session, subagent
tool-ralph workflow agent, invariants, llm, subagent, system-prompt, tools, workflow
workflow-workerthread workflow agent, brand, invariants, llm, session, subagent, tools, workflow
subagent-fork subagent agent, invariants, session, subagent, subagent-inprocess
subagent-spawn subagent invariants, subagent, subagent-inprocess
jsonrpc ui agent, invariants, llm, llm-deepseek, scope, sdk-protocol, session, subagent
acp-demo examples acp, agent-spine-demo, app-boot, invariants, session-checkpoint-policy, session-persistence-jsonl, session-query, session-query-sqlite, tools, workspace-context
cli-demo examples agent, agent-spine-demo, app-boot, invariants, llm, session, session-checkpoint-policy, session-persistence-jsonl, tools, workspace-context
sdk-client sdk invariants, llm, sdk-protocol, session
subagent-dsh-sdk subagent agent, invariants, llm, sdk-client, session, subagent, subprocess