From 32c0754f91b05ee95ab25b1062016d44fba18bf2 Mon Sep 17 00:00:00 2001 From: toki Date: Sun, 2 Aug 2026 11:06:54 +0900 Subject: [PATCH] =?UTF-8?q?refactor(inventory):=20=EC=97=90=EC=9D=B4?= =?UTF-8?q?=EC=A0=84=ED=8A=B8=20host=20=ED=94=84=EB=A1=9C=ED=95=84?= =?UTF-8?q?=EC=9D=84=20=EB=B6=84=EB=A6=AC=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 환경별 노드와 provider runtime의 원본을 유지하면서 에이전트별 host 설정과 Pi 호환성 관측을 별도 인벤토리로 관리한다. --- agent-test/README.md | 2 +- agent-test/dev/edge-smoke.md | 4 +- agent-test/dev/rules.md | 3 +- agent-test/inventory-agent.yaml | 468 ++++++++++++++++++++++++++++++++ agent-test/inventory-dev.yaml | 428 +---------------------------- agent-test/inventory.yaml | 8 +- 6 files changed, 486 insertions(+), 427 deletions(-) create mode 100644 agent-test/inventory-agent.yaml diff --git a/agent-test/README.md b/agent-test/README.md index dba5ba67..89605093 100644 --- a/agent-test/README.md +++ b/agent-test/README.md @@ -36,7 +36,7 @@ ## 확장 원칙 - 환경 공통값은 `rules.md`에 둔다. -- 공통 인벤토리 routing과 환경 선택/secret 정책은 `agent-test/inventory.yaml`에 두고, 실제 노드, provider, bootstrap, model endpoint, workspace, SSH user/IP 같은 환경별 상세 인벤토리는 `agent-test/inventory-.yaml`에 둔다. 사람용 설명과 도메인별 판정 기준은 해당 환경의 domain profile에 둔다. +- 공통 인벤토리 routing과 환경 선택/secret 정책은 `agent-test/inventory.yaml`에 두고, Claude/Codex/Pi/agy 같은 에이전트별 host profile은 `agent-test/inventory-agent.yaml`에 둔다. 실제 노드, provider, bootstrap, model endpoint, workspace, SSH user/IP 같은 환경별 상세 인벤토리는 `agent-test/inventory-.yaml`에 둔다. 에이전트 인벤토리는 가능한 경우 `node_ref`로 환경별 노드를 참조하며, provider runtime의 source of truth는 환경별 인벤토리에 유지한다. Pi처럼 에이전트 동작 확인에 필요한 provider 호환성 관측값은 에이전트 인벤토리에 둘 수 있다. 사람용 설명과 도메인별 판정 기준은 해당 환경의 domain profile에 둔다. - 상위 `rules.md`에는 상세값을 복제하지 말고 `노드/Provider 인벤토리 위치`와 `라우팅`으로 연결한다. - 실제 노드, provider, model, endpoint 상세는 환경별 inventory 전체를 읽지 말고 먼저 `go build -o /tmp/iop-inventory-query ./scripts/inventory-query` 로 binary를 빌드한 뒤, `/tmp/iop-inventory-query --env [selector]` 로 bounded 결과를 조회한다. 조회 도구는 `agent-test/inventory.yaml` manifest에서 환경별 파일을 resolve한다. selector는 `--model`, `--node`, `--provider` 중 최대 하나만 허용한다. selector 없이 실행하면 `inventory_id`, `common_inventory`, `test_env`, `profile`, `last_updated_at`, `source`, `edge`, `build` top-level key만 포함한 env projection을 반환하고 `model`, `nodes` 전체는 제외한다. selector 결과는 `{"env","kind","selector","matches":[{"path","value"}]}`이고 `path`는 오름차순으로 정렬한다. exit code는 성공 0, zero match 1, flag/YAML/schema 오류 2를 사용한다. substring/정규식/대소문자 접기는 하지 않고 YAML path로 중복 제거한다. - compose, native Edge, dev-runtime provider pool처럼 같은 환경 안의 실행 모드는 `런타임 프로필`에서 분리한다. diff --git a/agent-test/dev/edge-smoke.md b/agent-test/dev/edge-smoke.md index e56550e4..fc6c4dcb 100644 --- a/agent-test/dev/edge-smoke.md +++ b/agent-test/dev/edge-smoke.md @@ -3,7 +3,7 @@ test_env: dev test_profile: edge-smoke domain: edge verification_type: smoke -last_rule_updated_at: 2026-07-30 +last_rule_updated_at: 2026-08-02 --- # edge-smoke dev 테스트 @@ -52,7 +52,7 @@ dev-runtime provider pool과 4-node 연결 상태를 점검할 때는 `agent-tes - Edge OpenAI-compatible base URL: `http://toki-labs.com:18083/v1` - Edge-Node TCP transport: `toki-labs.com:18084` - active model aliases: `laguna-s:2.1`(GX10), `ornith:35b`/`ornith-fast`(OneXPlayer/RTX5090), `qwen3.6:35b`(mac-mlx-vllm) -- host Pi default profile: `agent-test/inventory-dev.yaml`의 `model.pi_agent_profile` 기준. 현재 기본 provider/model/thinking level은 `iop` / `laguna-s:2.1` / `high`이며, Pi는 IOP Edge `http://toki-labs.com:18083/v1`의 Laguna model group을 호출한다. Pi local direct providers는 제거된 상태다. +- host Pi default profile: `agent-test/inventory-agent.yaml`의 `environments.dev.agents.pi` 기준. 현재 기본 provider/model/thinking level은 `iop` / `laguna-s:2.1` / `high`이며, Pi는 IOP Edge `http://toki-labs.com:18083/v1`의 Laguna model group을 호출한다. Pi local direct providers는 제거된 상태다. - provider/model separation: Laguna는 GX10 `poolside_v1`, Qwen은 mac `qwen`/`qwen3`, Ornith는 Lemonade runtime profile을 사용한다. dev-corp `gemma4:26b`와 stopped DiffusionGemma 설정을 이들 profile에 섞지 않는다. 노드 후보: diff --git a/agent-test/dev/rules.md b/agent-test/dev/rules.md index 173d490e..e55c1325 100644 --- a/agent-test/dev/rules.md +++ b/agent-test/dev/rules.md @@ -1,6 +1,6 @@ --- test_env: dev -last_rule_updated_at: 2026-07-30 +last_rule_updated_at: 2026-08-02 --- # dev 테스트 규칙 @@ -81,6 +81,7 @@ dev-runtime provider pool은 compose Edge-Node TCP `19003`이 아니라 native E ## 노드/Provider 인벤토리 위치 - 공통 machine-readable 기준과 환경 routing: `agent-test/inventory.yaml` +- 에이전트 host profile 기준: `agent-test/inventory-agent.yaml`의 `environments.dev.agents` - dev-runtime provider pool machine-readable 기준: `agent-test/inventory-dev.yaml` - dev-runtime provider pool과 Edge/OpenAI-compatible 입력 표면 상세 기준: `agent-test/dev/edge-smoke.md` - dev-runtime Node 접속과 bootstrap 상세 기준: `agent-test/dev/node-smoke.md` diff --git a/agent-test/inventory-agent.yaml b/agent-test/inventory-agent.yaml new file mode 100644 index 00000000..91ea5c58 --- /dev/null +++ b/agent-test/inventory-agent.yaml @@ -0,0 +1,468 @@ +inventory_id: inventory-agent +schema_version: 1 +last_updated_at: "2026-08-02" + +scope: + type: shared_agent_host_profiles + description: Agent-specific host configuration, observed defaults, and environment-scoped status. Node, provider, endpoint, workspace, and SSH details remain in the referenced environment inventory. + +policy: + secret_values_tracked: false + host_connection_values_owned_by: environment_inventory + provider_runtime_source_of_truth: environment_inventory + agent_provider_compatibility_observations: allowed + node_reference_policy: reference_only + +source_inventories: + common: agent-test/inventory.yaml + dev: agent-test/inventory-dev.yaml + dev-corp: agent-test/inventory-dev-corp.yaml + +environments: + dev: + source_inventory: agent-test/inventory-dev.yaml + agents: + claude: + status: not_configured + note: No Claude host profile is recorded in the dev inventory. + codex: + status: node_reference_only + node_ref: mac-codex-node + note: The CLI adapter and MLX provider runtime remain owned by the referenced dev node inventory. + pi: + status: configured + host_binding: not_recorded + observed_at: "2026-07-24" + config_scope: host_local_pi_agent + config_dir: /config/.pi/agent + current_default_provider: iop + current_default_model: laguna-s:2.1 + current_default_thinking_level: high + current_default_api: openai-completions + current_default_base_url: http://toki-labs.com:18083/v1 + current_default_auth_header: true + sampling_policy: + explicit_parameters: false + source: dev_laguna_provider_defaults + provider_default: + temperature: 0.7 + top_p: 0.95 + top_k: 20 + omitted_fields: + - temperature + - top_p + - top_k + - repeat_penalty + note: Pi omits these fields and the selected GX10 Laguna provider applies the model baseline. + api_key_value_tracked: false + endpoint_policy: current default Pi route is IOP Edge provider iop with model laguna-s:2.1. Pi does not bypass Edge to the GX10 vLLM endpoint. + local_pi_providers_at_observation: + - iop + direct_providers_removed_at_observation: + - iop-gemma + - ornith-direct + - ornith-lemonade + iop_provider_models_at_observation: + - qwen3.6:35b + - ornith:35b + - ornith-fast + - laguna-s:2.1 + pi_model_parameters: + provider: iop + model_id: laguna-s:2.1 + display_name: IOP Poolside Laguna S 2.1 + api: openai-completions + context_window: 262144 + max_tokens: 65536 + reasoning: true + thinking_level: high + thinking_format: chat-template + enable_thinking_source: thinking.enabled + preserve_thinking: true + current_laguna_parameter_alignment: + model_alias: laguna-s:2.1 + pi_context_window: 262144 + edge_context_window: 262144 + pi_max_tokens: 65536 + edge_default_max_tokens: 65536 + pi_output_budget_within_edge_limit: true + edge_model_group_registered: true + edge_group_min_max_tokens: 0 + gx10_edge_capacity: 4 + gx10_long_context_capacity: 1 + reasoning_parser: poolside_v1 + tool_call_parser: poolside_v1 + quantization: nvfp4 + dflash_speculative_tokens: 7 + chat_template_container_path: /run/iop/laguna-s-2.1-thinking.jinja + thinking_generation_prefix: "\n" + note: The active GX10 runtime uses the official Laguna S 2.1 NVFP4 checkpoint and quantization-matched DFlash NVFP4 draft. Its local chat-template override adds a newline after the generation-prefix think tag so enabled requests do not immediately emit the closing think tag. + qwen_runtime_parameter_alignment: + alignment_policy: Pi model parameters must be kept in sync with the Edge model catalog and each provider runtime profile. Do not optimize or debug Pi behavior from the endpoint URL alone; verify the alias-to-served-model mapping, context window, max token budget, thinking/reasoning parser, chat template kwargs, and provider capacity/sequence limits together. + common_requirements: + model_alias: qwen3.6:35b + pi_context_window: 262144 + edge_context_window: 262144 + pi_max_tokens: 32768 + edge_default_max_tokens: 32768 + edge_min_max_tokens: 32768 + pi_reasoning: true + edge_reasoning_policy: model_native_thinking + required_template_policy: Qwen providers keep default_chat_template_kwargs.enable_thinking=true + required_reasoning_parser: qwen3 + engine_matrix: + previous_gx10-vllm: + status: historical_replaced_by_laguna_s_2_1 + runtime_type: vllm + served_model: nvidia/Qwen3.6-35B-A3B-NVFP4 + context_match: pi contextWindow 262144 maps to vLLM max_model_len 262144 + output_budget_match: pi maxTokens 32768 maps to provider default_max_tokens 32768 + thinking_match: pi reasoning=true and thinking_level=high map to reasoning_parser=qwen3 and default_chat_template_kwargs.enable_thinking=true + concurrency_match: provider capacity 4 maps to runtime max_num_seqs 4 + tool_parser_profile: qwen3_xml + mac-mlx-vllm: + runtime_type: vllm-mlx + served_model: mlx-community/Qwen3.6-35B-A3B-4bit + context_match: pi contextWindow 262144 maps to vLLM-MLX max_request_tokens 262144 and max_kv_size 262144 + output_budget_match: pi maxTokens 32768 maps to provider default_max_tokens 32768 + thinking_match: pi reasoning=true and thinking_level=high map to reasoning_parser=qwen3 and default_chat_template_kwargs.enable_thinking=true + concurrency_match: provider capacity 2 maps to runtime max_num_seqs 2 + tool_parser_profile: qwen + onexplayer-lemonade: + runtime_type: lemonade + served_model: Qwen3.6-35B-A3B-MTP-GGUF + current_runtime_override_2026_07_12: OneXPlayer Lemonade was switched to Ornith-1.0-35B-GGUF-llamacpp-tp1-Q5_K_M for direct Ornith validation; it is not a valid Qwen provider-pool member until Edge provider config is updated. + context_match: Qwen should use the same Lemonade unified KV profile when re-enabled; keep total ctx_size 524288, omit -np, and pass --kv-unified to avoid the prior fixed 174848-token slot partitioning. + output_budget_match: pi maxTokens 32768 maps to load default_max_tokens 32768 + thinking_match: pi reasoning=true and thinking_level=high uses model-native thinking; Lemonade load keeps MTP disabled and tool_choice_auto_verified=true + concurrency_match: provider capacity remains capped at 3 for IOP admission; with unified KV, Lemonade auto slots may report 4 runtime slots, so Edge admission must remain the concurrency guard. + tool_parser_profile: lemonade_qwen_tool_choice_auto_verified + qwen_reenable_profile: + status: applicable_not_reloaded_while_ornith_q5_is_active + ctx_size: 524288 + llamacpp_args: "--spec-type none -cb -fa on -b 4096 -ub 1024 --kv-unified" + removed_args: "-np 3" + expected_slot_n_ctx: 262144 + expected_capacity: 3 + expected_long_context_capacity: 2 + validation_basis: Same Lemonade llama.cpp backend and current Ornith Q5 runtime validated --kv-unified with auto slots reporting n_ctx 262144; Qwen still needs smoke validation after it is reloaded. + separation_note: These alignment rules are for the dev Qwen3.6 provider pool only. Gemma4 and DiffusionGemma use separate provider/model profiles and must not inherit Qwen parser/template/context assumptions. + provider_passthrough: + default: pure_passthrough + selector: none; request model/provider capability determines passthrough vs normalized execution + verification: Chat Completions streaming probe returned HTTP 200 through the provider tunnel with provider body preserved and no IOP response envelope injected. + previous_qwen_provider_pool_routing: + status: historical_gx10_and_onexplayer_no_longer_in_qwen_group + observed_at: "2026-07-09" + caller_shape: Pi-compatible OpenAI Chat Completions streaming requests to provider/model iop/qwen3.6:35b + concurrent_requests: 10 + peak_total_in_flight: 9 + peak_total_queued_snapshot_units: 3 + final_recovery: in_flight_0_queued_0 + provider_peaks: + gx10-vllm: + runtime_type: vllm + served_model: nvidia/Qwen3.6-35B-A3B-NVFP4 + capacity: 4 + max_in_flight: 4 + max_queued: 1 + mac-mlx-vllm: + runtime_type: vllm-mlx + served_model: mlx-community/Qwen3.6-35B-A3B-4bit + capacity: 2 + max_in_flight: 2 + max_queued: 1 + onexplayer-lemonade: + runtime_type: lemonade + served_model: Qwen3.6-35B-A3B-MTP-GGUF + capacity: 3 + max_in_flight: 3 + max_queued: 1 + non_default_local_provider: + provider: iop-gemma + status: removed_from_pi_models_json_2026_07_12 + api: openai-completions + base_url: http://192.168.0.91:8002/v1 + served_model: nvidia/diffusiongemma-26B-A4B-it-NVFP4 + reasoning: false + current_runtime_status: stopped_2026_07_12_endpoint_now_serves_laguna_s_2_1 + spark_laguna_direct_profile: + observed_at: "2026-07-24" + provider: gx10-vllm + status: active_through_iop_edge + family: poolside_laguna + api: openai-completions + base_url: http://192.168.0.91:8001/v1 + model_id: laguna-s:2.1 + display_name: Poolside Laguna S 2.1 NVFP4 + context_window: 262144 + max_tokens: 65536 + reasoning: true + endpoint_policy: Pi connects through IOP Edge under laguna-s:2.1 and does not use the direct GX10 endpoint. + api_key_value_tracked: false + pi_current_default_at_observation: + default_provider: iop + default_model: laguna-s:2.1 + default_api: openai-completions + default_base_url: http://toki-labs.com:18083/v1 + default_thinking_level: high + thinking_format: chat-template + enable_thinking_source: thinking.enabled + preserve_thinking: true + runtime_summary: + host: toki@192.168.0.91 + container_name: iop-vllm-laguna-s21 + docker_image: iop-vllm-laguna-s21:v0.25.1-cu130 + docker_image_id: sha256:4eb2bb71c0ffc6ceb54dd3381030169f5e24ac1477fb1faa1ba90e57e6996331 + vllm_version: 0.25.1 + torch_version: 2.11.0+cu130 + transformers_version: 5.12.1 + compressed_tensors_version: 0.17.0 + flashinfer_python_version: 0.6.15.dev20260712 + gpu: NVIDIA GB10 + endpoint: http://192.168.0.91:8001/v1 + hf_model: poolside/Laguna-S-2.1-NVFP4 + hf_url: https://huggingface.co/poolside/Laguna-S-2.1-NVFP4 + hf_revision: 07614121b31898586430f189d27a25a0be310843 + hf_cache_snapshot_path: /models/.cache/huggingface/hub/models--poolside--Laguna-S-2.1-NVFP4/snapshots/07614121b31898586430f189d27a25a0be310843 + draft_model: poolside/Laguna-S-2.1-DFlash-NVFP4 + draft_url: https://huggingface.co/poolside/Laguna-S-2.1-DFlash-NVFP4 + draft_revision: 723794750422b3efbf3a7b3af76dffb4ba035943 + served_model_name: laguna-s:2.1 + quantization: nvfp4 + vllm_quantization_backend: compressed-tensors + dtype: bfloat16 + max_model_len: 262144 + max_num_seqs: 4 + gpu_memory_utilization: 0.70 + enable_prefix_caching: true + enable_chunked_prefill: true + enable_auto_tool_choice: true + tool_call_parser: poolside_v1 + reasoning_parser: poolside_v1 + chat_template_host_path: /home/toki/iop-gx10-vllm/laguna-s-2.1-thinking.jinja + chat_template_container_path: /run/iop/laguna-s-2.1-thinking.jinja + thinking_generation_prefix: "\n" + default_chat_template_kwargs: + enable_thinking: true + generation_config_override: + temperature: 0.7 + top_p: 0.95 + speculative_config: + method: dflash + num_speculative_tokens: 7 + model: poolside/Laguna-S-2.1-DFlash-NVFP4 + attention_backend: FLASHINFER + kv_cache_dtype: float8_e4m3fn + available_kv_cache_memory_gib: 13.08 + gpu_kv_cache_tokens: 373711 + max_concurrency_for_262144_token_requests: 1.43 + docker_runtime: + recreated_at: "2026-07-24" + host_port: 8001 + container_port: 8000 + network_mode: bridge + ipc_mode: host + restart_policy: "no" + bind_mounts: + /home/toki/Data/models: /models + /home/toki/Data/vllm/cache/laguna-s21: /root/.cache + /home/toki/iop-gx10-vllm/laguna-s-2.1-thinking.jinja: /run/iop/laguna-s-2.1-thinking.jinja + smoke: + direct_models: passed + direct_chat_completions: passed + edge_chat_completions: passed + pi_agentic_tool_reasoning_stream: passed + reasoning_field: reasoning + pi_high_result: thinking_start, thinking_delta, and thinking_end observed + pi_off_result: no thinking event and final text observed + simple_no_tool_reasoning_note: The previous stock generation prefix closed the think block immediately. The current local template uses a trailing newline and a simple Pi high request emits a non-empty thinking block. + previous_spark_ornith_direct_profile: + observed_at: "2026-07-12" + provider: ornith-direct + status: historical_runtime_replaced_by_laguna_s_2_1 + family: spark_ornith + api: openai-completions + base_url: http://192.168.0.91:8001/v1 + model_id: ornith:35b + display_name: Ornith 1.0 35B FP8 Direct vLLM + context_window: 262144 + max_tokens: 32768 + reasoning: true + endpoint_policy: Historical observation only. The endpoint now serves laguna-s:2.1 through IOP Edge. + api_key_value_tracked: false + pi_current_default_at_observation: + default_provider: iop + default_model: ornith:35b + default_api: openai-completions + default_base_url: http://toki-labs.com:18083/v1 + qwen_parameter_alignment: + pi_context_window: 262144 + pi_max_tokens: 32768 + context_match: matches the dev Qwen Pi contextWindow and vLLM max_model_len value + output_budget_match: matches the dev Qwen Pi maxTokens/default_max_tokens value + runtime_summary: + host: toki@192.168.0.91 + container_name: iop-vllm-ornith35b-fp8 + docker_image: vllm/vllm-openai:nightly-aarch64 + docker_image_id: sha256:a720df3e84a89d7db47a3b7a0511cb5b312e203fc4956f7493df248299267a6f + vllm_image_tag_env: vllm/vllm-openai:nightly-a346d589f5932d4234bf5bf8718f10e26d187021 + vllm_version: 0.23.1rc1.dev223+ga346d589f + vllm_build_commit: a346d589f5932d4234bf5bf8718f10e26d187021 + vllm_build_url: https://buildkite.com/vllm/release-v2/builds/2923 + torch_version: 2.11.0+cu130 + transformers_version: 5.12.1 + compressed_tensors_version: 0.17.0 + flashinfer_python_version: 0.6.12 + cuda_version_env: 13.0.2 + gpu: NVIDIA GB10 + nvidia_driver_version: 580.126.09 + endpoint: http://192.168.0.91:8001/v1 + hf_model: deepreinforce-ai/Ornith-1.0-35B-FP8 + hf_url: https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B-FP8 + hf_revision: 1ab57ce0b44950e498a88756f40ad1ed4d0f30ca + hf_ref: main + revision_argument: not_set_uses_repo_default_main_at_container_start + tokenizer_revision_argument: not_set_uses_model_revision + hf_home: /models/.cache/huggingface + hf_cache_snapshot_path: /models/.cache/huggingface/hub/models--deepreinforce-ai--Ornith-1.0-35B-FP8/snapshots/1ab57ce0b44950e498a88756f40ad1ed4d0f30ca + served_model_name: ornith:35b + openai_models_root: deepreinforce-ai/Ornith-1.0-35B-FP8 + openai_models_max_model_len: 262144 + quantization: fp8 + vllm_quantization_backend: compressed-tensors + model_type: qwen3_5_moe + model_architecture: Qwen3_5MoeForConditionalGeneration + quantization_config_source: model config.json compressed-tensors W8A8 FP8, weight channel strategy, input activation token strategy, linear_attn/embed/lm_head/shared gates ignored + dtype: bfloat16 + max_model_len: 262144 + max_num_seqs: 4 + max_num_batched_tokens: vllm_default_not_overridden + gpu_memory_utilization: 0.50 + enable_prefix_caching: true + enable_chunked_prefill: true + async_scheduling: true + tensor_parallel_size: 1 + pipeline_parallel_size: 1 + data_parallel_size: 1 + load_format: auto + download_dir: null + kv_cache_dtype: auto + enforce_eager: false + seed: 0 + enable_auto_tool_choice: true + tool_call_parser: qwen3_xml + reasoning_parser: qwen3 + reasoning_parser_enable_in_reasoning: false + trust_remote_code: true + language_model_only: true + attention_backend: FLASH_ATTN + sampling_backend: FlashInfer top-p/top-k + fp8_linear_kernel: CutlassFP8ScaledMMLinearKernel for CompressedTensorsW8A8Fp8 + fp8_moe_backend: TRITON + generation_config_override: + temperature: 0.6 + top_k: 20 + top_p: 0.95 + eos_token_id: + - 248046 + - 248044 + bos_token_id: 248044 + docker_runtime: + created_at: "2026-07-12T08:41:04Z" + entrypoint: + - vllm + - serve + container_port: 8000 + host_port: 8001 + network_mode: bridge + ipc_mode: private + shm_size_bytes: 67108864 + restart_policy: "no" + gpu_device_request: all + bind_mounts: + /home/toki/Data/models: /models + /home/toki/Data/vllm/templates: /templates + model_load_memory_gib: 34.43 + model_load_seconds: 196.929359 + weight_download_seconds: not_observed_cache_hit_restart + cuda_graph_memory_estimated_gib: 0.13 + cuda_graph_pool_memory_actual_gib: 0.07 + available_kv_cache_memory_gib: 20.79 + gpu_kv_cache_tokens: 1060912 + max_concurrency_for_262144_token_requests: 4.05 + startup_warnings: + - vLLM command does not pin --revision; the recorded hf_revision is the downloaded snapshot observed in cache. + - Prefix caching in Mamba cache align mode is experimental for this architecture. + - Default MoE config for NVIDIA_GB10 FP8 was not found; vLLM used default MoE config, which may affect performance. + - Model generation_config overrides vLLM defaults unless callers provide sampling params or vLLM is relaunched with --generation-config vllm. + official_4bit_gguf_status: + hf_model: deepreinforce-ai/Ornith-1.0-35B-GGUF + hf_url: https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B-GGUF + hf_revision: c2e1703039380de4ce6820e97afd185682d3c16c + hf_ref: main + hf_cache_snapshot_path: /models/.cache/huggingface/hub/models--deepreinforce-ai--Ornith-1.0-35B-GGUF/snapshots/c2e1703039380de4ce6820e97afd185682d3c16c + file: ornith-1.0-35b-Q4_K_M.gguf + status: not_active + reason: current vLLM GGUF plugin path exposed /v1/models but failed semantic generation smoke; active working runtime uses the official FP8 vLLM model instead. + smoke: + english_final_answer: passed + korean_final_answer: passed + pi_direct_cli: passed + output_throughput: + method: completion_tokens divided by end-to-end request wall time, max_tokens=768 + average_completion_tok_s: 29.8 + run_completion_tok_s: + - 29.65 + - 30.62 + - 29.15 + note: vLLM logs showed aggregate generation throughput around 50-61 tok/s with two running requests. + ornith_lemonade_direct_profile: + observed_at: "2026-07-12" + provider: ornith-lemonade + status: removed_from_pi_models_json_2026_07_12_runtime_still_active_as_onexplayer_iop_ornith_provider + family: spark_ornith + api: openai-completions + base_url: http://192.168.0.59:13305/v1 + model_id: Ornith-1.0-35B-GGUF-llamacpp-tp1-Q5_K_M + display_name: Ornith 1.0 35B Q5 Direct Lemonade + context_window: 262144 + max_tokens: 32768 + reasoning: true + config_file: /config/.pi/agent/models.json + default_profile_changed: true + pi_default_provider_after_add: iop + pi_default_model_after_add: ornith:35b + endpoint_policy: Pi no longer connects directly to the OneXPlayer Lemonade OpenAI-compatible endpoint. This runtime remains reachable through IOP Edge under ornith:35b. + api_key_value_tracked: false + runtime_alignment: + lemonade_runtime_model: Ornith-1.0-35B-GGUF-llamacpp-tp1-Q5_K_M + lemonade_response_model: ornith-1.0-35b-Q5_K_M.gguf + quantization: Q5_K_M + ctx_size: 524288 + kv_policy: unified_kv_with_np_omitted + observed_slot_n_ctx: 262144 + iop_capacity_guard: 3 + long_context_capacity: 2 + smoke: + endpoint_direct_chat_completions: passed + request_model: Ornith-1.0-35B-GGUF-llamacpp-tp1-Q5_K_M + response_model: ornith-1.0-35b-Q5_K_M.gguf + finish_reason: stop + content: "4" + completion_tokens: 2 + separation_note: The host Pi default is Laguna S 2.1 through IOP Edge. Keep Laguna, Qwen, Ornith, and dev-corp Gemma parser/template/runtime settings separate. + agy: + status: not_configured + note: No agy host profile is recorded in the dev inventory. + dev-corp: + source_inventory: agent-test/inventory-dev-corp.yaml + agents: + claude: + status: not_configured + codex: + status: not_configured + pi: + status: not_configured + agy: + status: not_configured diff --git a/agent-test/inventory-dev.yaml b/agent-test/inventory-dev.yaml index 5003183b..fc653e61 100644 --- a/agent-test/inventory-dev.yaml +++ b/agent-test/inventory-dev.yaml @@ -2,7 +2,7 @@ inventory_id: inventory-dev common_inventory: agent-test/inventory.yaml test_env: dev profile: dev-runtime-provider-pool -last_updated_at: "2026-07-30" +last_updated_at: "2026-08-02" source: remote_runner: @@ -600,427 +600,6 @@ model: preserve_thinking: true tool_call_parser_status: Pi read-tool multi-turn smoke passed with reasoning before the tool call and after the tool result separation_note: Keep Laguna poolside_v1, Qwen qwen/qwen3, and dev-corp Gemma parser/template profiles separate. - pi_agent_profile: - observed_at: "2026-07-24" - config_scope: host_local_pi_agent - config_dir: /config/.pi/agent - current_default_provider: iop - current_default_model: laguna-s:2.1 - current_default_thinking_level: high - current_default_api: openai-completions - current_default_base_url: http://toki-labs.com:18083/v1 - current_default_auth_header: true - sampling_policy: - explicit_parameters: false - source: dev_laguna_provider_defaults - provider_default: - temperature: 0.7 - top_p: 0.95 - top_k: 20 - omitted_fields: - - temperature - - top_p - - top_k - - repeat_penalty - note: Pi omits these fields and the selected GX10 Laguna provider applies the model baseline. - api_key_value_tracked: false - endpoint_policy: current default Pi route is IOP Edge provider iop with model laguna-s:2.1. Pi does not bypass Edge to the GX10 vLLM endpoint. - local_pi_providers_at_observation: - - iop - direct_providers_removed_at_observation: - - iop-gemma - - ornith-direct - - ornith-lemonade - iop_provider_models_at_observation: - - qwen3.6:35b - - ornith:35b - - ornith-fast - - laguna-s:2.1 - pi_model_parameters: - provider: iop - model_id: laguna-s:2.1 - display_name: IOP Poolside Laguna S 2.1 - api: openai-completions - context_window: 262144 - max_tokens: 65536 - reasoning: true - thinking_level: high - thinking_format: chat-template - enable_thinking_source: thinking.enabled - preserve_thinking: true - current_laguna_parameter_alignment: - model_alias: laguna-s:2.1 - pi_context_window: 262144 - edge_context_window: 262144 - pi_max_tokens: 65536 - edge_default_max_tokens: 65536 - pi_output_budget_within_edge_limit: true - edge_model_group_registered: true - edge_group_min_max_tokens: 0 - gx10_edge_capacity: 4 - gx10_long_context_capacity: 1 - reasoning_parser: poolside_v1 - tool_call_parser: poolside_v1 - quantization: nvfp4 - dflash_speculative_tokens: 7 - chat_template_container_path: /run/iop/laguna-s-2.1-thinking.jinja - thinking_generation_prefix: "\n" - note: The active GX10 runtime uses the official Laguna S 2.1 NVFP4 checkpoint and quantization-matched DFlash NVFP4 draft. Its local chat-template override adds a newline after the generation-prefix think tag so enabled requests do not immediately emit the closing think tag. - qwen_runtime_parameter_alignment: - alignment_policy: Pi model parameters must be kept in sync with the Edge model catalog and each provider runtime profile. Do not optimize or debug Pi behavior from the endpoint URL alone; verify the alias-to-served-model mapping, context window, max token budget, thinking/reasoning parser, chat template kwargs, and provider capacity/sequence limits together. - common_requirements: - model_alias: qwen3.6:35b - pi_context_window: 262144 - edge_context_window: 262144 - pi_max_tokens: 32768 - edge_default_max_tokens: 32768 - edge_min_max_tokens: 32768 - pi_reasoning: true - edge_reasoning_policy: model_native_thinking - required_template_policy: Qwen providers keep default_chat_template_kwargs.enable_thinking=true - required_reasoning_parser: qwen3 - engine_matrix: - previous_gx10-vllm: - status: historical_replaced_by_laguna_s_2_1 - runtime_type: vllm - served_model: nvidia/Qwen3.6-35B-A3B-NVFP4 - context_match: pi contextWindow 262144 maps to vLLM max_model_len 262144 - output_budget_match: pi maxTokens 32768 maps to provider default_max_tokens 32768 - thinking_match: pi reasoning=true and thinking_level=high map to reasoning_parser=qwen3 and default_chat_template_kwargs.enable_thinking=true - concurrency_match: provider capacity 4 maps to runtime max_num_seqs 4 - tool_parser_profile: qwen3_xml - mac-mlx-vllm: - runtime_type: vllm-mlx - served_model: mlx-community/Qwen3.6-35B-A3B-4bit - context_match: pi contextWindow 262144 maps to vLLM-MLX max_request_tokens 262144 and max_kv_size 262144 - output_budget_match: pi maxTokens 32768 maps to provider default_max_tokens 32768 - thinking_match: pi reasoning=true and thinking_level=high map to reasoning_parser=qwen3 and default_chat_template_kwargs.enable_thinking=true - concurrency_match: provider capacity 2 maps to runtime max_num_seqs 2 - tool_parser_profile: qwen - onexplayer-lemonade: - runtime_type: lemonade - served_model: Qwen3.6-35B-A3B-MTP-GGUF - current_runtime_override_2026_07_12: OneXPlayer Lemonade was switched to Ornith-1.0-35B-GGUF-llamacpp-tp1-Q5_K_M for direct Ornith validation; it is not a valid Qwen provider-pool member until Edge provider config is updated. - context_match: Qwen should use the same Lemonade unified KV profile when re-enabled; keep total ctx_size 524288, omit -np, and pass --kv-unified to avoid the prior fixed 174848-token slot partitioning. - output_budget_match: pi maxTokens 32768 maps to load default_max_tokens 32768 - thinking_match: pi reasoning=true and thinking_level=high uses model-native thinking; Lemonade load keeps MTP disabled and tool_choice_auto_verified=true - concurrency_match: provider capacity remains capped at 3 for IOP admission; with unified KV, Lemonade auto slots may report 4 runtime slots, so Edge admission must remain the concurrency guard. - tool_parser_profile: lemonade_qwen_tool_choice_auto_verified - qwen_reenable_profile: - status: applicable_not_reloaded_while_ornith_q5_is_active - ctx_size: 524288 - llamacpp_args: "--spec-type none -cb -fa on -b 4096 -ub 1024 --kv-unified" - removed_args: "-np 3" - expected_slot_n_ctx: 262144 - expected_capacity: 3 - expected_long_context_capacity: 2 - validation_basis: Same Lemonade llama.cpp backend and current Ornith Q5 runtime validated --kv-unified with auto slots reporting n_ctx 262144; Qwen still needs smoke validation after it is reloaded. - separation_note: These alignment rules are for the dev Qwen3.6 provider pool only. Gemma4 and DiffusionGemma use separate provider/model profiles and must not inherit Qwen parser/template/context assumptions. - provider_passthrough: - default: pure_passthrough - selector: none; request model/provider capability determines passthrough vs normalized execution - verification: Chat Completions streaming probe returned HTTP 200 through the provider tunnel with provider body preserved and no IOP response envelope injected. - previous_qwen_provider_pool_routing: - status: historical_gx10_and_onexplayer_no_longer_in_qwen_group - observed_at: "2026-07-09" - caller_shape: Pi-compatible OpenAI Chat Completions streaming requests to provider/model iop/qwen3.6:35b - concurrent_requests: 10 - peak_total_in_flight: 9 - peak_total_queued_snapshot_units: 3 - final_recovery: in_flight_0_queued_0 - provider_peaks: - gx10-vllm: - runtime_type: vllm - served_model: nvidia/Qwen3.6-35B-A3B-NVFP4 - capacity: 4 - max_in_flight: 4 - max_queued: 1 - mac-mlx-vllm: - runtime_type: vllm-mlx - served_model: mlx-community/Qwen3.6-35B-A3B-4bit - capacity: 2 - max_in_flight: 2 - max_queued: 1 - onexplayer-lemonade: - runtime_type: lemonade - served_model: Qwen3.6-35B-A3B-MTP-GGUF - capacity: 3 - max_in_flight: 3 - max_queued: 1 - non_default_local_provider: - provider: iop-gemma - status: removed_from_pi_models_json_2026_07_12 - api: openai-completions - base_url: http://192.168.0.91:8002/v1 - served_model: nvidia/diffusiongemma-26B-A4B-it-NVFP4 - reasoning: false - current_runtime_status: stopped_2026_07_12_endpoint_now_serves_laguna_s_2_1 - spark_laguna_direct_profile: - observed_at: "2026-07-24" - provider: gx10-vllm - status: active_through_iop_edge - family: poolside_laguna - api: openai-completions - base_url: http://192.168.0.91:8001/v1 - model_id: laguna-s:2.1 - display_name: Poolside Laguna S 2.1 NVFP4 - context_window: 262144 - max_tokens: 65536 - reasoning: true - endpoint_policy: Pi connects through IOP Edge under laguna-s:2.1 and does not use the direct GX10 endpoint. - api_key_value_tracked: false - pi_current_default_at_observation: - default_provider: iop - default_model: laguna-s:2.1 - default_api: openai-completions - default_base_url: http://toki-labs.com:18083/v1 - default_thinking_level: high - thinking_format: chat-template - enable_thinking_source: thinking.enabled - preserve_thinking: true - runtime_summary: - host: toki@192.168.0.91 - container_name: iop-vllm-laguna-s21 - docker_image: iop-vllm-laguna-s21:v0.25.1-cu130 - docker_image_id: sha256:4eb2bb71c0ffc6ceb54dd3381030169f5e24ac1477fb1faa1ba90e57e6996331 - vllm_version: 0.25.1 - torch_version: 2.11.0+cu130 - transformers_version: 5.12.1 - compressed_tensors_version: 0.17.0 - flashinfer_python_version: 0.6.15.dev20260712 - gpu: NVIDIA GB10 - endpoint: http://192.168.0.91:8001/v1 - hf_model: poolside/Laguna-S-2.1-NVFP4 - hf_url: https://huggingface.co/poolside/Laguna-S-2.1-NVFP4 - hf_revision: 07614121b31898586430f189d27a25a0be310843 - hf_cache_snapshot_path: /models/.cache/huggingface/hub/models--poolside--Laguna-S-2.1-NVFP4/snapshots/07614121b31898586430f189d27a25a0be310843 - draft_model: poolside/Laguna-S-2.1-DFlash-NVFP4 - draft_url: https://huggingface.co/poolside/Laguna-S-2.1-DFlash-NVFP4 - draft_revision: 723794750422b3efbf3a7b3af76dffb4ba035943 - served_model_name: laguna-s:2.1 - quantization: nvfp4 - vllm_quantization_backend: compressed-tensors - dtype: bfloat16 - max_model_len: 262144 - max_num_seqs: 4 - gpu_memory_utilization: 0.70 - enable_prefix_caching: true - enable_chunked_prefill: true - enable_auto_tool_choice: true - tool_call_parser: poolside_v1 - reasoning_parser: poolside_v1 - chat_template_host_path: /home/toki/iop-gx10-vllm/laguna-s-2.1-thinking.jinja - chat_template_container_path: /run/iop/laguna-s-2.1-thinking.jinja - thinking_generation_prefix: "\n" - default_chat_template_kwargs: - enable_thinking: true - generation_config_override: - temperature: 0.7 - top_p: 0.95 - speculative_config: - method: dflash - num_speculative_tokens: 7 - model: poolside/Laguna-S-2.1-DFlash-NVFP4 - attention_backend: FLASHINFER - kv_cache_dtype: float8_e4m3fn - available_kv_cache_memory_gib: 13.08 - gpu_kv_cache_tokens: 373711 - max_concurrency_for_262144_token_requests: 1.43 - docker_runtime: - recreated_at: "2026-07-24" - host_port: 8001 - container_port: 8000 - network_mode: bridge - ipc_mode: host - restart_policy: "no" - bind_mounts: - /home/toki/Data/models: /models - /home/toki/Data/vllm/cache/laguna-s21: /root/.cache - /home/toki/iop-gx10-vllm/laguna-s-2.1-thinking.jinja: /run/iop/laguna-s-2.1-thinking.jinja - smoke: - direct_models: passed - direct_chat_completions: passed - edge_chat_completions: passed - pi_agentic_tool_reasoning_stream: passed - reasoning_field: reasoning - pi_high_result: thinking_start, thinking_delta, and thinking_end observed - pi_off_result: no thinking event and final text observed - simple_no_tool_reasoning_note: The previous stock generation prefix closed the think block immediately. The current local template uses a trailing newline and a simple Pi high request emits a non-empty thinking block. - previous_spark_ornith_direct_profile: - observed_at: "2026-07-12" - provider: ornith-direct - status: historical_runtime_replaced_by_laguna_s_2_1 - family: spark_ornith - api: openai-completions - base_url: http://192.168.0.91:8001/v1 - model_id: ornith:35b - display_name: Ornith 1.0 35B FP8 Direct vLLM - context_window: 262144 - max_tokens: 32768 - reasoning: true - endpoint_policy: Historical observation only. The endpoint now serves laguna-s:2.1 through IOP Edge. - api_key_value_tracked: false - pi_current_default_at_observation: - default_provider: iop - default_model: ornith:35b - default_api: openai-completions - default_base_url: http://toki-labs.com:18083/v1 - qwen_parameter_alignment: - pi_context_window: 262144 - pi_max_tokens: 32768 - context_match: matches the dev Qwen Pi contextWindow and vLLM max_model_len value - output_budget_match: matches the dev Qwen Pi maxTokens/default_max_tokens value - runtime_summary: - host: toki@192.168.0.91 - container_name: iop-vllm-ornith35b-fp8 - docker_image: vllm/vllm-openai:nightly-aarch64 - docker_image_id: sha256:a720df3e84a89d7db47a3b7a0511cb5b312e203fc4956f7493df248299267a6f - vllm_image_tag_env: vllm/vllm-openai:nightly-a346d589f5932d4234bf5bf8718f10e26d187021 - vllm_version: 0.23.1rc1.dev223+ga346d589f - vllm_build_commit: a346d589f5932d4234bf5bf8718f10e26d187021 - vllm_build_url: https://buildkite.com/vllm/release-v2/builds/2923 - torch_version: 2.11.0+cu130 - transformers_version: 5.12.1 - compressed_tensors_version: 0.17.0 - flashinfer_python_version: 0.6.12 - cuda_version_env: 13.0.2 - gpu: NVIDIA GB10 - nvidia_driver_version: 580.126.09 - endpoint: http://192.168.0.91:8001/v1 - hf_model: deepreinforce-ai/Ornith-1.0-35B-FP8 - hf_url: https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B-FP8 - hf_revision: 1ab57ce0b44950e498a88756f40ad1ed4d0f30ca - hf_ref: main - revision_argument: not_set_uses_repo_default_main_at_container_start - tokenizer_revision_argument: not_set_uses_model_revision - hf_home: /models/.cache/huggingface - hf_cache_snapshot_path: /models/.cache/huggingface/hub/models--deepreinforce-ai--Ornith-1.0-35B-FP8/snapshots/1ab57ce0b44950e498a88756f40ad1ed4d0f30ca - served_model_name: ornith:35b - openai_models_root: deepreinforce-ai/Ornith-1.0-35B-FP8 - openai_models_max_model_len: 262144 - quantization: fp8 - vllm_quantization_backend: compressed-tensors - model_type: qwen3_5_moe - model_architecture: Qwen3_5MoeForConditionalGeneration - quantization_config_source: model config.json compressed-tensors W8A8 FP8, weight channel strategy, input activation token strategy, linear_attn/embed/lm_head/shared gates ignored - dtype: bfloat16 - max_model_len: 262144 - max_num_seqs: 4 - max_num_batched_tokens: vllm_default_not_overridden - gpu_memory_utilization: 0.50 - enable_prefix_caching: true - enable_chunked_prefill: true - async_scheduling: true - tensor_parallel_size: 1 - pipeline_parallel_size: 1 - data_parallel_size: 1 - load_format: auto - download_dir: null - kv_cache_dtype: auto - enforce_eager: false - seed: 0 - enable_auto_tool_choice: true - tool_call_parser: qwen3_xml - reasoning_parser: qwen3 - reasoning_parser_enable_in_reasoning: false - trust_remote_code: true - language_model_only: true - attention_backend: FLASH_ATTN - sampling_backend: FlashInfer top-p/top-k - fp8_linear_kernel: CutlassFP8ScaledMMLinearKernel for CompressedTensorsW8A8Fp8 - fp8_moe_backend: TRITON - generation_config_override: - temperature: 0.6 - top_k: 20 - top_p: 0.95 - eos_token_id: - - 248046 - - 248044 - bos_token_id: 248044 - docker_runtime: - created_at: "2026-07-12T08:41:04Z" - entrypoint: - - vllm - - serve - container_port: 8000 - host_port: 8001 - network_mode: bridge - ipc_mode: private - shm_size_bytes: 67108864 - restart_policy: "no" - gpu_device_request: all - bind_mounts: - /home/toki/Data/models: /models - /home/toki/Data/vllm/templates: /templates - model_load_memory_gib: 34.43 - model_load_seconds: 196.929359 - weight_download_seconds: not_observed_cache_hit_restart - cuda_graph_memory_estimated_gib: 0.13 - cuda_graph_pool_memory_actual_gib: 0.07 - available_kv_cache_memory_gib: 20.79 - gpu_kv_cache_tokens: 1060912 - max_concurrency_for_262144_token_requests: 4.05 - startup_warnings: - - vLLM command does not pin --revision; the recorded hf_revision is the downloaded snapshot observed in cache. - - Prefix caching in Mamba cache align mode is experimental for this architecture. - - Default MoE config for NVIDIA_GB10 FP8 was not found; vLLM used default MoE config, which may affect performance. - - Model generation_config overrides vLLM defaults unless callers provide sampling params or vLLM is relaunched with --generation-config vllm. - official_4bit_gguf_status: - hf_model: deepreinforce-ai/Ornith-1.0-35B-GGUF - hf_url: https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B-GGUF - hf_revision: c2e1703039380de4ce6820e97afd185682d3c16c - hf_ref: main - hf_cache_snapshot_path: /models/.cache/huggingface/hub/models--deepreinforce-ai--Ornith-1.0-35B-GGUF/snapshots/c2e1703039380de4ce6820e97afd185682d3c16c - file: ornith-1.0-35b-Q4_K_M.gguf - status: not_active - reason: current vLLM GGUF plugin path exposed /v1/models but failed semantic generation smoke; active working runtime uses the official FP8 vLLM model instead. - smoke: - english_final_answer: passed - korean_final_answer: passed - pi_direct_cli: passed - output_throughput: - method: completion_tokens divided by end-to-end request wall time, max_tokens=768 - average_completion_tok_s: 29.8 - run_completion_tok_s: - - 29.65 - - 30.62 - - 29.15 - note: vLLM logs showed aggregate generation throughput around 50-61 tok/s with two running requests. - ornith_lemonade_direct_profile: - observed_at: "2026-07-12" - provider: ornith-lemonade - status: removed_from_pi_models_json_2026_07_12_runtime_still_active_as_onexplayer_iop_ornith_provider - family: spark_ornith - api: openai-completions - base_url: http://192.168.0.59:13305/v1 - model_id: Ornith-1.0-35B-GGUF-llamacpp-tp1-Q5_K_M - display_name: Ornith 1.0 35B Q5 Direct Lemonade - context_window: 262144 - max_tokens: 32768 - reasoning: true - config_file: /config/.pi/agent/models.json - default_profile_changed: true - pi_default_provider_after_add: iop - pi_default_model_after_add: ornith:35b - endpoint_policy: Pi no longer connects directly to the OneXPlayer Lemonade OpenAI-compatible endpoint. This runtime remains reachable through IOP Edge under ornith:35b. - api_key_value_tracked: false - runtime_alignment: - lemonade_runtime_model: Ornith-1.0-35B-GGUF-llamacpp-tp1-Q5_K_M - lemonade_response_model: ornith-1.0-35b-Q5_K_M.gguf - quantization: Q5_K_M - ctx_size: 524288 - kv_policy: unified_kv_with_np_omitted - observed_slot_n_ctx: 262144 - iop_capacity_guard: 3 - long_context_capacity: 2 - smoke: - endpoint_direct_chat_completions: passed - request_model: Ornith-1.0-35B-GGUF-llamacpp-tp1-Q5_K_M - response_model: ornith-1.0-35b-Q5_K_M.gguf - finish_reason: stop - content: "4" - completion_tokens: 2 - separation_note: The host Pi default is Laguna S 2.1 through IOP Edge. Keep Laguna, Qwen, Ornith, and dev-corp Gemma parser/template/runtime settings separate. content_completion_policy: enforce_min_max_tokens: true reason: prevent reasoning-only completions from exhausting caller max_tokens before final content @@ -1219,6 +798,11 @@ retained_test_runtimes: - keep_it_out_of_the_iop_provider_pool_unless_explicitly_registered - verify_model_endpoint_and_slot_profile_after_start +agent_inventory: + inventory_id: inventory-agent + path: agent-test/inventory-agent.yaml + environment: dev + nodes: - id: mac-codex-node alias: mac-codex diff --git a/agent-test/inventory.yaml b/agent-test/inventory.yaml index 2e91615e..19482586 100644 --- a/agent-test/inventory.yaml +++ b/agent-test/inventory.yaml @@ -1,6 +1,6 @@ inventory_id: inventory schema_version: 1 -last_updated_at: "2026-07-24" +last_updated_at: "2026-08-02" scope: type: shared_manifest @@ -16,6 +16,11 @@ environments: path: agent-test/inventory-dev-corp.yaml selection: explicit_only +agent_inventory: + inventory_id: inventory-agent + path: agent-test/inventory-agent.yaml + scope: shared_agent_host_profiles + ownership: common: - inventory document routing @@ -39,5 +44,6 @@ policy: token_api_key_and_private_credential_allowed: false source_of_truth: common: agent-test/inventory.yaml + agents: agent-test/inventory-agent.yaml dev: agent-test/inventory-dev.yaml dev-corp: agent-test/inventory-dev-corp.yaml