Skip to main content

pulser-odoo-foundry-runtime

Validate Foundry-side agent definitions, model baseline, SDK v2 control plane, and runtime governance for Pulser for Odoo

インストールへ移動

ソース情報

リポジトリ
Insightpulseai/odoo
ソースの最終更新活動
2026年4月12日 11:56
検出された SKILL.md の言語
英語
スター
6
フォーク
2

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
pulser-odoo-foundry-runtime
description
Validate Foundry-side agent definitions, model baseline, SDK v2 control plane, and runtime governance for Pulser for Odoo
version
1.0
compatibility
{"hosts":["github-copilot","claude-code","codex-cli","cursor","gemini-cli"]}
tags
["foundry","agents","sdk","pulser","runtime","governance","models"]
# pulser-odoo-foundry-runtime **Impact tier**: P1 -- Operational Readiness ## Purpose Validate and maintain the Foundry-side runtime for Pulser for Odoo: canonical agent naming, minimal model baseline (`gpt-4.1`, `wg-pulser`, `text-embedding-3-small`), SDK v2 control plane (`AIProjectClient` + `DefaultAzureCredential`), bounded tool use (File Search before MCP/OpenAPI), and metadata hygiene (no stale Odoo 19 references). Keeps Foundry minimal, governed, and clearly subordinate to Odoo as business system of record. ## When to Use - After any Foundry SDK upgrade, model deployment change, or agent definition edit. - When agent registrations fail, return stale metadata, or reference wrong models. - Before promoting any Foundry agent alongside a Pulser for Odoo release. - When adding a new tool binding to a Pulser agent. ## When Not to Use - For Odoo module deployment (use `pulser-odoo-deploy`). - For architecture boundary decisions (use `pulser-odoo-architecture`). - For grounding/RAG configuration (use `azure-foundry-grounding`). - When Foundry IQ / AI Search / stored completions are not in the SSOT scope. ## Inputs Expected - Access to `ssot/ai/agents.yaml`, `ssot/ai/models.yaml`, and Foundry scripts. - The `AZURE_AI_PROJECT_ENDPOINT` env var (project-scoped, not resource endpoint). - Managed identity or `DefaultAzureCredential` chain available in the runtime. ## Source Priority 1. Repo SSOT / `ssot/ai/agents.yaml` / `ssot/ai/models.yaml` / release docs 2. Existing architecture anchor docs (`docs/architecture/ai/CONSOLIDATION_FOUNDRY.md`) 3. Microsoft Learn MCP official documentation 4. Official Microsoft GitHub samples only when needed 5. Anything else only if absolutely necessary, clearly marked secondary ## Required Evidence (inspect these repo paths first) | Path | What to look for | |------|-----------------| | `ssot/ai/agents.yaml` | Agent names, model refs, tool bindings, approval gates | | `ssot/ai/models.yaml` | Deployment names, model families, versions, regions | | `ssot/foundry/runtime_inventory.yaml` | Project/resource/endpoint references, live state | | `ssot/agent-platform/foundry_tool_policy.yaml` | Tool preference order, allowed types, approval gates | | `ssot/agent-platform/mcp_policy.yaml` | MCP tool scope, allowed servers, approval rules | | `scripts/foundry/register_agent_v2.py` | SDK v2 import paths, constructor, credential chain | | `scripts/foundry/run_cloud_eval.py` | Eval dataset, metric thresholds, output path | | `scripts/foundry/enable_monitoring.py` | Log Analytics workspace ID, diagnostic settings | ## Microsoft Learn MCP Usage Run at least these queries: 1. `microsoft_docs_search("Azure AI Foundry overview agent service SDK v2 Python")` -- retrieves Foundry project structure, agent service, SDK v2 constructor. 2. `microsoft_docs_search("Azure AI Foundry Agent Service create agent Python AIProjectClient")` -- retrieves `AIProjectClient`, `create_agent`, tool definitions, thread management. 3. `microsoft_docs_search("Azure AI Foundry grounding Foundry IQ knowledge base optional")` -- retrieves when Foundry IQ / AI Search grounding is needed vs optional. 4. `microsoft_docs_search("Azure AI evaluation SDK cloud eval metrics groundedness")` -- retrieves eval pipeline, built-in evaluators, score thresholds. 5. `microsoft_docs_search("Azure Monitor AI Foundry diagnostics logging agent observability")` -- retrieves diagnostic settings, Log Analytics integration, token usage metrics. Optional: 6. `microsoft_code_sample_search("azure foundry agent python sdk v2 create thread run", language="python")` 7. `microsoft_docs_fetch("https://learn.microsoft.com/en-us/azure/ai-services/agents/overview")` ## Microsoft Learn MCP Topic Keys - foundry_overview - foundry_agent_service - foundry_iq - azure_ai_evaluations - azure_monitor_observability ## Workflow 1. **Inspect repo** -- Read `ssot/ai/agents.yaml`. Record each agent's: `name` (must follow canonical Pulser naming), `model_deployment_name` (must exist in `ssot/ai/models.yaml`), tool bindings (type, approval gate), and any grounding references. Check `scripts/foundry/register_agent_v2.py` for SDK import paths and constructor: must use `AIProjectClient(endpoint=..., credential=DefaultAzureCredential())`, not `from_connection_string`. 2. **Query MCP** -- Run queries 1-5. Capture: v2 constructor signature, grounding optionality guidance, eval pipeline shape, monitoring diagnostic categories. 3. **Compare** -- Identify: (a) `from_connection_string` usage (v1 debt); (b) agents referencing model names absent from `ssot/ai/models.yaml`; (c) any stale "Odoo 19" reference in agent instructions or SSOT (correct to Odoo 18); (d) tool bindings missing `approval: required` for Odoo-write tools; (e) Foundry IQ / stored completions added without SSOT justification; (f) new model deployments beyond the `gpt-4.1` / `wg-pulser` / `text-embedding-3-small` baseline without explicit approval. 4. **Patch** -- Replace `from_connection_string` with `AIProjectClient(endpoint=...)` in `scripts/foundry/register_agent_v2.py`. Align all agent/model refs in `ssot/ai/agents.yaml`. Correct stale Odoo 19 metadata. Add `approval: required` to any tool that writes to Odoo. Remove non-baseline model deployments unless SSOT explicitly requires them. 5. **Verify** -- Python import check: `python -c "from azure.ai.projects import AIProjectClient"`. No `from_connection_string` in any `scripts/foundry/*.py`. Lint with `ruff`. All agents in `ssot/ai/agents.yaml` reference a model deployment in `ssot/ai/models.yaml`. No Odoo 19 string in any SSOT file. ## Output Contract | Artifact | Location | Format | |----------|----------|--------| | Agent registration script (patched) | `scripts/foundry/register_agent_v2.py` | Python | | Agent definitions (aligned) | `ssot/ai/agents.yaml` | YAML | | Model deployments (confirmed) | `ssot/ai/models.yaml` | YAML | | Runtime inventory (updated) | `ssot/foundry/runtime_inventory.yaml` | YAML | | Foundry migration status (updated) | `docs/architecture/ai/CONSOLIDATION_FOUNDRY.md` | Markdown | | Evidence pack | `docs/evidence/<stamp>/pulser-odoo-foundry-runtime/` | Logs + diffs | ## Safety and Guardrails - Never add model deployments beyond the baseline (`gpt-4.1`, `wg-pulser`, `text-embedding-3-small`) without explicit SSOT entry and architecture approval. - Never use `from_connection_string` or any SDK v1 pattern. - Never add API key auth. `DefaultAzureCredential` is the only credential type. - Never add stored completions by default. - Never force Foundry IQ / AI Search unless `ssot/agent-platform/foundry_tool_policy.yaml` explicitly requires grounding for a specific agent. - Never allow a Foundry agent tool to write Odoo records without `approval: required`. - Tool preference order (per `foundry_tool_policy.yaml`): File Search > Function Tool / OpenAPI > MCP. MCP tools require explicit justification. ## Verification - [ ] No `from_connection_string` in any `scripts/foundry/*.py`. - [ ] All agents in `ssot/ai/agents.yaml` reference a model deployment in `ssot/ai/models.yaml`. - [ ] `register_agent_v2.py` uses `DefaultAzureCredential` and `AIProjectClient(endpoint=...)`. - [ ] All Odoo-write tools have `approval: required` in `foundry_tool_policy.yaml`. - [ ] No stale "Odoo 19" string in `ssot/ai/agents.yaml` or agent instruction text. - [ ] `ruff` lints `scripts/foundry/*.py` clean (zero errors). - [ ] No non-baseline model deployment without an explicit SSOT entry. - [ ] Evidence directory contains diffs, lint output, and MCP excerpts. ## Related Skills - `pulser-odoo-architecture` -- service-plane boundary decisions (consult first) - `pulser-odoo-deploy` -- Odoo-side deployment doctrine - `azure-foundry-architecture` -- Foundry SDK v2, agent registration, model catalog - `azure-ai-evals-governance` -- eval pipelines, content safety, governance gates - `azure-foundry-grounding` -- RAG/grounding config, KB bindings, retrieval eval ## Completion Criteria - [ ] No `from_connection_string` usage in any `scripts/foundry/*.py` file. - [ ] All agents reference model deployments present in `ssot/ai/models.yaml`. - [ ] All Odoo-write agent tools have `approval: required` gates. - [ ] No stale Odoo 19 metadata in any SSOT file or agent instruction. - [ ] Model baseline constrained to `gpt-4.1`, `wg-pulser`, `text-embedding-3-small`. - [ ] `ruff` lints `scripts/foundry/*.py` clean. - [ ] `ssot/foundry/runtime_inventory.yaml` contains current project/resource/endpoint. - [ ] Evidence directory contains MCP excerpts, lint output, and aligned diffs.
GitHubで見る