# Run C - functional verification (offline validators + MCP tool dispatch + stale-registry probe) $ cd skills/microsoft-foundry/finetuning && python3 scripts/validate/validate_sft.py /tmp/azsk-ft/valid-sft.jsonl # 2 valid records ============================================================ SFT Validation Report: /tmp/azsk-ft/valid-sft.jsonl ============================================================ Total records: 2 Errors: 0 Warnings: 0 Token stats (approx): Avg: 16 Min: 8 Max: 25 Total: 33 System prompts: 1 unique ✅ Data is valid for SFT fine-tuning! exit: 0 $ python3 scripts/validate/validate_sft.py /tmp/azsk-ft/bad-sft.jsonl # invalid role, bad JSON, missing fields ============================================================ SFT Validation Report: /tmp/azsk-ft/bad-sft.jsonl ============================================================ Total records: 5 Errors: 5 Warnings: 0 Token stats (approx): Avg: 4 Min: 3 Max: 5 Total: 8 System prompts: 1 unique ❌ ERRORS (must fix): • Line 2, message 1: Invalid role 'banana' (expected: {'user', 'assistant', 'system', 'tool'}) • Line 2: No 'user' message found • Line 3: Invalid JSON — Expecting value: line 1 column 1 (char 0) • Line 4: Missing 'messages' field • Line 5: 'messages' must be a non-empty array ❌ Fix 5 error(s) before submitting. exit: 1 $ python3 scripts/validate/data_stats.py /tmp/azsk-ft/valid-sft.jsonl ============================================================ Dataset Statistics: /tmp/azsk-ft/valid-sft.jsonl ============================================================ Format: SFT Total records: 2 Parse errors: 0 Token Estimates (approx): Total: 33 Average/record: 16 Min: 8 Max: 25 Role Distribution: user: 2 assistant: 2 system: 1 Records with system message: 1/2 📊 Dataset size guidance: ⚠️ Very small dataset (2 records). May only learn format, not domain knowledge. exit: 0 $ mcp-stdio-client.py --call foundry --args '{"command":"list_commands"}' npx -y @azure/mcp@latest server start === CALL foundry === isError: True, content blocks: 1 Failed to create MCP client for registry server 'foundry': The ChainedTokenCredential failed to retrieve a token from the included credentials. - The ChainedTokenCredential failed to retrieve a token from the included credentials. - EnvironmentCredential authentication unavailable. Environment varia... $ mcp-stdio-client.py --call documentation --args '{"command":"list_commands"}' ... === CALL documentation === isError: False, content blocks: 1 Here are the available commands and their input schema for 'documentation' tool. If you do not find a suitable command, run again with the "learn=true" to get a list of available commands and their input schema. $ HOME=$ISO3 npx -y skills add microsoft/azure-skills azure-rbac -a github-copilot -y # stale 486K-install entry ◇ Found 31 skills ● Installing all 31 skills exit: 0 - azure-rbac NOT installed, ALL 31 skills installed instead, zero warning about the missing requested skill