{
  "schema_version": 1,
  "reviewed_on": "2026-10-28",
  "group": 3,
  "total_groups": 5,
  "base_commit": "e764e0048e320d67fe831051c4275d1694072e27",
  "scope": {
    "exams": [
      "AB-620",
      "AB-731",
      "AI-300",
      "AI-901",
      "AZ-104",
      "AZ-140",
      "AZ-305",
      "AZ-400",
      "AZ-700",
      "AZ-900"
    ],
    "guides_in_group": 10,
    "current_objectives": 658,
    "historical_mapped_objectives": 658,
    "future_objectives": 0,
    "initial_partial_objectives_repaired": 130,
    "worked_additions": 43,
    "remaining_guides_after_group": 18,
    "remaining_groups_after_group": 2,
    "whole_refresh_complete": false
  },
  "method": {
    "roles": [
      "exam/objectives",
      "technical",
      "learning resources"
    ],
    "coordinator_owns_shared_edits": true,
    "complete_input_reading": "Two subset exam researchers read all ten complete immutable guides and final complete diffs. Coordinator repaired independently identified small issues and rebound exact line offsets/spans. Other workers record narrower technical/resource scopes.",
    "research_proposals": "Research reports include proposals; accepted catalog changes and actual final guide/mapping bindings establish applied scope.",
    "fresh_context_review": "Two fresh-context read-only reviews passed after independent rechecks of two medium AZ400 repairs and one low AI901 wording repair. Complete ten final guides/diffs and658 objective rows checked; not full rubric2/human review or service execution.",
    "full_independent_semantic_audit": false,
    "human_review": false,
    "live_product_labs_executed": false
  },
  "exams": [
    {
      "exam_code": "AB-620",
      "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
      "guide_content_sha256": "c75b80d4362706956756e8c4f20acbf68525f7275ed84eb39867f71788dd3067",
      "objective_path": "data/objective-snapshots/ab-620-official-objectives.txt",
      "objective_raw_sha256": "8b9f6ca0601cf631a000763ce7a0cca802a0177c66d7a4e3cc29d84d52188dfc",
      "objective_count": 44,
      "source_validation_id": "ab-620-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 61,
        "reachable": 59,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab-620-a2a-agent-connection",
        "ab-620-agent-tools",
        "ab-620-application-insights-telemetry",
        "ab-620-architecture-overview",
        "ab-620-blueprint",
        "ab-620-certification-page",
        "ab-620-channel-guidance",
        "ab-620-classic-versus-new-experience",
        "ab-620-computer-use",
        "ab-620-control-maker-credentials",
        "ab-620-course",
        "ab-620-custom-knowledge-sources",
        "ab-620-evaluation-checklist",
        "ab-620-fabric-data-agent-connection",
        "ab-620-foundry-agent-connection",
        "ab-620-learn-enterprise-integration-path",
        "ab-620-learn-multi-agent-path",
        "ab-620-learn-topics-path",
        "ab-620-mcp-tools",
        "ab-620-rag-guidance",
        "ab-620-security-scan",
        "ab-620-udemy-joshua-practice",
        "ab-620-udemy-kuljot-course",
        "ab-620-user-authentication",
        "ab-620-web-channel-security",
        "ab-620-zoned-governance",
        "ab100-mcp-existing-server",
        "ab620-advanced-approvals",
        "ab620-ai-model",
        "ab620-cards",
        "ab620-child",
        "ab620-computer-faq",
        "ab620-environment-telemetry",
        "ab620-evaluation-methods",
        "ab620-evaluation-results",
        "ab620-flow-faq",
        "ab620-graders-blog",
        "ab620-http",
        "ab620-knowledge-node",
        "ab620-mcp-overview",
        "ab620-rate",
        "ab620-search",
        "ab620-september-blog",
        "ab620-supervision",
        "ab620-test-sets",
        "ab620-variables",
        "copilot-studio-agent-build-overview",
        "copilot-studio-guidance",
        "g03-exam-a-22",
        "g03-exam-a-23",
        "g03-exam-a-24",
        "g03-exam-a-25",
        "g03-exam-a-26",
        "g03-exam-a-27",
        "g03-learning-identify-implementation-options-by-harness",
        "microsoft-ai-at-work-roadmap-transition",
        "microsoft-copilot-studio-agent-evaluation-pl900",
        "microsoft-copilot-studio-agent-flows-overview-pl900",
        "microsoft-copilot-studio-docs-pl900",
        "microsoft-copilot-studio-solutions-ab100",
        "microsoft-power-platform-pipelines-pl900"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AB-731",
      "guide_path": "guides/AB-731-ai-transformation-leader.md",
      "guide_content_sha256": "f831fcb643c015e9a00ce798264c9431cbd90a867abbe93b1dbeafff936abf9b",
      "objective_path": "data/objective-snapshots/ab-731-official-objectives.txt",
      "objective_raw_sha256": "dbb6d89a150d8e1ca630380839f190f05e89b2688a862c3987f14a1df48ea7e7",
      "objective_count": 39,
      "source_validation_id": "ab-731-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 36,
        "reachable": 34,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab-620-classic-versus-new-experience",
        "ab-730-work-iq",
        "ab-731-blueprint",
        "ab-731-course",
        "ab-731-credential",
        "ab-731-exam-prep-video",
        "ab-731-path-business-value",
        "ab-731-path-drive-value",
        "ab-731-path-transform",
        "ab-731-pluralsight",
        "ab-731-practice",
        "ab-731-udemy-burton",
        "ab-731-udemy-rodrigues",
        "ab100-foundry-tools",
        "ab730-researcher-models",
        "ab731-adoption-score",
        "ab731-agent-governance",
        "ab731-chat-license",
        "ab731-commitment",
        "ab731-customer-zero-blog",
        "ab731-data-quality",
        "ab731-decision",
        "ab731-edp",
        "ab731-govern",
        "ab731-impact",
        "ab731-rag",
        "ab731-strategy",
        "ab731-vision",
        "ab731-web-search",
        "g03-exam-a-21",
        "g03-exam-a-29",
        "g03-learning-business-strategy-for-ai-value",
        "mb-820-partner-skilling-hub",
        "microsoft-365-copilot-researcher-faq-ab900",
        "microsoft-ai-center-of-excellence-ab100",
        "microsoft-foundry-overview-ai103"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AI-300",
      "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
      "guide_content_sha256": "9d785409540a4c31b4f4214cb4d516d57070a96b0c234997d6342be267588bb9",
      "objective_path": "data/objective-snapshots/ai-300-official-objectives.txt",
      "objective_raw_sha256": "79d7fabcf253e7ac5f5f7629397075867d22c48045c2483c9d03e1b217215f41",
      "objective_count": 58,
      "source_validation_id": "ai-300-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 61,
        "reachable": 59,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "ai-300-agent-monitoring-dashboard",
        "ai-300-ai-300t00-operationalize-machine-learning-and-generative-ai-solutions",
        "ai-300-ai-skills-navigator-practice-assessment",
        "ai-300-automl-concepts",
        "ai-300-azure-ai-search-relevance",
        "ai-300-azure-login-oidc",
        "ai-300-azure-ml-cli-v2",
        "ai-300-azure-ml-examples",
        "ai-300-azure-mlops-v2-solution-accelerator",
        "ai-300-batch-endpoints",
        "ai-300-bicep-resource-reference",
        "ai-300-blueprint",
        "ai-300-certification-page",
        "ai-300-components",
        "ai-300-data-assets",
        "ai-300-datastores",
        "ai-300-environments",
        "ai-300-foundry-evaluation",
        "ai-300-foundry-fine-tuning-guidance",
        "ai-300-hyperparameter-tuning",
        "ai-300-mlflow-models",
        "ai-300-mlflow-tracking-in-azure-ml",
        "ai-300-model-management",
        "ai-300-model-monitoring",
        "ai-300-o-reilly-mlops-llmops-bootcamp",
        "ai-300-online-endpoints",
        "ai-300-provisioned-throughput-concepts",
        "ai-300-registries",
        "ai-300-responsible-ai-dashboard",
        "ai-300-risk-and-safety-evaluation",
        "ai-300-secure-workspace-guidance",
        "ai-300-udemy-ai-300-mlops-genaiops-preparation",
        "ai-300-udemy-ai-300-practice-tests",
        "ai-300-workspace-access-management",
        "ai-300-workspace-architecture",
        "ai300-cloud-eval",
        "ai300-feature",
        "ai300-may-blog",
        "ai300-network",
        "ai300-ptu-sizing",
        "ai300-retirement",
        "ai300-reuse",
        "ai300-rollout",
        "ai300-rrf",
        "ai300-sdk-v1",
        "ai300-spillover",
        "ai300-trace-eval",
        "ai300-trust-blog",
        "ai300-whizlabs",
        "dp-800-rag-concepts-documentation",
        "g03-exam-a-12",
        "g03-exam-a-15",
        "g03-exam-a-16",
        "g03-exam-a-28",
        "g03-exam-a-4",
        "g03-learning-microsoft-foundry-documentation-samples",
        "g03-learning-mlops-solution-accelerator-structure",
        "microsoft-foundry-docs",
        "microsoft-foundry-models-overview-ai103",
        "microsoft-foundry-trace-application-ai103",
        "microsoft-reactor"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "Upstream embedding adaptation is corroborated; fine-tuning support on a chosen managed Foundry embedding endpoint remains unverified. Use the explicitly scoped custom-training route rather than infer universal managed support.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AI-901",
      "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
      "guide_content_sha256": "dc9ca5bd238e82ff504dde5e0888608c9644e1a012e07b800abf1366f981e749",
      "objective_path": "data/objective-snapshots/ai-901-official-objectives.txt",
      "objective_raw_sha256": "8b1c05a7a2258d69e43d47d75c0adeae2a5a7660e12e4d46627014d1ff9bedd1",
      "objective_count": 29,
      "source_validation_id": "ai-901-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 42,
        "reachable": 39,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab731-vision",
        "ai-901-blueprint",
        "ai103-content-understanding-whats-new",
        "ai103-cu-august-blog",
        "ai901-content-understanding-service-limits",
        "ai901-cu-fields",
        "ai901-cu-models",
        "ai901-foundry-blog",
        "ai901-language-client",
        "ai901-pluralsight",
        "ai901-prompt-agent",
        "ai901-responses",
        "ai901-sdk",
        "ai901-speech-client",
        "ai901-voice-agent",
        "azure-content-safety-docs",
        "g03-exam-a-3",
        "g03-learning-get-started-with-microsoft-foundry-iq",
        "john-savill-ai-900-study-cram-v2",
        "microsoft-ai-901-course",
        "microsoft-ai-901-practice-assessment",
        "microsoft-ai-apps-agents-learning-path-ai901",
        "microsoft-ai-concepts-learning-path-ai901",
        "microsoft-ai-show",
        "microsoft-ai900-retirement-study-guide",
        "microsoft-ai901-credential",
        "microsoft-azure-language-documentation-ai901",
        "microsoft-content-understanding-overview-ai103",
        "microsoft-content-understanding-quickstart-ai103",
        "microsoft-foundry-agent-service",
        "microsoft-foundry-capability-map-ai901",
        "microsoft-foundry-docs",
        "microsoft-foundry-image-generation-editing-ai103",
        "microsoft-foundry-model-deployment-ai103",
        "microsoft-foundry-models-overview-ai103",
        "microsoft-foundry-vision-models-ai103",
        "microsoft-responsible-ai-principles-ai901",
        "microsoft-speech-documentation-ai103",
        "oreilly-ai-901-video",
        "udemy-ai-901-christopher-nett",
        "udemy-ai-901-kuljot-bakshi",
        "whizlabs-ai-901"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AZ-104",
      "guide_path": "guides/AZ-104-microsoft-azure-administrator.md",
      "guide_content_sha256": "3899d0d582d439b56747ca10effc793ddd629fae6969c5b12ff9e5a8783bc2f1",
      "objective_path": "data/objective-snapshots/az-104-official-objectives.txt",
      "objective_raw_sha256": "7d2330fbafdd4981b54e6aa8f9ba371f0bbad1edf521fa8d2fa591e2bf8d2ae1",
      "objective_count": 82,
      "source_validation_id": "az-104-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 67,
        "reachable": 64,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "ai200-acr-abac",
        "az-104-app-service-overview",
        "az-104-backup-overview",
        "az-104-bicep-overview",
        "az-104-blueprint",
        "az-104-container-apps-overview",
        "az-104-john-savill-study-cram-v2",
        "az-104-load-balancer-overview",
        "az-104-measureup-assessment",
        "az-104-microsoft-learn-course",
        "az-104-microsoft-practice-assessment",
        "az-104-oreilly-aci-course",
        "az-104-oreilly-exam-ref-second-edition",
        "az-104-pluralsight-path",
        "az-104-udemy-scott-duffy",
        "az-104-whizlabs",
        "az-700-public-ip-addresses",
        "az-800-azure-files-identity",
        "az-801-doc-33-azure-to-azure-tutorial-enable-replication",
        "az-801-doc-56-azure-monitor-agent-overview",
        "az104-activity-table",
        "az104-app-backup",
        "az104-app-certs",
        "az104-app-slots",
        "az104-arm-modes",
        "az104-asr-test",
        "az104-cert-blog",
        "az104-cert-changes",
        "az104-credential",
        "az104-decompile",
        "az104-files-managed-identities",
        "az104-host-encryption",
        "az104-immutable-manage",
        "az104-lifecycle",
        "az104-nsg-flow",
        "az104-outbound",
        "az104-replication",
        "az104-role-definitions",
        "az104-routing-blog",
        "az104-sas",
        "az104-softdelete",
        "az104-sspr",
        "az104-vnet-faq",
        "az801-immutable-vault",
        "azure-monitor-documentation",
        "azure-network-security-groups-overview-sc900",
        "azure-policy-overview",
        "azure-private-endpoint-overview",
        "azure-rbac-overview",
        "azure-storage-azcopy",
        "azure-storage-introduction",
        "azure-storage-redundancy",
        "azure-virtual-machines-overview",
        "azure-virtual-network-overview",
        "g03-exam-a-14",
        "g03-exam-a-17",
        "g03-exam-a-18",
        "g03-exam-a-19",
        "g03-exam-a-20",
        "g03-exam-a-4",
        "g03-exam-a-5",
        "g03-exam-a-6",
        "g03-exam-a-7",
        "g03-exam-a-8",
        "g03-exam-a-9",
        "g03-learning-az-104-lab-02b-manage-governance-via-azure-policy",
        "ms-102-group-licensing"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AZ-140",
      "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
      "guide_content_sha256": "5fb48c190decd5339ae74740c1fe70aee93e26ec9e478fbffdbaf5a84dbac5a2",
      "objective_path": "data/objective-snapshots/az-140-official-objectives.txt",
      "objective_raw_sha256": "d40f010042124a6e28c81a7f783b6127e3b7ebf7bb99d9b3ddfccdd40dcede84",
      "objective_count": 78,
      "source_validation_id": "az-140-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 61,
        "reachable": 58,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "az-140-app-attach",
        "az-140-autoscale-insights",
        "az-140-azure-files-avd",
        "az-140-bcdr-guidance",
        "az-140-blueprint",
        "az-140-conditional-access",
        "az-140-credential",
        "az-140-entra-sso",
        "az-140-exam-readiness-series",
        "az-140-fslogix-documentation",
        "az-140-fslogix-netapp",
        "az-140-image-builder",
        "az-140-insights",
        "az-140-measureup-practice-test",
        "az-140-microsoft-learn-course",
        "az-140-microsoft-practice-assessment",
        "az-140-networking-well-architected",
        "az-140-oreilly-mastering-avd",
        "az-140-oreilly-securing-cloud-pcs-avd",
        "az-140-prerequisites",
        "az-140-private-link",
        "az-140-rdp-bandwidth",
        "az-140-rdp-multipath",
        "az-140-rdp-properties",
        "az-140-rdp-shortpath",
        "az-140-security-recommendations",
        "az-140-udemy-kubaib",
        "az140-app-overview",
        "az140-autoscale",
        "az140-autoscale-faq",
        "az140-classic-teams",
        "az140-context-based-redirections",
        "az140-files-kerberos",
        "az140-fslogix-config",
        "az140-fslogix-faq",
        "az140-fslogix-release",
        "az140-host-blog",
        "az140-host-update",
        "az140-hybrid",
        "az140-hybrid-blog",
        "az140-managed-identity",
        "az140-management",
        "az140-news",
        "az140-old-client",
        "az140-pluralsight-path",
        "az140-profile-entra",
        "az140-teams",
        "az140-teams-blog",
        "az140-teams-vdi",
        "az140-updates",
        "g03-configure-endpoints-vdi",
        "g03-configure-host-pool-personal-desktop-assignment-type",
        "g03-how-to-configure-odfc-containers",
        "g03-learning-az-140-implement-monitoring-with-azure-virtual-desktop-insights",
        "g03-learning-az-140-official-hosted-lab-index",
        "g03-licensing",
        "g03-redirection-configure-printers",
        "g03-start-virtual-machine-connect",
        "g03-troubleshoot-management-issues",
        "g03-tutorial-application-rule-sets",
        "g03-universal-print-intune-tool"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AZ-305",
      "guide_path": "guides/AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
      "guide_content_sha256": "8738024e1a6e730cfbb4417fbb489f37b86ec400ccaf6f573f12301ee4088f59",
      "objective_path": "data/objective-snapshots/az-305-official-objectives.txt",
      "objective_raw_sha256": "7e5e8671b6ba67938e71f71261f92e0d9798f27ec94f79c75e3ea6310f917df2",
      "objective_count": 49,
      "source_validation_id": "az-305-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 54,
        "reachable": 51,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "ai-200-azure-cache-for-redis-retirement-faq",
        "ai200-bus-lock",
        "ai200-function-scale",
        "az-104-backup-overview",
        "az-305-api-management-overview",
        "az-305-blueprint",
        "az-305-cloud-adoption-framework",
        "az-305-data-model-decision-guidance",
        "az-305-john-savill-study-cram",
        "az-305-john-savill-whiteboard",
        "az-305-load-balancing-decision-guide",
        "az-305-measureup-practice-test",
        "az-305-messaging-decision-guide",
        "az-305-microsoft-learn-course",
        "az-305-microsoft-practice-assessment",
        "az-305-oreilly-aci-course",
        "az-305-oreilly-exam-ref",
        "az-305-pluralsight-path",
        "az-305-reliability-guidance",
        "az-305-site-recovery-overview",
        "az-305-udemy-christopher-nett",
        "az-305-well-architected-framework",
        "az-305-whizlabs-resources",
        "az104-outbound",
        "az305-apim-blog",
        "az305-apim-regions",
        "az305-apim-v2",
        "az305-bus-blog",
        "az305-bus-geo",
        "az305-bus-geodr",
        "az305-config-geo",
        "az305-credential",
        "az305-faults-blog",
        "az305-fma",
        "az305-frontdoor",
        "az305-idempotent",
        "az305-log-plans",
        "az305-outbox",
        "az305-regions",
        "az305-vault-backup",
        "azure-architecture-center",
        "azure-compute-decision-guide",
        "azure-key-vault-overview-sc900",
        "azure-migrate-services-overview",
        "azure-monitor-documentation",
        "azure-networking-documentation",
        "azure-policy-overview",
        "azure-rbac-overview",
        "azure-storage-redundancy",
        "dp-300-doc-13",
        "g03-auth-kcd",
        "g03-fabric-analytical-data-stores",
        "microsoft-cosmos-db-partitioning-overview",
        "sc100-keyvault-default"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AZ-400",
      "guide_path": "guides/AZ-400-designing-implementing-microsoft-devops-solutions.md",
      "guide_content_sha256": "478a661acf133d18bf92911b35e1379df609622573cf254db32e5400554d8e15",
      "objective_path": "data/objective-snapshots/az-400-official-objectives.txt",
      "objective_raw_sha256": "2daece89f2a2ef131293e7299b41532985afbe955aed913bb86dc42bb8650460",
      "objective_count": 86,
      "source_validation_id": "az-400-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 83,
        "reachable": 82,
        "access_blocked": 1,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab-410-credential-retirement",
        "ai200-sampling",
        "az-400-analytics-widgets",
        "az-400-app-configuration-feature-management",
        "az-400-application-insights-opentelemetry",
        "az-400-artifacts-concepts",
        "az-400-automation-state-migration",
        "az-400-azure-devops-labs",
        "az-400-azure-monitor-kql",
        "az-400-azure-wif-service-connection",
        "az-400-bicep-what-if",
        "az-400-blueprint",
        "az-400-boards-github-integration",
        "az-400-code-coverage",
        "az-400-credential",
        "az-400-defender-devops-security",
        "az-400-deployment-environments-concepts",
        "az-400-exam-readiness-zone",
        "az-400-github-actions-concepts",
        "az-400-github-actions-metrics",
        "az-400-github-large-files",
        "az-400-github-lfs",
        "az-400-github-mermaid",
        "az-400-github-oidc-azure",
        "az-400-github-security-features",
        "az-400-github-self-hosted-runners",
        "az-400-measureup-practice-test",
        "az-400-microsoft-learn-course",
        "az-400-microsoft-practice-assessment",
        "az-400-microsoft-reactor-agentic-devops",
        "az-400-oreilly-tim-warner-crash-course",
        "az-400-pipeline-approvals-checks",
        "az-400-pipeline-reports",
        "az-400-pluralsight-path",
        "az-400-test-analytics",
        "az-400-udemy-alan-rodrigues",
        "az-400-whizlabs",
        "az400-actions-dependency-lockfiles",
        "az400-actions-lockfiles-ga-2026",
        "az400-artifact-promotion",
        "az400-attest",
        "az400-cache-mode",
        "az400-codeql-default",
        "az400-conditions",
        "az400-connection-blog",
        "az400-devops-connection",
        "az400-devops-identities",
        "az400-execution",
        "az400-execution-ga",
        "az400-feed-permissions",
        "az400-issuer-blog",
        "az400-merge-queue",
        "az400-node24",
        "az400-pipeline-retention",
        "az400-promotion-blog",
        "az400-public-projects",
        "az400-sampling-classic",
        "az400-sprint276",
        "az400-variables",
        "g03-about-insights-for-projects",
        "g03-add-teams",
        "g03-azure-developer-retired-credential",
        "g03-change-project-level-permissions",
        "g03-dotnet-core",
        "g03-learning-azure-devops-yaml-historical-lab",
        "g03-learning-create-your-first-azure-pipeline",
        "g03-manage-feature-flags",
        "g03-publish-test-results-contract",
        "g03-quickstart-create-access-environments",
        "g03-quickstart-onboard-devops",
        "g03-quickstart-onboard-github",
        "g03-remediation-options",
        "g03-run-in-a-container",
        "g03-templates",
        "github-actions-early-september-2026",
        "github-actions-retention-expansion-2026",
        "github-docs-actions-secure-use",
        "github-docs-branch-protection",
        "github-docs-github-flow",
        "github-docs-writing-on-github",
        "john-savill-devops-master-class",
        "john-savill-devops-master-class-materials",
        "ms700-connectors-blog"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AZ-700",
      "guide_path": "guides/AZ-700-designing-implementing-azure-networking-solutions.md",
      "guide_content_sha256": "7b6ee0b5587cfb3e60d8f7989f0ca323957221a34747fccb84b3d08270975287",
      "objective_path": "data/objective-snapshots/az-700-official-objectives.txt",
      "objective_raw_sha256": "949dcb2d1b4bbde19b6f41b69fdf59cf33b52391d4b8010e2a46d6a0c94a98dd",
      "objective_count": 136,
      "source_validation_id": "az-700-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 77,
        "reachable": 75,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "az-305-load-balancing-decision-guide",
        "az-700-blueprint",
        "az-700-expressroute-documentation",
        "az-700-firewall-documentation",
        "az-700-front-door-documentation",
        "az-700-john-savill-study-guide",
        "az-700-john-savill-whiteboard",
        "az-700-measureup-practice-test",
        "az-700-microsoft-learn-course",
        "az-700-microsoft-practice-assessment",
        "az-700-nat-gateway-overview",
        "az-700-network-watcher-overview",
        "az-700-oreilly-kirk-whetton-course",
        "az-700-oreilly-packt-book",
        "az-700-pluralsight-path",
        "az-700-private-link-overview",
        "az-700-public-ip-addresses",
        "az-700-udemy-alan-rodrigues",
        "az-700-virtual-network-routing",
        "az-700-virtual-wan-overview",
        "az-700-vpn-gateway-documentation",
        "az-700-waf-documentation",
        "az-700-whizlabs-course",
        "az-800-private-resolver",
        "az104-outbound",
        "az104-vnet-faq",
        "az305-frontdoor",
        "az700-admin-rules",
        "az700-always-on",
        "az700-appgw-tls",
        "az700-appgw-v1",
        "az700-bastion",
        "az700-connection-troubleshoot-overview",
        "az700-credential",
        "az700-dns-blog",
        "az700-dns-endpoints",
        "az700-dns-fallback",
        "az700-endpoints-policy",
        "az700-er-failover",
        "az700-er-fastpath",
        "az700-er-guard",
        "az700-firewall-order",
        "az700-firewall-snat",
        "az700-frontdoor-origin",
        "az700-frontdoor-waf",
        "az700-icmp-blog",
        "az700-nat-resource",
        "az700-nat-snat",
        "az700-nsg-flow-logs-retirement",
        "az700-outbound-blog",
        "az700-p2s",
        "az700-pe-dns",
        "az700-pe-policies",
        "az700-pls-direct",
        "az700-routing-intent",
        "az700-vnet-flow-logs-overview",
        "az700-vpn-skus",
        "azure-network-security-groups-overview-sc900",
        "azure-networking-documentation",
        "g03-about-nva-hub",
        "g03-create-virtual-network-manager-portal",
        "g03-custom-ip-address-prefix",
        "g03-expressroute-bfd",
        "g03-expressroute-howto-routing-portal-resource-manager",
        "g03-front-door-rules-engine-actions",
        "g03-how-to-manage-cloud-security-explorer",
        "g03-hub-settings",
        "g03-learning-az-700-configure-dns-settings-in-azure",
        "g03-manage-ddos-protection",
        "g03-manage-web-application-firewall-policies",
        "g03-point-to-site-how-to-radius-ps",
        "g03-point-to-site-vpn-client-configuration-radius",
        "g03-quickstart-create-route-server-portal",
        "g03-rewrite-http-headers-url",
        "g03-tutorial-create-gateway-load-balancer",
        "windows-azure-extended-network",
        "windows-azure-network-adapter"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AZ-900",
      "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
      "guide_content_sha256": "09dafd7ca0dffee692577828c9efca74232f668469361d83e4a2b081c0d021f0",
      "objective_path": "data/objective-snapshots/az-900-official-objectives.txt",
      "objective_raw_sha256": "8b4c89d325b3ce339eb881aa2dc4b251888e6d7a07d6351d81bcc2123b1c4449",
      "objective_count": 57,
      "source_validation_id": "az-900-2026-10-28-remaining-group03-source-validation",
      "link_evidence": {
        "unique_external_links": 71,
        "reachable": 69,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "az-800-entra-domain-services",
        "az-900-blueprint",
        "az305-regions",
        "az900-accounts",
        "az900-agent-billing",
        "az900-billing-blog",
        "az900-budgets",
        "az900-cloud-shell",
        "az900-cost-tags",
        "az900-external",
        "az900-forecast-blog",
        "az900-lifetime",
        "az900-reservations",
        "az900-savings-plan-current-overview",
        "az900-smart",
        "az900-smart-blog",
        "az900-spending-limit",
        "az900-tags",
        "az900-tiers",
        "az900-vm-states",
        "azure-advisor-overview",
        "azure-arc-overview",
        "azure-architecture-center",
        "azure-compute-decision-guide",
        "azure-cost-management-billing-overview",
        "azure-data-box-overview",
        "azure-file-sync-overview",
        "azure-finops-guidance",
        "azure-governance-documentation",
        "azure-migrate-services-overview",
        "azure-monitor-documentation",
        "azure-networking-documentation",
        "azure-networking-overview",
        "azure-policy-overview",
        "azure-private-endpoint-overview",
        "azure-rbac-overview",
        "azure-regions-list",
        "azure-reliability-documentation",
        "azure-resource-locks",
        "azure-resource-manager-overview",
        "azure-resource-organization-guidance",
        "azure-service-health-overview",
        "azure-shared-responsibility",
        "azure-storage-azcopy",
        "azure-storage-explorer-overview",
        "azure-storage-introduction",
        "azure-storage-redundancy",
        "azure-virtual-machines-overview",
        "azure-virtual-network-overview",
        "coursera-microsoft-az-900-specialization",
        "g03-learning-describe-azure-management-and-governance-learning-path",
        "g03-learning-describe-cloud-concepts-learning-path",
        "g03-learning-describe-cost-optimization-options-in-azure",
        "john-savill-az-900-course-materials",
        "john-savill-az-900-study-cram",
        "linkedin-learning-az-900-microsoft-press",
        "measureup-az-900-practice-test",
        "microsoft-az-900-certification-page",
        "microsoft-az-900-course",
        "microsoft-az-900-practice-assessment",
        "microsoft-entra-conditional-access-overview",
        "microsoft-entra-documentation",
        "microsoft-entra-overview",
        "microsoft-purview-overview",
        "oreilly-az-900-video",
        "oreilly-certification-practice-tests",
        "pluralsight-az-900",
        "sc100-policy-remediation",
        "skilling-hub-levelup-az-900",
        "udemy-az-900-nikolai-schuler",
        "whizlabs-az-900"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "New examples and learning worksheets are proposed/tabletop only. No new service, tenant, engine or SDK execution.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are not observed product results. Human review and a complete independent semantic audit remain pending."
      ]
    }
  ],
  "objective_mapping_matrix": {
    "schema_version": 1,
    "reviewed_on": "2026-10-28",
    "scope": "Two same-team read-only subset semantic rereads of complete final guides and diffs, with per-objective bindings; independent review recorded separately.",
    "current_objective_count": 658,
    "historical_objective_count": 658,
    "future_objective_count": 0,
    "initial_partial_objectives": 130,
    "worked_additions": 43,
    "remaining_material_named_workflow_findings": 0,
    "teaching_spans": 854,
    "exams": [
      {
        "exam_code": "AB-620",
        "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
        "guide_lf_sha256": "c75b80d4362706956756e8c4f20acbf68525f7275ed84eb39867f71788dd3067",
        "objective_raw_sha256": "8b9f6ca0601cf631a000763ce7a0cca802a0177c66d7a4e3cc29d84d52188dfc",
        "objective_count": 44,
        "current_mapping": [
          {
            "wording": "Plan integration with enterprise systems",
            "objective_wording_sha256": "3b8c6283f7dfc14e77d3923d5dddc23a173acad4789f0ea868a25cfb96d7406b",
            "group": "Plan an agent solution",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Plan enterprise integration as trust boundaries",
                "start_line": 112,
                "end_line": 125,
                "span_lf_sha256": "dca6141c9af2e15afc0114434296d02bf4f1a9b282f4fb05d65d393b6e404584"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Trust-boundary inventory includes systems, identity, retries and ownership.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Plan identity strategy",
            "objective_wording_sha256": "2e8babd7c43fd8b44b22f40c5a263f69ef92d84406143d987fee7e63cd6aad04",
            "group": "Plan an agent solution",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Choose the identity strategy before building tools",
                "start_line": 127,
                "end_line": 146,
                "span_lf_sha256": "19cd603fc7f0ff9e8071e84dd2ae69a7b8ed32300b0c5f7f896f8b2b05e71ce5"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Identity decision table separates caller, maker and workload execution and verifies channel-specific variables.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Plan channels and deployment",
            "objective_wording_sha256": "a3e790165fd95976198b87076aa1f1a9c02f4cac82239229bd59da71d74fcef0",
            "group": "Plan an agent solution",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Design channels and deployment together",
                "start_line": 148,
                "end_line": 165,
                "span_lf_sha256": "d42bc12fc9780372349eaa27199f3cbbf7c3b64309ec89086fdfda8b076c5deb"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Channel checklist and propagation example separate publication, transport security and authorization.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Plan responsible AI strategy",
            "objective_wording_sha256": "597c0e04de6de674fb1cd84c86412c8d1028cec037e29e57b3561fd57a02bcc8",
            "group": "Plan an agent solution",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Plan responsible AI and governance as lifecycle controls",
                "start_line": 167,
                "end_line": 177,
                "span_lf_sha256": "45899c69cdda22849d4efe88b37526ef9a1aa6dfe15f1af82fe4f92ff6b26f19"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Lifecycle risk register specifies surfaces and proportional controls.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Evaluate security and governance considerations",
            "objective_wording_sha256": "adc967ca1bbb1becb714f56ef84feabdb608f925471bd834b80956b54049e068",
            "group": "Plan an agent solution",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Plan responsible AI and governance as lifecycle controls",
                "start_line": 167,
                "end_line": 177,
                "span_lf_sha256": "45899c69cdda22849d4efe88b37526ef9a1aa6dfe15f1af82fe4f92ff6b26f19"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Environment zones connect data policies, roles, publishing and monitoring.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Plan reuseable agent components",
            "objective_wording_sha256": "962da4cd046a2f0add256560d43f78c0fe96bf5b0be72c6837faf0bc44502f9e",
            "group": "Plan an agent solution",
            "group_number": 1,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Plan responsible AI and governance as lifecycle controls",
                "start_line": 179,
                "end_line": 185,
                "span_lf_sha256": "639ccbe949e06d5588f3b6dc96bf8cb084a310980ccd4a93bf5953bb4a218ad6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Reusable contracts specify owners, schemas, versions, consumers and deprecation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Design agents for internal or external audiences",
            "objective_wording_sha256": "c59202db2c50c2cbe7ea262f8765173659e9f5f674d5914e2ea59c0ca57b6f69",
            "group": "Plan an agent solution",
            "group_number": 1,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Build an architecture contract before a canvas",
                "start_line": 94,
                "end_line": 108,
                "span_lf_sha256": "63ffd122a22d58cb7af7e62077baa584b224f1623a8f0929dbdf8160abfa08bb"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Architecture contract distinguishes internal, known external and anonymous audiences.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create an agent flow",
            "objective_wording_sha256": "a968a502b87134f9222094ff58511f1b923d2a4ac315364bee4f499ac28a64dc",
            "group": "Create and monitor agent flows in Copilot Studio",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Create bounded agent flows",
                "start_line": 190,
                "end_line": 208,
                "span_lf_sha256": "985434c470cfea1f18a848aa543193aea88fdf3aba10dc2cd050587b8182c409"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Typed flow path includes business rejection, transient failure and escalation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create a human-in-the-loop agent flow",
            "objective_wording_sha256": "9e1e887c0e9e3587b4c3e240d3e0e064111e49681044f547c5432bf52acd0c3e",
            "group": "Create and monitor agent flows in Copilot Studio",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Create bounded agent flows",
                "start_line": 204,
                "end_line": 210,
                "span_lf_sha256": "b39e7caecd3871945bf5d39b3e001ad3f7fd075baff793329c5c23e83a409905"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Approval reachability example tests all outcomes and recreation after promotion.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure actions and connectors",
            "objective_wording_sha256": "59a6cf5da55e5c05dff39de3a5ddd51ea011c688c899afe7368463234b92f234",
            "group": "Create and monitor agent flows in Copilot Studio",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Create bounded agent flows",
                "start_line": 190,
                "end_line": 208,
                "span_lf_sha256": "985434c470cfea1f18a848aa543193aea88fdf3aba10dc2cd050587b8182c409"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Flow contracts specify connector steps and connection references.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Monitor agent flows",
            "objective_wording_sha256": "136a00cd63175fc99d8829cea7b6ec03687052f999abb1804f6e9b8e4010749d",
            "group": "Create and monitor agent flows in Copilot Studio",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Create bounded agent flows",
                "start_line": 206,
                "end_line": 208,
                "span_lf_sha256": "33214b457cefdfa25086020e35ff45c9e0277a1a6b7d945f230f0abb1f5093fa"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Run-monitoring signals distinguish flow execution from agent result mapping.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Add input and output parameters",
            "objective_wording_sha256": "e46a31d5e9fa9a882e50c199da57d261f9a3e5bd09e165e44f7a8992adb36eb4",
            "group": "Create and monitor agent flows in Copilot Studio",
            "group_number": 2,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Create bounded agent flows",
                "start_line": 190,
                "end_line": 202,
                "span_lf_sha256": "ce1b96e4f65161a5330df7d511fc48db4a80cfb280f6c04745115554d174772c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Inputs carry type, requirement, validation and default; outputs return structured status.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement error handling in agent flows",
            "objective_wording_sha256": "e97e25656cd63a3bae5be2f805c3964ec7f52a7fc162c6e6f0ec63a46fa77e90",
            "group": "Create and monitor agent flows in Copilot Studio",
            "group_number": 2,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Create bounded agent flows",
                "start_line": 202,
                "end_line": 204,
                "span_lf_sha256": "98c5d7e20429b1a2cd78241504e3487a0afee537cc161d6674c743543712ab5e"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Bounded transient retry, idempotency and compensation address partial writes.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Add agent flows to a topic",
            "objective_wording_sha256": "343443af69da0a31129fb4bf02d611ffa25dae00b5cd5486a457f4263cf5817d",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Use topics for explicit conversational control",
                "start_line": 212,
                "end_line": 227,
                "span_lf_sha256": "99236bec250f4e2d64bc02ec44053df277927d8c8e79b8554f61ead934cd83a3"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Topic node workflow explicitly maps flow inputs/results and success/error routing.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure agent response formatting",
            "objective_wording_sha256": "a50d3ded3593565161987e3ab738438c4c657180bc19ff9ce0e5405698cce911",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Design response formatting and Adaptive Cards",
                "start_line": 229,
                "end_line": 235,
                "span_lf_sha256": "8b81ff7817d13f6551c756cd2f2f8d7a34b69b386a57cba680ecb463e4f8f294"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Portable text and cards are selected by host with fallback and validation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Add tools to a topic",
            "objective_wording_sha256": "a1646d0ab942e50edc0bc5ad88b5aa61b63cecb7c17515bb84baa21b1ed44007",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Use topics for explicit conversational control",
                "start_line": 212,
                "end_line": 227,
                "span_lf_sha256": "99236bec250f4e2d64bc02ec44053df277927d8c8e79b8554f61ead934cd83a3"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Explicit tool calls contrasted with orchestration avoid duplicate writes.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure advanced agent responses with custom prompts",
            "objective_wording_sha256": "f47fe62e0d985b49059f963cbdb1b1b4597e980fd857b3620b839f00c347ce7c",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Use custom prompts and knowledge inside topics",
                "start_line": 237,
                "end_line": 239,
                "span_lf_sha256": "60212e7cb58fbdf27d75f1c6a1a218d4456ec9ab2227ebe5ed7a062b231c93bf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Prompt contract specifies task, evidence, schema and failure behavior.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure advanced agent responses with custom knowledge sources",
            "objective_wording_sha256": "f2e975d02c1f53c5bed9ca330d41501bdbbe6e847998744290905e67015fe410",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Connect enterprise knowledge safely",
                "start_line": 285,
                "end_line": 301,
                "span_lf_sha256": "3bd66d580c069880339f24db02d28ce6109552077005babc6e9c1ca446e934c4"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Custom knowledge trigger specifies result fields, caller authorization and combined snippet budget.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure advanced agent responses with API and Send HTTP requests",
            "objective_wording_sha256": "186d611611178d41c65a8e5e2b5a9a39e90fe040af7284e31130971988a18823",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Use custom prompts and knowledge inside topics",
                "start_line": 241,
                "end_line": 245,
                "span_lf_sha256": "f5d7774da5db5b3c48f3e23fda85c67cdf3528eca57ed23be389088e970add1a"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: HTTP schema, timeout and Continue-on-error require explicit failure branch.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure generative answers node",
            "objective_wording_sha256": "a43943fd6e3fcffb39aaf80ccb9202ac3e35758e0b0c462d2702e861dce666a5",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Use custom prompts and knowledge inside topics",
                "start_line": 237,
                "end_line": 245,
                "span_lf_sha256": "d954098fcbc43d3d3043bff620363671c990adcbef0b7551adffa85e9844ef78"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Topic knowledge precedence and fallback are tested against agent sources.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure adaptive cards",
            "objective_wording_sha256": "504dd70fdd229fde17d05fb2191f6d4740385d38df3cc8c5b104a34e501db1bf",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Design response formatting and Adaptive Cards",
                "start_line": 229,
                "end_line": 235,
                "span_lf_sha256": "8b81ff7817d13f6551c756cd2f2f8d7a34b69b386a57cba680ecb463e4f8f294"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Card node, host schema and replay safeguards create concrete configuration boundaries.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage variables",
            "objective_wording_sha256": "378e012c9e7a878a0039c08dc8584878bd818912840f764068ebb6c783c1cf9c",
            "group": "Configure topics",
            "group_number": 3,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Manage variables as application state",
                "start_line": 247,
                "end_line": 261,
                "span_lf_sha256": "d411138edc705284ed9a54b1a26f32901ff28459d67f0eadef1783f8157e67f0"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: State table and redirect mapping distinguish scope, persistence and irreversible conversion.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Connect to Copilot connectors",
            "objective_wording_sha256": "de963b8fef19d6d16d47df20a2289c65cbc0b55609bb7fccd90573b7f863a8e7",
            "group": "Connect to enterprise knowledge sources",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked configuration: two sources with different retrieval paths",
                "start_line": 303,
                "end_line": 309,
                "span_lf_sha256": "4749908bc0a28479b4f2a5141fe2b4b94df8e921202dac5362a857799b88627b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-connectors. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab620-connectors"
          },
          {
            "wording": "Connect to Microsoft Power Platform connectors",
            "objective_wording_sha256": "19960fc5715d179610b9bf1c84763e1a18257aa816390965c59e38c527ea327c",
            "group": "Connect to enterprise knowledge sources",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked configuration: two sources with different retrieval paths",
                "start_line": 303,
                "end_line": 309,
                "span_lf_sha256": "4749908bc0a28479b4f2a5141fe2b4b94df8e921202dac5362a857799b88627b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-connectors. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab620-connectors"
          },
          {
            "wording": "Connect to Azure AI Search",
            "objective_wording_sha256": "ab12fc2f3d372f476bc1b22e448d9405697c60bd8cb0d9fd23181fc9467cd760",
            "group": "Connect to enterprise knowledge sources",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Connect enterprise knowledge safely",
                "start_line": 295,
                "end_line": 299,
                "span_lf_sha256": "e6059c547352172970b4e027b62ebc3c8ef1a89a345636599f3a0f8098727e2d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Search connection, vector index, Ready status, authentication and citation/access boundaries are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure and monitor computer use for an agent",
            "objective_wording_sha256": "8b0a8fdd14429c701662ead8c8aa55c9c2041ceb576baa9e4cb5d544eef3433d",
            "group": "Add tools to agents",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Use computer use only where its risk is justified",
                "start_line": 343,
                "end_line": 360,
                "span_lf_sha256": "2eaef25d4595b9730109b00435c443cf4565996fccd659fb63ecbf812b1a0106"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Machine isolation, supervision limitations and independent approval gate bound computer use.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure MCP tools",
            "objective_wording_sha256": "374b511d4bc6f5693910d02e66b18e5fdbfa5c5c63f4849a7d099fc5494b3bed",
            "group": "Add tools to agents",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Configure MCP tools deliberately",
                "start_line": 333,
                "end_line": 341,
                "span_lf_sha256": "aef85c444f3d11363e11e30323f270c53eab72922e605c8c06019f97bd31bb22"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Selective tools, Streamable transport, OAuth and generative orchestration define MCP setup.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Add a tool by using an existing custom connector",
            "objective_wording_sha256": "b43bf83713520737b5dea0cdb175a1a0c898c78d2a6ad5af158385eb8ddb042b",
            "group": "Add tools to agents",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked configuration: expose one read-only operation",
                "start_line": 325,
                "end_line": 331,
                "span_lf_sha256": "6a99aeebd9c58cd4d9930a0753ac518c2acb4fc10fea7c8aa8594a8bd46f2c99"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-tools. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab620-tools"
          },
          {
            "wording": "Add REST APIs to an agent",
            "objective_wording_sha256": "93f5540dbd163ca55883627731150f7973fd605e455c6990b5f36195680bc8e0",
            "group": "Add tools to agents",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked configuration: expose one read-only operation",
                "start_line": 325,
                "end_line": 331,
                "span_lf_sha256": "6a99aeebd9c58cd4d9930a0753ac518c2acb4fc10fea7c8aa8594a8bd46f2c99"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-tools. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab620-tools"
          },
          {
            "wording": "Design multi-agent solutions in Copilot Studio",
            "objective_wording_sha256": "91a2bd7d8ade13286d4c0876b9680feb77bd0bb6114a15f471be1ae0fae32cf1",
            "group": "Configure multi-agent collaboration from Copilot Studio",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Choose child versus connected agents",
                "start_line": 364,
                "end_line": 382,
                "span_lf_sha256": "ab49fb06a9df2f5888c66c675ce767e7a501db3ebff10d7986a1eb3d9b8b5589"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Child/connected choices, typed delegation and loop/handback policies form an architecture.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Integrate a Foundry agent",
            "objective_wording_sha256": "89726733dd2ad0636bf2f7219dd45c388c62b6f52b82fc95e14a3f98237c4544",
            "group": "Configure multi-agent collaboration from Copilot Studio",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Integrate current Foundry agents",
                "start_line": 390,
                "end_line": 396,
                "span_lf_sha256": "91ff1800b8fb96b2e817c4d5c1422e63a61c1c3126ff85bc48477a600bcbcb39"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Current generation, endpoint/ID and required Activity protocol diagnose connector failures.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Integrate an existing agent in Copilot Studio",
            "objective_wording_sha256": "5938a92d2a8185adfc925b466edeaeb4f2d6d8c2c8a88374241803d18a8a168b",
            "group": "Configure multi-agent collaboration from Copilot Studio",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked configuration: connect an independently owned agent",
                "start_line": 384,
                "end_line": 388,
                "span_lf_sha256": "e1c2818b8d0b033f7737a41d0766c0deebbe34ddd10e89d65fce8d9e932e5876"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-connected. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab620-connected"
          },
          {
            "wording": "Integrate a Fabric data agent",
            "objective_wording_sha256": "93a20c7b7abbb85b9d55257159c8f3bd37c718b28e97d19c93cd42b3f9d6c8db",
            "group": "Configure multi-agent collaboration from Copilot Studio",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Integrate Fabric data agents",
                "start_line": 398,
                "end_line": 404,
                "span_lf_sha256": "e54189cb9024f139d2c20edcc0760281b686e6ea5d2a594f7f97546a3009138c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Fabric IQ tool identifies harness, publication, identity, permissions and cross-geo boundaries.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create a multi-agent solution by using A2A protocol",
            "objective_wording_sha256": "f69ace6cdd0b6cafb5a0095dcbb8ad178c0923044f0310c3ac553f5186ec8a38",
            "group": "Configure multi-agent collaboration from Copilot Studio",
            "group_number": 6,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Integrate external agents with A2A",
                "start_line": 406,
                "end_line": 412,
                "span_lf_sha256": "90c5727dc7cb0f58c6906330a21b7157ac1d4d74e61098f7d36fdc42d72810dc"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Communication endpoint, discovery path, supported auth and bounded tasks define A2A connection.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure generative answers by using Azure AI Search with Foundry",
            "objective_wording_sha256": "0251dbca169d2391ed9fc03f915cdd3a55fbd4e86168ea929cf3ba5c5c302bfc",
            "group": "Integrate agents with Azure",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Integrate external agents with A2A",
                "start_line": 413,
                "end_line": 417,
                "span_lf_sha256": "1d7a99eca20842febfa481c66982849df3864a4be68988a8ebda0c7635a68378"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Search ingestion/filtering precedes node/model configuration; detailed Search setup occurs at 295–299.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure custom prompts to use the Foundry model catalog",
            "objective_wording_sha256": "46112d08a2b92533a872f43e9fdb41543db5f934d2ef2aee15f81e3390cbf607",
            "group": "Integrate agents with Azure",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Integrate Azure AI Search and Foundry models",
                "start_line": 417,
                "end_line": 421,
                "span_lf_sha256": "2e64e48cea99be87217ae2e9f94659bb9089ab3d9fc21504740c598ec7ff2528"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Catalog model benchmark and BYO endpoint/model support are differentiated.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Monitor agents by using Application Insights",
            "objective_wording_sha256": "7ee20386aa9bc4b02d395526bd7f509df49e00951a40092ffb013404738b0c42",
            "group": "Integrate agents with Azure",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Monitor with native analytics and Application Insights",
                "start_line": 461,
                "end_line": 478,
                "span_lf_sha256": "0bdd8f71f6b5d8e8b9bf0b671813c214b389081b0cb36dec73e3e1e4cbd79635"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Application Insights telemetry separates agent/environment tables, correlation, eligibility and delay.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create a test set",
            "objective_wording_sha256": "21e984cfef3a07b56001c37eb88f323f8d84792c234174aec9aceef48f655725",
            "group": "Evaluate agent performance",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Build test sets from requirements and risks",
                "start_line": 424,
                "end_line": 440,
                "span_lf_sha256": "8ad7e6a04190650c682daf0f52d58463f4aff4bcd06804c374e2fc40d6b544fb"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Cases include intent/risk/user/expectation and test profiles; generated-case and limit boundaries are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Choose an evaluation method",
            "objective_wording_sha256": "4c5c4bb779dbfeb4e5cfe3ccd35e2924d0529aacb1c87f09c63d133e3c4774ec",
            "group": "Evaluate agent performance",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Choose the evaluation method deliberately",
                "start_line": 442,
                "end_line": 457,
                "span_lf_sha256": "c685d2e411d0f523e82b53de3ac4c61fb6064aea3ce2879a466a87a8aa1d1826"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Method table, safety/custom graders and invalid-case conditions support a choice.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Review test results",
            "objective_wording_sha256": "2061cef6d585cdbbaffe4a7886c2ca2d8b4aba72902449898de98e0ce5d33619",
            "group": "Evaluate agent performance",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Choose the evaluation method deliberately",
                "start_line": 453,
                "end_line": 459,
                "span_lf_sha256": "75db0c5d71c8991090c5bd1444b1c75f780a395268b70323d2dea7eab56847ec"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Per-case transcripts, tools and versions are diagnosed; denominator and retention examples prevent misleading summaries.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create a solution",
            "objective_wording_sha256": "762ed1e1e2396106aed051ead52256bbf9759c9b91987758f80d2af8ebedef10",
            "group": "Implement application lifecycle management (ALM) for agents in Copilot Studio",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Package the complete dependency graph",
                "start_line": 484,
                "end_line": 488,
                "span_lf_sha256": "a0d1fafef9593f0fc1e2b4a36006b85bd1b22e71501581e16e407aa7fb046a4c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Custom solution dependency graph and unmanaged/managed roles are taught.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Add existing agents to a solution",
            "objective_wording_sha256": "964690502c936d0bbb4ead190fab07a005d1da08878f70a30663db393cdd2ed8",
            "group": "Implement application lifecycle management (ALM) for agents in Copilot Studio",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Package the complete dependency graph",
                "start_line": 484,
                "end_line": 488,
                "span_lf_sha256": "a0d1fafef9593f0fc1e2b4a36006b85bd1b22e71501581e16e407aa7fb046a4c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Existing agent must enter the custom solution with dependencies; actual add step remains high-level.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and use environment variables",
            "objective_wording_sha256": "13df3e9a7d7b04f0e136e2c39126dd0a4b4c2fde987a517dc2f2bae5764deefa",
            "group": "Implement application lifecycle management (ALM) for agents in Copilot Studio",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Separate configuration from solution logic",
                "start_line": 490,
                "end_line": 503,
                "span_lf_sha256": "46653dd9b480a43f53b93b75595896319070ace5799bf33df0f96602d379edb5"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Environment values versus connections/secrets and post-import validation are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement and extend Microsoft Power Platform Pipelines",
            "objective_wording_sha256": "d6b7789637ed7e28c16d3319271f0a4ab8ddf6cdf1928d8084c8880cd2c2e58a",
            "group": "Implement application lifecycle management (ALM) for agents in Copilot Studio",
            "group_number": 9,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked extension: make an evaluation result a real deployment gate",
                "start_line": 524,
                "end_line": 528,
                "span_lf_sha256": "f421d2beec081364793754891e56f838e0f594495b4d4415b0a46abc53108e1b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-pipeline. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab620-pipeline"
          }
        ],
        "complete_guide_read": true,
        "complete_guide_line_count": 810,
        "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
      },
      {
        "exam_code": "AB-731",
        "guide_path": "guides/AB-731-ai-transformation-leader.md",
        "guide_lf_sha256": "f831fcb643c015e9a00ce798264c9431cbd90a867abbe93b1dbeafff936abf9b",
        "objective_raw_sha256": "dbb6d89a150d8e1ca630380839f190f05e89b2688a862c3987f14a1df48ea7e7",
        "objective_count": 39,
        "current_mapping": [
          {
            "wording": "Describe the differences between generative AI and other types of AI",
            "objective_wording_sha256": "0e06778a522b0d4025b15a6eb848ad3c83aa155a367ab3829f62f924a325298d",
            "group": "Identify the foundational concepts of generative AI",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Distinguish generation, machine learning and automation",
                "start_line": 59,
                "end_line": 74,
                "span_lf_sha256": "d37bcf950708172b3509abed2dfb8613913ade99a10e6064b8f71b98e0371add"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Generation, predictive ML and rules are distinguished with concrete business output choices.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Select a generative AI solution to meet a business need",
            "objective_wording_sha256": "dd69c1681ffddaf408b168f4281fb7328a710c983a0bc733ae90b60a1abc0e82",
            "group": "Identify the foundational concepts of generative AI",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Distinguish generation, machine learning and automation",
                "start_line": 59,
                "end_line": 91,
                "span_lf_sha256": "48c9e28a10dd101d316a8823dd47346812a3c80aa5210a5d470f094ca007d123"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Capability matrix and measured model-selection experiment match a task to an approach.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe the differences between AI models, including fine-tuned and pretrained models",
            "objective_wording_sha256": "ae95a0086676ef5297cd27bfc2777b4e8d9f2b480f018010454a1a307faa63cd",
            "group": "Identify the foundational concepts of generative AI",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Select a model and adaptation method",
                "start_line": 76,
                "end_line": 91,
                "span_lf_sha256": "e9d6703bb7ac97663d90a578423a92e06fbe86ffcdf7d27de88b46d78b7ccfa5"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Pretrained versus fine-tuned behavior and grounding decision order are explained.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Explain the cost drivers in generative AI usage, including tokens and return-on-investment (ROI) considerations",
            "objective_wording_sha256": "4b943bc9957c98dfe85663323bd2c3c411f6cf864e94c05f9936542402322e0f",
            "group": "Identify the foundational concepts of generative AI",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Build a credible value case",
                "start_line": 132,
                "end_line": 160,
                "span_lf_sha256": "75de8e2caa35df4193dab234ca325bd7a4d5165730325d8929e7eacddbb170f5"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Complete costs, accepted-outcome arithmetic and negative capacity-value ROI are worked.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify the challenges of using generative AI solutions, including fabrications, reliability, and bias",
            "objective_wording_sha256": "789235501a3aaa8c8062c7238f95ff0a3a960f173c37d1f4110608e537a5f6e8",
            "group": "Identify the foundational concepts of generative AI",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Evaluate data readiness",
                "start_line": 120,
                "end_line": 130,
                "span_lf_sha256": "9cc8b060ab1e441f43003f8d5a6acdc57a9ce1bd10edee1149473ca566b9760a"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Representative data, leakage, subgroup and model-change risks supplement security failures.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify when generative AI solutions can provide business value, including scalability and automation",
            "objective_wording_sha256": "dce9346c50b22cc552b0ef8e9fc81692dcdbf3c5f5a65ec7f6799fee59957ac1",
            "group": "Identify the foundational concepts of generative AI",
            "group_number": 1,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Build a credible value case",
                "start_line": 132,
                "end_line": 160,
                "span_lf_sha256": "75de8e2caa35df4193dab234ca325bd7a4d5165730325d8929e7eacddbb170f5"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Baseline, opportunity scorecard and bounded pilot criteria define value rather than slogan.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe the impact of prompt engineering",
            "objective_wording_sha256": "fcbfcc1c70a3321d251762245ba8555c8c000d1dba832d4b0042d833b752d7b0",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Engineer prompts as testable instructions",
                "start_line": 114,
                "end_line": 118,
                "span_lf_sha256": "d960e650d3240e2930cc40ff7940edfffc2d08da74a5460d1940991b2d4b4c64"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Instruction clarity, examples and constraints change outputs but do not establish truth.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Understand techniques of prompt engineering",
            "objective_wording_sha256": "565855bc67d09a16005905402f562193a28eba6ff74c39166c7d3e9095325d7e",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Engineer prompts as testable instructions",
                "start_line": 114,
                "end_line": 118,
                "span_lf_sha256": "d960e650d3240e2930cc40ff7940edfffc2d08da74a5460d1940991b2d4b4c64"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Examples, decomposition and output contracts are named; one concrete before/after prompt would strengthen this adequate conceptual treatment.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify business requirements for grounding solutions",
            "objective_wording_sha256": "b6db7d3b05be3ee286f2bf9e76691539100ec10c81113006633ce58829ce8bea",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Ground solutions and understand RAG",
                "start_line": 93,
                "end_line": 112,
                "span_lf_sha256": "2eda43f96c775a6a910134ad980638b63ca72d30ac690e43d9c09f4df74ad375"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Grounding requirements cover sources, permissions, freshness, abstention and tests.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Understand how retrieval-augmented generation (RAG) is used for AI solutions",
            "objective_wording_sha256": "947969d32e76db62aa48ba6afcce4f52f026b186714494b27917df5ff38b9d70",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Ground solutions and understand RAG",
                "start_line": 93,
                "end_line": 112,
                "span_lf_sha256": "2eda43f96c775a6a910134ad980638b63ca72d30ac690e43d9c09f4df74ad375"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Ingestion/retrieval/generation model distinguishes RAG from weight training.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Understand the impact of data on AI solutions, including data type, data quality, and representative datasets",
            "objective_wording_sha256": "2a6c894262c72ffcbd5a4768e279b606f7b57834ccb1427a00f0ffd77ce689f2",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Evaluate data readiness",
                "start_line": 120,
                "end_line": 124,
                "span_lf_sha256": "54db37ef9dcf9353e60afae7f06afc643c80adbc49996f9834a8371112b0d526"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Data types, quality dimensions, representation and test contamination are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe the importance of secure AI",
            "objective_wording_sha256": "67bfcc0ad03001d1f317815eba07a4f09012dd4e24475b24226fd7a30db4dbfb",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Secure the AI system",
                "start_line": 162,
                "end_line": 174,
                "span_lf_sha256": "fb588295dc8d32362dacb3f95a273368599d0d2202d3ede6228171fba8c4dbe4"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Layered security, untrusted evidence and actual data paths show why secure AI matters.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify scenarios when machine learning adds value",
            "objective_wording_sha256": "c33cbbd59dc264b93d6fa5bcafc66699186918ab1d83046571c6371fa5280392",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Distinguish generation, machine learning and automation",
                "start_line": 59,
                "end_line": 74,
                "span_lf_sha256": "d37bcf950708172b3509abed2dfb8613913ade99a10e6064b8f71b98e0371add"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Forecasting/fraud outputs use conventional ML; composition separates explanation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe the lifecycle of a machine learning solution",
            "objective_wording_sha256": "5b5acd7635dacea5b402bf61d4a88c67b71333b821a42f3d36600c3dbee96ac0",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Understand the ML lifecycle",
                "start_line": 126,
                "end_line": 130,
                "span_lf_sha256": "307385b1c3ec2ed2d5a18b3d44da21a5a4d16224c7e19e63ada7206f6a7483fd"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Lifecycle stages include data, development, release, monitoring and retirement.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify security considerations for AI systems, including application security, data security, and authentication requirements",
            "objective_wording_sha256": "eed9aecd3f43299f1597197e491f31cffd333a4c5189b767ca25b98c84dbbe87",
            "group": "Identify benefits and capabilities of generative AI solutions",
            "group_number": 2,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Secure the AI system",
                "start_line": 162,
                "end_line": 174,
                "span_lf_sha256": "fb588295dc8d32362dacb3f95a273368599d0d2202d3ede6228171fba8c4dbe4"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Application, user/workload auth and retrieval/action authorization remain separate controls.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Map business processes and use cases to Copilot",
            "objective_wording_sha256": "c3cfbf8410d9b0dabd0c0438bfef74e663a41865be8a70aecb93cf91deefce6c",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Map Microsoft Copilot experiences to work",
                "start_line": 178,
                "end_line": 192,
                "span_lf_sha256": "01568ff7b8a9cf6a9c4316ba2ae5a9ade5d2900392c69e590690c0c70ff3a775"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Process trigger, actors and artifacts drive product choice.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Understand differences in capabilities between versions of Copilot",
            "objective_wording_sha256": "89adfaaf4b4d3c122f91a008c14af705af4060897867a621d6880b0d3d6cd292",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked comparison: choose the experience from data and artifact needs",
                "start_line": 198,
                "end_line": 210,
                "span_lf_sha256": "9b96db162f4f12753063259652446f01dda356d1d707e800872e1ec42f6ae033"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab731-experiences. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab731-experiences"
          },
          {
            "wording": "Understand capabilities of Microsoft 365 Copilot Chat web and mobile experiences",
            "objective_wording_sha256": "b724dbaec842711e1ed222b1b66de4ff3144bcd41cf50d9c061d2205b10ee791",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked comparison: choose the experience from data and artifact needs",
                "start_line": 198,
                "end_line": 210,
                "span_lf_sha256": "9b96db162f4f12753063259652446f01dda356d1d707e800872e1ec42f6ae033"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab731-experiences. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab731-experiences"
          },
          {
            "wording": "Understand capabilities of the Copilot experience in various Microsoft 365 apps",
            "objective_wording_sha256": "4e9794dd52fc03dac20983c5a557d353ca1eb23fa89646c4103987017eda69ff",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked comparison: choose the experience from data and artifact needs",
                "start_line": 198,
                "end_line": 210,
                "span_lf_sha256": "9b96db162f4f12753063259652446f01dda356d1d707e800872e1ec42f6ae033"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab731-experiences. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ab731-experiences"
          },
          {
            "wording": "Understand capabilities of Microsoft Copilot Studio",
            "objective_wording_sha256": "317e556d325258571cd19aaf4095287ab185f1cd93609edd94b00dc8639c9746",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Map Microsoft Copilot experiences to work",
                "start_line": 178,
                "end_line": 192,
                "span_lf_sha256": "01568ff7b8a9cf6a9c4316ba2ae5a9ade5d2900392c69e590690c0c70ff3a775"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Copilot Studio knowledge/topics/tools/channels and operating obligations are explained.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Understand capabilities of Microsoft Graph",
            "objective_wording_sha256": "f4b259e97921418b399384ab28cc4512bc0d96286e383f2864877c84d9b7fed5",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Map Microsoft Copilot experiences to work",
                "start_line": 188,
                "end_line": 192,
                "span_lf_sha256": "ecdade51d8ae7611859ffa67908fe0a038ca4181dc691b55b242e58f005b9476"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Graph uses existing permissions and exposes oversharing.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify benefits and capabilities of an integrated Microsoft AI solution, including risk mitigation and safety benefits",
            "objective_wording_sha256": "99b21d1c5ba5cbf6549753a01eeb13f525f8a11497069271336357effea9a78f",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Keep protection claims tied to the actual data path",
                "start_line": 170,
                "end_line": 174,
                "span_lf_sha256": "33c67bb0291de37d34fd3dac018aac4f9a0d84567b55d3123cc7cecd2cc2d5f8"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Integrated protection claim is bounded by web/model/third-party data paths.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Map business processes and use cases to Microsoft’s AI apps and services",
            "objective_wording_sha256": "6ac19c84e64d6f6d515229999015ef6705f9e7e282cb7a999ecc11433608dc88",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Map Microsoft Copilot experiences to work",
                "start_line": 178,
                "end_line": 223,
                "span_lf_sha256": "147075fd9ea136eb98a220e5778746518b7121ca28b264c940be4ea64e8263c6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Work context and build/extend criteria map outcomes to Microsoft services.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify when to use Researcher or Analyst in Copilot",
            "objective_wording_sha256": "e49a17eda6655c3ab4833e8224b52570079b53d4c7e439af11aa177f077661b5",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Map Microsoft Copilot experiences to work",
                "start_line": 178,
                "end_line": 196,
                "span_lf_sha256": "14eca11c880f0c5e7c6cc3ea8106a2e40a8a91822bb85e817c7a08876384c196"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Researcher source synthesis versus Analyst data reasoning and model-agreement limits are concrete.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify when to build, buy, or extend, including the Microsoft 365 Copilot extensibility framework",
            "objective_wording_sha256": "20ee255455b8b4bd3661b4697e3e59598d3f33906a7db61abd716fa427e42951",
            "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
            "group_number": 3,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "Decide whether to buy, build or extend",
                "start_line": 212,
                "end_line": 223,
                "span_lf_sha256": "3c4823813bc2a6b485c10bddf2fa94fb37f3f51501590951f23ba3cf7ba7ca18"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Buy/build/extend options include operating costs and exit paths.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Map business processes and use cases to Foundry Tools",
            "objective_wording_sha256": "2eb793117ebed7144e711e73819a9ba9f982de0ab146bde15bac6f56e8bd292a",
            "group": "Identify benefits and capabilities of Foundry Tools",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Understand Microsoft Foundry and Foundry Tools",
                "start_line": 225,
                "end_line": 244,
                "span_lf_sha256": "200ede276134e283fd527686768895f042d353e4be2d3ffd507591b420115caf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Images/search/agents map to Vision/Search/Foundry with lifecycle considerations.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify capabilities of Foundry Tools, including Azure Vision in Foundry Tools, Azure AI Search, and Microsoft Foundry",
            "objective_wording_sha256": "290b2fd8da551de0519134dac24e5a61fdff77dccb27967a95768cc4d7295a75",
            "group": "Identify benefits and capabilities of Foundry Tools",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Understand Microsoft Foundry and Foundry Tools",
                "start_line": 225,
                "end_line": 244,
                "span_lf_sha256": "200ede276134e283fd527686768895f042d353e4be2d3ffd507591b420115caf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Service capability descriptions and Vision-specific migration distinguish boundaries.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Match an AI model to a business need",
            "objective_wording_sha256": "c33c55e1660e9c150bd953fbc46908b76fae292b31878d6c70dfc0a4366c540e",
            "group": "Identify benefits and capabilities of Foundry Tools",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Match models and services to requirements",
                "start_line": 246,
                "end_line": 250,
                "span_lf_sha256": "858e1b1b2c176ec81bd5224cd76745f902bae664314ce2d9a3eca095f4e2a163"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Task/model constraints and fallback assessment use measurable requirements.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify the benefits of Microsoft Foundry and Foundry Tools, including scalability and security",
            "objective_wording_sha256": "4951ac2f57dbe5078a878f5742a2262b90bf591308497afe4e7a062b085ce963",
            "group": "Identify benefits and capabilities of Foundry Tools",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Understand Microsoft Foundry and Foundry Tools",
                "start_line": 239,
                "end_line": 244,
                "span_lf_sha256": "1e23c0f4e6a161e7f5f72c5aed85c4fc5dba85537b284da4f2a0ef1e09de5e04"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Managed scalability/security still require quotas, identities, regions and operations.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Explain the importance of responsible AI",
            "objective_wording_sha256": "a9f6506c77016aeb6b9f7e01092aa4dedf7570b23241cf7281f94b4311953799",
            "group": "Align an AI strategy with Microsoft responsible AI policies",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Turn responsible-AI principles into controls",
                "start_line": 256,
                "end_line": 275,
                "span_lf_sha256": "c213c9157f7dd0bc4aee1e82e929494a5f2168146c54e09383c4d6b36fe4394c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Principles become controls and delegated-action boundaries.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Establish governance principles for AI use",
            "objective_wording_sha256": "189f3d3aa570341d281f110e7edf658a0ab772480f09975865a2c6e65f0f4705",
            "group": "Align an AI strategy with Microsoft responsible AI policies",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Turn responsible-AI principles into controls",
                "start_line": 264,
                "end_line": 275,
                "span_lf_sha256": "f863f4b6001f4a50ba2c089791beffaa4893eac1d51d89f194061906b0aa383d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Governance record includes permitted data/actions, approval, evidence, exception expiry and revocation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Establish an AI council to guide strategy, oversight, and cross-functional alignment",
            "objective_wording_sha256": "db6bb7265c586e2f6e56e07b49c8793ba06ad769e410052f55f20bed4322001f",
            "group": "Align an AI strategy with Microsoft responsible AI policies",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Turn responsible-AI principles into controls",
                "start_line": 266,
                "end_line": 292,
                "span_lf_sha256": "c307a619e66d8024e749cd40b38b1d063e72659f731403cae06110f46d23109c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Cross-functional council role is distinguished from CoE and delivery accountability.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Ensure that AI solutions meet responsible AI standards, including fairness, reliability, safety, privacy, security, inclusiveness, transparency, and accountability",
            "objective_wording_sha256": "d5c277757d04c1bd2e3056651dd6ea364c845cae40f34e3552f20dc04f2d6039",
            "group": "Align an AI strategy with Microsoft responsible AI policies",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Turn responsible-AI principles into controls",
                "start_line": 256,
                "end_line": 264,
                "span_lf_sha256": "c511e685a51132031081b395788bcc23655fcdfea9967218ca595de69d1e786a"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Six principle/control mappings include tests, appeals, disclosure and owners.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Establish an adoption team",
            "objective_wording_sha256": "0aeefb10075675daf55092962620a4c83a9965adbd4c249101a700ca717b2f71",
            "group": "Plan for AI adoption across the organization",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Define an operating model",
                "start_line": 277,
                "end_line": 300,
                "span_lf_sha256": "a77d47aebbd17d4d1d48eaafb1756023c5dedfb01c79af7ea4665249414fa786"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Operating model identifies adoption team, owner and role-based rollout responsibilities.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify common barriers to adoption",
            "objective_wording_sha256": "51e00d2636a91fb17f4937d8a1aead5613d60fbfbeceaaaa8b3e76dfaaa8c6bf",
            "group": "Plan for AI adoption across the organization",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Plan adoption and change",
                "start_line": 294,
                "end_line": 300,
                "span_lf_sha256": "34fb2b0839e603d5c126b449140f707e7dd67a44fc02cd98b8188068d01cb49f"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Barriers are diagnosed before choosing training, licensing or workflow interventions.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Establish an AI champions program",
            "objective_wording_sha256": "bb46966c2949b8df6bfe0d29d9a160d3c7b46c233e2fafac06d6b2b46dacfe92",
            "group": "Plan for AI adoption across the organization",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Plan adoption and change",
                "start_line": 298,
                "end_line": 300,
                "span_lf_sha256": "0d47f354132aaab192a2fb84b1e8aaa85d1b103805380627529fd80f993327fe"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Champions require time, resources, feedback and measured outcomes.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Understand potential impacts to data, security, privacy, and cost",
            "objective_wording_sha256": "80e5498132cda4a47f35a5bf3d699feb7bfb27a6507036d7ebbf3faa7d81a204",
            "group": "Plan for AI adoption across the organization",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Understand licensing and consumption models",
                "start_line": 302,
                "end_line": 344,
                "span_lf_sha256": "55563deaa62acc9a71d18d358fdc888f4c65470bdcc372deea1ad6542627c251"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Data/security/cost controls and honest adoption/impact denominators guide rollout.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Understand Copilot license types, including pay-as-you go, monthly, and included with Microsoft 365 subscription",
            "objective_wording_sha256": "548e5a51558ea3ec2f717ceadef494a494fd60ef6fa50f51b6e1586e80653d55",
            "group": "Plan for AI adoption across the organization",
            "group_number": 6,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Understand licensing and consumption models",
                "start_line": 302,
                "end_line": 312,
                "span_lf_sha256": "7bd3ff32e98d9af4d7a293afc4f7d217559e7552a1fa222b042e7c50d450cb67"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Metered/per-user/included models have utilization, scope and hosting boundaries.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Understand Foundry Tools subscription models, including pay-as-you-go and commitment tiers",
            "objective_wording_sha256": "7f2ef6d75cc0ec5c949ea59cb9d880b42a6349c4c9580eb41353bfd4fbb3611a",
            "group": "Plan for AI adoption across the organization",
            "group_number": 6,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Understand licensing and consumption models",
                "start_line": 302,
                "end_line": 314,
                "span_lf_sha256": "44863ececbc7f7baf86ce4b23cd56e62a88593b3e64da5eb128d1eb5c9df4a97"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Commitment example plus resource, period, prorating and cancellation boundaries teach cost choices.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          }
        ],
        "complete_guide_read": true,
        "complete_guide_line_count": 532,
        "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
      },
      {
        "exam_code": "AI-300",
        "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
        "guide_lf_sha256": "9d785409540a4c31b4f4214cb4d516d57070a96b0c234997d6342be267588bb9",
        "objective_raw_sha256": "79d7fabcf253e7ac5f5f7629397075867d22c48045c2483c9d03e1b217215f41",
        "objective_count": 58,
        "current_mapping": [
          {
            "wording": "Create and manage a workspace",
            "objective_wording_sha256": "90acd6a851556d894138459d832a369f2345f15d370bd8f94bf8e68b67d84e8a",
            "group": "Create and manage resources in a Machine Learning workspace",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Build the Azure Machine Learning resource boundary",
                "start_line": 58,
                "end_line": 62,
                "span_lf_sha256": "44269b2ea4dcb5e0bc09026db977268c89b5d12637ee19b464e6a0d21ed5b01d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Workspace/dependency separation and IaC settings define reproducible resource boundary.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and manage datastores",
            "objective_wording_sha256": "5194da95e1b1fab0500d14dadfaca1b2e711eeb063d8775fc98446d8ccc07dab",
            "group": "Create and manage resources in a Machine Learning workspace",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Datastores and data assets",
                "start_line": 64,
                "end_line": 68,
                "span_lf_sha256": "133926bfcd5f9257a4e42cef051e78e53cc2760e057794c48dced0da56d6c82d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Datastore connection differs from underlying data and uses identity-based access.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and manage compute targets",
            "objective_wording_sha256": "4caaaf0ac88bf349cbbeaa861e9463f2b5c23f6b6ee0e7dfa2990bc5d223cc77",
            "group": "Create and manage resources in a Machine Learning workspace",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Compute targets",
                "start_line": 70,
                "end_line": 77,
                "span_lf_sha256": "1cfd0ab81df55b2da026e788ef46495c15eb4a784b4167671fc13ce3c4807b5f"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Instance/cluster/serverless/attached choices include scale, quota and cost.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure identity and access management for workspaces",
            "objective_wording_sha256": "89d37d6a58a7742cf595da998150e8bf41c67f50872315a07f640b4d6f51e209",
            "group": "Create and manage resources in a Machine Learning workspace",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Identity and access",
                "start_line": 79,
                "end_line": 83,
                "span_lf_sha256": "1a4e9b17e746f6506296023ea1410075e6d1bc5ec9da9c411f971f5a67d7e2b9"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Submitter/runtime roles and data-plane grants are separated and negatively tested.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and manage data assets",
            "objective_wording_sha256": "4048ffe5d6d42338a50c274fdfee275a1dfcc4467f1f001f2b5279dc7b62d0d7",
            "group": "Create and manage assets in a Machine Learning workspace",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Datastores and data assets",
                "start_line": 64,
                "end_line": 68,
                "span_lf_sha256": "133926bfcd5f9257a4e42cef051e78e53cc2760e057794c48dced0da56d6c82d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Immutable data snapshot/schema distinguishes asset version from mutable URI.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and manage environments",
            "objective_wording_sha256": "077ea24c70374f8f69b86a33599153a6c2d99fa9f3173c088dd52bca3c50cb01",
            "group": "Create and manage assets in a Machine Learning workspace",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Create reusable workspace assets",
                "start_line": 85,
                "end_line": 89,
                "span_lf_sha256": "d071354c61e47b75ccc533975674eeae8e1f7103d0f6a2320996e5c619b030c0"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Environment pins image/packages/digest and tests imports.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and manage components",
            "objective_wording_sha256": "453fa19fe3acb1b29e370559498c0fbe6f6ba7a5d074ada7df7b73de76b2f129",
            "group": "Create and manage assets in a Machine Learning workspace",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Create reusable workspace assets",
                "start_line": 85,
                "end_line": 89,
                "span_lf_sha256": "d071354c61e47b75ccc533975674eeae8e1f7103d0f6a2320996e5c619b030c0"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Component declares inputs/outputs/code/environment and pipeline dependencies.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Share assets across workspaces by using registries",
            "objective_wording_sha256": "270ece79479b64be1044cb2df109704b0c8b9086f28a9e0d7332478e3b7559b0",
            "group": "Create and manage assets in a Machine Learning workspace",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Create reusable workspace assets",
                "start_line": 89,
                "end_line": 91,
                "span_lf_sha256": "e7d005470506f6ca1e7a4170eada01d113e2e095172dbdaeca65008189b26184"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Registry versions, ownership, promotion and compatibility bound cross-workspace sharing.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure GitHub integration with Machine Learning to enable secure access",
            "objective_wording_sha256": "27b8b477f2a322aa03df08ee6cf735e56cb59133fce9983e2b9baf06fcb6fc61",
            "group": "Implement IaC for Machine Learning",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Provision with Bicep, CLI and GitHub Actions",
                "start_line": 93,
                "end_line": 113,
                "span_lf_sha256": "78fd6c763c982a9c442c38d8c2bf6ebe67d6be99448862513ed9f0fb35bbd871"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: OIDC subject/environment role scopes and workflow fragment demonstrate secure GitHub access.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Deploy Machine Learning workspaces and resources by using Bicep and Azure CLI",
            "objective_wording_sha256": "cc7541b0ab7a4edc47bb9c32e2a5d9fe126c27384249254aca0407f6d4465a83",
            "group": "Implement IaC for Machine Learning",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Provision with Bicep, CLI and GitHub Actions",
                "start_line": 93,
                "end_line": 115,
                "span_lf_sha256": "6d5f95625a2064d590063ec17dab8229d5197250ab94f24c32439152e67e49ce"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Bicep resources versus ML CLI assets, what-if and post-job gates are separated.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Automate resource provisioning by using GitHub Actions workflows",
            "objective_wording_sha256": "c51534b3c07dcecdd90b4dc94671c4e1467a44da4fcc1cf53f140983ace1e3d7",
            "group": "Implement IaC for Machine Learning",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked provisioning step: deploy infrastructure before submitting jobs",
                "start_line": 116,
                "end_line": 129,
                "span_lf_sha256": "5764c8c041d65976259f21803b88e7a9c2215e414a74c2395c4d48b0c31f03e0"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai300-iac"
          },
          {
            "wording": "Restrict network access to Machine Learning workspaces",
            "objective_wording_sha256": "7898891d3b0266d5f9d9918406bc5b6e38e5350fe645d98e1254b88c4231773a",
            "group": "Implement IaC for Machine Learning",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Restrict networking and manage Git",
                "start_line": 131,
                "end_line": 135,
                "span_lf_sha256": "e0845a5be4982aba14c27627e0632ee644df257a8a9b47ee9f297dfc6da49e98"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Private dependencies, DNS/outbound and runner paths must be tested.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage source control for machine learning projects by using Git",
            "objective_wording_sha256": "7cfa5ee3c7d46af2527ea9db0baada3f816d8af01eacaa760723f48374d42873",
            "group": "Implement IaC for Machine Learning",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Restrict networking and manage Git",
                "start_line": 133,
                "end_line": 135,
                "span_lf_sha256": "f9fae643e31ce877650860f5ca2c0f96fad99b8575f71ed959df1c12800df6ea"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Git carries code/config/prompt/IaC while data/models remain versioned storage assets.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure experiment tracking with MLflow",
            "objective_wording_sha256": "394ba14ee9267b8135e0e8dbb4c16154b7c7ea8a66b0affb743dd7dee04c0630",
            "group": "Orchestrate model training",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Make experiments reproducible with MLflow",
                "start_line": 141,
                "end_line": 145,
                "span_lf_sha256": "8a6581fd981b2252eaba0ae1e02e0ab9e3e9111f5744e6d83c4853cc5c81afb9"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: MLflow logs data/code/environment/seeds/metrics and artifacts.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Use automated machine learning to explore optimal models",
            "objective_wording_sha256": "06097fa7447da249748cf6069ebf199d85e195b4bc006490217d2db5b4a10cdb",
            "group": "Orchestrate model training",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "AutoML and hyperparameter tuning",
                "start_line": 170,
                "end_line": 174,
                "span_lf_sha256": "71fbf836530a7d141ba92e2a9948f33958350f9fa95fb2fcfac8553838db09a5"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: AutoML constraints and independent holdout/business checks bound candidate selection.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Use notebooks for experimentation and exploration",
            "objective_wording_sha256": "1ceff20f408e72f5f723138144451c501bcf267f6f1a422a902c13894aab499d",
            "group": "Orchestrate model training",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Make experiments reproducible with MLflow",
                "start_line": 143,
                "end_line": 145,
                "span_lf_sha256": "af10308815f4f2452a73e1e95d7269a3935654f1276be14b70cdeab29d206d1a"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Notebook exploration must become declared scripts/components for reproducibility.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Automate hyperparameter tuning",
            "objective_wording_sha256": "ade118f50e42be8c70f99fe1d729ee8bac6cc8071fa4286c6e6071a1598f391f",
            "group": "Orchestrate model training",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "AutoML and hyperparameter tuning",
                "start_line": 172,
                "end_line": 174,
                "span_lf_sha256": "199b9f2d0aab98d16913556c1deca848513c07b70902361b3bdbd7f8b961cd4b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Search space, primary metric, sampling, early termination and limits define sweep jobs.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Run model training scripts",
            "objective_wording_sha256": "36c3092a7e4d117dc1a4db06d6cad7045635746e64bbbcf762dabf1189ddba43",
            "group": "Orchestrate model training",
            "group_number": 4,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Worked command job: bind the script to declared assets",
                "start_line": 147,
                "end_line": 168,
                "span_lf_sha256": "c8038af0ee8cd8e2744b459932875cdb0785a6fdff37818df9f74311435825e4"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-training. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai300-training"
          },
          {
            "wording": "Manage distributed training for large and deep learning models",
            "objective_wording_sha256": "045abfe3f3227656e37a001fdbc8e7fdf0711e40fe6c34a4e2d814e44f4c293d",
            "group": "Orchestrate model training",
            "group_number": 4,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Distributed training",
                "start_line": 176,
                "end_line": 178,
                "span_lf_sha256": "c6642028bb49da1de31c6b1e8328468088bb918e28371cc9b351bf85e8eb6083"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Node/process topology, data shards and throughput/convergence govern distributed choice.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement training pipelines",
            "objective_wording_sha256": "4e106564bf2f709ef4f76bf03cc4ea017dc6454413518571e03e1f10dc27ed96",
            "group": "Orchestrate model training",
            "group_number": 4,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Build training pipelines",
                "start_line": 180,
                "end_line": 185,
                "span_lf_sha256": "05d1b76c85c8b7f9ff417dd4b8dee95e9d713ca20ef1cb450d4a7f5ea014bf69"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Declared component graph plus exact reuse conditions diagnose hidden state.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Compare model performance across jobs",
            "objective_wording_sha256": "c098b4e3dff47d6293a3c10fc4f5cf3f97326d98c5afe14085a73253e73ae8cb",
            "group": "Orchestrate model training",
            "group_number": 4,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Build training pipelines",
                "start_line": 189,
                "end_line": 190,
                "span_lf_sha256": "bb5f28d5d5aecb587bf2e4037e5a2d7d2e052e97253670c481438a4ae7b94f82"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Common evaluation dataset, subgroup, calibration, latency and cost govern comparison.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Package a feature retrieval specification with the model artifact",
            "objective_wording_sha256": "b8bf119546b70b2d036e2a5bbef7f2bbfc74cb50cf1107931a131959515e9fbd",
            "group": "Implement model registration and versioning",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Build training pipelines",
                "start_line": 184,
                "end_line": 188,
                "span_lf_sha256": "b5462f8fc104b58418bd47fdf560b3f28cc68f901d2fd2e58677ebc527119dc7"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Feature specification packages registered versions and point-in-time retrieval lineage.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Register an MLflow model",
            "objective_wording_sha256": "e9dc7d4f2754c503ad7d6f0899e3313ad617c63fc7c1e377cf380f381b508391",
            "group": "Implement model registration and versioning",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Register and govern models",
                "start_line": 192,
                "end_line": 194,
                "span_lf_sha256": "8de573cae54d942a66c3f24ff97b870781ab0a1e8586f8e124171e55ddd44008"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: MLflow flavor/signature plus immutable registered asset carry lineage and compatibility.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Evaluate a model by using responsible AI principles",
            "objective_wording_sha256": "034a4f3065363e62e771511116a8c95caeaa14dde804b0827a4a86196f414662",
            "group": "Implement model registration and versioning",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Register and govern models",
                "start_line": 194,
                "end_line": 198,
                "span_lf_sha256": "6ef4dd5611fb1268c78fb7584cb08def80eb2f0a85f2f4760b8775f471759e58"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Responsible evaluation distinguishes actual dashboard support from universal principles.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage model lifecycle, including archiving models",
            "objective_wording_sha256": "de5464268712013830f7b45ee9d219ad0c78b8eb39d9da6e9556689ccccd25f1",
            "group": "Implement model registration and versioning",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Register and govern models",
                "start_line": 192,
                "end_line": 194,
                "span_lf_sha256": "8de573cae54d942a66c3f24ff97b870781ab0a1e8586f8e124171e55ddd44008"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Archive/deprecate removes normal selection while retaining rollback evidence.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Deploy models as real-time or batch endpoints with managed inference options",
            "objective_wording_sha256": "db9b20d0d1467594a4fa6e9e0e78d976522c335643778c3c198302e39ca43828",
            "group": "Deploy machine learning models for production environments",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Deploy online and batch endpoints",
                "start_line": 200,
                "end_line": 204,
                "span_lf_sha256": "3f687f2d9f77478c450da7aeb986111dfd75e6f5ebfe3013db3df5029b436a95"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Online/batch serving depends on SLO, input/response contract, auth, scale and network.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Test and troubleshoot model endpoints",
            "objective_wording_sha256": "c977121a5a8166fbf0f13d93e2b5d4486dd23ce77e4deb9fe3c8963e747ac639",
            "group": "Deploy machine learning models for production environments",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Troubleshoot an endpoint from evidence",
                "start_line": 245,
                "end_line": 255,
                "span_lf_sha256": "2554a03531927a26dcb3e53a7b5b9fa658e51cec36a387f49e95b8c2a1e90d0b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Provision/init/schema/identity/capacity diagnostics and batch reconciliation are sequenced.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement progressive rollout and safe rollback strategies",
            "objective_wording_sha256": "e6348993d38d0f3984ce48d89922e4469180d37285260ec1dfe89c92eb814b18",
            "group": "Deploy machine learning models for production environments",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Progressive rollout and rollback",
                "start_line": 206,
                "end_line": 212,
                "span_lf_sha256": "a3a9930603bd556cff5e86e26361543f7b7b64c26142ba03559602369a000eef"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Canary versus shadow traffic and full dependency rollback are distinguished.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Detect and analyze data drift",
            "objective_wording_sha256": "5d0fd013559432ad679f63807c82443f0279e23f7b3814b5cbf56d842ea26f28",
            "group": "Monitor and maintain machine learning models in production",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Monitor drift and production performance",
                "start_line": 214,
                "end_line": 228,
                "span_lf_sha256": "c90b785d755383dd22ac5354bb791a6133c3fae2b4ed00d84f3c5f9fce2ff25a"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Drift types, window/reference separation and collection requirements are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Monitor performance metrics of models deployed to production",
            "objective_wording_sha256": "364dbecb69fde3b8cce7a5853cc99f08283d611f0d0b5b5e48b943009ffd32dc",
            "group": "Monitor and maintain machine learning models in production",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Build an actionable production monitor",
                "start_line": 230,
                "end_line": 243,
                "span_lf_sha256": "fc3ec12adab300a8684520945b0534ad7dc652baa3d1ab5f775479608c10a94c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Signal/action table plus delayed-label joins separate operational and predictive performance.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure retraining or alert triggers when thresholds are exceeded",
            "objective_wording_sha256": "559aca68f6e355e8f2eab69cab01382493674048928fb689b671974aa91996a2",
            "group": "Monitor and maintain machine learning models in production",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Monitor drift and production performance",
                "start_line": 226,
                "end_line": 228,
                "span_lf_sha256": "a04ded33aa5a67124932f93fbde086d31e7f7bc17447f425596bc19275e36453"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Threshold triggers create candidates gated by ordinary validation rather than auto-promotion.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and configure Foundry resources and project environments",
            "objective_wording_sha256": "3660242a5b42f96d0067f0f07dba9464fe0972f5c2c392d99a12da15753e80ad",
            "group": "Implement Foundry environments and platform configuration",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Provision current Microsoft Foundry environments",
                "start_line": 261,
                "end_line": 265,
                "span_lf_sha256": "71c522d23e23276019791b838f45a91e4d8278cd166ecf3e05829f28471f7532"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Resource/project/environment settings include identity, connection and regional dependencies.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure identity and access management with managed identities and role-based access control (RBAC)",
            "objective_wording_sha256": "59102f47a0ac58ae7cdec704cde1c85025274a087a3353f4b6962954c089b41c",
            "group": "Implement Foundry environments and platform configuration",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Provision current Microsoft Foundry environments",
                "start_line": 261,
                "end_line": 265,
                "span_lf_sha256": "71c522d23e23276019791b838f45a91e4d8278cd166ecf3e05829f28471f7532"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Runtime identity, scoped RBAC and secret connections form the access boundary.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement network security and private networking configurations",
            "objective_wording_sha256": "ade276a111b89caae07b0b85f72165c692dbc120efd68e6ee09cc765759871a4",
            "group": "Implement Foundry environments and platform configuration",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Network mode is part of the release contract",
                "start_line": 267,
                "end_line": 271,
                "span_lf_sha256": "d7185a33f2fe22e9be14861f6b978eff2f01c7c52b3f2f4c34a50e09d79373eb"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Inbound versus outbound modes and irreversible transitions are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Deploy infrastructure using Bicep templates and Azure CLI",
            "objective_wording_sha256": "bf23441e5875670be38365337af4a8ed2d86835ee015372e5d129aeb42016354",
            "group": "Implement Foundry environments and platform configuration",
            "group_number": 8,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked provisioning step: deploy infrastructure before submitting jobs",
                "start_line": 116,
                "end_line": 129,
                "span_lf_sha256": "5764c8c041d65976259f21803b88e7a9c2215e414a74c2395c4d48b0c31f03e0"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai300-iac"
          },
          {
            "wording": "Deploy foundation models by using serverless API endpoints and managed compute options",
            "objective_wording_sha256": "c48460890907032f7d79e57ff7f24a5246412ce15ffe8b35f28c36f4838927d5",
            "group": "Deploy and manage foundation models for production workloads",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked deployment choice: the model card defines the available route",
                "start_line": 291,
                "end_line": 295,
                "span_lf_sha256": "59b445b694722a8d14d46f744513f5bd8f5bf0af1285ffce8086cfb88337b348"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-deployment. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai300-deployment"
          },
          {
            "wording": "Select appropriate models for specific use cases",
            "objective_wording_sha256": "40a263f812d42caadd85f5762d3e8273e327f5a214af61674e6c4a258325024f",
            "group": "Deploy and manage foundation models for production workloads",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Select and deploy foundation models",
                "start_line": 273,
                "end_line": 275,
                "span_lf_sha256": "a2d9bf43df5a685f685b65dfe56aa71f2da3747d7365e1d08168bee02253513f"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Selection evaluates task quality, modality, safety, lifecycle and region.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement model versioning and production deployment strategies",
            "objective_wording_sha256": "ac8add5bce6115715ce7adaf18ec40711e084319bfe0b9f7aa71d3c4a41da65f",
            "group": "Deploy and manage foundation models for production workloads",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Select and deploy foundation models",
                "start_line": 287,
                "end_line": 308,
                "span_lf_sha256": "7f9bb1ddb8e501914aa2cb98805d68f8c5caa54e1c63cdbd7d0307dab1cd1dcc"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Exact versions, parallel testing, upgrade policy and retirement-aware rollback govern releases.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure provisioned throughput units for high-volume workloads",
            "objective_wording_sha256": "2868c4e10e8aceb6ae00fe173f97060b9dc817438bce822ad60d7262fb530041",
            "group": "Deploy and manage foundation models for production workloads",
            "group_number": 9,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Select and deploy foundation models",
                "start_line": 281,
                "end_line": 285,
                "span_lf_sha256": "9ff36eb8a3b537a3df66c8f41292f4f2fc847e1457065fd97cfbb6a9349f2095"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: PTU versus quota/reservation and same-model spillover are worked with sizing example.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Design and develop prompts",
            "objective_wording_sha256": "a153044a49cf84e98264e8ed49b4d8477ba1bef1a997419f80c40330c72d7c24",
            "group": "Implement prompt versioning and management with source control",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Operate prompts and connections",
                "start_line": 310,
                "end_line": 322,
                "span_lf_sha256": "47b46707f8b58d45227f8b286a6fa5daaa77edf9e1b98165e317c1919d3e7678"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Prompt contract includes typed variables, tools, retrieved context and validation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create prompt variants and compare performance across different prompts",
            "objective_wording_sha256": "6e83488b45bb9ab85c937d02a97b520a89f9c6c6370e496220cf827b204fa4be",
            "group": "Implement prompt versioning and management with source control",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Version prompts as production artifacts",
                "start_line": 316,
                "end_line": 322,
                "span_lf_sha256": "193064ba64562a970822cf7fdba38c94003ada9bd971822da3e732517d9f79fc"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Variants hold evaluation conditions fixed and promote full bundle.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement version control for prompts by using Git repositories",
            "objective_wording_sha256": "a3d68a4a99c59ab8d9ec0e26f61c0b4d869347319b0576ef8b130b8a63f9580c",
            "group": "Implement prompt versioning and management with source control",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Version prompts as production artifacts",
                "start_line": 316,
                "end_line": 322,
                "span_lf_sha256": "193064ba64562a970822cf7fdba38c94003ada9bd971822da3e732517d9f79fc"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Git versions text/config while excluding secrets and data; model/index/safety travel together.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create test datasets and data mapping for comprehensive model evaluation",
            "objective_wording_sha256": "772038eb20ac8bcab84d9d74770aa572b872538e07f299fc78a2130848876354",
            "group": "Configure evaluation and validation for generative AI applications and agents",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Build evaluation datasets and mappings",
                "start_line": 328,
                "end_line": 350,
                "span_lf_sha256": "81b697d9fbb0ceae1663b3145d1c47ad0a23140d59686452063949bb4e36724d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Mapped test schema and scenario-specific inline/precomputed/stored data contracts are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement AI quality metrics, including groundedness, relevance, coherence, and fluency",
            "objective_wording_sha256": "bc741f68d2e112c4c0beca4b4902c8ee8f68679438f2311c238bf0ce421841d0",
            "group": "Configure evaluation and validation for generative AI applications and agents",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Build evaluation datasets and mappings",
                "start_line": 330,
                "end_line": 342,
                "span_lf_sha256": "e95fb2bd581d1898067d08c15d0d1dc77ff16a8d69c5ad840aa95f0372351faf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Groundedness/relevance/coherence/fluency are distinct and judges calibrated.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure risk and safety evaluations for harmful content detection",
            "objective_wording_sha256": "98abb305c2af663fb23e7eeb3b438f11b88416ba87c77360d928a99f65ea461d",
            "group": "Configure evaluation and validation for generative AI applications and agents",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Build evaluation datasets and mappings",
                "start_line": 342,
                "end_line": 350,
                "span_lf_sha256": "8acad9668ccda33b9437d00699c6788ad5f2a3a39dc5dc43ea296a05c367712b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Safety evaluation plus severe-failure gates and per-case preservation constrain release.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Set up automated evaluation workflows by using built-in and custom evaluation metrics",
            "objective_wording_sha256": "52dfb1544561d1f4e3b997fe1446a24a8e0f9e106800027001abebffca8e97ff",
            "group": "Configure evaluation and validation for generative AI applications and agents",
            "group_number": 11,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Match the evaluation API and scenario",
                "start_line": 348,
                "end_line": 350,
                "span_lf_sha256": "548a9ca7053e6ed8e6ef8351b36c6994a33fef18807db2d24cbf4bcec0edf3a1"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Versioned custom evaluator and CI thresholds fail closed on absent/error outcomes.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Examine continuous monitoring in Foundry",
            "objective_wording_sha256": "9d983b88c80149b5e2e68be45b88af296a5761bb6359caf2f0a5ac35cc5a0e51",
            "group": "Implement observability for generative AI applications and agents",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Observe applications and agents continuously",
                "start_line": 352,
                "end_line": 362,
                "span_lf_sha256": "e5c8cc55abdd08af25953a596b7612e98359ea78eafc45abfd0199b06b67ce20"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Sampled continuous evaluation eligibility and privacy/content limitations are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Monitor performance metrics, including latency, throughput, and response times",
            "objective_wording_sha256": "987d9cacdcd99626b46a71d72dbae9c82c1a16875699cf83280f2676ec2217f3",
            "group": "Implement observability for generative AI applications and agents",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Observe applications and agents continuously",
                "start_line": 354,
                "end_line": 356,
                "span_lf_sha256": "509077d1a242596c5395ccf2dcb11d6d112462c95ff190791891fd867f057a7e"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Latency percentiles, throughput, throttling and dependency spans define operational monitoring.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Track and optimize cost metrics, including token consumption and resource usage",
            "objective_wording_sha256": "da97c31f22c55b5977e0f397940443d9e34a0e4723c8e926ddb9c1e4c504803c",
            "group": "Implement observability for generative AI applications and agents",
            "group_number": 12,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Observe applications and agents continuously",
                "start_line": 354,
                "end_line": 356,
                "span_lf_sha256": "509077d1a242596c5395ccf2dcb11d6d112462c95ff190791891fd867f057a7e"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Tokens/cost, retry and resource consumption are compared by release cohort.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure detailed logging, tracing, and debugging capabilities for production troubleshooting",
            "objective_wording_sha256": "0d2813174167683a9cf8e6fb3d7a79cf506f5591c985fd096b3567cc9bfd2c4c",
            "group": "Implement observability for generative AI applications and agents",
            "group_number": 12,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Debug agent and RAG traces safely",
                "start_line": 379,
                "end_line": 381,
                "span_lf_sha256": "98cf83fcf254ad4b03398fde03509aafa00ea7d835decd5026bcf45f6b88ecc7"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Trace follows entry, retrieval, model and tools to targeted failure diagnosis.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Optimize retrieval performance by tuning similarity thresholds, chunk sizes, and retrieval strategies",
            "objective_wording_sha256": "ea5326cfd9d1b31e74525888397d1ae71fb0057e3757acc4ce20713fae70b783",
            "group": "Optimize retrieval-augmented generation (RAG) performance and accuracy",
            "group_number": 13,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Optimize RAG from a labeled baseline",
                "start_line": 387,
                "end_line": 417,
                "span_lf_sha256": "4f83c0ed7a221b1dac053e2efafc08171920aa1414c6faffb92cc4734ea3da01"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Chunk/threshold/top-k experiments and stage diagnostics use labeled relevance.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Select and fine-tune embedding models for domain-specific use cases and accuracy improvements",
            "objective_wording_sha256": "e867d0c9cb918cf5d4ca421514ad9db75ef08540e2308c8befc2d449b524c7e2",
            "group": "Optimize retrieval-augmented generation (RAG) performance and accuracy",
            "group_number": 13,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked embedding adaptation: train retrieval geometry, then rebuild the index",
                "start_line": 419,
                "end_line": 427,
                "span_lf_sha256": "2ab713599792a4da3a5d78521be229186dda49f4035b9baa916a263b8cba9545"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-embedding. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred. Upstream training is useful coverage; selected managed-service fine-tuning support remains explicitly unverified and is not claimed.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai300-embedding"
          },
          {
            "wording": "Implement and optimize hybrid search approaches combining semantic and keyword-based retrieval",
            "objective_wording_sha256": "3621cd9741678ffa555b34efd3c04d538c35e8f01d15d51d0d3154d9faeff3ba",
            "group": "Optimize retrieval-augmented generation (RAG) performance and accuracy",
            "group_number": 13,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Optimize RAG from a labeled baseline",
                "start_line": 394,
                "end_line": 417,
                "span_lf_sha256": "88fbf0269e9b6668f6699bc5f3f7baca12a5af6a24b096e5eedcf97fac2e17f6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Hybrid list fusion and distinct score types are worked.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Evaluate and improve RAG system performance by using relevance metrics and A/B testing frameworks",
            "objective_wording_sha256": "5c4854b977694874a87525361c04823836ef46e16c7504fada318fc286a87faa",
            "group": "Optimize retrieval-augmented generation (RAG) performance and accuracy",
            "group_number": 13,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Optimize RAG from a labeled baseline",
                "start_line": 387,
                "end_line": 417,
                "span_lf_sha256": "4f83c0ed7a221b1dac053e2efafc08171920aa1414c6faffb92cc4734ea3da01"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Stable A/B assignment, minimum samples and quality/latency/security constraints bound tuning.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Design and implement advanced fine-tuning methods",
            "objective_wording_sha256": "c6518af071bbb6fd5394466d65bb9c883c567633e0837f7bd648c7ea534a7d67",
            "group": "Implement advanced fine-tuning and model customization",
            "group_number": 14,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Fine-tune only for the right problem",
                "start_line": 429,
                "end_line": 445,
                "span_lf_sha256": "0ae219b352e67f85b3a8b80d6de124c1126dadffce8ba289b1dc1ab7b79f7d64"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: SFT/DPO/RFT training signals, support and grader gaming distinguish methods; implementation workflow is generic.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and manage synthetic data for fine-tuning",
            "objective_wording_sha256": "659ec9c74833a893fb8db16b280e4c79d44735e6fa8bc5da709876cc7951ca23",
            "group": "Implement advanced fine-tuning and model customization",
            "group_number": 14,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Fine-tune only for the right problem",
                "start_line": 431,
                "end_line": 453,
                "span_lf_sha256": "25720920d6a32bc7c60384931ce6e2c339a498fdd7d2ba3b4bc6f4b655a83df3"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Synthetic provenance, splits, deduplication and realistic tests prevent leakage.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Monitor and optimize fine-tuned model performance",
            "objective_wording_sha256": "c1dce91a6d4b3d89ccd060610f40be5cd5b2e308ce1007d23d1f1b3222c5ae23",
            "group": "Implement advanced fine-tuning and model customization",
            "group_number": 14,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Operate the fine-tuning dataset and checkpoints",
                "start_line": 447,
                "end_line": 455,
                "span_lf_sha256": "22622391fb50bf9d8a3efa3b36dae8efd77254d2d3da5d275768cba5d826a886"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Checkpoint selection uses task/safety metrics and production cohort monitoring.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage a fine-tuned model from development through production deployment",
            "objective_wording_sha256": "d0fddd9de570de7938fb22dea7263f8b4cb9e6d7074be456b986fb63de007de9",
            "group": "Implement advanced fine-tuning and model customization",
            "group_number": 14,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Fine-tune only for the right problem",
                "start_line": 435,
                "end_line": 455,
                "span_lf_sha256": "6cb3c9d120fa23cd5824fce05a6d98cc062cc8fc371803ff2805f2800546d7c2"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Tuned deployment follows evaluation/canary/retirement-aware lifecycle with full lineage.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          }
        ],
        "complete_guide_read": true,
        "complete_guide_line_count": 704,
        "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
      },
      {
        "exam_code": "AI-901",
        "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
        "guide_lf_sha256": "dc9ca5bd238e82ff504dde5e0888608c9644e1a012e07b800abf1366f981e749",
        "objective_raw_sha256": "8b1c05a7a2258d69e43d47d75c0adeae2a5a7660e12e4d46627014d1ff9bedd1",
        "objective_count": 29,
        "current_mapping": [
          {
            "wording": "Describe considerations for fairness in an AI solution",
            "objective_wording_sha256": "4243e358e409e7a84e2b48011d4c51a045a8bcf60b8631bb7a189463276fcd7d",
            "group": "Describe principles of responsible AI",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Apply the principles to one system",
                "start_line": 154,
                "end_line": 167,
                "span_lf_sha256": "ef0a55be582eb328647e709f737e71fba5d36313bd5cc42ef9aa6ee58de34905"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Group/role/language error checks and disparity arithmetic make fairness observable.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe considerations for reliability and safety in an AI solution",
            "objective_wording_sha256": "82ae857902f767db1375f55a9eacd12e1d9d53c2df8fea42e5f2923676a28e87",
            "group": "Describe principles of responsible AI",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Apply the principles to one system",
                "start_line": 154,
                "end_line": 181,
                "span_lf_sha256": "1646d06f8a4777016f8e570516f1e152b4fbff4fb94de385f3d02251843168f1"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Safe abstention, evidence and control-by-failure table separate reliability from other goals.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe considerations for privacy and security in an AI solution",
            "objective_wording_sha256": "0b0936dd4a0dc8efd313c2bbfbda2e1873a64e73804f11c9099c365be95c2590",
            "group": "Describe principles of responsible AI",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Apply the principles to one system",
                "start_line": 154,
                "end_line": 181,
                "span_lf_sha256": "1646d06f8a4777016f8e570516f1e152b4fbff4fb94de385f3d02251843168f1"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Access, minimization, redaction and retention prevent cross-user disclosure.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe considerations for inclusiveness in an AI solution",
            "objective_wording_sha256": "3ce983e3ceb19aa8156adba334ed7dd458a32eec9318cc132c2f005299641ff2",
            "group": "Describe principles of responsible AI",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Apply the principles to one system",
                "start_line": 154,
                "end_line": 167,
                "span_lf_sha256": "ef0a55be582eb328647e709f737e71fba5d36313bd5cc42ef9aa6ee58de34905"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Accessibility and supported language/format tests operationalize inclusion.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe considerations for transparency in an AI solution",
            "objective_wording_sha256": "e051e1b20a980c2f8e7ba055206b4523d8cd5858d5a661d888049fe5cd9269eb",
            "group": "Describe principles of responsible AI",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Apply the principles to one system",
                "start_line": 154,
                "end_line": 167,
                "span_lf_sha256": "ef0a55be582eb328647e709f737e71fba5d36313bd5cc42ef9aa6ee58de34905"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Disclosure, source evidence and limitations explain what users must know.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe considerations for accountability in an AI solution",
            "objective_wording_sha256": "7585839b2e7de533212da9a343ee68d3e8889ec9b20a264f706db599ee7e609d",
            "group": "Describe principles of responsible AI",
            "group_number": 1,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Apply the principles to one system",
                "start_line": 154,
                "end_line": 167,
                "span_lf_sha256": "ef0a55be582eb328647e709f737e71fba5d36313bd5cc42ef9aa6ee58de34905"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Named owner, reviewer, approver, incident and retirement responsibilities establish accountability.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe how generative AI models work",
            "objective_wording_sha256": "4a3a40f18bf6c8005cc3c68b70c9265415a15bb493768e9c81decacf63b80d7e",
            "group": "Identify AI model components and configurations",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Generative models",
                "start_line": 87,
                "end_line": 104,
                "span_lf_sha256": "0bfb30ddbed0bf9a97551ad0797adc69a721c224ec7e5e97e80a9332e36eb869"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Tokens/attention/training/inference/context distinguish learned weights from supplied evidence.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify an appropriate AI model, based on capabilities",
            "objective_wording_sha256": "81d8baca80e837173ec056901e9e2ffadbcc8db43617de9ec61904f94aa52366",
            "group": "Identify AI model components and configurations",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Generative models",
                "start_line": 87,
                "end_line": 104,
                "span_lf_sha256": "0bfb30ddbed0bf9a97551ad0797adc69a721c224ec7e5e97e80a9332e36eb869"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Modality/context/latency/safety and embedding-versus-chat distinctions guide selection.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify appropriate model deployment options and configuration parameters",
            "objective_wording_sha256": "3a8d98cbd2196908a214c98639f80872ae4b5331fcb04c80d5d827628effb088",
            "group": "Identify AI model components and configurations",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Model catalog, deployment, and endpoints",
                "start_line": 204,
                "end_line": 232,
                "span_lf_sha256": "c7dc1310eb38d6da73faa8aae284987730ccb9a00ae9e4acc99a3a7c08497ced"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Deployment name/configuration and portal-to-client progression are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify scenarios for common AI workloads, including generative and agentic AI, text analysis, speech, computer vision, and information extraction",
            "objective_wording_sha256": "9e4aa2cf0b1b28c101cc98f3b16ab408a6aac24da494d05f00216e6cce4f393d",
            "group": "Identify AI workloads",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "What AI systems do",
                "start_line": 45,
                "end_line": 85,
                "span_lf_sha256": "0f1e6e3c666dea6905329501cc70c6e4d6cdcef5410dacf545748faaf2a74e11"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Output-first workload matrix chooses generation, speech, vision or extraction.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Describe common text analysis techniques, including keyword extraction, entity detection, sentiment analysis, and summarization",
            "objective_wording_sha256": "6e8695d5649c961b8a8fe3a9cae39b3078162223da59e0856ee0edc83c34188a",
            "group": "Identify AI workloads",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Text workloads",
                "start_line": 376,
                "end_line": 390,
                "span_lf_sha256": "347b0d62532f0644ee3316999358121ec686ed86d7ea32d5ec1ab4226ce84924"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Key phrases/entities/sentiment/summary each have output and misconception.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify features and capabilities of speech recognition and speech synthesis",
            "objective_wording_sha256": "0ef599a705b01cc1b42738b389b4287dc1216a329e881f08fbd50ad784a0c22e",
            "group": "Identify AI workloads",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Speech workloads",
                "start_line": 409,
                "end_line": 481,
                "span_lf_sha256": "76be08b8677da51c8f5628b7d6f84a7d1123b2b7726faedd352bc7323bfabb8d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Recognition/synthesis pipeline plus WER/latency and interruption examples distinguish capabilities.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify features and capabilities of computer vision and image-generation models",
            "objective_wording_sha256": "b07e3464aeafcdfee05125427097d29ff35f788b738a126ab0863a69f1137c21",
            "group": "Identify AI workloads",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "6. Vision and multimodal workloads",
                "start_line": 491,
                "end_line": 547,
                "span_lf_sha256": "6fd826d2662bab1bd525fc6df5a72b98c2594c3023492600686f38e42b6776e4"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Classification/detection/OCR/visual reasoning/generation use different outputs.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Identify techniques to extract information from text, images, audio, and videos",
            "objective_wording_sha256": "a9626548b50135c1cccaa787823534ac83605276f90f4fb863f0165ee70873a4",
            "group": "Identify AI workloads",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "7. Content Understanding and information extraction",
                "start_line": 551,
                "end_line": 573,
                "span_lf_sha256": "7ab7accf208aac9b40415e63def50c85622b824292c1689d712c420dc4c56a45"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Recognition/layout/field interpretation and source evidence apply across modalities.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create effective system and user prompts for generative AI models",
            "objective_wording_sha256": "46a02d4deb908aaa62e64d20edf2e18d7c076f89eb323e02d9d0a3e648529a99",
            "group": "Implement generative AI apps and agents by using Foundry",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Prompting and model interaction",
                "start_line": 234,
                "end_line": 254,
                "span_lf_sha256": "c03fc69f03a36444ead7921ee2fb2de0aa35bd436120bcf633389de59fb6db8a"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Trusted roles/examples/output contract and missing-evidence behavior define prompts.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Deploy a model and interact with it in the Foundry portal",
            "objective_wording_sha256": "3a7217ae16e3241d2441139c52f8a33eee0168b535987f52ce60c54135748d83",
            "group": "Implement generative AI apps and agents by using Foundry",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "From portal exploration to a small client",
                "start_line": 219,
                "end_line": 232,
                "span_lf_sha256": "ee91c5283c3593317976d8b09553d6df3765e38d356c21e3b526e298fc5e9a7b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Portal steps include capability/region, deployment, prompt tests, failure checks and cleanup.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create a lightweight chat client application by using the Foundry SDK",
            "objective_wording_sha256": "34aaaaf8de076a835e8542b356023a12a93164a45a8df8bf09f61ecf4ad7b37c",
            "group": "Implement generative AI apps and agents by using Foundry",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "A lightweight chat client",
                "start_line": 256,
                "end_line": 283,
                "span_lf_sha256": "02fb07a9eac39e4c3421efcb6f05263923832e29ea8776d2638e105616e78cdb"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Projects SDK client, identity and responses.create show actual request/validation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and test a single-agent solution in the Foundry portal",
            "objective_wording_sha256": "06962f79329d1ada60c7dcdb1f2892dd263f31d5a6ba710e81566393bab749e9",
            "group": "Implement generative AI apps and agents by using Foundry",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Build a single agent",
                "start_line": 302,
                "end_line": 355,
                "span_lf_sha256": "fd8de0f007a6ac92dd33c90060ef9a0d65113e11c789d97a5a27ce977ad45b88"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Portal prompt-agent test and separate invocation distinguish creation from serving.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create a lightweight client application for an agent",
            "objective_wording_sha256": "b28a81f1a52ba2ab18f54f98144c7a160fe7a93fed6a59af74b899af1d3daeb5",
            "group": "Implement generative AI apps and agents by using Foundry",
            "group_number": 4,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Invoke an agent created in the portal",
                "start_line": 331,
                "end_line": 355,
                "span_lf_sha256": "156293b3b2f7cbdb4dce827f0b5edfcf2e3e03f14a38278f7dd2cb6213fe0e26"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Agent-name binding, conversation create and responses call are executable client pattern.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Build a lightweight application that includes text analysis",
            "objective_wording_sha256": "2ac3c4258170a2d804fa172877aaf6eb37eca561f92644bba34850134c62faf5",
            "group": "Implement AI solutions for text and speech by using Foundry",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Keep per-document failures visible",
                "start_line": 392,
                "end_line": 407,
                "span_lf_sha256": "fbbd72747ffff0f975785d099aeeffdd4a5f05c8bf79e430eb73495b68bec31d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Text analysis batch preserves per-document errors separately from request exceptions.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Respond to spoken prompts by using a deployed multimodal model",
            "objective_wording_sha256": "dbefb789fd1f5dd13861e92d1f11f00639417d519d275360477e24795009f016",
            "group": "Implement AI solutions for text and speech by using Foundry",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked portal check: one spoken turn through a multimodal model",
                "start_line": 469,
                "end_line": 473,
                "span_lf_sha256": "ef13aceb113e87d5069bdeb4598073eae928b3e567d34414b23870dbce623d27"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-voice. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-voice"
          },
          {
            "wording": "Build a lightweight application by using Azure Speech in Foundry Tools",
            "objective_wording_sha256": "dd44fe3742016d21ff1e4eb4b640d8b0340d9886a0d44a157fb4d0562e73de84",
            "group": "Implement AI solutions for text and speech by using Foundry",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked Speech application wiring",
                "start_line": 424,
                "end_line": 447,
                "span_lf_sha256": "4dce18f95d86bda6f40740e9b30b8d399a7ce79a2a65e944a2eefcd6791dd95a"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-speech. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-speech"
          },
          {
            "wording": "Interpret visual input in prompts by using a deployed multimodal model",
            "objective_wording_sha256": "1eaadadf6c73903477de704e3303f69b456c0bde794610e7683ed653058c6ccc",
            "group": "Implement AI solutions with computer vision and image-generation capabilities by using Foundry",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked visual-input contract",
                "start_line": 511,
                "end_line": 530,
                "span_lf_sha256": "b926ad4bdc6854ed48052b135aa65a66645d5697437171a964bd6282c92f74a6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-vision. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-vision"
          },
          {
            "wording": "Create new visual outputs by using generative models",
            "objective_wording_sha256": "0b7251f119c2ba0437263642ae6cdd9e7dc00d6b0292c4e016a0cfec5d94cd41",
            "group": "Implement AI solutions with computer vision and image-generation capabilities by using Foundry",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked image-generation contract",
                "start_line": 534,
                "end_line": 538,
                "span_lf_sha256": "6d3b820fb84461d5b3378460b241ab82b96c56c16bb0f72adca7c97b2e2cf69d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-generation. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-generation"
          },
          {
            "wording": "Build a lightweight application that includes vision capabilities",
            "objective_wording_sha256": "e2063f9da8eb4bfcae428b71522ddf038fe6fdfa44d6312afa20bed40b61262b",
            "group": "Implement AI solutions with computer vision and image-generation capabilities by using Foundry",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked visual-input contract",
                "start_line": 511,
                "end_line": 530,
                "span_lf_sha256": "b926ad4bdc6854ed48052b135aa65a66645d5697437171a964bd6282c92f74a6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-vision. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-vision"
          },
          {
            "wording": "Extract information from documents and forms by using Azure Content Understanding in Foundry Tools",
            "objective_wording_sha256": "e197979ee1c267e6afaefd9a895c74f1e85b930cffa23fc31f48d24f3b2bdec4",
            "group": "Implement AI solutions for information extraction by using Foundry",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked extraction request: use the modality's analyzer and inspect its evidence",
                "start_line": 585,
                "end_line": 598,
                "span_lf_sha256": "dda422c369130fe65c001f043e47f5b7d311f002ead257f21d1004434ddb2edf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-extraction. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-extraction"
          },
          {
            "wording": "Extract information from images by using Content Understanding",
            "objective_wording_sha256": "88ad5352a4c991d63bc3a87cbe412327e9a638af537ca9fcab5c6f1c1e3e906d",
            "group": "Implement AI solutions for information extraction by using Foundry",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked extraction request: use the modality's analyzer and inspect its evidence",
                "start_line": 585,
                "end_line": 598,
                "span_lf_sha256": "dda422c369130fe65c001f043e47f5b7d311f002ead257f21d1004434ddb2edf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-extraction. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-extraction"
          },
          {
            "wording": "Extract information from audio and video by using Content Understanding",
            "objective_wording_sha256": "0fa184ee12980935eb498921139a033695b09f112f5bac50162f6eb8c150954a",
            "group": "Implement AI solutions for information extraction by using Foundry",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked extraction request: use the modality's analyzer and inspect its evidence",
                "start_line": 585,
                "end_line": 598,
                "span_lf_sha256": "dda422c369130fe65c001f043e47f5b7d311f002ead257f21d1004434ddb2edf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-extraction. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-extraction"
          },
          {
            "wording": "Build a lightweight application with information extraction capabilities by using Content Understanding",
            "objective_wording_sha256": "f10dbc18bb48feec903014cf10c21f7ec765562444cccff008a74eae099532d4",
            "group": "Implement AI solutions for information extraction by using Foundry",
            "group_number": 7,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked extraction request: use the modality's analyzer and inspect its evidence",
                "start_line": 585,
                "end_line": 598,
                "span_lf_sha256": "dda422c369130fe65c001f043e47f5b7d311f002ead257f21d1004434ddb2edf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-extraction. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "ai901-extraction"
          }
        ],
        "complete_guide_read": true,
        "complete_guide_line_count": 896,
        "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
      },
      {
        "exam_code": "AZ-104",
        "guide_path": "guides/AZ-104-microsoft-azure-administrator.md",
        "guide_lf_sha256": "3899d0d582d439b56747ca10effc793ddd629fae6969c5b12ff9e5a8783bc2f1",
        "objective_raw_sha256": "7d2330fbafdd4981b54e6aa8f9ba371f0bbad1edf521fa8d2fa591e2bf8d2ae1",
        "objective_count": 82,
        "current_mapping": [
          {
            "wording": "Create users and groups",
            "objective_wording_sha256": "7e02548403c0c3f10e94dcf511115a20ebfae079281de09939f1245b5e6bd9d3",
            "group": "Manage Microsoft Entra users and groups",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Microsoft Entra identities",
                "start_line": 83,
                "end_line": 102,
                "span_lf_sha256": "0e6deea6b5db9f8068ae02b8e53f9e6f096f055fbded72781f52225ed926ac9f"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: User/group decision table and effective identity state checks support creation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage user and group properties",
            "objective_wording_sha256": "c6971ee7c9d90dd02be5035084fcb16f0e21c9b235cbfedddf128cb10c399c5c",
            "group": "Manage Microsoft Entra users and groups",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Identity changes need effective-state checks",
                "start_line": 96,
                "end_line": 102,
                "span_lf_sha256": "8127f2360c95851ba88bee642af0f4aff6d1dbf7f5a12adfcfc079f753cd82ae"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Source authority, sign-in, usage location and membership distinguish editable state.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage licenses in Microsoft Entra ID",
            "objective_wording_sha256": "7b2be3d73e13317142d37132ddbe10cc11714d7a900c59573ae5d09baf44f5c7",
            "group": "Manage Microsoft Entra users and groups",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Identity changes need effective-state checks",
                "start_line": 98,
                "end_line": 102,
                "span_lf_sha256": "bf756750b7cba652145e7e777ad7ee3d55c9eca530e854c15305f52020c59374"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Group licensing workflow checks dependencies, errors and safe transfer order.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage external users",
            "objective_wording_sha256": "b1291b88064c6045da5cf06944458113a40be458c0b6267465bca56aeb8af783",
            "group": "Manage Microsoft Entra users and groups",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Identity changes need effective-state checks",
                "start_line": 96,
                "end_line": 102,
                "span_lf_sha256": "8127f2360c95851ba88bee642af0f4aff6d1dbf7f5a12adfcfc079f753cd82ae"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Invitation/redemption differs from Azure resource authorization.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure self-service password reset (SSPR)",
            "objective_wording_sha256": "28541ae6017febab8551d9e265170901b2905374853d24e109a4f4dc79ade6d0",
            "group": "Manage Microsoft Entra users and groups",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Identity changes need effective-state checks",
                "start_line": 100,
                "end_line": 102,
                "span_lf_sha256": "e330717e5891b181eb749141be3b33f58277b448f2cd0e39d09db39f6288d3b7"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Authentication policy, eligibility, registered methods and non-admin reset test are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage built-in Azure roles",
            "objective_wording_sha256": "a7dde8aee3c640dc9877fd87accf3fb8ffd99f0b443aadf40ffb7ab1e18d7064",
            "group": "Manage access to Azure resources",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Azure RBAC",
                "start_line": 104,
                "end_line": 126,
                "span_lf_sha256": "39565005a515d89be828d81eb9baa57d15afe31bff5d53b44ae69a3e16ea3f01"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Role actions/exclusions/deny and planes explain built-in roles.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Assign roles at different scopes",
            "objective_wording_sha256": "cc8210056296c36942a4296db2b7265e4db58a7c1068ddb5579cabfc1f353de5",
            "group": "Manage access to Azure resources",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Azure RBAC",
                "start_line": 104,
                "end_line": 118,
                "span_lf_sha256": "20d99816ccb681c0fc31950e883b0eb1534a3c2f484607709cc1e3808c5109f6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Principal/role/scope and inheritance support least privilege assignment.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Interpret access assignments",
            "objective_wording_sha256": "92b2e2739931959b82ad3e347caae7f19b6f29aa3bd87f12ada8027f3769d700",
            "group": "Manage access to Azure resources",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked example 1: Exclusion is not an explicit deny",
                "start_line": 120,
                "end_line": 126,
                "span_lf_sha256": "61357dfdff149f5b4bc9db447b0462fe8317e4f8842b8255d7a4035a31ac3ced"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Combined allow and explicit deny example shows effective access reasoning.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement and manage Azure Policy",
            "objective_wording_sha256": "ea0bc405f3247d50592ef887aa79cea56ba84c554dab622d253f7f0578623c32",
            "group": "Manage Azure subscriptions and governance",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Policy, locks, tags, and hierarchy",
                "start_line": 128,
                "end_line": 141,
                "span_lf_sha256": "2fe8ca4ac016c62f01357b535f385ca5e5924751b7960a335122cd939066253d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Definition/initiative/assignment/effect/remediation and identity are differentiated.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure resource locks",
            "objective_wording_sha256": "84de78d458b64921a4f8d66ec925a42d6123b2978f7b34dac5d7d2fea05f6377",
            "group": "Manage Azure subscriptions and governance",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Policy, locks, tags, and hierarchy",
                "start_line": 128,
                "end_line": 141,
                "span_lf_sha256": "2fe8ca4ac016c62f01357b535f385ca5e5924751b7960a335122cd939066253d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Delete/read-only inheritance and management-plane scope limit locks.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Apply and manage tags on resources",
            "objective_wording_sha256": "18e8e6f33ac530f69ee624aba9fbb3e2f55a4742234ddbf7c97233b328317a00",
            "group": "Manage Azure subscriptions and governance",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Policy, locks, tags, and hierarchy",
                "start_line": 128,
                "end_line": 139,
                "span_lf_sha256": "1f6d2e0f68e6d02a97757b354be94773da138d01eb4b765fbde03541979acb5d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Tag metadata is distinguished from inheritance; lab applies tags.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage resource groups",
            "objective_wording_sha256": "ec9055e06b5f71a3dc98e121fbd1e28b63f21040f810829b8a57edd3cfd29caa",
            "group": "Manage Azure subscriptions and governance",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked hierarchy change: predict inherited controls before a move",
                "start_line": 149,
                "end_line": 153,
                "span_lf_sha256": "8226c4c3c0649472d8078f5cd5d2c379ad45c334961ce00c3073ed2883b0ea33"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-hierarchy. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-hierarchy"
          },
          {
            "wording": "Manage subscriptions",
            "objective_wording_sha256": "24a3f4314e5cc6b7d2a7b3ea89cb5b19047cfac524f57ef832f7931fde5ceab3",
            "group": "Manage Azure subscriptions and governance",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Worked hierarchy change: predict inherited controls before a move",
                "start_line": 149,
                "end_line": 153,
                "span_lf_sha256": "8226c4c3c0649472d8078f5cd5d2c379ad45c334961ce00c3073ed2883b0ea33"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-hierarchy. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-hierarchy"
          },
          {
            "wording": "Manage costs by using alerts, budgets, and Azure Advisor recommendations",
            "objective_wording_sha256": "053f5c0a56e8ff15637c414868c0c6c00a134bd348cff00012b10fd58a60a145",
            "group": "Manage Azure subscriptions and governance",
            "group_number": 3,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Subscriptions, costs, and management groups",
                "start_line": 143,
                "end_line": 147,
                "span_lf_sha256": "2a3b657981e98775e4c05a323c772f569c7dced00da570450b30d8dd346aaf8e"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Budgets notify and Advisor recommendations require workload evaluation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure management groups",
            "objective_wording_sha256": "ff8e7b0e3df3f0d0ab30d4794d086d6078dc0cbbb94804729b47488868c7d37d",
            "group": "Manage Azure subscriptions and governance",
            "group_number": 3,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Worked hierarchy change: predict inherited controls before a move",
                "start_line": 149,
                "end_line": 153,
                "span_lf_sha256": "8226c4c3c0649472d8078f5cd5d2c379ad45c334961ce00c3073ed2883b0ea33"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-hierarchy. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-hierarchy"
          },
          {
            "wording": "Configure Azure Storage firewalls and virtual networks",
            "objective_wording_sha256": "b71813acc52a81fc1887b90ca683769754521438573fb539da7191bbfed866d7",
            "group": "Configure access to storage",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Authorization and network access are separate gates",
                "start_line": 168,
                "end_line": 196,
                "span_lf_sha256": "74a557c234af9c576e0564fc70fb3ac4b3bf6c20b4ec7e975587b8845fdedf1b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Network/auth/authorization gates and private DNS are independent.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and use shared access signature (SAS) tokens",
            "objective_wording_sha256": "a0a3dc3e7018c457d37a7b8089ef15d605189ec7183bf40c6b5a7ac4ca722df0",
            "group": "Configure access to storage",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Authorization and network access are separate gates",
                "start_line": 168,
                "end_line": 182,
                "span_lf_sha256": "42a4b0cb6620defb6d99e04bd015166cb744895b6ddbf92dc30cdc3151c032f0"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: SAS type/permission/expiry and revocation boundaries are explained with lab.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure stored access policies",
            "objective_wording_sha256": "ee2ab77ca85bf5235d958dcb0e4157fa2425cf19ede02505e2651e22e1a0dbfb",
            "group": "Configure access to storage",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Authorization and network access are separate gates",
                "start_line": 176,
                "end_line": 182,
                "span_lf_sha256": "60da266ac46b4c8a2fb963a8aa848a72f1751fac4b7940fa31e402dfa8ba08c3"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Service-SAS-only policy and limit are identified; association/revocation scenario is brief but specific.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage access keys",
            "objective_wording_sha256": "d2c1027d98471d2e1addb3c59bbd9a187d8aa01d459cdc0d53f597b63120728e",
            "group": "Configure access to storage",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Authorization and network access are separate gates",
                "start_line": 180,
                "end_line": 182,
                "span_lf_sha256": "b087e78b1ab95cfb2d692b74c56d26aa1407182d55916de23972238dd61f5fcc"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Two-key consumer migration/rotation and SAS impact are concrete.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure identity-based access for Azure Files",
            "objective_wording_sha256": "bdad605decffa187e458dc10fd427a04e16b7a4b7d37b53a2d158d44bb556f9d",
            "group": "Configure access to storage",
            "group_number": 4,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Identity-based Azure Files access",
                "start_line": 184,
                "end_line": 186,
                "span_lf_sha256": "16fcb028255f213ef027069453b4f7532449e93f30bee995b63207435d90dbbf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: SMB identity source/share RBAC/ACL/client/network pipeline diagnoses denial.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and configure storage accounts",
            "objective_wording_sha256": "82a871794012a0275c0412396df3d6512223411e7ddf169bd43a5d717b62209a",
            "group": "Configure and manage storage accounts",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Accounts, redundancy, encryption, and replication",
                "start_line": 198,
                "end_line": 212,
                "span_lf_sha256": "e6e297fcc8754edd3ac906734fa4e2252ef1a42a726da1867315726261bba062"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Account/region/redundancy/encryption and replication dependencies guide creation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure Azure Storage redundancy",
            "objective_wording_sha256": "9b66782655d92b3bc2624b991d66df81d76f3d1abf581de05e26772a65af7197",
            "group": "Configure and manage storage accounts",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Accounts, redundancy, encryption, and replication",
                "start_line": 202,
                "end_line": 209,
                "span_lf_sha256": "9923fa339213c601122eeb43412fe5afd7c6b1faf211be17e34d67219872ffb9"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Redundancy table separates synchronous zones, async geo and read access.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure object replication",
            "objective_wording_sha256": "fda8e335be360ffa1458ec13338c73e5d4ca7cc4c2aded4387f41921bf2d68b8",
            "group": "Configure and manage storage accounts",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Accounts, redundancy, encryption, and replication",
                "start_line": 212,
                "end_line": 212,
                "span_lf_sha256": "8ecbd45088573a41b2e385d9a8e11aed9d9cd9fe41a068a93ed259f8c1ed8caf"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Change-feed/versioning/matching policy/container/existing-object rules specify replication.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure storage account encryption",
            "objective_wording_sha256": "118f5f657aec0d75def967230b3ed75b261a145fd02d95bbf8508901ce65fcc8",
            "group": "Configure and manage storage accounts",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Accounts, redundancy, encryption, and replication",
                "start_line": 210,
                "end_line": 210,
                "span_lf_sha256": "ede4fc87611332c85c85a32fc75cc08d6ad5ffd86c1a875a6334e0f664565a2a"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Managed/customer keys and infrastructure encryption boundaries are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage data by using Azure Storage Explorer and AzCopy",
            "objective_wording_sha256": "db9c4d923b2bba4db50bc3cf30aa47fc7a03f3c6bbd38efa99136468f289edf6",
            "group": "Configure and manage storage accounts",
            "group_number": 5,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Blob and file data protection",
                "start_line": 216,
                "end_line": 227,
                "span_lf_sha256": "6c36e495d6d2ff658bf9cced51c2b98a02736865f4c91667097416bca3bd8f41"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Transfer auth/filter/overwrite/completion and resume checks distinguish tools.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and configure a file share in Azure Files",
            "objective_wording_sha256": "255b63e75c5d148566beaf67b81429a48279b6ae1e3ef34f9f5641aeafdc5315",
            "group": "Configure Azure Files and Azure Blob Storage",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Blob and file data protection",
                "start_line": 216,
                "end_line": 216,
                "span_lf_sha256": "93078493c689db0aad53ab403de00f11be8abc3572ff146a455b46c38ef9d70f"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Protocol, provisioning, quota, auth and positive/negative mount checks configure share.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and configure a container in Azure Blob Storage",
            "objective_wording_sha256": "c81594f06b9fe8419a05e4a5c515479a0dc77f20e2e05c899b1fc144f2aa5634",
            "group": "Configure Azure Files and Azure Blob Storage",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Blob and file data protection",
                "start_line": 216,
                "end_line": 216,
                "span_lf_sha256": "93078493c689db0aad53ab403de00f11be8abc3572ff146a455b46c38ef9d70f"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Container/access level and anonymous policy are selected and verified.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure storage tiers",
            "objective_wording_sha256": "b9dcec7f48e58f37f433a8aa72fd9b535c18f69ed6cd1e61de38c136527d641b",
            "group": "Configure Azure Files and Azure Blob Storage",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Blob and file data protection",
                "start_line": 218,
                "end_line": 227,
                "span_lf_sha256": "4605044ff9e59c4d5f73c8b2d4e515dd7c3e3af0ad522bc747bb4c45fad45220"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Access tier tradeoff and archive delay affect restore plan.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure soft delete for blobs and containers",
            "objective_wording_sha256": "b47eb99703057478600b05046aafd5127f17072e1e8016c3d67cdedf93c6ee51",
            "group": "Configure Azure Files and Azure Blob Storage",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked example 2: Undelete does not recreate the current version",
                "start_line": 237,
                "end_line": 243,
                "span_lf_sha256": "e4378b666b678fc1651d1da089eb4dda1d9cbd7e222a1d07ea4e025fb67f2ad2"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Delete/version promotion and container/account boundary are concrete.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure snapshots and soft delete for Azure Files",
            "objective_wording_sha256": "95d4b4717b0945f00147f6702e03fb7ba58cca6a2226489304d69ee0b5e22342",
            "group": "Configure Azure Files and Azure Blob Storage",
            "group_number": 6,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Worked Azure Files recovery: a file and a share have different undo paths",
                "start_line": 229,
                "end_line": 235,
                "span_lf_sha256": "f3c6143d99b2349930d3e6f9ceaee359652306d42d1cfa0e96bcccaaa45f3e12"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-files. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-files"
          },
          {
            "wording": "Configure blob lifecycle management",
            "objective_wording_sha256": "8862a5c214f7b74eb04aae8311b4927a0100ca3a675c73c09e763a4f96d57ba3",
            "group": "Configure Azure Files and Azure Blob Storage",
            "group_number": 6,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Worked example 2: Undelete does not recreate the current version",
                "start_line": 243,
                "end_line": 243,
                "span_lf_sha256": "3b54c9a25ff306640754784f86036acd268e061aea691a4e7ed9903bce3f639c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Rule timing, AND filters, replace semantics and archive exclusion are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure blob versioning",
            "objective_wording_sha256": "0cd36788b19f3268d66039e25e6356055e8bd42cb006e384d62b2d7f3b6bb1aa",
            "group": "Configure Azure Files and Azure Blob Storage",
            "group_number": 6,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Worked example 2: Undelete does not recreate the current version",
                "start_line": 237,
                "end_line": 243,
                "span_lf_sha256": "e4378b666b678fc1651d1da089eb4dda1d9cbd7e222a1d07ea4e025fb67f2ad2"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Version promotion, lifetime and HNS support are worked.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Interpret an Azure Resource Manager template or a Bicep file",
            "objective_wording_sha256": "283707a895c7281b08c9f67a55cfce22d41e005ef0a06240cce54c11a4337bb7",
            "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked ARM/Bicep change: follow one property through deployment",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "3fdcf6adc214dac693ec967ee7c97a76a8d7ac807d9819a0049b19acf6c287a8"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-iac"
          },
          {
            "wording": "Modify an existing Azure Resource Manager template",
            "objective_wording_sha256": "2d51033d5a61719f3681de4116d595fb695d92aee2e916d1f8e058be95491d86",
            "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked ARM/Bicep change: follow one property through deployment",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "3fdcf6adc214dac693ec967ee7c97a76a8d7ac807d9819a0049b19acf6c287a8"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-iac"
          },
          {
            "wording": "Modify an existing Bicep file",
            "objective_wording_sha256": "e9f13287f1e8a5aff0530de967df2fd43d5ffc93e64c409eebc672e8ae3602fe",
            "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked ARM/Bicep change: follow one property through deployment",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "3fdcf6adc214dac693ec967ee7c97a76a8d7ac807d9819a0049b19acf6c287a8"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-iac"
          },
          {
            "wording": "Deploy resources by using an Azure Resource Manager template or a Bicep file",
            "objective_wording_sha256": "d613a50f56f032cac6fd7c52bf732c21d6f8b752b4da9465e28d08c528ce4e58",
            "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
            "group_number": 7,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked ARM/Bicep change: follow one property through deployment",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "3fdcf6adc214dac693ec967ee7c97a76a8d7ac807d9819a0049b19acf6c287a8"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-iac"
          },
          {
            "wording": "Export a deployment as an Azure Resource Manager template or convert an Azure Resource Manager template to a Bicep file",
            "objective_wording_sha256": "a4107da4f70059fabffa0db706be7a5aa00e426ca5dee032870b460d77c794aa",
            "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
            "group_number": 7,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Incremental deployment is not a property patch",
                "start_line": 264,
                "end_line": 268,
                "span_lf_sha256": "03c291d5e77e37c4cdd56346dc3511bbb9900783b4b0c57b66a36643b64ceab6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Decompile CLI, warnings, build and round-trip limitations are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create a virtual machine",
            "objective_wording_sha256": "b4a3394c758b1cca17953c557256ce6664c298f4109f84f31242beea9b475391",
            "group": "Create and configure virtual machines",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Virtual machines",
                "start_line": 288,
                "end_line": 306,
                "span_lf_sha256": "6b0e3d276c51cd7ce78f059c8106fc75a43b488a86941c7574c0040e640695c1"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Dependency choices and disposable VM lab create/inspect without public IP.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure encryption at host for Azure virtual machines",
            "objective_wording_sha256": "96003a16c2da4ea8d37ce7fb21a4247faa15dd250ac1fe329f767f068ee80339",
            "group": "Create and configure virtual machines",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Virtual machines",
                "start_line": 302,
                "end_line": 302,
                "span_lf_sha256": "c475687a09a1552b99a29342d7d4bb82dc71f6cbe103b25078e33cf4830d295c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Host encryption registration/support/previous ADE/scale-set recycle boundaries are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Move a virtual machine to another resource group, subscription, or region",
            "objective_wording_sha256": "4c196198126feb080143167249d521f70bb444990699663e59056acc24e5ff7a",
            "group": "Create and configure virtual machines",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Virtual machines",
                "start_line": 300,
                "end_line": 304,
                "span_lf_sha256": "ffa223df8b19edb3e18c368d346b87291fc818cde718931761c622aaf513a532"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Move inventories dependencies and distinguishes resource-ID relocation from region migration.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage virtual machine sizes",
            "objective_wording_sha256": "0a72f3b62514a4da678ce9be3d24786b8d6d7b9f375c90812c758197eea9aef5",
            "group": "Create and configure virtual machines",
            "group_number": 8,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Virtual machines",
                "start_line": 300,
                "end_line": 300,
                "span_lf_sha256": "e5f6468a94fd3c4962f76e1351ae1e5d6728aa7fb7b1dae4f6b6737e70b3e936"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Resize restart/capacity requirements and evidence are stated.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage virtual machine disks",
            "objective_wording_sha256": "4adbfec44d5f5bd694de2112c88a709ab746a2b6510e5db86a99bcaea53d06d2",
            "group": "Create and configure virtual machines",
            "group_number": 8,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Virtual machines",
                "start_line": 288,
                "end_line": 298,
                "span_lf_sha256": "feaebe225dff865bf8246d56e76783751c8f2dbe417b88b5f54b300538905c6b"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Disk design plus lab add/initialize addresses persistence and recovery.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Deploy virtual machines to availability zones and availability sets",
            "objective_wording_sha256": "69517a2eec7d34d1ece3bc8fbeb13f09d6c17fefcf1087800a454dff42c23528",
            "group": "Create and configure virtual machines",
            "group_number": 8,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Virtual machines",
                "start_line": 292,
                "end_line": 298,
                "span_lf_sha256": "a122d91e252acd0a4477c51de8ee590b075d6d94b8fc735da763eb0dc00e892d"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Host/rack versus zone choice and lab availability inspection explain deployment.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Deploy and configure an Azure Virtual Machine Scale Sets",
            "objective_wording_sha256": "872536f9d213636754198f6fe84385a1db2b7871e7289e737e76d5a2e697292b",
            "group": "Create and configure virtual machines",
            "group_number": 8,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Worked scale-set configuration: creation is the start of the health test",
                "start_line": 308,
                "end_line": 312,
                "span_lf_sha256": "0590bf842eacf0c3aa5bb9b602c3044346b73d620304cb7415883eec4d6d9e00"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-vmss. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-vmss"
          },
          {
            "wording": "Create and manage an Azure Container Registry",
            "objective_wording_sha256": "d60f74ee26db3354d7bcb3c9356fb166f1ac1d0fb4f6cc102be427ed665222ef",
            "group": "Provision and manage containers in the Azure portal",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Containers and application platforms",
                "start_line": 314,
                "end_line": 327,
                "span_lf_sha256": "393634d36447f307a07dcf93eb8999aeeef111117d08cf9b5ed90e03dd80bfc7"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Registry identity/network mode and ABAC replacement roles form creation/test path.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Provision a container by using Azure Container Instances",
            "objective_wording_sha256": "1f4d65d81cbb6334ae06408ac1ce0ead3bf08c14a2fb1f59fa0b06d22308ac76",
            "group": "Provision and manage containers in the Azure portal",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Containers and application platforms",
                "start_line": 316,
                "end_line": 329,
                "span_lf_sha256": "5037e1aaac2933ee0f6fe24c9a00ee52325cb93b9b29bfcfd51304b43344c5fe"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: ACI image, CPU/memory, ports, restart and persistence are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Provision a container by using Azure Container Apps",
            "objective_wording_sha256": "0396a1850695bedfc12ec23fe8fc0d638e31cc32262d7bccf72b472272606bbe",
            "group": "Provision and manage containers in the Azure portal",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Containers and application platforms",
                "start_line": 316,
                "end_line": 329,
                "span_lf_sha256": "5037e1aaac2933ee0f6fe24c9a00ee52325cb93b9b29bfcfd51304b43344c5fe"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Environment/app/revision/ingress identities distinguish Container Apps setup.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Manage sizing and scaling for containers, including Azure Container Instances and Azure Container Apps",
            "objective_wording_sha256": "16471213746334ba3b940c27aa411f23e509abd2d992015405f6c699dc630a58",
            "group": "Provision and manage containers in the Azure portal",
            "group_number": 9,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Containers and application platforms",
                "start_line": 325,
                "end_line": 329,
                "span_lf_sha256": "363b7d007334fd6fb310b3719ab3b465002062af1cc9f844eccd726ddcf71ce1"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Replica/CPU/memory/scaling-rule and burst/failure tests separate scale from traffic.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Provision an App Service plan",
            "objective_wording_sha256": "76527147644551998c3a544d7632d9f27cd87290b15f0a41e4f46b8af6eaf181",
            "group": "Create and configure Azure App Service",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "App Service boundaries worth testing",
                "start_line": 331,
                "end_line": 339,
                "span_lf_sha256": "759d890b07fee0d7100a860a7b8bd8063d8df0319f02defadc4d84e1fb863c58"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Plan regional compute and per-worker staging capacity are worked.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure scaling for an App Service plan",
            "objective_wording_sha256": "70b2f243db533fd2dbd94e8915f4025cc39966e00d1b4412a49b8e0dfd09f4b3",
            "group": "Create and configure Azure App Service",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "App Service boundaries worth testing",
                "start_line": 331,
                "end_line": 339,
                "span_lf_sha256": "759d890b07fee0d7100a860a7b8bd8063d8df0319f02defadc4d84e1fb863c58"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Scale up/out and worker footprint are distinguished.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create an App Service",
            "objective_wording_sha256": "ff58c3f80059471638840b5a006e12721ffba3c94fd7986676cdc3f23b9b49d5",
            "group": "Create and configure Azure App Service",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "App Service boundaries worth testing",
                "start_line": 331,
                "end_line": 339,
                "span_lf_sha256": "759d890b07fee0d7100a860a7b8bd8063d8df0319f02defadc4d84e1fb863c58"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: App content/config, settings and staging lab form creation path.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure certificates and Transport Layer Security (TLS) for an App Service",
            "objective_wording_sha256": "dd5a24c6fc066f385fdab60bdcfd0a4e0abc6051de086296a4b7c188d84be48f",
            "group": "Create and configure Azure App Service",
            "group_number": 10,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "App Service boundaries worth testing",
                "start_line": 333,
                "end_line": 335,
                "span_lf_sha256": "86a06fa64f81141b42589782261d104f26d97362899e918e569862d4e3a64d66"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Certificate type, renewal, domain binding and EKU boundaries are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Map an existing custom DNS name to an App Service",
            "objective_wording_sha256": "34417a741b7e8a729ca2d2c78df63c6de5d2a3d54b1276a0f081ee03f83714f4",
            "group": "Create and configure Azure App Service",
            "group_number": 10,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "App Service boundaries worth testing",
                "start_line": 331,
                "end_line": 335,
                "span_lf_sha256": "f76fd6f98819715daffdf866e97ecb5040e627ecc643980c5c251cb3a3ca0406"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: DNS ownership/certificate/binding are separated; lab inventory verifies each.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure backup for an App Service",
            "objective_wording_sha256": "a5b1b2e1a564ca2009bbe0d5c6568007debafbc4e58ffc7976c97f2962ca7b23",
            "group": "Create and configure Azure App Service",
            "group_number": 10,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "App Service boundaries worth testing",
                "start_line": 335,
                "end_line": 335,
                "span_lf_sha256": "1b17273d6925a043b0ccac82b5691bb2193cd9dc1493ac09d4b8861044c76c79"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Automatic/custom backup capacity/auth/database limits and restore overwrite are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure networking settings for an App Service",
            "objective_wording_sha256": "7dc34c6dbf6f1c1875c91dedf807bd26704ced5bc070e7b0de753e8585de27fa",
            "group": "Create and configure Azure App Service",
            "group_number": 10,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "App Service boundaries worth testing",
                "start_line": 331,
                "end_line": 333,
                "span_lf_sha256": "1c646de568f2736b2b22c1b17190af214b5ad421815fabbc19a49525c1833399"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Private inbound, restrictions and outbound VNet integration are separate.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure deployment slots for an App Service",
            "objective_wording_sha256": "25697e92e05f8278fba0c09693d28d960ded966155edfb5a5069d1605e5f9af1",
            "group": "Create and configure Azure App Service",
            "group_number": 10,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "App Service boundaries worth testing",
                "start_line": 331,
                "end_line": 333,
                "span_lf_sha256": "1c646de568f2736b2b22c1b17190af214b5ad421815fabbc19a49525c1833399"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Sticky settings, identities/network and warm/swap/rollback are concrete.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and configure virtual networks and subnets",
            "objective_wording_sha256": "f98710b1a13decd62f2f686dec56d20ee58cd27b316185936c7d69c04c7f18ba",
            "group": "Configure and manage virtual networks in Azure",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Addressing, subnets, peering, and routes",
                "start_line": 354,
                "end_line": 366,
                "span_lf_sha256": "5b0c192047d3fe21f4a58a2bf90b39e64ca374dbcf153782ee04bacf93fdfb15"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Nonoverlap, five reservations, growth and private subnet egress are worked.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and configure virtual network peering",
            "objective_wording_sha256": "1c030360abf9c9c20cd6bc282e4c00c6975046388c038a28024d682db30caf3a",
            "group": "Configure and manage virtual networks in Azure",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Addressing, subnets, peering, and routes",
                "start_line": 356,
                "end_line": 358,
                "span_lf_sha256": "fe6bdd634ae05f5ddec3c6ef26a4b0103e7aef9cf5461ecfe10c90f7e97774c6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Peering non-transitivity, forwarded traffic and transit require both sides.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure public IP addresses",
            "objective_wording_sha256": "fd3456bcd58ecd78c04db05b2e1f9e2cbc5cc179042532aaf629e838743ebfd2",
            "group": "Configure and manage virtual networks in Azure",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "NSGs and application security groups",
                "start_line": 368,
                "end_line": 370,
                "span_lf_sha256": "2681a7ac558b967e79027e4e09c7ebed99175b5525907bb3e2c5b901df3dd7ac"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Standard static public IP does not open a port; compatibility settings matter.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure user-defined routes",
            "objective_wording_sha256": "8e062754cf83e7098ac188ebdd3dd3d4f40e2095444ffd2ffd6e5bbe6f068098",
            "group": "Configure and manage virtual networks in Azure",
            "group_number": 11,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Addressing, subnets, peering, and routes",
                "start_line": 358,
                "end_line": 358,
                "span_lf_sha256": "533035411554695025bb5f7d7618848c741fde46b791cdd62f4c67249fb8a84c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Most-specific route and source precedence lead to effective route/return path checks.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Troubleshoot network connectivity",
            "objective_wording_sha256": "69a6d060afab1a58be5dcc4b7180f84c51e1bae10930c7c15976d7c9dec72710",
            "group": "Configure and manage virtual networks in Azure",
            "group_number": 11,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Scenario: VM connectivity failure",
                "start_line": 534,
                "end_line": 544,
                "span_lf_sha256": "4f58feca06820baed197765b26de92faabfc75bf3d3874481367294db17427a1"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: DNS/probe/routes/effective NSG/listener/return path troubleshooting is sequenced.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create and configure network security groups (NSGs) and application security groups",
            "objective_wording_sha256": "a4891546c7929841f8b8f497f9247e6d2cd9f6bbb68571f87d6dd5e50bea2578",
            "group": "Configure secure access to virtual networks",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "NSGs and application security groups",
                "start_line": 368,
                "end_line": 374,
                "span_lf_sha256": "1f6b8c91b73cc7f7c9e8766ff4798c90143477910b43e784e67ca170f5c49eb9"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Priorities/subnet-plus-NIC/statefulness and ASG target grouping define rules.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Evaluate effective security rules in NSGs",
            "objective_wording_sha256": "6c816713689da86f40387b305fb9bfbd6a3dda648eea12dc437883c457ae7c04",
            "group": "Configure secure access to virtual networks",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "NSGs and application security groups",
                "start_line": 372,
                "end_line": 374,
                "span_lf_sha256": "f55d10c4a9180e3a0b03146c09b2497036c7d29039ed9fed6cc8e4b80fa22fe6"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Effective rules combine scopes but do not prove listener/return route.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Implement Azure Bastion",
            "objective_wording_sha256": "ee96942e6edae3160e022cc950fefca2438471ab4b4ecd8586ebae1fd98ef39a",
            "group": "Configure secure access to virtual networks",
            "group_number": 12,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Bastion, service endpoints, and private endpoints",
                "start_line": 376,
                "end_line": 378,
                "span_lf_sha256": "03f06741af09b27191d5868194ff014a8e562a1940b5959e5d54b7eefb0faf65"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Bastion removes per-VM public IP; subnet/SKU/route/NSG and lab verify path.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure service endpoints for Azure platform as a service (PaaS)",
            "objective_wording_sha256": "a570c2c33ef46b2ae647170d6d853e95bfd8dc4bd76ef6e1622ba0d49633f0ec",
            "group": "Configure secure access to virtual networks",
            "group_number": 12,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Firewalls, service endpoints, and private endpoints",
                "start_line": 190,
                "end_line": 196,
                "span_lf_sha256": "c65f64fbe0f601418deab88d8dd763a1510c8753900da9e8507fae1cea747bd0"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Service endpoint retains public endpoint and extends subnet identity.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure private endpoints for Azure PaaS",
            "objective_wording_sha256": "2f8abc2a9bf4ed83174f2d628e3aaf55e7f4030cd484d14491e6aa39fe93a025",
            "group": "Configure secure access to virtual networks",
            "group_number": 12,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Firewalls, service endpoints, and private endpoints",
                "start_line": 190,
                "end_line": 196,
                "span_lf_sha256": "c65f64fbe0f601418deab88d8dd763a1510c8753900da9e8507fae1cea747bd0"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Private subresource IP plus DNS/public-access decisions and lab demonstrate path.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure Azure DNS",
            "objective_wording_sha256": "2623c732856d9baedf047c5e1082f6ef1022faae5c6b8d6a32df0e9edaa64dc1",
            "group": "Configure name resolution and load balancing",
            "group_number": 13,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "DNS and load balancing",
                "start_line": 386,
                "end_line": 388,
                "span_lf_sha256": "37a84f3d1eb69769a824a6b04fb1816f8679f602a753150943f75855d7fccd82"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-dns. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-dns"
          },
          {
            "wording": "Configure an internal or public load balancer",
            "objective_wording_sha256": "cd7b6458f8b033048bd6620b3a70c41ff5e7532137aaad92813ebfff0c49b4e5",
            "group": "Configure name resolution and load balancing",
            "group_number": 13,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "DNS and load balancing",
                "start_line": 384,
                "end_line": 392,
                "span_lf_sha256": "8aba4ef70c108942b806a0247e08ccb2b871098b00257b5e5744ffc418ff8582"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: L4 frontend/rule/backend/probe and explicit outbound combine configuration.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Troubleshoot load balancing",
            "objective_wording_sha256": "d2803eb7e0dec0e95e0b5f68a5e195c9ca0e2f24411825478fed3c883b1b6589",
            "group": "Configure name resolution and load balancing",
            "group_number": 13,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "DNS and load balancing",
                "start_line": 390,
                "end_line": 392,
                "span_lf_sha256": "598605f412f5e114645b0fd6d4d549c78f5ac5d4e777ff9edf9981d99e50e4a2"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Probe/backend/NSG/listener/asymmetry order locates first failure.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Interpret metrics in Azure Monitor",
            "objective_wording_sha256": "2e94d306c1ba32b32f38104876c36832f5cb2fbf1f872a3bfd335edd1667414b",
            "group": "Monitor resources in Azure",
            "group_number": 14,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Metrics, logs, alerts, and Insights",
                "start_line": 407,
                "end_line": 434,
                "span_lf_sha256": "2c4ff8e041bf2f2987a9c6079ef874a7f17e7adfbbd779edbe3cdd610da2310e"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Metrics/logs/activity distinction and weighted denominator examples support interpretation.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure log settings in Azure Monitor",
            "objective_wording_sha256": "cb9b8f212eba75df0ceb9080edfae8e88240481f98c1539c368bd5e87f90328b",
            "group": "Monitor resources in Azure",
            "group_number": 14,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Metrics, logs, alerts, and Insights",
                "start_line": 407,
                "end_line": 440,
                "span_lf_sha256": "ef799bdb47ebadb30f8b24e838d51067c2de15a5009a733594dba4c1bd871b03"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Diagnostic routes and AMA/DCR differ; known fixture verifies collection.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Query and analyze logs in Azure Monitor",
            "objective_wording_sha256": "7adfad141d21ecff5f3af29bf955831dd042b179061dcc99303be47db1a5b357",
            "group": "Monitor resources in Azure",
            "group_number": 14,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Metrics, logs, alerts, and Insights",
                "start_line": 421,
                "end_line": 434,
                "span_lf_sha256": "2e7e703863a3ae52b74232a3d9ec88c92bad9f768ead9fc22021050bacf7a252"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: AzureActivity KQL is concrete and counts events rather than operations.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Set up alert rules, action groups, and alert processing rules in Azure Monitor",
            "objective_wording_sha256": "a7d551ba80a5b00e95a6789019ed64f11baba75c1fc7c0d3109503fcb076e012",
            "group": "Monitor resources in Azure",
            "group_number": 14,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Metrics, logs, alerts, and Insights",
                "start_line": 409,
                "end_line": 417,
                "span_lf_sha256": "79b44fe35d9e57e47862e8ba4c6f8bcdb43a99ba961d3054dd186bf4ac436c3f"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Scope/condition/evaluation/action/processing owner define alerts.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure and interpret monitoring of virtual machines, storage accounts, and networks by using Azure Monitor Insights",
            "objective_wording_sha256": "427be9937cbd6695f4cdc6fe44afcaab516184ad2a96d52f28ad6b5ff1e96a7c",
            "group": "Monitor resources in Azure",
            "group_number": 14,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Metrics, logs, alerts, and Insights",
                "start_line": 419,
                "end_line": 440,
                "span_lf_sha256": "c4eb8d55e1dcb4c93eb254032ba8f258b5f912e36c012124d364e5155ecf16e4"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Insights and AMA/DCR eligibility are described with collection verification.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Use Azure Network Watcher and Connection monitor",
            "objective_wording_sha256": "fc62043d8850b9b087e88677bab7301f24ef79142be1cca592dfb4c5129976d6",
            "group": "Monitor resources in Azure",
            "group_number": 14,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Metrics, logs, alerts, and Insights",
                "start_line": 434,
                "end_line": 440,
                "span_lf_sha256": "08c777458d2ff1ebc29c324d9a45fb5c7eb350fed9d70780e4504fef0cc6631f"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Watcher IP flow/next hop/Connection Monitor and flow-log lifecycle separate tools.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Create a Recovery Services vault",
            "objective_wording_sha256": "899281ece787350cf93fbd4bede98a44e7126662b5c81ca253f719e7c74955c5",
            "group": "Implement backup and recovery",
            "group_number": 15,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Backup and recovery",
                "start_line": 477,
                "end_line": 481,
                "span_lf_sha256": "9da854d52754643b861b38ddb24872a66d03795389e5abb726587678d0650758"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-vaults. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-vaults"
          },
          {
            "wording": "Create an Azure Backup vault",
            "objective_wording_sha256": "374612d94f2f1e36c60fe66424a9ad862003a791524c3c748f0be96666e09d14",
            "group": "Implement backup and recovery",
            "group_number": 15,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Backup and recovery",
                "start_line": 477,
                "end_line": 481,
                "span_lf_sha256": "9da854d52754643b861b38ddb24872a66d03795389e5abb726587678d0650758"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-vaults. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-vaults"
          },
          {
            "wording": "Create and configure a backup policy",
            "objective_wording_sha256": "ca0d65d84cf1b2bea239a1d23144bd99d17c5cfea92198fa9cf097ea10d7ce31",
            "group": "Implement backup and recovery",
            "group_number": 15,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Backup and recovery",
                "start_line": 475,
                "end_line": 505,
                "span_lf_sha256": "46f2772f4881a6b7ba763d37058dba5a08064a1090fe99c4ad2c50ba7b2ae9db"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Policy schedule/retention/immutability tradeoff and artifact lab are explicit.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Perform backup and restore operations by using Azure Backup",
            "objective_wording_sha256": "4e1a85e6fc91cb4a6feb58b4963d73284a9c8de593d8b3c43d0f8464a3bb29fb",
            "group": "Implement backup and recovery",
            "group_number": 15,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Backup and recovery",
                "start_line": 475,
                "end_line": 491,
                "span_lf_sha256": "87524b3d700e96609384f3eb6d2ed7f302c62c27d1fc2211048b322195c685bb"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Restore must validate application/identity/timing beyond backup success.",
            "initial_depth_result": "adequate-for-objective-verb",
            "applied_repair": null
          },
          {
            "wording": "Configure Azure Site Recovery for Azure resources",
            "objective_wording_sha256": "2adffee04856919f36ea54b9e173879b053687bfd044fa68af0c3414c4d61fa6",
            "group": "Implement backup and recovery",
            "group_number": 15,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Worked Site Recovery transition: drill, failover, commit, reprotect",
                "start_line": 493,
                "end_line": 499,
                "span_lf_sha256": "2570e6dad257a665cdf03028621ee30f6e05492314ffaa1b187b36f151409573"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-asr. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-asr"
          },
          {
            "wording": "Perform a failover to a secondary region by using Site Recovery",
            "objective_wording_sha256": "14134eed6d34b045731e3506dd99354197062412404004c7ff67adc22c38cf27",
            "group": "Implement backup and recovery",
            "group_number": 15,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Worked Site Recovery transition: drill, failover, commit, reprotect",
                "start_line": 493,
                "end_line": 499,
                "span_lf_sha256": "2570e6dad257a665cdf03028621ee30f6e05492314ffaa1b187b36f151409573"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-asr. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-asr"
          },
          {
            "wording": "Configure and interpret reports and alerts for backups",
            "objective_wording_sha256": "8f25cf197ca2963e0f219f19b3ec20116be9b0c1efbe8b085367ece53b926215",
            "group": "Implement backup and recovery",
            "group_number": 15,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Worked backup reporting and alerting path",
                "start_line": 442,
                "end_line": 458,
                "span_lf_sha256": "3bbddbd479b69b75f1b06bb085c8cf5efedee604347bae285ee42fbfaad7c78c"
              }
            ],
            "depth_result": "adequate-with-explicit-source/execution-boundaries",
            "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-backup-monitor. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
            "initial_depth_result": "partial-needs-worked-workflow",
            "applied_repair": "az104-backup-monitor"
          }
        ],
        "complete_guide_read": true,
        "complete_guide_line_count": 773,
        "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
      },
      {
        "exam_code": "AZ-140",
        "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
        "guide_lf_sha256": "5fb48c190decd5339ae74740c1fe70aee93e26ec9e478fbffdbaf5a84dbac5a2",
        "objective_raw_sha256": "d40f010042124a6e28c81a7f783b6127e3b7ebf7bb99d9b3ddfccdd40dcede84",
        "objective_count": 78,
        "current_mapping": [
          {
            "wording": "Assess network capacity and speed requirements for Azure Virtual Desktop",
            "objective_wording_sha256": "314ca3688d13ad4fb7bf78e6bd445d311334ca4b320c81d4162155c2eb6c83c4",
            "group": "Plan, implement, and manage networking for Azure Virtual Desktop",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Plan network capacity and paths",
                "start_line": 137,
                "end_line": 152,
                "span_lf_sha256": "8ec93a6013af5e19a150fc1d2f137bad47e1733a4ae6cafdf589b982899fd027"
              },
              {
                "heading": "Worked example 2 — Budget network demand",
                "start_line": 578,
                "end_line": 580,
                "span_lf_sha256": "6b12346404249d238b5f762b921ce6a284c112d0cd3baf67804c8f9e12dee05b"
              }
            ]
          },
          {
            "wording": "Design network configuration for session hosts to meet requirements for Azure Virtual Desktop",
            "objective_wording_sha256": "f19330ab7658103b35bcad2c808422844ea4aba2d161eb50d786731fc4cde179",
            "group": "Plan, implement, and manage networking for Azure Virtual Desktop",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Plan network capacity and paths",
                "start_line": 137,
                "end_line": 160,
                "span_lf_sha256": "ea637e4ecf60bd1f5f61e3483656f1c7507fd056200e608ec30104ad2a023b72"
              }
            ]
          },
          {
            "wording": "Plan and implement Remote Desktop Protocol (RDP) Shortpath, RDP Multipath, and quality of service (QoS) policies",
            "objective_wording_sha256": "5c4e738cdd69ca2d756e8218c33ed1f113adb186b7550e20fe37c5078fab7cd8",
            "group": "Plan, implement, and manage networking for Azure Virtual Desktop",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Reverse connect, Shortpath and Multipath",
                "start_line": 143,
                "end_line": 152,
                "span_lf_sha256": "c9ed49f33f17d6453f09069265fae0cc39814ac3a72aaa6dae59b3103027303f"
              }
            ]
          },
          {
            "wording": "Plan and implement an Azure Private Link solution for Azure Virtual Desktop",
            "objective_wording_sha256": "af4a86acf2293271b3fe4ae54503b1e6a2e8ef990cbb4ed5f3a5810bd4d361da",
            "group": "Plan, implement, and manage networking for Azure Virtual Desktop",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Plan Azure Private Link",
                "start_line": 154,
                "end_line": 160,
                "span_lf_sha256": "6da03a762d2891dc41d7d677c4a0a1f69bb307f7c644be5bcbcdf18a5bb23e96"
              }
            ]
          },
          {
            "wording": "Monitor and troubleshoot network connectivity",
            "objective_wording_sha256": "62f543d87d6543ff2a8bd1432030b4e39072af1aeea3bad430b276b919ce09d7",
            "group": "Plan, implement, and manage networking for Azure Virtual Desktop",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Separate the connection layers",
                "start_line": 75,
                "end_line": 85,
                "span_lf_sha256": "89e00bce7f121ded24927abc4c36164fb0fa7cbf5099d04bfe90fc2715f6c438"
              },
              {
                "heading": "Infrastructure failure modes",
                "start_line": 226,
                "end_line": 234,
                "span_lf_sha256": "e55b8477165013def534fdd84a44fed26d41089c6b8f47fc84ad27b54756166e"
              }
            ]
          },
          {
            "wording": "Plan storage for Azure Virtual Desktop user data",
            "objective_wording_sha256": "f90bc4e195a2ccc57f57aa57a3160ab62b7d28ff36778e84d875717f33de0d39",
            "group": "Plan and implement storage for Azure Virtual Desktop user data",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Plan profile and application storage",
                "start_line": 162,
                "end_line": 178,
                "span_lf_sha256": "ea3b9123a72cf1a5c62fe02a19896c1ada7fc59361b0168f2f56cab502329b00"
              }
            ]
          },
          {
            "wording": "Implement storage for FSLogix components",
            "objective_wording_sha256": "45958fadc3cf5e8a3efa1694c5b81d661589b54d46c95d430fe5aa48f3f904e3",
            "group": "Plan and implement storage for Azure Virtual Desktop user data",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Plan profile and application storage",
                "start_line": 162,
                "end_line": 178,
                "span_lf_sha256": "ea3b9123a72cf1a5c62fe02a19896c1ada7fc59361b0168f2f56cab502329b00"
              },
              {
                "heading": "Design FSLogix deliberately",
                "start_line": 326,
                "end_line": 343,
                "span_lf_sha256": "2411b237c1fb02c80325ebd52564f4f5cb369a406b0c09f44d0d92994c35e5ad"
              }
            ]
          },
          {
            "wording": "Implement storage accounts for Azure Virtual Desktop",
            "objective_wording_sha256": "103359e7150062aaa4f41dcaa007d4ca3e29da1a1d361c1db921f6e9b6c02594",
            "group": "Plan and implement storage for Azure Virtual Desktop user data",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Plan profile and application storage",
                "start_line": 168,
                "end_line": 178,
                "span_lf_sha256": "807b7b0d8a3b241269b91b3d17fdbf64370ab78db0d966bfa5f17d5c8b6ca90e"
              }
            ]
          },
          {
            "wording": "Implement file shares for Azure Virtual Desktop",
            "objective_wording_sha256": "12f0b75f483c3c184f661d381482dc2fd62d3f07e79a684ad63506e9aee264de",
            "group": "Plan and implement storage for Azure Virtual Desktop user data",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Plan profile and application storage",
                "start_line": 168,
                "end_line": 178,
                "span_lf_sha256": "807b7b0d8a3b241269b91b3d17fdbf64370ab78db0d966bfa5f17d5c8b6ca90e"
              },
              {
                "heading": "Lab 6 — FSLogix failure injection",
                "start_line": 638,
                "end_line": 642,
                "span_lf_sha256": "7e50529e4ce7eeeb4963dd4d92f382c2ae027a6330052f1b67094afcdae3a5a3"
              }
            ]
          },
          {
            "wording": "Implement Azure NetApp Files for Azure Virtual Desktop",
            "objective_wording_sha256": "3a3ed683222c8964205b2e89d458eccce1b01510310df943598411e855f6ed8b",
            "group": "Plan and implement storage for Azure Virtual Desktop user data",
            "group_number": 2,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Plan profile and application storage",
                "start_line": 168,
                "end_line": 172,
                "span_lf_sha256": "d2fac90de6caf031e688e4eed34e979558abf0e1d7136792196692ea0eb8668a"
              },
              {
                "heading": "Worked storage implementation: Azure Files versus NetApp Files",
                "start_line": 180,
                "end_line": 184,
                "span_lf_sha256": "c5c446696fc60132f0457d25042ea9e3d9204e6f38ee0d8caa51342238e6f215"
              }
            ]
          },
          {
            "wording": "Recommend resource groups, subscriptions, and management groups for Azure Virtual Desktop resources",
            "objective_wording_sha256": "34c0cc9c3c052e398e0a250e670ae275556794958b733cf8972a0720a9153a65",
            "group": "Plan host pools and session hosts",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Choose OS, licensing and management scope",
                "start_line": 123,
                "end_line": 131,
                "span_lf_sha256": "6e10dd7048f25d735e183f10f249dc97f29957b9c3389ffb142461b302896955"
              }
            ]
          },
          {
            "wording": "Recommend an operating system (OS) for Azure Virtual Desktop session hosts",
            "objective_wording_sha256": "3b59e196b57058f80570a03acdf57eeb6144d074dcb21badfbf867c77af4a825",
            "group": "Plan host pools and session hosts",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Choose OS, licensing and management scope",
                "start_line": 123,
                "end_line": 129,
                "span_lf_sha256": "d8f4358cb375415131360aefebd57ab022c8dcf30e652ed80c06aefd0207b842"
              }
            ]
          },
          {
            "wording": "Recommend an appropriate licensing model for Azure Virtual Desktop based on requirements",
            "objective_wording_sha256": "396f6d39cc76478dbd09781bec8245fb4c59c1d7a0857e934ae437dfa3c0c691",
            "group": "Plan host pools and session hosts",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Choose OS, licensing and management scope",
                "start_line": 125,
                "end_line": 129,
                "span_lf_sha256": "74620b858ebc4ca4436169aeba2b387d382017670aa9a5bc60648113feb69c1d"
              }
            ]
          },
          {
            "wording": "Plan a host pool architecture",
            "objective_wording_sha256": "3175984704a7a9d142dc802105040545c3dcb2187c0ed3407397bdd2355af6e5",
            "group": "Plan host pools and session hosts",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Pooled versus personal host pools",
                "start_line": 106,
                "end_line": 121,
                "span_lf_sha256": "31074f3a88050d980f2cfd52114d5280e72d7d60794827ce63e253170428819a"
              }
            ]
          },
          {
            "wording": "Design an Azure Virtual Desktop configuration for performance requirements",
            "objective_wording_sha256": "0fd69584518a305af7d5e9bd33afb7b7a5dd1856931dda32b0b61059b70a633e",
            "group": "Plan host pools and session hosts",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Assess personas, workloads and capacity",
                "start_line": 93,
                "end_line": 115,
                "span_lf_sha256": "0bd8d43201fdb1cc2141ba9f1555b7839c621abddb54662b150caac93ff9fa2d"
              },
              {
                "heading": "Worked example 1 — Preserve capacity during maintenance",
                "start_line": 574,
                "end_line": 576,
                "span_lf_sha256": "5c81b5c0cc96b5d43c978d28497dacd4a9b54721ac255925170005feb92b01ac"
              }
            ]
          },
          {
            "wording": "Design an Azure Virtual Desktop configuration for Azure Virtual Machines capacity requirements",
            "objective_wording_sha256": "8274fc79a600be7e6f0f7d75b376ecb1ab411c6f05917ce3249f179651c477b5",
            "group": "Plan host pools and session hosts",
            "group_number": 3,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Assess personas, workloads and capacity",
                "start_line": 93,
                "end_line": 115,
                "span_lf_sha256": "0bd8d43201fdb1cc2141ba9f1555b7839c621abddb54662b150caac93ff9fa2d"
              },
              {
                "heading": "Worked example 1 — Preserve capacity during maintenance",
                "start_line": 574,
                "end_line": 576,
                "span_lf_sha256": "5c81b5c0cc96b5d43c978d28497dacd4a9b54721ac255925170005feb92b01ac"
              }
            ]
          },
          {
            "wording": "Create host pools and session hosts by using the Azure portal",
            "objective_wording_sha256": "4aacaa5cf31400567fc1f000849065e39a4daa631452692aa8d9eba33169e114",
            "group": "Implement host pools and session hosts",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Implement host pools and session hosts",
                "start_line": 186,
                "end_line": 201,
                "span_lf_sha256": "311f8468b00da594146be34dfbda5b38859b838d47b6a6e1d3ca1df7a30cfde9"
              }
            ]
          },
          {
            "wording": "Automate creation of Azure Virtual Desktop hosts and host pools by using PowerShell, Azure CLI, Azure Resource Manager templates (ARM templates), and Bicep files",
            "objective_wording_sha256": "d1cbbd994ae2bd484eafc3ff54c1d419a4d295903139a7110cc827c0b6d5ddc3",
            "group": "Implement host pools and session hosts",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Implement host pools and session hosts",
                "start_line": 186,
                "end_line": 201,
                "span_lf_sha256": "311f8468b00da594146be34dfbda5b38859b838d47b6a6e1d3ca1df7a30cfde9"
              },
              {
                "heading": "Lab 2 — Automated host-pool deployment",
                "start_line": 614,
                "end_line": 618,
                "span_lf_sha256": "2323c8a6ef576baee87e07cebca895dc50f56ca9435abedd1adb40b3abf85850"
              }
            ]
          },
          {
            "wording": "Configure host pool and session host settings",
            "objective_wording_sha256": "61248b56617c9f6aea49fa9a68fc631c4733b5de15b10ba6eb44a97ed1886eec",
            "group": "Implement host pools and session hosts",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Implement host pools and session hosts",
                "start_line": 186,
                "end_line": 201,
                "span_lf_sha256": "311f8468b00da594146be34dfbda5b38859b838d47b6a6e1d3ca1df7a30cfde9"
              }
            ]
          },
          {
            "wording": "Configure licensing for session hosts, including user eligibility for Windows client access and RDS Client Access License (CAL) requirements for Windows Server",
            "objective_wording_sha256": "060f5ed498c43ddc195d062bb1e150b72d340748a486bf14c172cdcc8cb9bdcd",
            "group": "Implement host pools and session hosts",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Choose OS, licensing and management scope",
                "start_line": 125,
                "end_line": 129,
                "span_lf_sha256": "74620b858ebc4ca4436169aeba2b387d382017670aa9a5bc60648113feb69c1d"
              },
              {
                "heading": "Worked licensing check: service eligibility and guest activation",
                "start_line": 203,
                "end_line": 205,
                "span_lf_sha256": "95b04948507139f939927bc51664310b6f0bfdeaa8670e5fb3f55f35beb1db44"
              }
            ]
          },
          {
            "wording": "Create an image manually",
            "objective_wording_sha256": "b82b04274d635fb5060e2ac6ef1610ab19e2155dac2a4f6e8871aebe8cef5a1b",
            "group": "Create and manage session host images",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Create and manage images",
                "start_line": 207,
                "end_line": 224,
                "span_lf_sha256": "a0e45696ef6e4e0b0378aadb384aa0954b891a103f9c4d313546dcf36735d8b2"
              }
            ]
          },
          {
            "wording": "Create an image by using Azure VM Image Builder",
            "objective_wording_sha256": "47b674c8cfe0ac3201482c59eaf3d41af659a8ae5a5bcd52a4f49d802563d7f3",
            "group": "Create and manage session host images",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Create and manage images",
                "start_line": 207,
                "end_line": 224,
                "span_lf_sha256": "a0e45696ef6e4e0b0378aadb384aa0954b891a103f9c4d313546dcf36735d8b2"
              }
            ]
          },
          {
            "wording": "Modify an image",
            "objective_wording_sha256": "df85e3c7a0dcc6ab324a43e7e2b886d73496374c805567006073036ca8adc32c",
            "group": "Create and manage session host images",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Create and manage images",
                "start_line": 207,
                "end_line": 224,
                "span_lf_sha256": "a0e45696ef6e4e0b0378aadb384aa0954b891a103f9c4d313546dcf36735d8b2"
              }
            ]
          },
          {
            "wording": "Plan and implement lifecycle management for images",
            "objective_wording_sha256": "4210d2218a3ab4dc5cbc72606b0a7e8fd62920ffe4b84784e6bb28fa956f15d6",
            "group": "Create and manage session host images",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Create and manage images",
                "start_line": 207,
                "end_line": 224,
                "span_lf_sha256": "a0e45696ef6e4e0b0378aadb384aa0954b891a103f9c4d313546dcf36735d8b2"
              },
              {
                "heading": "Update strategy",
                "start_line": 478,
                "end_line": 492,
                "span_lf_sha256": "1f41f9f7dbb4365fbe494f473a58555e3ee88304c461cbaf4a2b44b255466b78"
              }
            ]
          },
          {
            "wording": "Apply OS and application updates to an image",
            "objective_wording_sha256": "2148a89f92c8f5a293a5913f6fc7e7ac0be1d811f6a15862fbdf3a9eb3e2317c",
            "group": "Create and manage session host images",
            "group_number": 5,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Create and manage images",
                "start_line": 207,
                "end_line": 224,
                "span_lf_sha256": "a0e45696ef6e4e0b0378aadb384aa0954b891a103f9c4d313546dcf36735d8b2"
              },
              {
                "heading": "Update strategy",
                "start_line": 478,
                "end_line": 492,
                "span_lf_sha256": "1f41f9f7dbb4365fbe494f473a58555e3ee88304c461cbaf4a2b44b255466b78"
              }
            ]
          },
          {
            "wording": "Create a session host by using a custom image",
            "objective_wording_sha256": "97589a22849d9c7f195869afd7d2ccdb37d465d4c4d296b005aca0c77ce2bffa",
            "group": "Create and manage session host images",
            "group_number": 5,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Create and manage images",
                "start_line": 207,
                "end_line": 224,
                "span_lf_sha256": "a0e45696ef6e4e0b0378aadb384aa0954b891a103f9c4d313546dcf36735d8b2"
              },
              {
                "heading": "Lab 4 — Image lifecycle",
                "start_line": 626,
                "end_line": 630,
                "span_lf_sha256": "73ee8aa7fc62122d84fa81dc4bb7f3a2b1d5e891a96b44b7b8e53e320b1ddde0"
              }
            ]
          },
          {
            "wording": "Plan and implement image storage, including Azure Compute Gallery",
            "objective_wording_sha256": "b3cb2a72caf68bc42763d68e2aa097be4f9aaefc684e0f4d6da4af537fceb3cb",
            "group": "Create and manage session host images",
            "group_number": 5,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Create and manage images",
                "start_line": 207,
                "end_line": 224,
                "span_lf_sha256": "a0e45696ef6e4e0b0378aadb384aa0954b891a103f9c4d313546dcf36735d8b2"
              }
            ]
          },
          {
            "wording": "Select an identity scenario for Azure Virtual Desktop, including Active Directory Domain Services (AD DS), Microsoft Entra ID, and Microsoft Entra Domain Services",
            "objective_wording_sha256": "0230750216281fdb43458af2907228ba083af84af7a2912cfeffa1648bb8e05b",
            "group": "Plan and implement identity integration",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Select the identity scenario",
                "start_line": 248,
                "end_line": 258,
                "span_lf_sha256": "ca46f5337f35d7469d4dbdb6319259950aaee83a9bc496f65c18bf84484bc2ea"
              }
            ]
          },
          {
            "wording": "Specify requirements to configure the Azure Virtual Desktop session host for an identity scenario",
            "objective_wording_sha256": "fbbd0f9e59b4f35f4fed2e960380eb3510755419df18be4febd9e4d468668ec9",
            "group": "Plan and implement identity integration",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Select the identity scenario",
                "start_line": 248,
                "end_line": 258,
                "span_lf_sha256": "ca46f5337f35d7469d4dbdb6319259950aaee83a9bc496f65c18bf84484bc2ea"
              },
              {
                "heading": "Security troubleshooting sequence",
                "start_line": 306,
                "end_line": 313,
                "span_lf_sha256": "2d8337ee7b93943571385899594df4d415f8920c33d29a53638ef1152ec4f427"
              }
            ]
          },
          {
            "wording": "Plan and implement Azure role-based access control (Azure RBAC) for Azure Virtual Desktop",
            "objective_wording_sha256": "a9ab78d2e1a5647728ef0d1e196ad0154faffae08483827da539c138c9ee6b90",
            "group": "Plan and implement identity integration",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Separate authorization layers",
                "start_line": 260,
                "end_line": 268,
                "span_lf_sha256": "ae53a2d624eacd3decda1e5a29e6bcac0d15e759df8710a3faf67305a6050b1b"
              }
            ]
          },
          {
            "wording": "Plan and implement Microsoft Entra Conditional Access policies for connections to Azure Virtual Desktop",
            "objective_wording_sha256": "ec18ae6b009053e29b7155af6abf0412df4d30bef618e8da1baa1564abe6c7af",
            "group": "Plan and implement identity integration",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Configure SSO and Conditional Access",
                "start_line": 270,
                "end_line": 276,
                "span_lf_sha256": "517ebb0e2b60a12699d02b68cae4e892d192d16f8e39ebee29799ba496214e47"
              },
              {
                "heading": "Security troubleshooting sequence",
                "start_line": 306,
                "end_line": 313,
                "span_lf_sha256": "2d8337ee7b93943571385899594df4d415f8920c33d29a53638ef1152ec4f427"
              }
            ]
          },
          {
            "wording": "Plan and implement authentication options in Azure Virtual Desktop, including passwordless, smart card, and multifactor authentication",
            "objective_wording_sha256": "25cc4887cbdf9310d6a6d85f577c0e06a4a49aa50cba537f043473211a90ca40",
            "group": "Plan and implement identity integration",
            "group_number": 6,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Configure SSO and Conditional Access",
                "start_line": 270,
                "end_line": 276,
                "span_lf_sha256": "517ebb0e2b60a12699d02b68cae4e892d192d16f8e39ebee29799ba496214e47"
              }
            ]
          },
          {
            "wording": "Manage roles, groups, and rights assignments on Azure Virtual Desktop session hosts",
            "objective_wording_sha256": "cbd9b1b763ef0bd683e8010114aea31477732a0fa7c9f42c8d01b320111c1225",
            "group": "Plan and implement identity integration",
            "group_number": 6,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Separate authorization layers",
                "start_line": 260,
                "end_line": 268,
                "span_lf_sha256": "ae53a2d624eacd3decda1e5a29e6bcac0d15e759df8710a3faf67305a6050b1b"
              }
            ]
          },
          {
            "wording": "Configure Microsoft Entra single sign-on",
            "objective_wording_sha256": "74220431d9eedabf2039d1d53228863728bf4d4fab71347f34d3316b3967a9dd",
            "group": "Plan and implement identity integration",
            "group_number": 6,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Configure SSO and Conditional Access",
                "start_line": 270,
                "end_line": 276,
                "span_lf_sha256": "517ebb0e2b60a12699d02b68cae4e892d192d16f8e39ebee29799ba496214e47"
              },
              {
                "heading": "Lab 5 — Identity and security policy",
                "start_line": 632,
                "end_line": 636,
                "span_lf_sha256": "538078d6dafe5dc4b077c9318600a7c02564bb1638cdb2c214b47e6f7405489d"
              }
            ]
          },
          {
            "wording": "Plan, implement, and manage security for Azure Virtual Desktop session hosts by using Microsoft Defender for Cloud",
            "objective_wording_sha256": "52bf949520efecdfda792bb132ac979e75ba553eac1e6821067a88f9d63b9da4",
            "group": "Plan and implement security",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Protect the session hosts and data paths",
                "start_line": 278,
                "end_line": 296,
                "span_lf_sha256": "932240a5e37054f76a8cb79607a96f671ff53ad36698ee75c50ee934542e0dd9"
              },
              {
                "heading": "Worked endpoint-protection acceptance plan",
                "start_line": 300,
                "end_line": 304,
                "span_lf_sha256": "32d524ce327b907f0a0ee311421f15e3def7b4e51b896c2bc46ed6880d9e0337"
              }
            ]
          },
          {
            "wording": "Configure session host protection by using Microsoft Defender Antivirus",
            "objective_wording_sha256": "95dab20b75b52aeb1871780f2b6c7225120e42ebaaaf3ac4d7a8d51c83b2bf8a",
            "group": "Plan and implement security",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Protect the session hosts and data paths",
                "start_line": 278,
                "end_line": 296,
                "span_lf_sha256": "932240a5e37054f76a8cb79607a96f671ff53ad36698ee75c50ee934542e0dd9"
              },
              {
                "heading": "Worked endpoint-protection acceptance plan",
                "start_line": 300,
                "end_line": 304,
                "span_lf_sha256": "32d524ce327b907f0a0ee311421f15e3def7b4e51b896c2bc46ed6880d9e0337"
              }
            ]
          },
          {
            "wording": "Configure session host protection by using Microsoft Defender for Endpoint, including onboarding and scanning options",
            "objective_wording_sha256": "27d1a27532ac9a6c4fbf8a36a41fffc4e98eb3d385d38c5205f1f704e804e025",
            "group": "Plan and implement security",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Protect the session hosts and data paths",
                "start_line": 278,
                "end_line": 296,
                "span_lf_sha256": "932240a5e37054f76a8cb79607a96f671ff53ad36698ee75c50ee934542e0dd9"
              },
              {
                "heading": "Worked endpoint-protection acceptance plan",
                "start_line": 300,
                "end_line": 304,
                "span_lf_sha256": "32d524ce327b907f0a0ee311421f15e3def7b4e51b896c2bc46ed6880d9e0337"
              }
            ]
          },
          {
            "wording": "Implement and manage network security for connections to Azure Virtual Desktop, including user defined routes (UDRs), network security groups (NSGs), and Azure Firewall",
            "objective_wording_sha256": "0e00b42f5348803cf228abc51b4cf701d1f1ae285f9b271ae1642751406e7231",
            "group": "Plan and implement security",
            "group_number": 7,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Protect the session hosts and data paths",
                "start_line": 278,
                "end_line": 296,
                "span_lf_sha256": "932240a5e37054f76a8cb79607a96f671ff53ad36698ee75c50ee934542e0dd9"
              },
              {
                "heading": "Scenario B: Privileged contractor RemoteApps",
                "start_line": 547,
                "end_line": 558,
                "span_lf_sha256": "fb53962e7c3efafb923bbc45588e38eb5a63141b26fa522862fd76a2eccd75a4"
              }
            ]
          },
          {
            "wording": "Configure Azure Bastion or just-in-time (JIT) VM access for administrative access to session hosts",
            "objective_wording_sha256": "8468205f0f86a3f26cfa8cc714454098aa3b62f0f787b7b513c651d58226fc6d",
            "group": "Plan and implement security",
            "group_number": 7,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Protect the session hosts and data paths",
                "start_line": 278,
                "end_line": 296,
                "span_lf_sha256": "932240a5e37054f76a8cb79607a96f671ff53ad36698ee75c50ee934542e0dd9"
              }
            ]
          },
          {
            "wording": "Plan and implement Windows threat protection features on Azure Virtual Desktop session hosts, including App Control for Business and Controlled Folder Access",
            "objective_wording_sha256": "b0a6ea014391753797d376eaa8cdea05c63482fc0537885a04418e7cf7c27321",
            "group": "Plan and implement security",
            "group_number": 7,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Protect the session hosts and data paths",
                "start_line": 278,
                "end_line": 296,
                "span_lf_sha256": "932240a5e37054f76a8cb79607a96f671ff53ad36698ee75c50ee934542e0dd9"
              },
              {
                "heading": "Worked endpoint-protection acceptance plan",
                "start_line": 300,
                "end_line": 304,
                "span_lf_sha256": "32d524ce327b907f0a0ee311421f15e3def7b4e51b896c2bc46ed6880d9e0337"
              }
            ]
          },
          {
            "wording": "Plan for and implement Azure confidential VMs and Trusted Launch security features for Azure Virtual Desktop session hosts",
            "objective_wording_sha256": "52304bce8c61b7c387b51f1aca8a34f65b04c62e799ca6e1f245892e8d25b542",
            "group": "Plan and implement security",
            "group_number": 7,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Protect the session hosts and data paths",
                "start_line": 278,
                "end_line": 296,
                "span_lf_sha256": "932240a5e37054f76a8cb79607a96f671ff53ad36698ee75c50ee934542e0dd9"
              }
            ]
          },
          {
            "wording": "Recommend FSLogix configuration",
            "objective_wording_sha256": "5c66bdf8ab3eeb0c4d19f24beb463e9cf56bb59119a906344cf9707bd96fcd2d",
            "group": "Plan and implement FSLogix",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Design FSLogix deliberately",
                "start_line": 326,
                "end_line": 349,
                "span_lf_sha256": "060a0cafafc01c6d2733d05686a13a0efb8395d0055ab1770967012c230d66cb"
              }
            ]
          },
          {
            "wording": "Configure FSLogix Profile Containers",
            "objective_wording_sha256": "32864cb51f3bf2f25e4adb12eef44f3f0c67ec85a3b88da60a70fb394141c155",
            "group": "Plan and implement FSLogix",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Design FSLogix deliberately",
                "start_line": 326,
                "end_line": 349,
                "span_lf_sha256": "060a0cafafc01c6d2733d05686a13a0efb8395d0055ab1770967012c230d66cb"
              },
              {
                "heading": "Lab 6 — FSLogix failure injection",
                "start_line": 638,
                "end_line": 642,
                "span_lf_sha256": "7e50529e4ce7eeeb4963dd4d92f382c2ae027a6330052f1b67094afcdae3a5a3"
              }
            ]
          },
          {
            "wording": "Configure FSLogix ODFC containers",
            "objective_wording_sha256": "1cadcbdaf291e8f82c798288671feb7ff270a2a1faa47193d05104d297cc3703",
            "group": "Plan and implement FSLogix",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Design FSLogix deliberately",
                "start_line": 326,
                "end_line": 339,
                "span_lf_sha256": "a610f2803609dcd4eb3517ea7a20e1975d7496c04eeb8150750ae3a6cf50aa2a"
              },
              {
                "heading": "Worked ODFC and masking configuration checks",
                "start_line": 351,
                "end_line": 355,
                "span_lf_sha256": "bab4a9fdddd5f086272397a6eec2e41fcd1cb5a3cf9d0297c6cd9742b9334d53"
              }
            ]
          },
          {
            "wording": "Configure FSLogix Cloud Cache",
            "objective_wording_sha256": "e5826eb641376ec301ba71352dd90d964baee113901c312679b525e08ee68e1b",
            "group": "Plan and implement FSLogix",
            "group_number": 8,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Design FSLogix deliberately",
                "start_line": 326,
                "end_line": 349,
                "span_lf_sha256": "060a0cafafc01c6d2733d05686a13a0efb8395d0055ab1770967012c230d66cb"
              },
              {
                "heading": "Worked example 5 — Bound Cloud Cache flush time",
                "start_line": 590,
                "end_line": 592,
                "span_lf_sha256": "bcfbc57df5d7bd1ddf06f43204c56f91e80932b05080daa28067e8ef31af966a"
              }
            ]
          },
          {
            "wording": "Implement FSLogix application masking",
            "objective_wording_sha256": "c3fe4892ff80d596a98b8ee322098ddba2f98dd0c29b8523de6cc0a699e926fe",
            "group": "Plan and implement FSLogix",
            "group_number": 8,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Design FSLogix deliberately",
                "start_line": 326,
                "end_line": 328,
                "span_lf_sha256": "a76519bb7e8638bb58ec1fbe34e5b882dac913c6e1fb5f399564f49ef46ff6e0"
              },
              {
                "heading": "Worked ODFC and masking configuration checks",
                "start_line": 351,
                "end_line": 355,
                "span_lf_sha256": "bab4a9fdddd5f086272397a6eec2e41fcd1cb5a3cf9d0297c6cd9742b9334d53"
              }
            ]
          },
          {
            "wording": "Choose an Azure Virtual Desktop client",
            "objective_wording_sha256": "f14a50cd99a8c81248f3a6d4e50cf137bf210840b46d618b799b97add0da3089",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Choose, deploy and troubleshoot clients",
                "start_line": 357,
                "end_line": 363,
                "span_lf_sha256": "a3073d47d2fe58472e0d3d4407f5528fa97802a36ba988977f1fc1b0605f0e55"
              }
            ]
          },
          {
            "wording": "Choose a deployment method for the client",
            "objective_wording_sha256": "fed08b45c3f8c3252f3ab38f9ab87309ccfc6c2fc0cb9042f2c0b186a5cb4bb3",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Choose, deploy and troubleshoot clients",
                "start_line": 357,
                "end_line": 363,
                "span_lf_sha256": "a3073d47d2fe58472e0d3d4407f5528fa97802a36ba988977f1fc1b0605f0e55"
              }
            ]
          },
          {
            "wording": "Deploy and troubleshoot Azure Virtual Desktop clients",
            "objective_wording_sha256": "d1588dd887ac1bf50df9d584103943c81278dbd0f51d49e3a77c0a4236253d8f",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Choose, deploy and troubleshoot clients",
                "start_line": 357,
                "end_line": 363,
                "span_lf_sha256": "a3073d47d2fe58472e0d3d4407f5528fa97802a36ba988977f1fc1b0605f0e55"
              }
            ]
          },
          {
            "wording": "Configure device redirection",
            "objective_wording_sha256": "46bbd1bd34fd83ad3a29abb53f765b21d08b2c160db937049f49b793ef02e178",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Configure experience and RDP properties",
                "start_line": 365,
                "end_line": 376,
                "span_lf_sha256": "aef233146bdb30de06e89384aff5027bf0c0e95fa50779602dc3cf7d438be8aa"
              },
              {
                "heading": "Worked user-experience policy test",
                "start_line": 378,
                "end_line": 382,
                "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
              }
            ]
          },
          {
            "wording": "Configure multimedia redirection",
            "objective_wording_sha256": "9b7de527b7f37f593019b22105962cd4febf9a0d8ba2a24dc5312398d5c6e2be",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Configure experience and RDP properties",
                "start_line": 365,
                "end_line": 376,
                "span_lf_sha256": "aef233146bdb30de06e89384aff5027bf0c0e95fa50779602dc3cf7d438be8aa"
              },
              {
                "heading": "Worked user-experience policy test",
                "start_line": 378,
                "end_line": 382,
                "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
              }
            ]
          },
          {
            "wording": "Configure printing and Universal Print",
            "objective_wording_sha256": "565220097330bc8dab241da5ee48df48436a378c80358505d3e9338ce0070982",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Configure experience and RDP properties",
                "start_line": 365,
                "end_line": 376,
                "span_lf_sha256": "aef233146bdb30de06e89384aff5027bf0c0e95fa50779602dc3cf7d438be8aa"
              },
              {
                "heading": "Worked user-experience policy test",
                "start_line": 378,
                "end_line": 382,
                "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
              }
            ]
          },
          {
            "wording": "Configure user settings through Microsoft Intune policies or Group Policy",
            "objective_wording_sha256": "061a9aee0a6f10981a1925c7c266ad08a8e7135c5b086e2f68179d837d39cf6d",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Configure experience and RDP properties",
                "start_line": 365,
                "end_line": 374,
                "span_lf_sha256": "fb9be77daf4c64d4ddbe36d812b888bd2c9a8b46fa0e7d832bf18fb6d31b7445"
              },
              {
                "heading": "Worked user-experience policy test",
                "start_line": 378,
                "end_line": 382,
                "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
              }
            ]
          },
          {
            "wording": "Configure Remote Desktop Protocol (RDP) properties on a host pool",
            "objective_wording_sha256": "fee6c3c92a72f055a4606171bbfbbbc80bb75f223e3f4313168e3fa761b382eb",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Configure experience and RDP properties",
                "start_line": 365,
                "end_line": 374,
                "span_lf_sha256": "fb9be77daf4c64d4ddbe36d812b888bd2c9a8b46fa0e7d832bf18fb6d31b7445"
              },
              {
                "heading": "Worked user-experience policy test",
                "start_line": 378,
                "end_line": 382,
                "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
              }
            ]
          },
          {
            "wording": "Configure session timeout properties",
            "objective_wording_sha256": "cf92178cdb0932322399f42691785044ea694692b3bd1ef3fd49fa1f70b84aa1",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Configure experience and RDP properties",
                "start_line": 365,
                "end_line": 374,
                "span_lf_sha256": "fb9be77daf4c64d4ddbe36d812b888bd2c9a8b46fa0e7d832bf18fb6d31b7445"
              },
              {
                "heading": "Worked user-experience policy test",
                "start_line": 378,
                "end_line": 382,
                "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
              }
            ]
          },
          {
            "wording": "Implement the Start VM on Connect feature",
            "objective_wording_sha256": "1916f8309c706159b82078f17191a1520d2c17d9ef5152d4a70817b364a77181",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "Pooled versus personal host pools",
                "start_line": 106,
                "end_line": 115,
                "span_lf_sha256": "a86ae274d417c7299d2900618b9ece0d64e444af230adb0dd695bd677546cf6b"
              },
              {
                "heading": "Separate authorization layers",
                "start_line": 260,
                "end_line": 268,
                "span_lf_sha256": "ae53a2d624eacd3decda1e5a29e6bcac0d15e759df8710a3faf67305a6050b1b"
              },
              {
                "heading": "Autoscale and capacity",
                "start_line": 466,
                "end_line": 476,
                "span_lf_sha256": "506477893d6d302150509b0e154802022ab04b587d8dc857c506bf24cff2af8f"
              },
              {
                "heading": "Worked personal-desktop and power-on workflow",
                "start_line": 384,
                "end_line": 388,
                "span_lf_sha256": "e53cb1b476a65d3d56bdc97cc8c1c106414998c524f04689c0fec72adf802017"
              }
            ]
          },
          {
            "wording": "Assign and unassign personal desktops to users",
            "objective_wording_sha256": "b092318727a392900877cf8378c28e6247dabeae188332290c36f1cc24a1e302",
            "group": "Plan and implement user experience and client settings",
            "group_number": 9,
            "objective_number": 11,
            "evidence_spans": [
              {
                "heading": "Pooled versus personal host pools",
                "start_line": 106,
                "end_line": 115,
                "span_lf_sha256": "a86ae274d417c7299d2900618b9ece0d64e444af230adb0dd695bd677546cf6b"
              },
              {
                "heading": "Worked personal-desktop and power-on workflow",
                "start_line": 384,
                "end_line": 388,
                "span_lf_sha256": "e53cb1b476a65d3d56bdc97cc8c1c106414998c524f04689c0fec72adf802017"
              }
            ]
          },
          {
            "wording": "Choose a method for deploying an app to Azure Virtual Desktop",
            "objective_wording_sha256": "74c743b3290ffeb1954c5111e7c2c8458417a113f7cac2ea7279efa4b0ce9474",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Deliver applications",
                "start_line": 390,
                "end_line": 397,
                "span_lf_sha256": "7d223b53a88d4ff840381eca2bd7226c358b99380dd8d0982b9caba3118fffb2"
              }
            ]
          },
          {
            "wording": "Create and configure an application group",
            "objective_wording_sha256": "dfb74fd9e43b45a888553f10f004b0387127c01e5665e86148747f63621ab5a6",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Deliver applications",
                "start_line": 390,
                "end_line": 405,
                "span_lf_sha256": "30956c80afc43d47fd3d3c7fe7bd8c0ace0af5c328ddc86ed0567c160cf91ca1"
              }
            ]
          },
          {
            "wording": "Assign users to application groups",
            "objective_wording_sha256": "d83b49c5ebf840b540f28b1dc4a4a236eef8e3d16782e025d6d3c5185526aabb",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Deliver applications",
                "start_line": 390,
                "end_line": 405,
                "span_lf_sha256": "30956c80afc43d47fd3d3c7fe7bd8c0ace0af5c328ddc86ed0567c160cf91ca1"
              }
            ]
          },
          {
            "wording": "Publish an application as a RemoteApp",
            "objective_wording_sha256": "ed1cee008f73733a27f2a74336d894543527caf9d799658dd02da39c42fc4f2c",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Deliver applications",
                "start_line": 390,
                "end_line": 405,
                "span_lf_sha256": "30956c80afc43d47fd3d3c7fe7bd8c0ace0af5c328ddc86ed0567c160cf91ca1"
              }
            ]
          },
          {
            "wording": "Implement and manage Microsoft 365 Apps on Azure Virtual Desktop session hosts",
            "objective_wording_sha256": "53c005a621c653b349d0467b219efc2ea80d5e25d7d47cc99dcce3394a012b3b",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Microsoft 365 Apps, OneDrive, Teams and browsers",
                "start_line": 407,
                "end_line": 415,
                "span_lf_sha256": "43705e9403de78f514d99919e164d69cf51f2d607b3b5cae1dff8b59853e33fb"
              }
            ]
          },
          {
            "wording": "Implement and manage OneDrive, including multisession environments",
            "objective_wording_sha256": "a581778dd8f4b43c3afc236d4c3f425f9cfa8d326fe237df2a7d41601d9c2af4",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Microsoft 365 Apps, OneDrive, Teams and browsers",
                "start_line": 407,
                "end_line": 415,
                "span_lf_sha256": "43705e9403de78f514d99919e164d69cf51f2d607b3b5cae1dff8b59853e33fb"
              }
            ]
          },
          {
            "wording": "Implement and manage Microsoft Teams, including the Remote Desktop WebRTC Redirector Service",
            "objective_wording_sha256": "c2c8e73e417c14ce0b38fc62ec995a83c5265b908cfe09f1c839f9b1dad63492",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Microsoft 365 Apps, OneDrive, Teams and browsers",
                "start_line": 407,
                "end_line": 423,
                "span_lf_sha256": "9378dc9489e11809c833f924076fe90e0d93ca5879cf41f27c047af9afa4bb04"
              }
            ]
          },
          {
            "wording": "Implement and manage browsers for Azure Virtual Desktop sessions",
            "objective_wording_sha256": "870e6c4231f655c7400066903639cb9271466d57cc6a64319b93215e081e86c5",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Microsoft 365 Apps, OneDrive, Teams and browsers",
                "start_line": 407,
                "end_line": 415,
                "span_lf_sha256": "43705e9403de78f514d99919e164d69cf51f2d607b3b5cae1dff8b59853e33fb"
              }
            ]
          },
          {
            "wording": "Configure dynamic application delivery by using App attach",
            "objective_wording_sha256": "17d9dde899d11fd027947a99b27ddd2e0c97895c98b51bff37c8a1093682b892",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Deliver applications",
                "start_line": 390,
                "end_line": 405,
                "span_lf_sha256": "30956c80afc43d47fd3d3c7fe7bd8c0ace0af5c328ddc86ed0567c160cf91ca1"
              },
              {
                "heading": "Lab 7 — RemoteApp and App Attach",
                "start_line": 644,
                "end_line": 648,
                "span_lf_sha256": "f621ae306f5218325765d7948262abf4e97c2916b7d60593da5449b80630b857"
              }
            ]
          },
          {
            "wording": "Create an application package for App attach",
            "objective_wording_sha256": "13c5387d3da834491757da8e68957040c73750dbbc9251f4fd9f0838913ce8a5",
            "group": "Install and configure apps on a session host",
            "group_number": 10,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "Deliver applications",
                "start_line": 390,
                "end_line": 405,
                "span_lf_sha256": "30956c80afc43d47fd3d3c7fe7bd8c0ace0af5c328ddc86ed0567c160cf91ca1"
              },
              {
                "heading": "Lab 7 — RemoteApp and App Attach",
                "start_line": 644,
                "end_line": 648,
                "span_lf_sha256": "f621ae306f5218325765d7948262abf4e97c2916b7d60593da5449b80630b857"
              }
            ]
          },
          {
            "wording": "Configure log collection and analysis for Azure Virtual Desktop session hosts",
            "objective_wording_sha256": "3b9e81bb280a8e8349060d3eb84122895b07c95cb556b0d3c26b18afc4d826e1",
            "group": "Monitor and manage Azure Virtual Desktop services",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Build end-to-end observability",
                "start_line": 446,
                "end_line": 460,
                "span_lf_sha256": "b10974c07c37858a0927c34df70d21b5a6e086fad672a7899a03a071b8c00cb4"
              }
            ]
          },
          {
            "wording": "Monitor Azure Virtual Desktop by using Azure Monitor",
            "objective_wording_sha256": "fe74e5ac6bec5acd0c4a69c54a7569301ed61cc20c6cea21161586dbb772ecaa",
            "group": "Monitor and manage Azure Virtual Desktop services",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Build end-to-end observability",
                "start_line": 446,
                "end_line": 460,
                "span_lf_sha256": "b10974c07c37858a0927c34df70d21b5a6e086fad672a7899a03a071b8c00cb4"
              }
            ]
          },
          {
            "wording": "Customize Azure Monitor workbooks for Azure Virtual Desktop Insights",
            "objective_wording_sha256": "49563e35c74db982faaf35fd6ea4b2c887285a601bb13848a299055a68af8623",
            "group": "Monitor and manage Azure Virtual Desktop services",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Build end-to-end observability",
                "start_line": 446,
                "end_line": 460,
                "span_lf_sha256": "b10974c07c37858a0927c34df70d21b5a6e086fad672a7899a03a071b8c00cb4"
              }
            ]
          },
          {
            "wording": "Optimize session host capacity and performance",
            "objective_wording_sha256": "00a335c69190e69486367c35c38345596d7cb1057f5157ee0c40b7e98e9d8b1c",
            "group": "Monitor and manage Azure Virtual Desktop services",
            "group_number": 11,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Assess personas, workloads and capacity",
                "start_line": 93,
                "end_line": 115,
                "span_lf_sha256": "0bd8d43201fdb1cc2141ba9f1555b7839c621abddb54662b150caac93ff9fa2d"
              },
              {
                "heading": "Build end-to-end observability",
                "start_line": 452,
                "end_line": 460,
                "span_lf_sha256": "836b35e6c2d4f456f9b8c58f498567147dd3c2c757c9c3275ce17293d639fc0c"
              }
            ]
          },
          {
            "wording": "Implement autoscaling in host pools",
            "objective_wording_sha256": "0ee3f2ce1b676bdcd9402cd1d3928154d29044e7f71fd122cf98243bdde638a0",
            "group": "Monitor and manage Azure Virtual Desktop services",
            "group_number": 11,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Autoscale and capacity",
                "start_line": 466,
                "end_line": 476,
                "span_lf_sha256": "506477893d6d302150509b0e154802022ab04b587d8dc857c506bf24cff2af8f"
              }
            ]
          },
          {
            "wording": "Monitor and manage active sessions and application groups",
            "objective_wording_sha256": "218bbcbd7977ed75acac5134fb86ef56a947b50226464bec0fbd63769685c762",
            "group": "Monitor and manage Azure Virtual Desktop services",
            "group_number": 11,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Build end-to-end observability",
                "start_line": 446,
                "end_line": 460,
                "span_lf_sha256": "b10974c07c37858a0927c34df70d21b5a6e086fad672a7899a03a071b8c00cb4"
              },
              {
                "heading": "Autoscale and capacity",
                "start_line": 466,
                "end_line": 476,
                "span_lf_sha256": "506477893d6d302150509b0e154802022ab04b587d8dc857c506bf24cff2af8f"
              },
              {
                "heading": "Worked active-session maintenance decision",
                "start_line": 462,
                "end_line": 464,
                "span_lf_sha256": "e25f5b93986fd8c3db7d136432ae577882b0a478a09e14918758f5f40b1e83ef"
              }
            ]
          },
          {
            "wording": "Recommend an update strategy for session hosts",
            "objective_wording_sha256": "80a17b361fd322dac343fd4b58579063d54c3da10b51cce3cfe861234a1f7b4d",
            "group": "Plan and implement updates, backups, and disaster recovery",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Update strategy",
                "start_line": 478,
                "end_line": 492,
                "span_lf_sha256": "1f41f9f7dbb4365fbe494f473a58555e3ee88304c461cbaf4a2b44b255466b78"
              }
            ]
          },
          {
            "wording": "Plan and implement a disaster recovery plan for Azure Virtual Desktop",
            "objective_wording_sha256": "f48e8d266523371697e436623901a3284217a3e70ceb7f938f5ee42d70484f6a",
            "group": "Plan and implement updates, backups, and disaster recovery",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Backup and disaster recovery",
                "start_line": 494,
                "end_line": 520,
                "span_lf_sha256": "9ba3534bfb536fb76a0880ab2e53a90fa387fa1d6f858a23280eadfb33fc3e54"
              }
            ]
          },
          {
            "wording": "Plan for multi-region implementation",
            "objective_wording_sha256": "d6800fe0a2bf3d23c7529ce641db77a758adb387b4a6087b65492edcc2839e90",
            "group": "Plan and implement updates, backups, and disaster recovery",
            "group_number": 12,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Backup and disaster recovery",
                "start_line": 494,
                "end_line": 520,
                "span_lf_sha256": "9ba3534bfb536fb76a0880ab2e53a90fa387fa1d6f858a23280eadfb33fc3e54"
              }
            ]
          },
          {
            "wording": "Design and implement a backup strategy for Azure Virtual Desktop",
            "objective_wording_sha256": "157a28309fd984893043dc9d8db1371c52f90faf893cc356904703323a2836cc",
            "group": "Plan and implement updates, backups, and disaster recovery",
            "group_number": 12,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Backup and disaster recovery",
                "start_line": 494,
                "end_line": 520,
                "span_lf_sha256": "9ba3534bfb536fb76a0880ab2e53a90fa387fa1d6f858a23280eadfb33fc3e54"
              }
            ]
          },
          {
            "wording": "Configure backup and restore for FSLogix user profiles, personal desktops, and images",
            "objective_wording_sha256": "3cf5fe255b52a231d62fa22150deb196a9ea84af6152213b50d5255c49ab26f6",
            "group": "Plan and implement updates, backups, and disaster recovery",
            "group_number": 12,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Backup and disaster recovery",
                "start_line": 494,
                "end_line": 520,
                "span_lf_sha256": "9ba3534bfb536fb76a0880ab2e53a90fa387fa1d6f858a23280eadfb33fc3e54"
              }
            ]
          }
        ]
      },
      {
        "exam_code": "AZ-305",
        "guide_path": "guides/AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
        "guide_lf_sha256": "8738024e1a6e730cfbb4417fbb489f37b86ec400ccaf6f573f12301ee4088f59",
        "objective_raw_sha256": "7e5e8671b6ba67938e71f71261f92e0d9798f27ec94f79c75e3ea6310f917df2",
        "objective_count": 49,
        "current_mapping": [
          {
            "wording": "Recommend a logging solution",
            "objective_wording_sha256": "0424e884b37603839f77abf4c477447be82b873477a1f6f776f79f2a245df6fa",
            "group": "Design solutions for logging and monitoring",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Logging and monitoring",
                "start_line": 95,
                "end_line": 129,
                "span_lf_sha256": "26a2e0ec07fa96e67cb162a28ef579793b4f8c27f905bad95989069e1404aa12"
              }
            ]
          },
          {
            "wording": "Recommend a solution for routing logs",
            "objective_wording_sha256": "4dafe82b338d7ab296dedad603edc64ee4782bb34634ab7cf5ce22c831c04e14",
            "group": "Design solutions for logging and monitoring",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Build a signal-routing design",
                "start_line": 99,
                "end_line": 129,
                "span_lf_sha256": "9e48389384bca666909b0a6c7519d4246987c8c36d820c9f752cc8f14f7e0acc"
              }
            ]
          },
          {
            "wording": "Recommend a monitoring solution",
            "objective_wording_sha256": "8c23da24757de041f424ee5fd3dedd163372d1cd4caf210cbd1b22f9502ba87c",
            "group": "Design solutions for logging and monitoring",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Logging and monitoring",
                "start_line": 95,
                "end_line": 129,
                "span_lf_sha256": "26a2e0ec07fa96e67cb162a28ef579793b4f8c27f905bad95989069e1404aa12"
              }
            ]
          },
          {
            "wording": "Recommend an authentication solution",
            "objective_wording_sha256": "88137a6d06849a9a8caff6924d65bb8f3f37618be4957d9f115c26d9c657a2c3",
            "group": "Design authentication and authorization solutions",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Authentication and authorization",
                "start_line": 131,
                "end_line": 143,
                "span_lf_sha256": "ba73d1ba4a2252c81562fdc3d59ce62028f5511bfa371510b49eb7d7889a0684"
              }
            ]
          },
          {
            "wording": "Recommend an identity management solution",
            "objective_wording_sha256": "23e01dcc4208c8322109da39893ec42a24d1f07f3b911503691dffb16c08d61f",
            "group": "Design authentication and authorization solutions",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Authentication and authorization",
                "start_line": 131,
                "end_line": 143,
                "span_lf_sha256": "ba73d1ba4a2252c81562fdc3d59ce62028f5511bfa371510b49eb7d7889a0684"
              },
              {
                "heading": "Governance and identity governance",
                "start_line": 171,
                "end_line": 186,
                "span_lf_sha256": "34ca4548fa5a1d8bd32aaf5af63ce4f12e7b755607d3641f1f23480b1bdb9f27"
              }
            ]
          },
          {
            "wording": "Recommend a solution for authorizing access to Azure resources",
            "objective_wording_sha256": "d7f213fb35129757be5a9e9540209129dfecc10dd8c4d540641fd9e454cc08c5",
            "group": "Design authentication and authorization solutions",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Authentication and authorization",
                "start_line": 131,
                "end_line": 143,
                "span_lf_sha256": "ba73d1ba4a2252c81562fdc3d59ce62028f5511bfa371510b49eb7d7889a0684"
              }
            ]
          },
          {
            "wording": "Recommend a solution for authorizing access to on-premises resources",
            "objective_wording_sha256": "788fdb30dae024fb6233628e3a28347e3cc238f0bd037f1c230d117936a09c9c",
            "group": "Design authentication and authorization solutions",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Authentication and authorization",
                "start_line": 143,
                "end_line": 143,
                "span_lf_sha256": "26f3ece0939542990a13c8dea7302c77a3ac063ce093e61809d0b63114763f59"
              },
              {
                "heading": "Worked on-premises authorization decision",
                "start_line": 145,
                "end_line": 147,
                "span_lf_sha256": "2813fc8546edf1ab0c3a142b68dc83deec7c04a10526496b6994cbc8875dda45"
              }
            ]
          },
          {
            "wording": "Recommend a solution to manage secrets, certificates, and keys",
            "objective_wording_sha256": "15ec406c2eb9bd6d4ee1a87e976ec6375f83b01efac187003c3a74cd3caba78a",
            "group": "Design authentication and authorization solutions",
            "group_number": 2,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Secrets, certificates, and keys",
                "start_line": 149,
                "end_line": 169,
                "span_lf_sha256": "b1dc21ffc34cf765cf3eadac6647bcb85b66f15f1c208a23efe461a9440a2cf4"
              }
            ]
          },
          {
            "wording": "Recommend a structure for management groups, subscriptions, and resource groups, and a strategy for resource tagging",
            "objective_wording_sha256": "738d92f45ebd4fd78da5aedb5705951904f2944dc8c66aa1b7361a89df0f8097",
            "group": "Design governance",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Governance and identity governance",
                "start_line": 171,
                "end_line": 184,
                "span_lf_sha256": "81b4c7a5bfd6a12bd3ac42d8d240cf899f89e2b6dc7f249b5e050c00134ea15a"
              }
            ]
          },
          {
            "wording": "Recommend a solution for managing compliance",
            "objective_wording_sha256": "72ebf94a8be6c5d569c2a6f16befbfb56edd70dbb83a399979c78d95f7c82ac9",
            "group": "Design governance",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Governance and identity governance",
                "start_line": 171,
                "end_line": 184,
                "span_lf_sha256": "81b4c7a5bfd6a12bd3ac42d8d240cf899f89e2b6dc7f249b5e050c00134ea15a"
              }
            ]
          },
          {
            "wording": "Recommend a solution for identity governance",
            "objective_wording_sha256": "141b009c2bf5f73083cc56d6e75c7a9b09bb9fa27338e57118eff9c7119466f6",
            "group": "Design governance",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Secrets, certificates, and keys",
                "start_line": 163,
                "end_line": 163,
                "span_lf_sha256": "bac81b1ff8a26ed2f873d9568cc019a84130f5b6a93263680c8570b36c6e4619"
              },
              {
                "heading": "Governance and identity governance",
                "start_line": 184,
                "end_line": 196,
                "span_lf_sha256": "2f51774baa0de2e7faf9d9ab9db9d03a9c1663fe8e9012a2f583c0fe4fa7d4a0"
              }
            ]
          },
          {
            "wording": "Recommend a solution for storing relational data",
            "objective_wording_sha256": "0b49db1957fb71bcb60e1cc1a6cc3ee4ebff298ef2c8178affd55fb410715ba2",
            "group": "Design data storage solutions for relational data",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Relational data",
                "start_line": 215,
                "end_line": 224,
                "span_lf_sha256": "5d0c2509a80c02b43f803009d04ec8fd6cbc9ef4b547b9cebd0f2acb831a977f"
              }
            ]
          },
          {
            "wording": "Recommend a database service tier and compute tier",
            "objective_wording_sha256": "d10b45454c988e76cd2b3d120c2b3d76fd0dce196fb4902877e9f0905f18dca0",
            "group": "Design data storage solutions for relational data",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Relational data",
                "start_line": 215,
                "end_line": 228,
                "span_lf_sha256": "6a30f475f3bbed98150482ff93f663a940cc8f77cd7dea971ef44b75e4b2bc19"
              }
            ]
          },
          {
            "wording": "Recommend a solution for database scalability",
            "objective_wording_sha256": "f30b8472d1b6317505012a0f9a5c90a125ae275a06b3a827a6040a070dd83f97",
            "group": "Design data storage solutions for relational data",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Relational data",
                "start_line": 215,
                "end_line": 228,
                "span_lf_sha256": "6a30f475f3bbed98150482ff93f663a940cc8f77cd7dea971ef44b75e4b2bc19"
              }
            ]
          },
          {
            "wording": "Recommend a solution for data protection",
            "objective_wording_sha256": "54aed64f9ae7bd4d56f9d68d0c9fd7fdb03a0d14b5acb31dc6745c47301ed119",
            "group": "Design data storage solutions for relational data",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Relational data",
                "start_line": 224,
                "end_line": 228,
                "span_lf_sha256": "ddc4f6fdd19a130fcda51c8cd7de3e9caa5e93d33da7e0cf36adf547ee4511d0"
              },
              {
                "heading": "Backup and disaster recovery",
                "start_line": 296,
                "end_line": 313,
                "span_lf_sha256": "d8e405d405a166a1e67ce70e333156a4adb89ab502bdd30aa6bd81d9e3a804c3"
              }
            ]
          },
          {
            "wording": "Recommend a solution for storing semi-structured data",
            "objective_wording_sha256": "ece7031cc1ee52dfc56e1d75b616fba43127a95e7cc9230fc718bacbf5f9a60e",
            "group": "Design data storage solutions for semi-structured and unstructured data",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Semi-structured and unstructured data",
                "start_line": 230,
                "end_line": 246,
                "span_lf_sha256": "63453cc492622f5342c19ae0387ac6775812e51bf597b24b3874dd06eaad3319"
              }
            ]
          },
          {
            "wording": "Recommend a solution for storing unstructured data",
            "objective_wording_sha256": "c500a0325daa007f93036931adf968e24f61388d0cd17c85fea9f2f2032c4a88",
            "group": "Design data storage solutions for semi-structured and unstructured data",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Semi-structured and unstructured data",
                "start_line": 230,
                "end_line": 244,
                "span_lf_sha256": "e199682e0fb1bf8d4f269fc03b723661b87217c5b9db753294b7635887101072"
              }
            ]
          },
          {
            "wording": "Recommend a data storage solution to balance features, performance, and costs",
            "objective_wording_sha256": "fa23b01ada7a2a0fe47add3a43eda294fdcc60b3898f324f8bbadcea1057c92a",
            "group": "Design data storage solutions for semi-structured and unstructured data",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Start with access patterns, not product names",
                "start_line": 202,
                "end_line": 246,
                "span_lf_sha256": "102d4027a7b200da87334e85ddbef4524930bdac09b3f2ec7d37231c6dee4d97"
              }
            ]
          },
          {
            "wording": "Recommend a data solution for protection and durability",
            "objective_wording_sha256": "3ab5859e3feb2ec6146abf8b97c7d12db3b401c83702b73abaf2584bd888519b",
            "group": "Design data storage solutions for semi-structured and unstructured data",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Semi-structured and unstructured data",
                "start_line": 240,
                "end_line": 246,
                "span_lf_sha256": "55869120b7c0fa8131772b5caeff622d75d92465ec583a0354370dda3f88c3cb"
              }
            ]
          },
          {
            "wording": "Recommend a solution for data integration",
            "objective_wording_sha256": "27f7b08fdcc8b3d177febe8d0523e2ace5c04b6de2614bdca5329028d8dc95fd",
            "group": "Design data integration",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Data integration and analysis",
                "start_line": 248,
                "end_line": 260,
                "span_lf_sha256": "86f4875d1356fc0f1910e9c4bde751859e5f397ef7ae9b8291a0778cdac4698b"
              }
            ]
          },
          {
            "wording": "Recommend a solution for data analysis",
            "objective_wording_sha256": "323ae54c0876e090978e7a0499c906638252b7628b383c7a3b31db0836f26d1c",
            "group": "Design data integration",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Data integration and analysis",
                "start_line": 262,
                "end_line": 262,
                "span_lf_sha256": "ef1065905538e10bb0bd590bff44f0ec8b6250a8708f7fa8f8f72e5d9c8b8965"
              },
              {
                "heading": "Worked analysis-platform recommendation",
                "start_line": 264,
                "end_line": 268,
                "span_lf_sha256": "db9b098089b49b704fde39826b37e2cf52c8d7f214afd5fa9765bb7f6a8591af"
              }
            ]
          },
          {
            "wording": "Recommend a recovery solution for Azure and hybrid workloads that meets recovery objectives",
            "objective_wording_sha256": "409f10be854e553547754fbe1170f5b17901b68038edefa834337f943d72ff5b",
            "group": "Design solutions for backup and disaster recovery",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Convert business impact into engineering targets",
                "start_line": 284,
                "end_line": 313,
                "span_lf_sha256": "f5f370f7669f3fdffba180416a036a6040624f86446ac763c6605fafaecafdd5"
              },
              {
                "heading": "Example 6 — recovery uses the critical path",
                "start_line": 557,
                "end_line": 559,
                "span_lf_sha256": "1bfe145da2e0e8a0b648858c58e38af29586d520beec96ded6d1b4aa2b31f336"
              }
            ]
          },
          {
            "wording": "Recommend a backup and recovery solution for compute",
            "objective_wording_sha256": "2ab67ffa0f13e0425ca2661cdbb689e34261240d75bfd08904e4d14ff55f13fb",
            "group": "Design solutions for backup and disaster recovery",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Backup and disaster recovery",
                "start_line": 296,
                "end_line": 313,
                "span_lf_sha256": "d8e405d405a166a1e67ce70e333156a4adb89ab502bdd30aa6bd81d9e3a804c3"
              }
            ]
          },
          {
            "wording": "Recommend a backup and recovery solution for databases",
            "objective_wording_sha256": "8e6ba072946af6fddfb6d1653e825821091e4cc698e75ed28cba23c5c1d57f5d",
            "group": "Design solutions for backup and disaster recovery",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Relational data",
                "start_line": 224,
                "end_line": 228,
                "span_lf_sha256": "ddc4f6fdd19a130fcda51c8cd7de3e9caa5e93d33da7e0cf36adf547ee4511d0"
              },
              {
                "heading": "Backup and disaster recovery",
                "start_line": 296,
                "end_line": 313,
                "span_lf_sha256": "d8e405d405a166a1e67ce70e333156a4adb89ab502bdd30aa6bd81d9e3a804c3"
              }
            ]
          },
          {
            "wording": "Recommend a backup and recovery solution for unstructured data",
            "objective_wording_sha256": "b789849d60d50d16cffb13b4adc64511e71e94a29a9adcb66b120bcad470f323",
            "group": "Design solutions for backup and disaster recovery",
            "group_number": 7,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Semi-structured and unstructured data",
                "start_line": 242,
                "end_line": 242,
                "span_lf_sha256": "67cd2801a843a3592034895a69b362e9b798ddc130ba7677471e44839122f164"
              },
              {
                "heading": "Backup and disaster recovery",
                "start_line": 296,
                "end_line": 313,
                "span_lf_sha256": "d8e405d405a166a1e67ce70e333156a4adb89ab502bdd30aa6bd81d9e3a804c3"
              }
            ]
          },
          {
            "wording": "Recommend a high availability solution for compute",
            "objective_wording_sha256": "e3b99c54ee191f106c1aa9d5b4a689a7b824fcf65f3b29edbcc716e3e1877971",
            "group": "Design for high availability",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "High availability by workload type",
                "start_line": 315,
                "end_line": 323,
                "span_lf_sha256": "bf2db139b7d3c54f42a9713525a5b971f9760fb35fe1a881138045ec373a215f"
              }
            ]
          },
          {
            "wording": "Recommend a high availability solution for relational data",
            "objective_wording_sha256": "99b2942147dda40f0b386acfc97177a3e185b5b1d36d37785b2baf38f6ef2f71",
            "group": "Design for high availability",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Relational data",
                "start_line": 325,
                "end_line": 327,
                "span_lf_sha256": "0f56be4e39c6ec0d609688ce84985be256afeab482f7e2d2191c7d37ea8f8f9d"
              },
              {
                "heading": "Relational data",
                "start_line": 224,
                "end_line": 228,
                "span_lf_sha256": "ddc4f6fdd19a130fcda51c8cd7de3e9caa5e93d33da7e0cf36adf547ee4511d0"
              }
            ]
          },
          {
            "wording": "Recommend a high availability solution for semi-structured and unstructured data",
            "objective_wording_sha256": "2d83e1dd422dc833ef819dfb6a9bf6776f22ea1f37e9dff101a24324b39947ec",
            "group": "Design for high availability",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Semi-structured and unstructured data",
                "start_line": 329,
                "end_line": 337,
                "span_lf_sha256": "9a3bb33246f6bd87303766a506787c36d8c055b358c642da14934b79a90d1579"
              }
            ]
          },
          {
            "wording": "Specify components of a compute solution based on workload requirements",
            "objective_wording_sha256": "eaf3e3284a94cb1a65c0f35de2f2607caf0da1563630fb7e3faa57b54e03afb7",
            "group": "Design compute solutions",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Compute selection",
                "start_line": 359,
                "end_line": 374,
                "span_lf_sha256": "da9afea9fea66a966d3c30c20b038835b9a4f8546a0d3703a5c414f010cd85dd"
              }
            ]
          },
          {
            "wording": "Recommend a virtual machine-based solution",
            "objective_wording_sha256": "b1c537a4091de43b23e2b348d1c6cd45a01403a01be2ec76744f511d5cbfe665",
            "group": "Design compute solutions",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Compute selection",
                "start_line": 359,
                "end_line": 372,
                "span_lf_sha256": "fe87a98ee48686d6338caec41d0a7d0ccb4a3a7ebc49d786ce8b907a9bdea793"
              }
            ]
          },
          {
            "wording": "Recommend a container-based solution",
            "objective_wording_sha256": "cab8736360567561bb4e95d6b676237a7f3358cf377d06fa0e2116f958c44dfb",
            "group": "Design compute solutions",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Compute selection",
                "start_line": 359,
                "end_line": 372,
                "span_lf_sha256": "fe87a98ee48686d6338caec41d0a7d0ccb4a3a7ebc49d786ce8b907a9bdea793"
              }
            ]
          },
          {
            "wording": "Recommend a serverless-based solution",
            "objective_wording_sha256": "66a6aaf537793a70175a06c3d72fa156b4cd89506ea643dc40a40f2e446bb962",
            "group": "Design compute solutions",
            "group_number": 9,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Compute selection",
                "start_line": 359,
                "end_line": 374,
                "span_lf_sha256": "da9afea9fea66a966d3c30c20b038835b9a4f8546a0d3703a5c414f010cd85dd"
              }
            ]
          },
          {
            "wording": "Recommend a compute solution for batch processing",
            "objective_wording_sha256": "c707d1800b59927fd4736dba6ce180735818a62ccda509409cdf15fb9154c75c",
            "group": "Design compute solutions",
            "group_number": 9,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Compute selection",
                "start_line": 359,
                "end_line": 372,
                "span_lf_sha256": "fe87a98ee48686d6338caec41d0a7d0ccb4a3a7ebc49d786ce8b907a9bdea793"
              }
            ]
          },
          {
            "wording": "Recommend a messaging architecture",
            "objective_wording_sha256": "d02a504240d00f84a1f9cdcf42a86ca6a85b8391aa1182267e671f03d0029464",
            "group": "Design an application architecture",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Messaging and event-driven designs",
                "start_line": 378,
                "end_line": 402,
                "span_lf_sha256": "4a4f030d9c64d5e609cfb43b8960f42468f5ad635a8e94734c82f6f46b4c8fc2"
              }
            ]
          },
          {
            "wording": "Recommend an event-driven architecture",
            "objective_wording_sha256": "2e23464151f67fe42c7ad683617bce1703f08eb808db7479380bc38e3a5c67d2",
            "group": "Design an application architecture",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Data integration and analysis",
                "start_line": 248,
                "end_line": 260,
                "span_lf_sha256": "86f4875d1356fc0f1910e9c4bde751859e5f397ef7ae9b8291a0778cdac4698b"
              },
              {
                "heading": "Messaging and event-driven designs",
                "start_line": 378,
                "end_line": 402,
                "span_lf_sha256": "4a4f030d9c64d5e609cfb43b8960f42468f5ad635a8e94734c82f6f46b4c8fc2"
              }
            ]
          },
          {
            "wording": "Recommend a solution for API integration",
            "objective_wording_sha256": "9ffc094b8d60204f77e04c59c16a85c536b17b9761cd5865f0fbec93931f27d5",
            "group": "Design an application architecture",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "API integration",
                "start_line": 404,
                "end_line": 410,
                "span_lf_sha256": "6a6b7b69dd28266446cee960bcfa8e9b9f5053e1e91170189a87af43470f7395"
              }
            ]
          },
          {
            "wording": "Recommend a caching solution for applications",
            "objective_wording_sha256": "d615bc129b64ae1e59026d7e2f74ae2bddce5871fb1328361dc08a0cc3e1430b",
            "group": "Design an application architecture",
            "group_number": 10,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Caching and configuration",
                "start_line": 412,
                "end_line": 420,
                "span_lf_sha256": "9d2b5a2cbb027ddd3d24c631054e26288c056f9c1a1914ad993920f56efa2935"
              }
            ]
          },
          {
            "wording": "Recommend an application configuration management solution",
            "objective_wording_sha256": "219fd5b8e904dd08c64900daddbe2956d65002ac67bd67852761b988c80cafc9",
            "group": "Design an application architecture",
            "group_number": 10,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Caching and configuration",
                "start_line": 412,
                "end_line": 418,
                "span_lf_sha256": "0b54943cd92cf64d8f220d2486fa3041b88fb74b1ff77fad18ca86d5c740d9ed"
              }
            ]
          },
          {
            "wording": "Recommend an automated deployment solution for applications",
            "objective_wording_sha256": "1cd047e450420dad2a1f25dcdeecf8c9be4e02f14594385da1a997089b3a4701",
            "group": "Design an application architecture",
            "group_number": 10,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Automated deployment",
                "start_line": 422,
                "end_line": 426,
                "span_lf_sha256": "9d1d28c2622b22aaf88414e866c3f783d7ef5252ce590cafd37c3e41d685e4e3"
              }
            ]
          },
          {
            "wording": "Evaluate a migration solution that leverages the Microsoft Cloud Adoption Framework for Azure",
            "objective_wording_sha256": "40235fcb6239514671c5c535c9e2a7de30aadf24c1cb58b91114c5a48c3c0dc2",
            "group": "Design migrations",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Migration design",
                "start_line": 428,
                "end_line": 441,
                "span_lf_sha256": "630fe612684885de14f79c28e90651ecce8db5480ba5a89883ec54fa89398028"
              }
            ]
          },
          {
            "wording": "Evaluate on-premises servers, data, and applications for migration",
            "objective_wording_sha256": "742094ac0a765682c0db9982b1f63644469861ad8ae0f0a67d819988228d200e",
            "group": "Design migrations",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Migration design",
                "start_line": 428,
                "end_line": 443,
                "span_lf_sha256": "11eafcca560b26221d29c8aba2a79b428ae72eb69e3ce9ded3df9e2303beaa4f"
              }
            ]
          },
          {
            "wording": "Recommend a solution for migrating workloads to infrastructure as a service (IaaS) and platform as a service (PaaS)",
            "objective_wording_sha256": "f8f4fcd5890b602409a2b38497723f81445fc5ff2913e2c9d87a09e17d64d129",
            "group": "Design migrations",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Migration design",
                "start_line": 428,
                "end_line": 443,
                "span_lf_sha256": "11eafcca560b26221d29c8aba2a79b428ae72eb69e3ce9ded3df9e2303beaa4f"
              },
              {
                "heading": "Scenario B — migrate a stateful line-of-business application",
                "start_line": 518,
                "end_line": 529,
                "span_lf_sha256": "b8de874d2b0a0b8db3af4b11a5a0c204da9fa24c0f484b6b7477858ee26eacd8"
              }
            ]
          },
          {
            "wording": "Recommend a solution for migrating databases",
            "objective_wording_sha256": "754b4e8d6af7fca851180bf6b6cd4b71d2e4b34bbbea6c286dbb800ecfe9acf0",
            "group": "Design migrations",
            "group_number": 11,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Migration design",
                "start_line": 443,
                "end_line": 443,
                "span_lf_sha256": "e1d76c4e9be9a46fcc71972856f24edf7866eb44babdca05e39f9dd7d92777ee"
              },
              {
                "heading": "Scenario B — migrate a stateful line-of-business application",
                "start_line": 518,
                "end_line": 529,
                "span_lf_sha256": "b8de874d2b0a0b8db3af4b11a5a0c204da9fa24c0f484b6b7477858ee26eacd8"
              }
            ]
          },
          {
            "wording": "Recommend a solution for migrating unstructured data",
            "objective_wording_sha256": "0ed3ea282e703feaa3cff9d7077e38a71a8f24e272d048106cc5fc6164555b5b",
            "group": "Design migrations",
            "group_number": 11,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Migration design",
                "start_line": 443,
                "end_line": 443,
                "span_lf_sha256": "e1d76c4e9be9a46fcc71972856f24edf7866eb44babdca05e39f9dd7d92777ee"
              },
              {
                "heading": "Scenario B — migrate a stateful line-of-business application",
                "start_line": 518,
                "end_line": 529,
                "span_lf_sha256": "b8de874d2b0a0b8db3af4b11a5a0c204da9fa24c0f484b6b7477858ee26eacd8"
              }
            ]
          },
          {
            "wording": "Recommend a connectivity solution that connects Azure resources to the internet",
            "objective_wording_sha256": "9ac7e2a86f71cc0976ea7be5c035a3804128fbd619efe171c4d3dcad4441fc2b",
            "group": "Design network solutions",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Network solutions",
                "start_line": 445,
                "end_line": 459,
                "span_lf_sha256": "1c21f1542a7f7f4b3fcfb879437188bc7477ac438149fc6344e344d6f84d1fb5"
              },
              {
                "heading": "Current network migration boundaries",
                "start_line": 492,
                "end_line": 496,
                "span_lf_sha256": "6dab809700ac4ff11dd6cd16b4aa603b41cb5724a486e422fddd1c4d2cd2a709"
              }
            ]
          },
          {
            "wording": "Recommend a connectivity solution that connects Azure resources to on-premises networks",
            "objective_wording_sha256": "55ee4dcfd66f14eb134b9d1fb4c65ce3c5ecd7d7502f161158ebb9d3fa89a19b",
            "group": "Design network solutions",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Network solutions",
                "start_line": 445,
                "end_line": 459,
                "span_lf_sha256": "1c21f1542a7f7f4b3fcfb879437188bc7477ac438149fc6344e344d6f84d1fb5"
              }
            ]
          },
          {
            "wording": "Recommend a solution to optimize network performance",
            "objective_wording_sha256": "4a92d5c8decf3d6d9afe23afcc7de752cc56b5fb2be62fc905a2a353e76e1d1e",
            "group": "Design network solutions",
            "group_number": 12,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Performance and network security",
                "start_line": 461,
                "end_line": 477,
                "span_lf_sha256": "b3073b35e69ddc51bd022df7fd5c3a4cdbcf932c7f8f48b9cf3d962bab2326b8"
              }
            ]
          },
          {
            "wording": "Recommend a solution to optimize network security",
            "objective_wording_sha256": "299b97a5b78ab6d5f61963927de7674f7f910dcb3efa7e5e2dc3a9c3fba929a8",
            "group": "Design network solutions",
            "group_number": 12,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Performance and network security",
                "start_line": 461,
                "end_line": 477,
                "span_lf_sha256": "b3073b35e69ddc51bd022df7fd5c3a4cdbcf932c7f8f48b9cf3d962bab2326b8"
              }
            ]
          },
          {
            "wording": "Recommend a load-balancing and routing solution",
            "objective_wording_sha256": "90d4c06c5544feb4a3d37668e3c4a7f18f278e5377ac3fa6fd7aa0c813f1014b",
            "group": "Design network solutions",
            "group_number": 12,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Network solutions",
                "start_line": 445,
                "end_line": 459,
                "span_lf_sha256": "1c21f1542a7f7f4b3fcfb879437188bc7477ac438149fc6344e344d6f84d1fb5"
              }
            ]
          }
        ]
      },
      {
        "exam_code": "AZ-400",
        "guide_path": "guides/AZ-400-designing-implementing-microsoft-devops-solutions.md",
        "guide_lf_sha256": "478a661acf133d18bf92911b35e1379df609622573cf254db32e5400554d8e15",
        "objective_raw_sha256": "2daece89f2a2ef131293e7299b41532985afbe955aed913bb86dc42bb8650460",
        "objective_count": 86,
        "current_mapping": [
          {
            "wording": "Design and implement a structure for the flow of work, including GitHub Flow",
            "objective_wording_sha256": "1e47ef407c45b2437b90a1f9b3e997b9b83a20ca25b0b194bf880ace58ed6637",
            "group": "Design and implement traceability and flow of work",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Design traceability and flow of work",
                "start_line": 93,
                "end_line": 113,
                "span_lf_sha256": "e7f83b23117eb29ae7f7fbf07e8d2631dcad21a2ee41f6b08bdd2315bb9b834e"
              }
            ]
          },
          {
            "wording": "Design and implement a strategy for feedback cycles, including notifications and GitHub Issues",
            "objective_wording_sha256": "fc9214cdb8f9a42396d3f23685042ef4be28483084c69cc940cce0f21ccc5282",
            "group": "Design and implement traceability and flow of work",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Design traceability and flow of work",
                "start_line": 106,
                "end_line": 113,
                "span_lf_sha256": "0852386638b0c89b8d4b5abae228333e9a144e47b154ed879a8e6f3f1090180f"
              }
            ]
          },
          {
            "wording": "Design and implement integration for tracking work, including GitHub projects, Azure Boards, and repositories",
            "objective_wording_sha256": "e9bcdaa33ebfc74debc04e208579359ebe9f3068a563c17e906e7b20ebeb8c5f",
            "group": "Design and implement traceability and flow of work",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Design traceability and flow of work",
                "start_line": 104,
                "end_line": 113,
                "span_lf_sha256": "b3387505c0702510e36de04d956480b3cb035f2466b6ce3bf40a0216b87d3c46"
              },
              {
                "heading": "Scenario A: GitHub source with Azure Boards and Azure Pipelines",
                "start_line": 660,
                "end_line": 673,
                "span_lf_sha256": "96e6150f9948c8ee615fd0885a159e76256f0b264f72ca89e7ead28e6fdc8ba0"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Design and implement source, bug, and quality traceability",
            "objective_wording_sha256": "58ac336501fd5c95314ac727a38532ef0901c20584fe68e241f677509192436e",
            "group": "Design and implement traceability and flow of work",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Design traceability and flow of work",
                "start_line": 104,
                "end_line": 113,
                "span_lf_sha256": "b3387505c0702510e36de04d956480b3cb035f2466b6ce3bf40a0216b87d3c46"
              },
              {
                "heading": "Scenario A: GitHub source with Azure Boards and Azure Pipelines",
                "start_line": 660,
                "end_line": 673,
                "span_lf_sha256": "96e6150f9948c8ee615fd0885a159e76256f0b264f72ca89e7ead28e6fdc8ba0"
              }
            ]
          },
          {
            "wording": "Design and implement a dashboard, including flow of work, such as cycle times, time to recovery, and lead time",
            "objective_wording_sha256": "4a105a5fe853aba0f2d3ef6dd3c46b745c45c73c2fc9b8355d72cb6b99c5639a",
            "group": "Design and implement appropriate metrics and queries for DevOps",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Measure outcomes, flow and reliability",
                "start_line": 115,
                "end_line": 132,
                "span_lf_sha256": "20a470878c235055b2c0b5852a5666c37a1dd6fc7ba7e277d786b13301a2051d"
              }
            ]
          },
          {
            "wording": "Design and implement appropriate metrics and queries for project planning",
            "objective_wording_sha256": "45b6f4c4e7694658b555be10a0c5f6b9d19fe3f2a3483b2663dd782837732766",
            "group": "Design and implement appropriate metrics and queries for DevOps",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Measure outcomes, flow and reliability",
                "start_line": 119,
                "end_line": 130,
                "span_lf_sha256": "80d3cfde9d7593bdae6a4338d0b9018cbc4ee490af1521d7deddd02390bd47bd"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Design and implement appropriate metrics and queries for development",
            "objective_wording_sha256": "98732c2d67ffbd7e20f7e1e9d28694b7b9affa97f01b0eff9a8ead479df5058c",
            "group": "Design and implement appropriate metrics and queries for DevOps",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Measure outcomes, flow and reliability",
                "start_line": 119,
                "end_line": 130,
                "span_lf_sha256": "80d3cfde9d7593bdae6a4338d0b9018cbc4ee490af1521d7deddd02390bd47bd"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Design and implement appropriate metrics and queries for testing",
            "objective_wording_sha256": "995e5961639808fdaa5a161997a135d53c67481d378077f9d1e5e8f5421b60af",
            "group": "Design and implement appropriate metrics and queries for DevOps",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Measure outcomes, flow and reliability",
                "start_line": 119,
                "end_line": 130,
                "span_lf_sha256": "80d3cfde9d7593bdae6a4338d0b9018cbc4ee490af1521d7deddd02390bd47bd"
              },
              {
                "heading": "Example 4 — retries can hide flaky tests",
                "start_line": 755,
                "end_line": 757,
                "span_lf_sha256": "82b64e8e32dd7d229799a0b4fa51bb60103a5eea2c0503a505f6d9ffd62494e3"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Design and implement appropriate metrics and queries for security",
            "objective_wording_sha256": "8408d593b38513418cbdde0acd88edb1dfbe4fb54f92ff429eabe1845835608f",
            "group": "Design and implement appropriate metrics and queries for DevOps",
            "group_number": 2,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Measure outcomes, flow and reliability",
                "start_line": 119,
                "end_line": 130,
                "span_lf_sha256": "80d3cfde9d7593bdae6a4338d0b9018cbc4ee490af1521d7deddd02390bd47bd"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Design and implement appropriate metrics and queries for delivery",
            "objective_wording_sha256": "baa39bbbd096f8564a33ebda6cc2ec13444399910cb577268edd3d0dbd491bd3",
            "group": "Design and implement appropriate metrics and queries for DevOps",
            "group_number": 2,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Measure outcomes, flow and reliability",
                "start_line": 119,
                "end_line": 130,
                "span_lf_sha256": "80d3cfde9d7593bdae6a4338d0b9018cbc4ee490af1521d7deddd02390bd47bd"
              },
              {
                "heading": "Example 5 — complete evidence is an intersection",
                "start_line": 759,
                "end_line": 761,
                "span_lf_sha256": "43c3882c71472a2a02b94c7ab009925300c7fc936092632cfca7e1d9e3b46c8b"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Design and implement appropriate metrics and queries for operations",
            "objective_wording_sha256": "ad40ceffa1a6d957818fd154c5ee97bbc82b5cd7160b1eefccc901a7419975f2",
            "group": "Design and implement appropriate metrics and queries for DevOps",
            "group_number": 2,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Measure outcomes, flow and reliability",
                "start_line": 119,
                "end_line": 130,
                "span_lf_sha256": "80d3cfde9d7593bdae6a4338d0b9018cbc4ee490af1521d7deddd02390bd47bd"
              },
              {
                "heading": "Example 7 — remaining error budget",
                "start_line": 767,
                "end_line": 769,
                "span_lf_sha256": "87dd00520aa0c1430d412bdfcdb09847151991cb99cc2826d11d85abcae0a17e"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Document a project by configuring wikis and process diagrams, including Markdown and Mermaid syntax",
            "objective_wording_sha256": "840d712c340cfdd2866006dd9d24e3d8cd40d8a858fdf1ded103ce8c8c5d8077",
            "group": "Configure collaboration and communication",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Configure documentation and integrations",
                "start_line": 134,
                "end_line": 147,
                "span_lf_sha256": "116aed0c45bfbc540f2b6b096b44f515fdf9130e6e6441a4fce8c1cd178a00f1"
              }
            ]
          },
          {
            "wording": "Configure release documentation, including release notes and API documentation",
            "objective_wording_sha256": "0d4f198d1941a201c2a082a759abdc365aeadbe107417a4233e65c5c45fbe6e6",
            "group": "Configure collaboration and communication",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Configure documentation and integrations",
                "start_line": 134,
                "end_line": 147,
                "span_lf_sha256": "116aed0c45bfbc540f2b6b096b44f515fdf9130e6e6441a4fce8c1cd178a00f1"
              }
            ]
          },
          {
            "wording": "Automate creation of documentation from Git history",
            "objective_wording_sha256": "601530bd2345f0f71515bcac1538da85a7f2db8867b66fab6f6769e556b0e887",
            "group": "Configure collaboration and communication",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Configure documentation and integrations",
                "start_line": 134,
                "end_line": 168,
                "span_lf_sha256": "8b857365d12ff941b3cdb2e27bc799414434d4c1234aa2946f094b0e8556d46d"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Configure integration by using webhooks",
            "objective_wording_sha256": "0881527a78f25d4016d03681d50a07dbb5fc94fe661eabe1107216e502bf00c3",
            "group": "Configure collaboration and communication",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Configure documentation and integrations",
                "start_line": 134,
                "end_line": 151,
                "span_lf_sha256": "cf1965a950648cd8c66fd77ea553683a23492614b2ac8cae914febbab9a287a9"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Configure integration between Azure Boards and GitHub repositories",
            "objective_wording_sha256": "1d3eaef338f414605b4d575cbe2f4dce4e17acda303fc225fcc327423464493a",
            "group": "Configure collaboration and communication",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Design traceability and flow of work",
                "start_line": 104,
                "end_line": 104,
                "span_lf_sha256": "25e278d245a8f57e6d223e28796aa58f01432525561899fe458b4034d08b7c0b"
              },
              {
                "heading": "Scenario A: GitHub source with Azure Boards and Azure Pipelines",
                "start_line": 660,
                "end_line": 671,
                "span_lf_sha256": "cbee6f3d6f68e012b75b40d95164dc6f8c9d9667daa1389c6db829d4933a371b"
              }
            ]
          },
          {
            "wording": "Configure integration between GitHub or Azure DevOps and Microsoft Teams",
            "objective_wording_sha256": "6ea0255e826ea087ac7a54ac2ab9f6353ccea074ec252fec1bc8644f52beee57",
            "group": "Configure collaboration and communication",
            "group_number": 3,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Configure documentation and integrations",
                "start_line": 147,
                "end_line": 151,
                "span_lf_sha256": "6444b32d32460036b7198ec5627d956535d7fb40ebbc2cb8f49e29b5a6d2beeb"
              },
              {
                "heading": "Worked traceability and query worksheet",
                "start_line": 153,
                "end_line": 159,
                "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
              }
            ]
          },
          {
            "wording": "Design a branch strategy, including trunk-based, feature branch, and release branch",
            "objective_wording_sha256": "8df02b146903eab27b3afce8aec22ea5ccc30de227b58983f9003c188070daa0",
            "group": "Design and implement branching strategies for the source code",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Design traceability and flow of work",
                "start_line": 93,
                "end_line": 104,
                "span_lf_sha256": "58e8f8ebd540f3a0663e28d9a5ba37ea597bc723c6a8b67289cecad314544c3c"
              },
              {
                "heading": "Choose a branch and pull-request contract",
                "start_line": 181,
                "end_line": 198,
                "span_lf_sha256": "e7abd2883ddae17af840e88e3f7bec881c0b4091e2cf8c8c09b9d237f39e574e"
              }
            ]
          },
          {
            "wording": "Design and implement a pull request workflow by using branch policies and branch protection rules",
            "objective_wording_sha256": "aaeb4576c99269664e3bc809288e1c68f3e66cd6023fd70e46353855f38e3f09",
            "group": "Design and implement branching strategies for the source code",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Choose a branch and pull-request contract",
                "start_line": 181,
                "end_line": 198,
                "span_lf_sha256": "e7abd2883ddae17af840e88e3f7bec881c0b4091e2cf8c8c09b9d237f39e574e"
              }
            ]
          },
          {
            "wording": "Implement branch merging restrictions by using branch policies and branch protection rules",
            "objective_wording_sha256": "e41002c8975cd7047b8ce49b52c33bffa68e2f16a4e34f62852402c96355b20a",
            "group": "Design and implement branching strategies for the source code",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Choose a branch and pull-request contract",
                "start_line": 181,
                "end_line": 198,
                "span_lf_sha256": "e7abd2883ddae17af840e88e3f7bec881c0b4091e2cf8c8c09b9d237f39e574e"
              }
            ]
          },
          {
            "wording": "Design and implement a strategy for managing large files, including Git Large File Storage (LFS) and git-fat",
            "objective_wording_sha256": "7dfa0670f963dcb56888d73a608f3028d36387cb00f9a840dd279aed8bcf04ba",
            "group": "Configure and manage repositories",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Manage large repositories and files",
                "start_line": 216,
                "end_line": 226,
                "span_lf_sha256": "271e34d8650827ff1aaa945bd378f9025ab29c5235ae1cb696d40e86dd15827d"
              }
            ]
          },
          {
            "wording": "Design a strategy for scaling and optimizing a Git repository, including Scalar and cross-repository sharing",
            "objective_wording_sha256": "3844a090a9ebf3f5e64982dadff06445e73a4f855ea63923aadaf0d3ce4e17c3",
            "group": "Configure and manage repositories",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Configure repositories, permissions and tags",
                "start_line": 206,
                "end_line": 226,
                "span_lf_sha256": "e892d9e3efff60953fa1b7751b79929d3483eb4f166e07d64d6a7cd91d38fd23"
              }
            ]
          },
          {
            "wording": "Configure permissions in the source control repository",
            "objective_wording_sha256": "60230650b34721d402ca455b6fc24834ec363bdb06b0252192db774dd8c77f2a",
            "group": "Configure and manage repositories",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Configure repositories, permissions and tags",
                "start_line": 200,
                "end_line": 214,
                "span_lf_sha256": "9645f0c28b6787ba0b6cfd1b1baf84ba367d535c547b20026981e7a90779a449"
              }
            ]
          },
          {
            "wording": "Configure tags to organize the source control repository",
            "objective_wording_sha256": "5e7b7e8d93eb77b1bb17056d1ac72db24991915d872cf0d11eef9cbf9f6089ab",
            "group": "Configure and manage repositories",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Configure repositories, permissions and tags",
                "start_line": 200,
                "end_line": 204,
                "span_lf_sha256": "7a13f61f7c84bd977cd7d29f3d2fddbb820bd0ba85d9a90e5f473593d0a05312"
              }
            ]
          },
          {
            "wording": "Recover specific data by using Git commands",
            "objective_wording_sha256": "339b049f573e852b05902c56effb9652ca795a068bc26765d91010f86a8fd571",
            "group": "Configure and manage repositories",
            "group_number": 5,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Recover or remove data safely",
                "start_line": 228,
                "end_line": 240,
                "span_lf_sha256": "e8c121d2fb32ba576fea2230a16a061a9ceb3e0fad5b9ab865900ddecad08183"
              },
              {
                "heading": "Lab 2 — Branch flow and recovery",
                "start_line": 781,
                "end_line": 785,
                "span_lf_sha256": "5ed5c59d288c2190000d818bbcd7589faaef861f5261e9072c26e84441b1fb22"
              }
            ]
          },
          {
            "wording": "Remove specific data from source control",
            "objective_wording_sha256": "4dac461154ba823167d409effaffe8903991b838c13d6582568baa7fa98067da",
            "group": "Configure and manage repositories",
            "group_number": 5,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Recover or remove data safely",
                "start_line": 228,
                "end_line": 240,
                "span_lf_sha256": "e8c121d2fb32ba576fea2230a16a061a9ceb3e0fad5b9ab865900ddecad08183"
              }
            ]
          },
          {
            "wording": "Recommend package management tools including GitHub Packages and Azure Artifacts",
            "objective_wording_sha256": "3c3b47a5f4b02e8d75b30d4047e5cea29e16e2c80fc8f254428485be2bf2fa0a",
            "group": "Design and implement a package management strategy",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4.1 Package and dependency strategy",
                "start_line": 252,
                "end_line": 256,
                "span_lf_sha256": "2a2daed0b6d1377e33f75ca6173d502c74734869f9d8b25284bbd62a7376c9cf"
              }
            ]
          },
          {
            "wording": "Design and implement package feeds and views for local and upstream packages",
            "objective_wording_sha256": "da31d4bf851661fe6ec9ffb246b1b0133b016f230df2753eb5c25ae09545edd3",
            "group": "Design and implement a package management strategy",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4.1 Package and dependency strategy",
                "start_line": 252,
                "end_line": 275,
                "span_lf_sha256": "9317deba449073a72bd5e6839bae85ee05a9c29df9d65cfdcff1e26926e98062"
              }
            ]
          },
          {
            "wording": "Design and implement a dependency versioning strategy for code assets and packages, including semantic versioning (SemVer) and date-based (CalVer)",
            "objective_wording_sha256": "8a63dd08592acf3a983186288501123cb24ae1d5a7c414036f176d379858c953",
            "group": "Design and implement a package management strategy",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4.1 Package and dependency strategy",
                "start_line": 258,
                "end_line": 265,
                "span_lf_sha256": "25a21aec5ed4a1146ea6ec0190960919040b687d006b2674f3a02d4a08f85033"
              }
            ]
          },
          {
            "wording": "Design and implement a versioning strategy for pipeline artifacts",
            "objective_wording_sha256": "33a002115de1ab3b7d22911bcae631c51e4d779027e870453528a175faaf12c6",
            "group": "Design and implement a package management strategy",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4.1 Package and dependency strategy",
                "start_line": 258,
                "end_line": 275,
                "span_lf_sha256": "a832cfd3852ddea0bf075a45cd2bd498bb134e6a02c0f94ff78234e74395450c"
              }
            ]
          },
          {
            "wording": "Design and implement quality and release gates, including security and governance",
            "objective_wording_sha256": "f4955b17f33be23c7f157b85dfc22358044e339505af642b560da3fb3daf810e",
            "group": "Design and implement a testing strategy for pipelines",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4.2 Testing and quality gates",
                "start_line": 277,
                "end_line": 295,
                "span_lf_sha256": "d2135bb407f7b7d5fc1e35c0deb09a218a94d387c423fd676f60ce71da70f43e"
              }
            ]
          },
          {
            "wording": "Design a comprehensive testing strategy, including local tests, unit tests, integration tests, and load tests",
            "objective_wording_sha256": "3e0f9bd46507ab17e4b9869a21e8e2ed7cc06ecd24c6394f0fe791e6f78db062",
            "group": "Design and implement a testing strategy for pipelines",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4.2 Testing and quality gates",
                "start_line": 277,
                "end_line": 295,
                "span_lf_sha256": "d2135bb407f7b7d5fc1e35c0deb09a218a94d387c423fd676f60ce71da70f43e"
              }
            ]
          },
          {
            "wording": "Implement tests in a pipeline, including configuring test tasks, configuring test agents, and integration of test results",
            "objective_wording_sha256": "ecd6fa82870a5b9ade328720d8d3ae4d1c611a4d1044b3c97933c7c72ddcefeb",
            "group": "Design and implement a testing strategy for pipelines",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4.2 Testing and quality gates",
                "start_line": 277,
                "end_line": 293,
                "span_lf_sha256": "9bfae828cc844066d881ec5a045aca0b1b0d34a35886ce7f098d1a1911b6d6d1"
              },
              {
                "heading": "Worked YAML graph, tests and template boundary",
                "start_line": 367,
                "end_line": 410,
                "span_lf_sha256": "781888c517314ae664e55a553aedb71d9e1c582f7b47c79d9eb5610cf52975bf"
              }
            ]
          },
          {
            "wording": "Implement code coverage analysis",
            "objective_wording_sha256": "7a70d68e1ca3b7a0efbcdd6fa630bca08d3709ddabeeaecf9e9710a0a965885d",
            "group": "Design and implement a testing strategy for pipelines",
            "group_number": 7,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4.2 Testing and quality gates",
                "start_line": 277,
                "end_line": 293,
                "span_lf_sha256": "9bfae828cc844066d881ec5a045aca0b1b0d34a35886ce7f098d1a1911b6d6d1"
              },
              {
                "heading": "Worked YAML graph, tests and template boundary",
                "start_line": 367,
                "end_line": 410,
                "span_lf_sha256": "781888c517314ae664e55a553aedb71d9e1c582f7b47c79d9eb5610cf52975bf"
              }
            ]
          },
          {
            "wording": "Select a deployment automation solution, including GitHub Actions and Azure Pipelines",
            "objective_wording_sha256": "0ace400dd0ff7e0f26589049c39d55146e69ff3c98b42daf22639b2709a91b7a",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4.3 Select and design pipeline automation",
                "start_line": 297,
                "end_line": 315,
                "span_lf_sha256": "babb9c0dcb73c67bf31a25522f1a31d45c7dc56bfa27b247198889078b5eedba"
              }
            ]
          },
          {
            "wording": "Design and implement a GitHub runner or Azure DevOps agent infrastructure, including cost, tool selection, licenses, connectivity, and maintainability",
            "objective_wording_sha256": "98eea6d01b4e324317d1770ab58e982f1a69cd522d21985d1790cc1b8f3eedb8",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Hosted versus self-hosted execution",
                "start_line": 309,
                "end_line": 325,
                "span_lf_sha256": "9b3b9cefcd294a86ade1d67aeca01961d8a402032396bbdd56e041a3f750cf37"
              }
            ]
          },
          {
            "wording": "Design and implement integration between GitHub repositories and Azure Pipelines",
            "objective_wording_sha256": "68412cb2baca76dae00b992369a96a248c5738889d1191ac7a4dfcd76b23bf4f",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4.3 Select and design pipeline automation",
                "start_line": 297,
                "end_line": 307,
                "span_lf_sha256": "af5b3f84e7afb7d2d709f7b2ba71be0a9badd1292317cdb050a90e04b8a0ed0b"
              },
              {
                "heading": "Scenario A: GitHub source with Azure Boards and Azure Pipelines",
                "start_line": 660,
                "end_line": 671,
                "span_lf_sha256": "cbee6f3d6f68e012b75b40d95164dc6f8c9d9667daa1389c6db829d4933a371b"
              },
              {
                "heading": "Worked YAML graph, tests and template boundary",
                "start_line": 367,
                "end_line": 410,
                "span_lf_sha256": "781888c517314ae664e55a553aedb71d9e1c582f7b47c79d9eb5610cf52975bf"
              }
            ]
          },
          {
            "wording": "Develop and implement pipeline trigger rules",
            "objective_wording_sha256": "697ad0b36c784864832b07968dc138fecb1ae73484a5f107eb35cf7ad2df836b",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4.4 Author reliable YAML pipelines",
                "start_line": 327,
                "end_line": 365,
                "span_lf_sha256": "d15c70c0d2fae15a2f258991851bdbffaedb5458c3d73fe8a5632a92f73565e3"
              },
              {
                "heading": "Worked YAML graph, tests and template boundary",
                "start_line": 367,
                "end_line": 410,
                "span_lf_sha256": "781888c517314ae664e55a553aedb71d9e1c582f7b47c79d9eb5610cf52975bf"
              }
            ]
          },
          {
            "wording": "Develop pipelines by using YAML",
            "objective_wording_sha256": "f125bd8b7f80cb104ae95dffa5ed69ba82122ea2d25254687ee5ddefdcb7503f",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "4.4 Author reliable YAML pipelines",
                "start_line": 327,
                "end_line": 365,
                "span_lf_sha256": "d15c70c0d2fae15a2f258991851bdbffaedb5458c3d73fe8a5632a92f73565e3"
              },
              {
                "heading": "Worked YAML graph, tests and template boundary",
                "start_line": 367,
                "end_line": 410,
                "span_lf_sha256": "781888c517314ae664e55a553aedb71d9e1c582f7b47c79d9eb5610cf52975bf"
              }
            ]
          },
          {
            "wording": "Design and implement a strategy for job execution order, including parallelism and multi-stage pipelines",
            "objective_wording_sha256": "075fc509f619dcb17bfe4cffe642eb1b3c7c8d320244b5cb8cb2c0990cd989bb",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "4.4 Author reliable YAML pipelines",
                "start_line": 327,
                "end_line": 365,
                "span_lf_sha256": "d15c70c0d2fae15a2f258991851bdbffaedb5458c3d73fe8a5632a92f73565e3"
              },
              {
                "heading": "Example 1 — critical path versus worker consumption",
                "start_line": 707,
                "end_line": 713,
                "span_lf_sha256": "7c5e1e8ddd7880e84be50d7c518dc52fb4ee547bcc4bd842f502698fef4f629d"
              }
            ]
          },
          {
            "wording": "Develop and implement complex pipeline scenarios, such as hybrid pipelines, VM templates, and self-hosted runners or agents",
            "objective_wording_sha256": "b751aeca044fb91f2e5ff845ec95833fe776d2797125312934368d7b8bf7da01",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Hosted versus self-hosted execution",
                "start_line": 309,
                "end_line": 365,
                "span_lf_sha256": "7f4076b6a4bb683b25c91b3d40b40517bc2a64de288e84507f4148bc9328c85f"
              },
              {
                "heading": "Worked YAML graph, tests and template boundary",
                "start_line": 367,
                "end_line": 410,
                "span_lf_sha256": "781888c517314ae664e55a553aedb71d9e1c582f7b47c79d9eb5610cf52975bf"
              }
            ]
          },
          {
            "wording": "Create reusable pipeline elements, including YAML templates, task groups, variables, and variable groups",
            "objective_wording_sha256": "c18eb9637c28e06e2c215c497359217f650fc290ade110db8a17d96e7aea907a",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "4.4 Author reliable YAML pipelines",
                "start_line": 347,
                "end_line": 365,
                "span_lf_sha256": "72591bcfcb5e3092c569cde3fd38e8b0302e655b7ed4072d316dc190b8f8dae3"
              },
              {
                "heading": "Worked YAML graph, tests and template boundary",
                "start_line": 367,
                "end_line": 410,
                "span_lf_sha256": "781888c517314ae664e55a553aedb71d9e1c582f7b47c79d9eb5610cf52975bf"
              }
            ]
          },
          {
            "wording": "Design and implement checks and approvals by using YAML-based environments",
            "objective_wording_sha256": "364238ee6feee1f03b1c545db31fb0834f4c2ae319bec2ff4fda96e8cc723035",
            "group": "Design and implement pipelines",
            "group_number": 8,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "4.4 Author reliable YAML pipelines",
                "start_line": 357,
                "end_line": 365,
                "span_lf_sha256": "6d76db7f0e23b6886fb0aa7295f6255d5edec847aa66fef5683b5bb93df8590a"
              }
            ]
          },
          {
            "wording": "Design a deployment strategy, including blue-green, canary, ring, progressive exposure, feature flags, and A/B testing",
            "objective_wording_sha256": "3879c49d33ab0143a251082c508808c1ea86043327d24efcea9fe445138f171e",
            "group": "Design and implement deployments",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4.5 Design deployments and exposure",
                "start_line": 412,
                "end_line": 433,
                "span_lf_sha256": "a21e4a5bbeb33b4ebf9fe5298a087c55504031e3a2b6af40c8a464ede3330dd0"
              },
              {
                "heading": "Scenario B: Safe application and database release",
                "start_line": 675,
                "end_line": 687,
                "span_lf_sha256": "dd0f78ca097fc69bb4ae79791b6c9b13a4edfde84b979ab1506a0aace3ff6717"
              }
            ]
          },
          {
            "wording": "Design a pipeline to ensure that dependency deployments are reliably ordered",
            "objective_wording_sha256": "efc041298de09eee96542fb0fb93d31ec1928e317eff368f4b2844fbf704c8d0",
            "group": "Design and implement deployments",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4.5 Design deployments and exposure",
                "start_line": 427,
                "end_line": 433,
                "span_lf_sha256": "b3b6d8d5e355d9a4d42e71ea71627a8e7647e7368da2a2cdd68f9ae4b6af032f"
              }
            ]
          },
          {
            "wording": "Plan for minimizing downtime during deployments by using load balancing, rolling deployments, and deployment slot usage and swap",
            "objective_wording_sha256": "95b3f069aa48440124bc4c2e8f4c292fb520e0da5ba4d3c932b3d1480a17efe4",
            "group": "Design and implement deployments",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4.5 Design deployments and exposure",
                "start_line": 427,
                "end_line": 433,
                "span_lf_sha256": "b3b6d8d5e355d9a4d42e71ea71627a8e7647e7368da2a2cdd68f9ae4b6af032f"
              }
            ]
          },
          {
            "wording": "Design a hotfix path plan for responding to high-priority code fixes",
            "objective_wording_sha256": "e3a47f4534e203ae40c65e3afa507359dc345879022d1005a4fc57703eb03bd7",
            "group": "Design and implement deployments",
            "group_number": 9,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4.5 Design deployments and exposure",
                "start_line": 431,
                "end_line": 433,
                "span_lf_sha256": "e3de424a932f40b03751ca1b52cb96c69a449556ceabfe1cc17411ad706c0b7e"
              }
            ]
          },
          {
            "wording": "Design and implement a resiliency strategy for deployment",
            "objective_wording_sha256": "fba3134ffb932b701c1957fbd1cec4b02b120b9270a2aaa806c1e52601b717e6",
            "group": "Design and implement deployments",
            "group_number": 9,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "4.5 Design deployments and exposure",
                "start_line": 433,
                "end_line": 433,
                "span_lf_sha256": "e9644ce3377ef7a7bd04eeb0ecbec3f695a2a9aecc16841fc24b38060201ad87"
              },
              {
                "heading": "Example 3 — an aggregate can hide a failed canary",
                "start_line": 715,
                "end_line": 753,
                "span_lf_sha256": "dd24ab190d1751128d294cc99b28365066f9bc54b946bfec7214c3a54ae2c1ed"
              }
            ]
          },
          {
            "wording": "Implement feature flags by using Azure App Configuration Feature Manager",
            "objective_wording_sha256": "43d733dab0199fc0a9f438a9f1d816b354c369c73570bfd0efade2e53e665e08",
            "group": "Design and implement deployments",
            "group_number": 9,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "4.5 Design deployments and exposure",
                "start_line": 412,
                "end_line": 425,
                "span_lf_sha256": "dc7772f58ee18080ab88bc5c65b8b04376a3a59ef6e7428c7ede4d28cf347986"
              },
              {
                "heading": "Scenario B: Safe application and database release",
                "start_line": 675,
                "end_line": 687,
                "span_lf_sha256": "dd0f78ca097fc69bb4ae79791b6c9b13a4edfde84b979ab1506a0aace3ff6717"
              },
              {
                "heading": "Worked flag, guest-state and self-service acceptance",
                "start_line": 454,
                "end_line": 460,
                "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
              }
            ]
          },
          {
            "wording": "Implement application deployment by using containers, binaries, and scripts",
            "objective_wording_sha256": "8663e6729232a2a52678db9dc878e4f402288f9ad00406389eb8888a8da3e833",
            "group": "Design and implement deployments",
            "group_number": 9,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "4.5 Design deployments and exposure",
                "start_line": 412,
                "end_line": 433,
                "span_lf_sha256": "a21e4a5bbeb33b4ebf9fe5298a087c55504031e3a2b6af40c8a464ede3330dd0"
              },
              {
                "heading": "Worked flag, guest-state and self-service acceptance",
                "start_line": 454,
                "end_line": 460,
                "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
              }
            ]
          },
          {
            "wording": "Implement a deployment that includes database tasks",
            "objective_wording_sha256": "124293f915f82cd3ba15881764e2ef577a6a80ce6b6767d3b3ad2daee8194fe9",
            "group": "Design and implement deployments",
            "group_number": 9,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "4.5 Design deployments and exposure",
                "start_line": 427,
                "end_line": 433,
                "span_lf_sha256": "b3b6d8d5e355d9a4d42e71ea71627a8e7647e7368da2a2cdd68f9ae4b6af032f"
              },
              {
                "heading": "Scenario B: Safe application and database release",
                "start_line": 675,
                "end_line": 687,
                "span_lf_sha256": "dd0f78ca097fc69bb4ae79791b6c9b13a4edfde84b979ab1506a0aace3ff6717"
              }
            ]
          },
          {
            "wording": "Recommend a configuration management technology for application infrastructure",
            "objective_wording_sha256": "04a72354f921cd1b1a86e62c48f8cdc3a1e69fcce724fc6669d36fc8cd3fd41c",
            "group": "Design and implement infrastructure as code (IaC)",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4.6 Infrastructure as code and configuration management",
                "start_line": 435,
                "end_line": 450,
                "span_lf_sha256": "bed4ede0748b53ba32dcca92a60b6d11f63844dc2bc133ffffde9e7ab06e7a13"
              }
            ]
          },
          {
            "wording": "Implement a configuration management strategy for application infrastructure",
            "objective_wording_sha256": "baf90ff36e8ab82a0fdd80669b926624f0a03a1334a582fe8d3b21c55ddaec00",
            "group": "Design and implement infrastructure as code (IaC)",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4.6 Infrastructure as code and configuration management",
                "start_line": 435,
                "end_line": 452,
                "span_lf_sha256": "7f457ce68b088d9b250967c4c12f38043d7877b987b7363db3cbb361e113946f"
              },
              {
                "heading": "Worked flag, guest-state and self-service acceptance",
                "start_line": 454,
                "end_line": 460,
                "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
              }
            ]
          },
          {
            "wording": "Define an IaC strategy, including source control and automation of testing and deployment",
            "objective_wording_sha256": "72db07e09ec4d465f18ae321ba0db2a9f99ce9c5d40810bdc8334ef47ee7c64c",
            "group": "Design and implement infrastructure as code (IaC)",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4.6 Infrastructure as code and configuration management",
                "start_line": 435,
                "end_line": 452,
                "span_lf_sha256": "7f457ce68b088d9b250967c4c12f38043d7877b987b7363db3cbb361e113946f"
              }
            ]
          },
          {
            "wording": "Design and implement desired state configuration for environments, including Azure Automation State Configuration, Azure Resource Manager, Bicep, and Azure Machine Configuration",
            "objective_wording_sha256": "add0ee68f641698807351bd9efe47a62f9d3634da00df68a788f1ea0a386dbe2",
            "group": "Design and implement infrastructure as code (IaC)",
            "group_number": 10,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4.6 Infrastructure as code and configuration management",
                "start_line": 435,
                "end_line": 452,
                "span_lf_sha256": "7f457ce68b088d9b250967c4c12f38043d7877b987b7363db3cbb361e113946f"
              },
              {
                "heading": "Worked flag, guest-state and self-service acceptance",
                "start_line": 454,
                "end_line": 460,
                "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
              }
            ]
          },
          {
            "wording": "Design and implement Azure Deployment Environments for on-demand self-deployment",
            "objective_wording_sha256": "6ca5bd2978ab4c6f3acf21aa7266070dec4b04fda2d40d1f62ee0a49b4cfc7df",
            "group": "Design and implement infrastructure as code (IaC)",
            "group_number": 10,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "4.6 Infrastructure as code and configuration management",
                "start_line": 444,
                "end_line": 450,
                "span_lf_sha256": "3c8c6576ede686cc1469c3aa59ca96f734c6f34c2dee72586b7aaac420e0ce9a"
              },
              {
                "heading": "Worked flag, guest-state and self-service acceptance",
                "start_line": 454,
                "end_line": 460,
                "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
              }
            ]
          },
          {
            "wording": "Monitor pipeline health, including failure rate, duration, and flaky tests",
            "objective_wording_sha256": "f52871e00346080146c778a0c38e0c39f0514a47030125dcafd4954bcb81e38f",
            "group": "Maintain pipelines",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4.7 Maintain and optimize pipelines",
                "start_line": 462,
                "end_line": 487,
                "span_lf_sha256": "ef272ae9b71e2491ff69bd52d38cde3aaf288dabce1e0837ae7b3e9d44e6cb1c"
              }
            ]
          },
          {
            "wording": "Optimize a pipeline for cost, time, performance, and reliability",
            "objective_wording_sha256": "0123b447ca4251a10460f471c0f01b8f4fdfc37efdd81b7e163b7de6d8e2379a",
            "group": "Maintain pipelines",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4.7 Maintain and optimize pipelines",
                "start_line": 462,
                "end_line": 487,
                "span_lf_sha256": "ef272ae9b71e2491ff69bd52d38cde3aaf288dabce1e0837ae7b3e9d44e6cb1c"
              }
            ]
          },
          {
            "wording": "Optimize pipeline concurrency for performance and cost",
            "objective_wording_sha256": "d920e2e3e92d369323369b46dbb65ceac2d852d4297923c051319417f1ae0259",
            "group": "Maintain pipelines",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4.7 Maintain and optimize pipelines",
                "start_line": 462,
                "end_line": 487,
                "span_lf_sha256": "ef272ae9b71e2491ff69bd52d38cde3aaf288dabce1e0837ae7b3e9d44e6cb1c"
              },
              {
                "heading": "Example 1 — critical path versus worker consumption",
                "start_line": 707,
                "end_line": 713,
                "span_lf_sha256": "7c5e1e8ddd7880e84be50d7c518dc52fb4ee547bcc4bd842f502698fef4f629d"
              }
            ]
          },
          {
            "wording": "Design and implement a retention strategy for pipeline artifacts and dependencies",
            "objective_wording_sha256": "9a41837c367c151cfb7aae96c109c40a06ca42ffe5ee6cdbecf753f4d888addc",
            "group": "Maintain pipelines",
            "group_number": 11,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4.7 Maintain and optimize pipelines",
                "start_line": 475,
                "end_line": 487,
                "span_lf_sha256": "49a1cacce6fb77e4dbf2172e43c632d895c231345d04e281ac9be4616dfa4cbe"
              }
            ]
          },
          {
            "wording": "Migrate a pipeline from classic to YAML in Azure Pipelines",
            "objective_wording_sha256": "e824dc185bddd07230223149cd5e0b10853b88c9c616a8878b790913ec22fe90",
            "group": "Maintain pipelines",
            "group_number": 11,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "4.7 Maintain and optimize pipelines",
                "start_line": 477,
                "end_line": 477,
                "span_lf_sha256": "978455922f0f5d8c31a5551d4793f66e7a808b1012ab401d0fe9c5b95cecbafd"
              }
            ]
          },
          {
            "wording": "Choose between Microsoft Entra service principals and managed identities for Azure resources (system-assigned and user-assigned)",
            "objective_wording_sha256": "f8931c37d2c9814dd33155a5809d974a104f773e93075d4005f307787f7f68d4",
            "group": "Design and implement authentication and authorization methods",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "5.1 Authentication, authorization and organizational boundaries",
                "start_line": 513,
                "end_line": 537,
                "span_lf_sha256": "af99a4398e1a90a6259e6c346ae21d3844e3103a3ba19933fd797b3cfb91f2c0"
              }
            ]
          },
          {
            "wording": "Implement and manage GitHub authentication, including GitHub Apps, GITHUB_TOKEN, and personal access tokens",
            "objective_wording_sha256": "77ddb510af9a801fedb42846b35a48a125f284ac6e114c18b95a5ad490b99bbe",
            "group": "Design and implement authentication and authorization methods",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "5.1 Authentication, authorization and organizational boundaries",
                "start_line": 513,
                "end_line": 537,
                "span_lf_sha256": "af99a4398e1a90a6259e6c346ae21d3844e3103a3ba19933fd797b3cfb91f2c0"
              }
            ]
          },
          {
            "wording": "Implement and manage Azure DevOps service connections and personal access tokens",
            "objective_wording_sha256": "6e1b0ee5de7944c076db179fbecbe55dae57c7cce72cb82060837d6335b703e5",
            "group": "Design and implement authentication and authorization methods",
            "group_number": 12,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "5.1 Authentication, authorization and organizational boundaries",
                "start_line": 513,
                "end_line": 537,
                "span_lf_sha256": "af99a4398e1a90a6259e6c346ae21d3844e3103a3ba19933fd797b3cfb91f2c0"
              }
            ]
          },
          {
            "wording": "Design and implement permissions and roles in GitHub",
            "objective_wording_sha256": "30931d91886cab2538c55f79d58f50fa8999c3708e2620762414a16e28b29720",
            "group": "Design and implement authentication and authorization methods",
            "group_number": 12,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "5.1 Authentication, authorization and organizational boundaries",
                "start_line": 537,
                "end_line": 537,
                "span_lf_sha256": "b21b6cea7343856008f7a47a0ccbb766bb18dd9b901e9b1901d02ec177b8007b"
              }
            ]
          },
          {
            "wording": "Design and implement permissions and security groups in Azure DevOps",
            "objective_wording_sha256": "fb60cd03a8c0bf3ea3728c56a6749e77d46afd43e07b79d50ee6adcf0cbb382e",
            "group": "Design and implement authentication and authorization methods",
            "group_number": 12,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "5.1 Authentication, authorization and organizational boundaries",
                "start_line": 537,
                "end_line": 537,
                "span_lf_sha256": "b21b6cea7343856008f7a47a0ccbb766bb18dd9b901e9b1901d02ec177b8007b"
              }
            ]
          },
          {
            "wording": "Recommend appropriate access levels, including stakeholder access in Azure DevOps and outside collaborator access in GitHub",
            "objective_wording_sha256": "82404fa7300abaf699e6c01de0ca2e4fc75904e1cc157e1fc666335a3cee2625",
            "group": "Design and implement authentication and authorization methods",
            "group_number": 12,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "5.1 Authentication, authorization and organizational boundaries",
                "start_line": 537,
                "end_line": 537,
                "span_lf_sha256": "b21b6cea7343856008f7a47a0ccbb766bb18dd9b901e9b1901d02ec177b8007b"
              }
            ]
          },
          {
            "wording": "Configure projects and teams in Azure DevOps",
            "objective_wording_sha256": "39329e193e35b8050073d4e950c9af4ccf872591042e4d9f2bcb55da555f6274",
            "group": "Design and implement authentication and authorization methods",
            "group_number": 12,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "5.1 Authentication, authorization and organizational boundaries",
                "start_line": 537,
                "end_line": 537,
                "span_lf_sha256": "b21b6cea7343856008f7a47a0ccbb766bb18dd9b901e9b1901d02ec177b8007b"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Implement and manage secrets, keys, and certificates by using Azure Key Vault",
            "objective_wording_sha256": "cd91f7f554807ab33232012f4110da849c636368f1d0a1b9550a8c1b44b54689",
            "group": "Design and implement a strategy for managing sensitive information in automation",
            "group_number": 13,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "5.2 Protect secrets, files and logs",
                "start_line": 539,
                "end_line": 552,
                "span_lf_sha256": "151a3d3a9f5a76e1f974b3e031ea168b8064fb8ecbce38a62e38229a6cd475fd"
              }
            ]
          },
          {
            "wording": "Implement and manage secrets and secretless authentication (for example, workload identity federation/OpenID Connect) in GitHub Actions and Azure Pipelines",
            "objective_wording_sha256": "18b75e2d2a55a13e8321560889f497757843ce0fcf02335915c7472b14d6d0c7",
            "group": "Design and implement a strategy for managing sensitive information in automation",
            "group_number": 13,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "5.1 Authentication, authorization and organizational boundaries",
                "start_line": 527,
                "end_line": 535,
                "span_lf_sha256": "d40a00400ea2dbf0cd097c0af7dbcbf4f8a13786554342182bebff3c18d12178"
              }
            ]
          },
          {
            "wording": "Design and implement a strategy for managing sensitive files during deployment, including Azure Pipelines secure files",
            "objective_wording_sha256": "0b4d50f83538f76e6e6ca09c9c31682583a3c64a9c775a7911cecb10ef5367d6",
            "group": "Design and implement a strategy for managing sensitive information in automation",
            "group_number": 13,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "5.2 Protect secrets, files and logs",
                "start_line": 539,
                "end_line": 552,
                "span_lf_sha256": "151a3d3a9f5a76e1f974b3e031ea168b8064fb8ecbce38a62e38229a6cd475fd"
              }
            ]
          },
          {
            "wording": "Design pipelines to prevent leakage of sensitive information",
            "objective_wording_sha256": "c705fa1469c6b68f891859662ef4fffd0a99a1d679f448f55f6c0aeeebd476bf",
            "group": "Design and implement a strategy for managing sensitive information in automation",
            "group_number": 13,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "5.2 Protect secrets, files and logs",
                "start_line": 539,
                "end_line": 552,
                "span_lf_sha256": "151a3d3a9f5a76e1f974b3e031ea168b8064fb8ecbce38a62e38229a6cd475fd"
              }
            ]
          },
          {
            "wording": "Design a strategy for security and compliance scanning, including dependency, code, secret, and licensing scanning",
            "objective_wording_sha256": "aebba292c53846ace0975e2eddde488ed138cbe2f3e8f29ad336b7cbaf2399c5",
            "group": "Automate security and compliance scanning",
            "group_number": 14,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "5.3 Automate security and compliance scanning",
                "start_line": 554,
                "end_line": 577,
                "span_lf_sha256": "d22dd8b7d7d769cac3937d3114973ad02a286b2af62ed702b84404b7c58e2c22"
              }
            ]
          },
          {
            "wording": "Configure Microsoft Defender for Cloud DevOps Security",
            "objective_wording_sha256": "bd9f45742e211730850798bdbc301f9de6b59c7ebcd5fef19d782a2527c7ae50",
            "group": "Automate security and compliance scanning",
            "group_number": 14,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "5.3 Automate security and compliance scanning",
                "start_line": 571,
                "end_line": 573,
                "span_lf_sha256": "f04d45040c632ed051544bb3cfdd541a0c31ac179a4eddead1994ac10542d56e"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Configure GitHub Advanced Security for GitHub and GitHub Advanced Security for Azure DevOps",
            "objective_wording_sha256": "483dd323e6d3f54c63ef9b815497c70439008589163f6eeb7032d25198ae6710",
            "group": "Automate security and compliance scanning",
            "group_number": 14,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "5.3 Automate security and compliance scanning",
                "start_line": 567,
                "end_line": 577,
                "span_lf_sha256": "ff2f996c360aca5b0dbbc97dd8eeefbfa37f21f202197b087a4d9a8a10b507a1"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Integrate GitHub Advanced Security with Microsoft Defender for Cloud",
            "objective_wording_sha256": "9626f4b3eda86f669bfc10377cb41e914ced32b3865e1895a224c1ca72294ace",
            "group": "Automate security and compliance scanning",
            "group_number": 14,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "5.3 Automate security and compliance scanning",
                "start_line": 571,
                "end_line": 573,
                "span_lf_sha256": "f04d45040c632ed051544bb3cfdd541a0c31ac179a4eddead1994ac10542d56e"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Automate container scanning, including scanning container images and configuring an action to run CodeQL analysis in a container",
            "objective_wording_sha256": "da31ef3c33fb41189698e9554cc42067aecfd5267129dd56f886f6528c7323f0",
            "group": "Automate security and compliance scanning",
            "group_number": 14,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "5.3 Automate security and compliance scanning",
                "start_line": 564,
                "end_line": 569,
                "span_lf_sha256": "5d48847f45cd519696c0eb42975438d187c5e41ac2afcbd59147e3c52e8070e4"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Automate analysis of vulnerabilities of open-source components by using Dependabot alerts",
            "objective_wording_sha256": "1c7688aee2c57e01a59d4f9cf52ddf04b7b9051d760512058d4f788c4b7968ed",
            "group": "Automate security and compliance scanning",
            "group_number": 14,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "5.3 Automate security and compliance scanning",
                "start_line": 567,
                "end_line": 567,
                "span_lf_sha256": "a852305dd98722a27b653760d77ed1d2c81e6938bd4f296ed991a937916c651a"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Configure Azure Monitor and Azure Monitor Logs to integrate with DevOps tools",
            "objective_wording_sha256": "451244fd6748df7b8bc3e3221d98f9d4b9cab803c2bd7061f62e23e42d8f0657",
            "group": "Configure monitoring for a DevOps environment",
            "group_number": 15,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Configure monitoring from code to delivery",
                "start_line": 590,
                "end_line": 605,
                "span_lf_sha256": "b2a343d62fd13d1859cddbebd984dddea575f554387ccbd55d888a6ba5c18709"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Configure collection of telemetry by using Azure Monitor Application Insights, Azure VM Insights, Azure Container Insights, Azure Monitor for Storage, and Azure Monitor for Networks",
            "objective_wording_sha256": "82c51264ac3077b55551f2a340ee8d08b334832412c4c5d9477d623193528bb0",
            "group": "Configure monitoring for a DevOps environment",
            "group_number": 15,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Configure monitoring from code to delivery",
                "start_line": 590,
                "end_line": 605,
                "span_lf_sha256": "b2a343d62fd13d1859cddbebd984dddea575f554387ccbd55d888a6ba5c18709"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Configure monitoring in GitHub, including enabling insights and creating and configuring charts",
            "objective_wording_sha256": "c01f96a70f9d431618755565e0d8baf1ca6842217d308c15d19c1ac694a7aa74",
            "group": "Configure monitoring for a DevOps environment",
            "group_number": 15,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Configure monitoring from code to delivery",
                "start_line": 603,
                "end_line": 605,
                "span_lf_sha256": "c0c6ad1b6321786f69ebc4891877c99e5bd44b3dc273b8396f25fe2fcd673fd5"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Configure alerts for events in GitHub Actions and Azure Pipelines",
            "objective_wording_sha256": "38f526785d12fa8afc4ced2af2a51209ec28c5496b804cade3da0366d79defb1",
            "group": "Configure monitoring for a DevOps environment",
            "group_number": 15,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Configure monitoring from code to delivery",
                "start_line": 603,
                "end_line": 605,
                "span_lf_sha256": "c0c6ad1b6321786f69ebc4891877c99e5bd44b3dc273b8396f25fe2fcd673fd5"
              },
              {
                "heading": "Worked security and monitoring onboarding checklist",
                "start_line": 639,
                "end_line": 647,
                "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
              }
            ]
          },
          {
            "wording": "Inspect infrastructure performance indicators, including CPU, memory, disk, and network",
            "objective_wording_sha256": "e525bf03108888e24a1f8e8ce2d0616aed1fc83e65f1f898e756fa8a746d50be",
            "group": "Analyze metrics from instrumentation",
            "group_number": 16,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Configure monitoring from code to delivery",
                "start_line": 592,
                "end_line": 625,
                "span_lf_sha256": "eab71c3da3ca673498ad67d2f168b63d9d096a906f54fd19e36e75514d196ded"
              }
            ]
          },
          {
            "wording": "Analyze metrics by using collected telemetry, including usage and application performance",
            "objective_wording_sha256": "675ff168584d6401629209fdec23eeccf3ec3fe768f5525ed8545b62260ffa3b",
            "group": "Analyze metrics from instrumentation",
            "group_number": 16,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Analyze evidence",
                "start_line": 607,
                "end_line": 627,
                "span_lf_sha256": "8c218416842f5fa82b4e0b358577904d5fa094e3053b3f3e9cb0f0c37beac328"
              }
            ]
          },
          {
            "wording": "Inspect distributed tracing by using Azure Monitor Application Insights",
            "objective_wording_sha256": "20d70410ec3d2520728c68bfa6d6ba6fad6f2342bf3f2eca49ac3ad0605378f7",
            "group": "Analyze metrics from instrumentation",
            "group_number": 16,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Configure monitoring from code to delivery",
                "start_line": 601,
                "end_line": 625,
                "span_lf_sha256": "2eeb26396e9f3fd17eaf5be90f045a5591ab49fd58ae2d5a7144cf26922b16a3"
              }
            ]
          },
          {
            "wording": "Interrogate logs using basic Kusto Query Language (KQL) queries",
            "objective_wording_sha256": "65048d2961275a1bf9f97ad7556860923970fe33b244185b30b9cf6d77a7fa30",
            "group": "Analyze metrics from instrumentation",
            "group_number": 16,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Analyze evidence",
                "start_line": 607,
                "end_line": 623,
                "span_lf_sha256": "d04af8ad0ed320c442032f776e91acd1d2392ebbd019e7cc0365a315110852c4"
              }
            ]
          }
        ]
      },
      {
        "exam_code": "AZ-700",
        "guide_path": "guides/AZ-700-designing-implementing-azure-networking-solutions.md",
        "guide_lf_sha256": "7b6ee0b5587cfb3e60d8f7989f0ca323957221a34747fccb84b3d08270975287",
        "objective_raw_sha256": "949dcb2d1b4bbde19b6f41b69fdf59cf33b52391d4b8010e2a46d6a0c94a98dd",
        "objective_count": 136,
        "current_mapping": [
          {
            "wording": "Plan and implement network segmentation and address spaces",
            "objective_wording_sha256": "ef5d591c606ad64cf694a58abd93a603e0175456e1cf75f3ca3a2952ee56c9f7",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 80,
                "end_line": 104,
                "span_lf_sha256": "666ecf205def2ab69aa6854dec769072954857667a6410ed960514c2a5b9b344"
              }
            ]
          },
          {
            "wording": "Create a virtual network (VNet)",
            "objective_wording_sha256": "ed2358af1bb76baa8d659249ae7d8cc8dd645a8e9f8605a798f8a77f2d4c11ed",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 80,
                "end_line": 104,
                "span_lf_sha256": "666ecf205def2ab69aa6854dec769072954857667a6410ed960514c2a5b9b344"
              },
              {
                "heading": "Lab 1 — Address plan and subnet constraints",
                "start_line": 645,
                "end_line": 650,
                "span_lf_sha256": "8a3c5e724e476e223ee3a4dcfc8ecf41eedec05f4cec904cc1a0f8a74085685f"
              }
            ]
          },
          {
            "wording": "Plan and configure subnetting for services, including virtual network gateways, private endpoints, service endpoints, firewalls, application gateways, VNet-integrated platform services, and Azure Bastion",
            "objective_wording_sha256": "f4693af3a284dcc92462ea052e20cbc97e2d7e2646119c494c90396c511f952d",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 80,
                "end_line": 104,
                "span_lf_sha256": "666ecf205def2ab69aa6854dec769072954857667a6410ed960514c2a5b9b344"
              }
            ]
          },
          {
            "wording": "Plan and configure subnet delegation",
            "objective_wording_sha256": "78a8bf1914f01bcc935592f8a3a70ffe1768a4f87eaca664c1fd801c9e054db1",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 91,
                "end_line": 100,
                "span_lf_sha256": "2a98ac7c52f186084b6467c195ba0f60b7e286bf9b8d7b84207dc180e06745d7"
              }
            ]
          },
          {
            "wording": "Plan and configure shared or dedicated subnets",
            "objective_wording_sha256": "f6641951dec15eb61781cc40dc0b91e30ebcef8d6d0fab2abe945a524efbcbbb",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 91,
                "end_line": 100,
                "span_lf_sha256": "2a98ac7c52f186084b6467c195ba0f60b7e286bf9b8d7b84207dc180e06745d7"
              }
            ]
          },
          {
            "wording": "Create a Public IP Prefix",
            "objective_wording_sha256": "e35ac05ee6b285702392c5ef416e1d7500c5f10168542d829d0dc03f7e5e69bf",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 102,
                "end_line": 104,
                "span_lf_sha256": "95541d5d94ba62fc33fe53f5ed36e3f90d456ea5c8af956732edac65b312dffb"
              },
              {
                "heading": "Worked public-IP allocation and BYOIP decision",
                "start_line": 106,
                "end_line": 110,
                "span_lf_sha256": "8546c2253666660b074d7b5ac47ddd14f320b47e8b47bc5f9b17e435d4d6125b"
              }
            ]
          },
          {
            "wording": "Choose when to use a public IP address prefix",
            "objective_wording_sha256": "8cedebfb890a1a8002239b75bc29016404724e01fa2a7c77aaf7f05615016c9b",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 102,
                "end_line": 104,
                "span_lf_sha256": "95541d5d94ba62fc33fe53f5ed36e3f90d456ea5c8af956732edac65b312dffb"
              }
            ]
          },
          {
            "wording": "Plan and implement a Custom IP address prefix (bring your own IP)",
            "objective_wording_sha256": "def3265773d8aae55724014a27d8885503e6da3cc8f641bfb613572ade5f94b5",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 102,
                "end_line": 104,
                "span_lf_sha256": "95541d5d94ba62fc33fe53f5ed36e3f90d456ea5c8af956732edac65b312dffb"
              },
              {
                "heading": "Worked public-IP allocation and BYOIP decision",
                "start_line": 106,
                "end_line": 110,
                "span_lf_sha256": "8546c2253666660b074d7b5ac47ddd14f320b47e8b47bc5f9b17e435d4d6125b"
              }
            ]
          },
          {
            "wording": "Create a public IP address",
            "objective_wording_sha256": "f259eadd5adb9f822b044046b28ab6be41f1f95a12294633a254d0183abcf3ba",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 102,
                "end_line": 104,
                "span_lf_sha256": "95541d5d94ba62fc33fe53f5ed36e3f90d456ea5c8af956732edac65b312dffb"
              },
              {
                "heading": "Worked public-IP allocation and BYOIP decision",
                "start_line": 106,
                "end_line": 110,
                "span_lf_sha256": "8546c2253666660b074d7b5ac47ddd14f320b47e8b47bc5f9b17e435d4d6125b"
              }
            ]
          },
          {
            "wording": "Associate public IP addresses to resources",
            "objective_wording_sha256": "97f34b3316f8b96e25b4342fbe59acd260e22c7064ab26bbacf012f52327e941",
            "group": "Design and implement IP addressing for Azure resources",
            "group_number": 1,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "IP addressing and segmentation",
                "start_line": 102,
                "end_line": 104,
                "span_lf_sha256": "95541d5d94ba62fc33fe53f5ed36e3f90d456ea5c8af956732edac65b312dffb"
              },
              {
                "heading": "Worked public-IP allocation and BYOIP decision",
                "start_line": 106,
                "end_line": 110,
                "span_lf_sha256": "8546c2253666660b074d7b5ac47ddd14f320b47e8b47bc5f9b17e435d4d6125b"
              }
            ]
          },
          {
            "wording": "Design name resolution inside a VNet",
            "objective_wording_sha256": "7a8881d7270372fbf32cd81363072251a668940a0361bc6b24c52c6c92110dd9",
            "group": "Design and implement name resolution",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Name resolution",
                "start_line": 112,
                "end_line": 137,
                "span_lf_sha256": "0ab2877c2db5887d22a47f4d51d43e7c68a771d86db18715ab7be0a3b6b57e9f"
              }
            ]
          },
          {
            "wording": "Configure DNS settings for a VNet",
            "objective_wording_sha256": "d9cc0185e728828f99c19bc55903295a33d53fd044190e8562dbdbe71fb59f9d",
            "group": "Design and implement name resolution",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Name resolution",
                "start_line": 112,
                "end_line": 127,
                "span_lf_sha256": "c8071b0d2dc8d817fe1693543977eb888c9a369019f7819853b5c76f308cc8bb"
              }
            ]
          },
          {
            "wording": "Design public DNS zones",
            "objective_wording_sha256": "2ca5fbac4151db20b326a062addd70d3defecf792e45622e752a4c23edec959e",
            "group": "Design and implement name resolution",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Name resolution",
                "start_line": 112,
                "end_line": 127,
                "span_lf_sha256": "c8071b0d2dc8d817fe1693543977eb888c9a369019f7819853b5c76f308cc8bb"
              }
            ]
          },
          {
            "wording": "Design private DNS zones",
            "objective_wording_sha256": "dcd0598130b0a3e5f95ba3d79d58c02978bd7a3ed71233f61de84b1dae7227c5",
            "group": "Design and implement name resolution",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Name resolution",
                "start_line": 112,
                "end_line": 137,
                "span_lf_sha256": "0ab2877c2db5887d22a47f4d51d43e7c68a771d86db18715ab7be0a3b6b57e9f"
              }
            ]
          },
          {
            "wording": "Configure public and private DNS zones",
            "objective_wording_sha256": "d78e180243568377c689368976ce0855f8c7a08dc58f064d47bc10618c0ca291",
            "group": "Design and implement name resolution",
            "group_number": 2,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Name resolution",
                "start_line": 112,
                "end_line": 137,
                "span_lf_sha256": "0ab2877c2db5887d22a47f4d51d43e7c68a771d86db18715ab7be0a3b6b57e9f"
              }
            ]
          },
          {
            "wording": "Link a private DNS zone to a VNet",
            "objective_wording_sha256": "55b9dab6b4ae6dc43781fd1b62eebf01d4529d184a34edf6ceb785356c5473c2",
            "group": "Design and implement name resolution",
            "group_number": 2,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Name resolution",
                "start_line": 112,
                "end_line": 137,
                "span_lf_sha256": "0ab2877c2db5887d22a47f4d51d43e7c68a771d86db18715ab7be0a3b6b57e9f"
              },
              {
                "heading": "Lab 2 — Hybrid private DNS",
                "start_line": 652,
                "end_line": 657,
                "span_lf_sha256": "098b7364363b8b877f84b975bf05f2c21e47ef8881fc17067df439de22625573"
              }
            ]
          },
          {
            "wording": "Design and implement Azure DNS Private Resolver",
            "objective_wording_sha256": "7f12139b0a96c12c9717ba08e6a9bc070730bc1d1171ff77363b2f332bdbc0be",
            "group": "Design and implement name resolution",
            "group_number": 2,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Name resolution",
                "start_line": 112,
                "end_line": 137,
                "span_lf_sha256": "0ab2877c2db5887d22a47f4d51d43e7c68a771d86db18715ab7be0a3b6b57e9f"
              },
              {
                "heading": "Lab 2 — Hybrid private DNS",
                "start_line": 652,
                "end_line": 657,
                "span_lf_sha256": "098b7364363b8b877f84b975bf05f2c21e47ef8881fc17067df439de22625573"
              }
            ]
          },
          {
            "wording": "Design service chaining, including gateway transit",
            "objective_wording_sha256": "b98026c01b0b52eb326273b45210e24d6d82475030e6c0697dc51a542a5983ab",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "VNet connectivity, routing and egress",
                "start_line": 139,
                "end_line": 161,
                "span_lf_sha256": "a4b4390f83d366e9d87dc24917e710519b53d9aa3d0657105879a0252851b85f"
              }
            ]
          },
          {
            "wording": "Implement VNet peering",
            "objective_wording_sha256": "7df8b96643caf659f80722634cf555e6f734e2963f41ab50dd42ca710faaddaf",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Peering and gateway transit",
                "start_line": 141,
                "end_line": 147,
                "span_lf_sha256": "e46ecbb5aaab950977f15e1de29e9be042729ebe6cb46547f02a29e587b5d611"
              },
              {
                "heading": "Lab 3 — Hub-spoke routing and NAT",
                "start_line": 659,
                "end_line": 665,
                "span_lf_sha256": "d5bdf5e96d8e2e7e00d7b2f2af04431474bbe0a3747059c2e1edc6b9aa19b35b"
              }
            ]
          },
          {
            "wording": "Implement and manage virtual network connectivity by using Azure Virtual Network Manager",
            "objective_wording_sha256": "9ee77e62696851c16127be9cf3244ec852d9f98138f0257e2cf85946a61f1703",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Peering and gateway transit",
                "start_line": 147,
                "end_line": 147,
                "span_lf_sha256": "bdcdf2ed0b083d8a73f0c919537cf53bd585d47d15b4a5c484adcc33e8e4864d"
              },
              {
                "heading": "Worked Route Server and network-policy deployment",
                "start_line": 184,
                "end_line": 188,
                "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
              }
            ]
          },
          {
            "wording": "Design and implement user-defined routes (UDRs)",
            "objective_wording_sha256": "1db972ae243d2e03f288de26ff355b94f95ec609e28f746b114ab440c0b4e6df",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Route selection",
                "start_line": 149,
                "end_line": 161,
                "span_lf_sha256": "50c707ba6b258a9df1a137caab52008d243ba184acddde19309ac9031c89aee2"
              },
              {
                "heading": "Worked example 2 — route source cannot beat every prefix",
                "start_line": 608,
                "end_line": 610,
                "span_lf_sha256": "85d28ec3a008f74cfa82e05867eb829897d89753bef7ce7a6236244baa87d1c5"
              }
            ]
          },
          {
            "wording": "Associate a route table with a subnet",
            "objective_wording_sha256": "3c590095056ea7d9c6d51702e972f943d01ca35360cfb3e0f3e5958722f17a0b",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Route selection",
                "start_line": 149,
                "end_line": 161,
                "span_lf_sha256": "50c707ba6b258a9df1a137caab52008d243ba184acddde19309ac9031c89aee2"
              },
              {
                "heading": "Lab 3 — Hub-spoke routing and NAT",
                "start_line": 659,
                "end_line": 665,
                "span_lf_sha256": "d5bdf5e96d8e2e7e00d7b2f2af04431474bbe0a3747059c2e1edc6b9aa19b35b"
              }
            ]
          },
          {
            "wording": "Configure forced tunneling",
            "objective_wording_sha256": "dc2581104caeaad932f406f626b12c2f3600cf0c1c80971ede7ed98b50d0bc46",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Route selection",
                "start_line": 149,
                "end_line": 161,
                "span_lf_sha256": "50c707ba6b258a9df1a137caab52008d243ba184acddde19309ac9031c89aee2"
              }
            ]
          },
          {
            "wording": "Diagnose and resolve routing issues",
            "objective_wording_sha256": "896e649ae0ae4304bef3147a435d8693a8632316c9ab82363e8fc16bdfb4713b",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Route selection",
                "start_line": 149,
                "end_line": 161,
                "span_lf_sha256": "50c707ba6b258a9df1a137caab52008d243ba184acddde19309ac9031c89aee2"
              },
              {
                "heading": "Worked example 2 — route source cannot beat every prefix",
                "start_line": 608,
                "end_line": 610,
                "span_lf_sha256": "85d28ec3a008f74cfa82e05867eb829897d89753bef7ce7a6236244baa87d1c5"
              }
            ]
          },
          {
            "wording": "Design and implement Azure Route Server",
            "objective_wording_sha256": "aa01b0014c5bfdc25a3d04ef8a0a3e0ed24a19c8daa16d5fd3c391c6a56bb92c",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Route selection",
                "start_line": 163,
                "end_line": 163,
                "span_lf_sha256": "5d19c5768038e5263b9f53b80af1fbeabf613f12be06d14839814c5886c7d5f0"
              },
              {
                "heading": "Worked Route Server and network-policy deployment",
                "start_line": 184,
                "end_line": 188,
                "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
              }
            ]
          },
          {
            "wording": "Identify appropriate use cases for Azure NAT Gateway",
            "objective_wording_sha256": "844ef724d61dec0bab7ed8ff2bc24745769762bac9afc154909a90c68bb7835b",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Route selection",
                "start_line": 165,
                "end_line": 182,
                "span_lf_sha256": "a5ad8e130283d244c78f85d358eea7ce6a46fc7a2b78d531ded914aef3cff6a2"
              }
            ]
          },
          {
            "wording": "Implement Azure NAT Gateway",
            "objective_wording_sha256": "17347d161916d4331783bddb0072e1a53e827414007e63a67595636e78ff0158",
            "group": "Design and implement VNet connectivity and routing",
            "group_number": 3,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "Route selection",
                "start_line": 165,
                "end_line": 182,
                "span_lf_sha256": "a5ad8e130283d244c78f85d358eea7ce6a46fc7a2b78d531ded914aef3cff6a2"
              },
              {
                "heading": "Lab 3 — Hub-spoke routing and NAT",
                "start_line": 659,
                "end_line": 665,
                "span_lf_sha256": "d5bdf5e96d8e2e7e00d7b2f2af04431474bbe0a3747059c2e1edc6b9aa19b35b"
              }
            ]
          },
          {
            "wording": "Configure monitoring, network diagnostics, and logs in Azure Network Watcher",
            "objective_wording_sha256": "1ebfa3fe7eefe03d3db907ab9a6c340e093b11aa2a9fbd0d7f900cb69273547d",
            "group": "Monitor networks",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 190,
                "end_line": 207,
                "span_lf_sha256": "3dcc3349abcc2a1084d3214729864a37d614b10b976132aade235d75944298b2"
              },
              {
                "heading": "Lab 7 — NSG, flow log and Network Watcher evidence",
                "start_line": 694,
                "end_line": 700,
                "span_lf_sha256": "d1909611f7ef15c4d3ccf34f5f25faad1335923db78f0422652e9cecef2c7baf"
              }
            ]
          },
          {
            "wording": "Monitor and troubleshoot network health by using Azure Network Watcher",
            "objective_wording_sha256": "cc5a5561e7d3ea66afde9b880c5ebd17def2078487008c44efe0346fef70ccde",
            "group": "Monitor networks",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 190,
                "end_line": 207,
                "span_lf_sha256": "3dcc3349abcc2a1084d3214729864a37d614b10b976132aade235d75944298b2"
              },
              {
                "heading": "Lab 7 — NSG, flow log and Network Watcher evidence",
                "start_line": 694,
                "end_line": 700,
                "span_lf_sha256": "d1909611f7ef15c4d3ccf34f5f25faad1335923db78f0422652e9cecef2c7baf"
              }
            ]
          },
          {
            "wording": "Monitor and troubleshoot networks by using Azure Monitor for Networks",
            "objective_wording_sha256": "4ba1ee851abbc1f82e24e4fdda2c166c0124227fb64a3e635e8d76a0b4dbe833",
            "group": "Monitor networks",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 190,
                "end_line": 207,
                "span_lf_sha256": "3dcc3349abcc2a1084d3214729864a37d614b10b976132aade235d75944298b2"
              },
              {
                "heading": "Worked network posture and monitoring triage",
                "start_line": 209,
                "end_line": 215,
                "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
              }
            ]
          },
          {
            "wording": "Activate and monitor distributed denial-of-service (DDoS) protection",
            "objective_wording_sha256": "af0b2a3a608f1cd9a9b9571969a88bffbaea491a9a0229dc5bb2ed5b08b4729c",
            "group": "Monitor networks",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 207,
                "end_line": 207,
                "span_lf_sha256": "122912b660551bbc26e7b7d3e0785a1f16dd028d65bbce933f4ee73a5463793b"
              },
              {
                "heading": "Worked network posture and monitoring triage",
                "start_line": 209,
                "end_line": 215,
                "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
              }
            ]
          },
          {
            "wording": "Evaluate network security recommendations identified by Microsoft Defender for Cloud Secure Score",
            "objective_wording_sha256": "d143f5d249fcc0d73eac804bfd36a06fa3e5bd86149c39f41a5ae6beb456ecd0",
            "group": "Monitor networks",
            "group_number": 4,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 207,
                "end_line": 207,
                "span_lf_sha256": "122912b660551bbc26e7b7d3e0785a1f16dd028d65bbce933f4ee73a5463793b"
              },
              {
                "heading": "Worked network posture and monitoring triage",
                "start_line": 209,
                "end_line": 215,
                "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
              }
            ]
          },
          {
            "wording": "Evaluate network security recommendations identified by Microsoft Defender for Cloud attack path analysis",
            "objective_wording_sha256": "10b3d8a4aae4322ff4b686d5adb0ed7065194d6ff531d39327c03ad052e2012b",
            "group": "Monitor networks",
            "group_number": 4,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 207,
                "end_line": 207,
                "span_lf_sha256": "122912b660551bbc26e7b7d3e0785a1f16dd028d65bbce933f4ee73a5463793b"
              },
              {
                "heading": "Worked network posture and monitoring triage",
                "start_line": 209,
                "end_line": 215,
                "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
              }
            ]
          },
          {
            "wording": "Identify network resources by using Cloud Security Explorer in Microsoft Defender for Cloud",
            "objective_wording_sha256": "ee0dc4568a66d6c2a6eb10924b61b23a060ebf6aede199a6881f976e6fdbca26",
            "group": "Monitor networks",
            "group_number": 4,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 207,
                "end_line": 207,
                "span_lf_sha256": "122912b660551bbc26e7b7d3e0785a1f16dd028d65bbce933f4ee73a5463793b"
              },
              {
                "heading": "Worked network posture and monitoring triage",
                "start_line": 209,
                "end_line": 215,
                "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
              }
            ]
          },
          {
            "wording": "Design a site-to-site VPN connection, including for high availability",
            "objective_wording_sha256": "e1833375d128285e2233a70e82a2e45987e5f7193424ebce3cc2162a9e315caf",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Site-to-site VPN",
                "start_line": 231,
                "end_line": 252,
                "span_lf_sha256": "19612c08ffef9a80ffcaf6d678eeb9f9dc2bda8539eea4dc56189c86242302d3"
              }
            ]
          },
          {
            "wording": "Select an appropriate virtual network gateway stock-keeping unit (SKU) for site-to-site VPN requirements",
            "objective_wording_sha256": "0fdf1964d52664a5fd5c1585d634ce1bbaf383e56a75dae2b40b838c7853d711",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Site-to-site VPN",
                "start_line": 231,
                "end_line": 252,
                "span_lf_sha256": "19612c08ffef9a80ffcaf6d678eeb9f9dc2bda8539eea4dc56189c86242302d3"
              }
            ]
          },
          {
            "wording": "Implement a site-to-site VPN connection",
            "objective_wording_sha256": "26b7a4ef393f816927ba41a0498f509ec0cecf80e603f9f8a4eccac869e1bb04",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Site-to-site VPN",
                "start_line": 231,
                "end_line": 246,
                "span_lf_sha256": "e30cceb241ef73443aec245dbfc4cb214cd04a048a154d27a3db1acd1543dbd0"
              },
              {
                "heading": "Lab 4 — VPN design and troubleshooting",
                "start_line": 667,
                "end_line": 676,
                "span_lf_sha256": "001b2748455ecf1f967876600ff5ff979b7f7a6487d61161f63eb5a11f835acd"
              }
            ]
          },
          {
            "wording": "Identify when to use a policy-based VPN versus a route-based VPN connection",
            "objective_wording_sha256": "1a8634ead2b5fc3a903139ded9618632ae9b0ea6b30b8e6f49d50c1fcf6b7544",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Site-to-site VPN",
                "start_line": 231,
                "end_line": 246,
                "span_lf_sha256": "e30cceb241ef73443aec245dbfc4cb214cd04a048a154d27a3db1acd1543dbd0"
              }
            ]
          },
          {
            "wording": "Create and configure a local network gateway",
            "objective_wording_sha256": "72d3d65c400119449cbe0ed1691dbd36524ef3735ee437d934f69472bb633ad0",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Site-to-site VPN",
                "start_line": 233,
                "end_line": 246,
                "span_lf_sha256": "6c959411cf33e06b6dff50aaf7ee898ec2958451b380215ea8517317d6b735b0"
              }
            ]
          },
          {
            "wording": "Create and configure an IPsec/Internet Key Exchange (IKE) policy",
            "objective_wording_sha256": "3e53e17e4eb7cedf3cf08ba0d70585f60b4d45d263956dab5cde01775d80234d",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Site-to-site VPN",
                "start_line": 233,
                "end_line": 246,
                "span_lf_sha256": "6c959411cf33e06b6dff50aaf7ee898ec2958451b380215ea8517317d6b735b0"
              }
            ]
          },
          {
            "wording": "Create and configure a virtual network gateway",
            "objective_wording_sha256": "e24af8dd2076853d8399d716c72b23efe0c228468a0253ab8622dfd23a659feb",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Site-to-site VPN",
                "start_line": 233,
                "end_line": 246,
                "span_lf_sha256": "6c959411cf33e06b6dff50aaf7ee898ec2958451b380215ea8517317d6b735b0"
              }
            ]
          },
          {
            "wording": "Diagnose and resolve virtual network gateway connectivity issues",
            "objective_wording_sha256": "529c94a9f17ccc41650f8d89d885a4a711ca273956ebdd3d85bac5af568674fd",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Site-to-site VPN",
                "start_line": 233,
                "end_line": 246,
                "span_lf_sha256": "6c959411cf33e06b6dff50aaf7ee898ec2958451b380215ea8517317d6b735b0"
              },
              {
                "heading": "Lab 4 — VPN design and troubleshooting",
                "start_line": 667,
                "end_line": 676,
                "span_lf_sha256": "001b2748455ecf1f967876600ff5ff979b7f7a6487d61161f63eb5a11f835acd"
              }
            ]
          },
          {
            "wording": "Implement Azure Extended Network",
            "objective_wording_sha256": "da53fe24d7fe2564f9fa2aa4f5d89d8b1e624c05d25dab83c7ad12acfb88cba2",
            "group": "Design, implement, and manage a site-to-site VPN connection",
            "group_number": 5,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Azure Extended Network",
                "start_line": 254,
                "end_line": 268,
                "span_lf_sha256": "e74c31e987506bcad3271ce57896e0ed70a925b3bbaa5fe0f36a27038252431e"
              }
            ]
          },
          {
            "wording": "Select an appropriate virtual network gateway SKU for point-to-site VPN requirements",
            "objective_wording_sha256": "285597b530dc7ed590e8cd715f27b93d0a14494cc0e3cb84c89ce1c5a76cc9b4",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Point-to-site VPN",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "c5d04d18df889931fea68dab635f4e009006bb53cdcdc0a8f34ff6efa2f2f63b"
              }
            ]
          },
          {
            "wording": "Select and configure a tunnel type",
            "objective_wording_sha256": "ff743a48afbd175f9301fca66acd8f04dc8e560db29c649542da0ff9e26a668c",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Point-to-site VPN",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "c5d04d18df889931fea68dab635f4e009006bb53cdcdc0a8f34ff6efa2f2f63b"
              }
            ]
          },
          {
            "wording": "Select an appropriate authentication method",
            "objective_wording_sha256": "bddc9752d29def4c7ebbed1aa3bd6d3b982d08918c671b4bd7190c923e4d018e",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Point-to-site VPN",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "c5d04d18df889931fea68dab635f4e009006bb53cdcdc0a8f34ff6efa2f2f63b"
              }
            ]
          },
          {
            "wording": "Configure RADIUS authentication",
            "objective_wording_sha256": "5b9000f2ee9168045baf547c74d16f0a23c0dd8d4fc61d40377c189246b1b444",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Point-to-site VPN",
                "start_line": 270,
                "end_line": 280,
                "span_lf_sha256": "2eb3a57468329c428299088cf2e34b60d0398a7ddb0c552bc9cf90ccff6a4a90"
              },
              {
                "heading": "Worked P2S authentication and profile acceptance",
                "start_line": 288,
                "end_line": 292,
                "span_lf_sha256": "db01b43d4b25ee78ec7ee1af2b761c1b8e2a40aea61ee628284b80aeec905195"
              }
            ]
          },
          {
            "wording": "Configure authentication by using Microsoft Entra ID",
            "objective_wording_sha256": "5a13f2cef55fda1ccad727d3582d9684526aa82f730536fd75953a13329231e7",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Point-to-site VPN",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "c5d04d18df889931fea68dab635f4e009006bb53cdcdc0a8f34ff6efa2f2f63b"
              },
              {
                "heading": "Worked P2S authentication and profile acceptance",
                "start_line": 288,
                "end_line": 292,
                "span_lf_sha256": "db01b43d4b25ee78ec7ee1af2b761c1b8e2a40aea61ee628284b80aeec905195"
              }
            ]
          },
          {
            "wording": "Implement a VPN client configuration file",
            "objective_wording_sha256": "fdddedc93f451d75c85e93b9e7148e133231407df141f9322b88ccee1076e7dc",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Point-to-site VPN",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "c5d04d18df889931fea68dab635f4e009006bb53cdcdc0a8f34ff6efa2f2f63b"
              },
              {
                "heading": "Worked P2S authentication and profile acceptance",
                "start_line": 288,
                "end_line": 292,
                "span_lf_sha256": "db01b43d4b25ee78ec7ee1af2b761c1b8e2a40aea61ee628284b80aeec905195"
              }
            ]
          },
          {
            "wording": "Diagnose and resolve client-side and authentication issues",
            "objective_wording_sha256": "38c0f89c41042298e1227ecbf469c2a753147df1079f12554513614ed58bec17",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Point-to-site VPN",
                "start_line": 270,
                "end_line": 286,
                "span_lf_sha256": "c5d04d18df889931fea68dab635f4e009006bb53cdcdc0a8f34ff6efa2f2f63b"
              }
            ]
          },
          {
            "wording": "Specify Azure requirements for Always On VPN",
            "objective_wording_sha256": "38e87d8d48cb8ef9c0954a4ec8823988d424c8ea1260ba78afee04de8965fe36",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Always On device tunnel versus Entra user authentication",
                "start_line": 282,
                "end_line": 286,
                "span_lf_sha256": "e7d411f2f83a41739ea1bccb4f83a86d998bb00ddd597b20daa5f7f8ae0c00bf"
              }
            ]
          },
          {
            "wording": "Specify Azure requirements for Azure Network Adapter",
            "objective_wording_sha256": "aa7321c205295fd979206932aa0466d688928f34f3c42c2b1f16bf026c3d3ca0",
            "group": "Design, implement, and manage a point-to-site VPN connection",
            "group_number": 6,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Azure Network Adapter requirements",
                "start_line": 294,
                "end_line": 300,
                "span_lf_sha256": "1b416929cbe907c7b5dd64725e55a6bcc3b5aa995e5780229299303ea6182443"
              }
            ]
          },
          {
            "wording": "Select an ExpressRoute connectivity model",
            "objective_wording_sha256": "76c99f28815cbcc1ed640c52c23245007133c7ac10421bb56960bbb9d9548e36",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 302,
                "end_line": 325,
                "span_lf_sha256": "336ce678138cd213f144f59534e15a7e7450791e84707ef55011f4f07e9b7975"
              }
            ]
          },
          {
            "wording": "Select an appropriate ExpressRoute SKU and tier",
            "objective_wording_sha256": "e681beeeaf78277ecdc1a0b4920594b9563e78b8e7e3da65d8083644fa20f2c4",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 302,
                "end_line": 325,
                "span_lf_sha256": "336ce678138cd213f144f59534e15a7e7450791e84707ef55011f4f07e9b7975"
              }
            ]
          },
          {
            "wording": "Design and implement ExpressRoute to meet requirements, including cross-region connectivity, redundancy, and disaster recovery",
            "objective_wording_sha256": "c1289041af91a1bbdc2fa1c67ef7d78fecea219f1e1b72121e9f1f1cf09d4969",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 302,
                "end_line": 325,
                "span_lf_sha256": "336ce678138cd213f144f59534e15a7e7450791e84707ef55011f4f07e9b7975"
              }
            ]
          },
          {
            "wording": "Design and implement ExpressRoute options, including Global Reach, FastPath, and ExpressRoute Direct",
            "objective_wording_sha256": "c8bcf7ec218702fc48f7ad26b81917930f1cf8b14d04bb038d84fc726caa22d1",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 302,
                "end_line": 325,
                "span_lf_sha256": "336ce678138cd213f144f59534e15a7e7450791e84707ef55011f4f07e9b7975"
              }
            ]
          },
          {
            "wording": "Choose between Azure private peering only, Microsoft peering only, or both",
            "objective_wording_sha256": "6c505651637b8d8dd7885c5dffbfd55312bb7502dcbecac56e61e258825896e2",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 306,
                "end_line": 319,
                "span_lf_sha256": "4e930d7054edc9e5df26fd68a1452adc8f7aad0a767d69cacfb4459df1a3f365"
              }
            ]
          },
          {
            "wording": "Configure Azure private peering",
            "objective_wording_sha256": "4c7f3e1d2d0ee46cb5d9e3055f8af916019164d9a058146cc11ef04404a40fb6",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 306,
                "end_line": 319,
                "span_lf_sha256": "4e930d7054edc9e5df26fd68a1452adc8f7aad0a767d69cacfb4459df1a3f365"
              },
              {
                "heading": "Worked ExpressRoute peering, detection and recovery",
                "start_line": 327,
                "end_line": 333,
                "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
              }
            ]
          },
          {
            "wording": "Configure Microsoft peering",
            "objective_wording_sha256": "1e2a0663048d199d23ccf3e131ed21ded64aa22272c57d8ab5cc1da94c1cdb86",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 306,
                "end_line": 319,
                "span_lf_sha256": "4e930d7054edc9e5df26fd68a1452adc8f7aad0a767d69cacfb4459df1a3f365"
              },
              {
                "heading": "Worked ExpressRoute peering, detection and recovery",
                "start_line": 327,
                "end_line": 333,
                "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
              }
            ]
          },
          {
            "wording": "Create and configure an ExpressRoute gateway",
            "objective_wording_sha256": "475125bc12bd93eed3cd39dff28873341d3ae2c06f0e91612de7657249f6ec09",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 302,
                "end_line": 325,
                "span_lf_sha256": "336ce678138cd213f144f59534e15a7e7450791e84707ef55011f4f07e9b7975"
              },
              {
                "heading": "Worked ExpressRoute peering, detection and recovery",
                "start_line": 327,
                "end_line": 333,
                "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
              }
            ]
          },
          {
            "wording": "Connect a virtual network to an ExpressRoute circuit",
            "objective_wording_sha256": "0fc3ae7c752478314c750232b0031acf7c90050af0ae3b59791520a0d3d8c898",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 302,
                "end_line": 325,
                "span_lf_sha256": "336ce678138cd213f144f59534e15a7e7450791e84707ef55011f4f07e9b7975"
              },
              {
                "heading": "Worked ExpressRoute peering, detection and recovery",
                "start_line": 327,
                "end_line": 333,
                "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
              }
            ]
          },
          {
            "wording": "Recommend a route advertisement configuration",
            "objective_wording_sha256": "8e5591eeee951b40403dde130d741352e45012830d602911e5878c9088cf6a94",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 317,
                "end_line": 325,
                "span_lf_sha256": "dc120b231ea84f440dcf06fef9e6e44165d395824ffb3ab730948baca74845bb"
              }
            ]
          },
          {
            "wording": "Configure encryption over ExpressRoute",
            "objective_wording_sha256": "494f533e0bb519323e3d0de2f2deb105d519b43ef4216e907ca84abf5fce18e4",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 11,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 304,
                "end_line": 321,
                "span_lf_sha256": "00ed3bb987d59bfab8c4fb4d686eea69da2eadaf60f3cbc4684cf86ed6378e85"
              },
              {
                "heading": "Worked ExpressRoute peering, detection and recovery",
                "start_line": 327,
                "end_line": 333,
                "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
              }
            ]
          },
          {
            "wording": "Implement Bidirectional Forwarding Detection",
            "objective_wording_sha256": "3e170552c1978922d7a5d30d105a7c054ba06cb63e7b6a86cf10408127129fc1",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 12,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 315,
                "end_line": 319,
                "span_lf_sha256": "f995c65536f79a7c4ea586fb4450e9fabf49cd926ddb846353679d2c82904266"
              },
              {
                "heading": "Worked ExpressRoute peering, detection and recovery",
                "start_line": 327,
                "end_line": 333,
                "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
              }
            ]
          },
          {
            "wording": "Diagnose and resolve ExpressRoute connection issues",
            "objective_wording_sha256": "073746e253032a63e2488aefa93d457583a3373ee71a7e70ce2772b058f35847",
            "group": "Design, implement, and manage Azure ExpressRoute",
            "group_number": 7,
            "objective_number": 13,
            "evidence_spans": [
              {
                "heading": "ExpressRoute",
                "start_line": 317,
                "end_line": 325,
                "span_lf_sha256": "dc120b231ea84f440dcf06fef9e6e44165d395824ffb3ab730948baca74845bb"
              },
              {
                "heading": "Worked ExpressRoute peering, detection and recovery",
                "start_line": 327,
                "end_line": 333,
                "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
              }
            ]
          },
          {
            "wording": "Select a Virtual WAN SKU",
            "objective_wording_sha256": "85e8f841bc91190690fa1f9c68436e8d4d6c4515fb4bd0a8edd485d400f80be0",
            "group": "Design and implement an Azure Virtual WAN architecture",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Azure Virtual WAN",
                "start_line": 335,
                "end_line": 349,
                "span_lf_sha256": "2f1c64769dd844e027a7ecc5f484948e45f7158754c98525aa680052c8da068d"
              },
              {
                "heading": "Worked Virtual WAN hub, scale and security deployment",
                "start_line": 351,
                "end_line": 357,
                "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
              }
            ]
          },
          {
            "wording": "Design a Virtual WAN architecture, including selecting types and services",
            "objective_wording_sha256": "b1cd41b0178469e2695647d5b0afd9909633d711b15d16305e0a866a817b5f23",
            "group": "Design and implement an Azure Virtual WAN architecture",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Azure Virtual WAN",
                "start_line": 335,
                "end_line": 349,
                "span_lf_sha256": "2f1c64769dd844e027a7ecc5f484948e45f7158754c98525aa680052c8da068d"
              }
            ]
          },
          {
            "wording": "Create a virtual hub in Virtual WAN",
            "objective_wording_sha256": "91f71f184a6190a1c77fb8a37893c5d172a74b2adb8e683ac5429086076d9b4b",
            "group": "Design and implement an Azure Virtual WAN architecture",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Azure Virtual WAN",
                "start_line": 335,
                "end_line": 349,
                "span_lf_sha256": "2f1c64769dd844e027a7ecc5f484948e45f7158754c98525aa680052c8da068d"
              },
              {
                "heading": "Worked Virtual WAN hub, scale and security deployment",
                "start_line": 351,
                "end_line": 357,
                "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
              }
            ]
          },
          {
            "wording": "Choose an appropriate scale unit for each gateway type",
            "objective_wording_sha256": "8b583e9f2810005358e2f8d2f6a54c69baf5e0da0fb120fe822058413405b554",
            "group": "Design and implement an Azure Virtual WAN architecture",
            "group_number": 8,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Azure Virtual WAN",
                "start_line": 335,
                "end_line": 349,
                "span_lf_sha256": "2f1c64769dd844e027a7ecc5f484948e45f7158754c98525aa680052c8da068d"
              },
              {
                "heading": "Worked Virtual WAN hub, scale and security deployment",
                "start_line": 351,
                "end_line": 357,
                "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
              }
            ]
          },
          {
            "wording": "Deploy a gateway into a virtual hub",
            "objective_wording_sha256": "fd0a323ff1abb784c3f749871409227fc0573cc5e0398280830d4eb60c01ea3e",
            "group": "Design and implement an Azure Virtual WAN architecture",
            "group_number": 8,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Azure Virtual WAN",
                "start_line": 335,
                "end_line": 349,
                "span_lf_sha256": "2f1c64769dd844e027a7ecc5f484948e45f7158754c98525aa680052c8da068d"
              },
              {
                "heading": "Worked Virtual WAN hub, scale and security deployment",
                "start_line": 351,
                "end_line": 357,
                "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
              }
            ]
          },
          {
            "wording": "Configure virtual hub routing",
            "objective_wording_sha256": "8e91c7c39dee6bf72f9ce75d77a5dbc2a1fbb976bcc7b8ace9ab48e5138ea179",
            "group": "Design and implement an Azure Virtual WAN architecture",
            "group_number": 8,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Azure Virtual WAN",
                "start_line": 335,
                "end_line": 349,
                "span_lf_sha256": "2f1c64769dd844e027a7ecc5f484948e45f7158754c98525aa680052c8da068d"
              },
              {
                "heading": "Domain failure modes",
                "start_line": 371,
                "end_line": 371,
                "span_lf_sha256": "80e6026df749a0fcbf9fd1e08030c4ca2859aef55ccd87ed502031f2ab18a75d"
              }
            ]
          },
          {
            "wording": "Integrate a virtual hub with a third-party NVA for cloud connectivity",
            "objective_wording_sha256": "3ef5ca4f8908f3b324c240037bbbacdcbebe30d96d355d2bf0722344367e3aef",
            "group": "Design and implement an Azure Virtual WAN architecture",
            "group_number": 8,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Azure Virtual WAN",
                "start_line": 335,
                "end_line": 349,
                "span_lf_sha256": "2f1c64769dd844e027a7ecc5f484948e45f7158754c98525aa680052c8da068d"
              },
              {
                "heading": "Worked Virtual WAN hub, scale and security deployment",
                "start_line": 351,
                "end_line": 357,
                "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
              }
            ]
          },
          {
            "wording": "Map requirements to features and capabilities of Azure Load Balancer",
            "objective_wording_sha256": "9ea35b98f73fd2ef9b55ec3cb12a577362b3162b9da1210f9da1b169ed197c29",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Design and implement application delivery services (15–20%)",
                "start_line": 373,
                "end_line": 385,
                "span_lf_sha256": "210fbc20bcf073d2691fe8f0506ced0c49e5a2c158a25af2c75fe3a54d8426f9"
              }
            ]
          },
          {
            "wording": "Identify appropriate use cases for Azure Load Balancer",
            "objective_wording_sha256": "42dc47371d4c77e93607f5e0940fa1ee12e6f1095d4f09cc3ac3e78e053e9a40",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Design and implement application delivery services (15–20%)",
                "start_line": 373,
                "end_line": 385,
                "span_lf_sha256": "210fbc20bcf073d2691fe8f0506ced0c49e5a2c158a25af2c75fe3a54d8426f9"
              }
            ]
          },
          {
            "wording": "Choose an Azure Load Balancer SKU and tier",
            "objective_wording_sha256": "9b7555e3b51747364fe637d069e02836adfcc2e1c7b4826169ee58f94c214269",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4. Design and implement application delivery services (15–20%)",
                "start_line": 373,
                "end_line": 385,
                "span_lf_sha256": "210fbc20bcf073d2691fe8f0506ced0c49e5a2c158a25af2c75fe3a54d8426f9"
              }
            ]
          },
          {
            "wording": "Choose between public and internal load balancers",
            "objective_wording_sha256": "2d95d5a2694f60336cb4f66c99640233e073c5461b5437f7a57992fdb0f6d7df",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4. Design and implement application delivery services (15–20%)",
                "start_line": 373,
                "end_line": 391,
                "span_lf_sha256": "1b42249280a4873970412e17d9e6794430065d321bb3f4ddcb1fbbb7b94872e5"
              }
            ]
          },
          {
            "wording": "Choose between regional and cross-region load balancers",
            "objective_wording_sha256": "56c93330f170690cc68eabd994a932dbcb7842d4598cf97fb2da05385044a117",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "4. Design and implement application delivery services (15–20%)",
                "start_line": 373,
                "end_line": 391,
                "span_lf_sha256": "1b42249280a4873970412e17d9e6794430065d321bb3f4ddcb1fbbb7b94872e5"
              }
            ]
          },
          {
            "wording": "Create and configure an Azure Load Balancer",
            "objective_wording_sha256": "049640d6250fbf5c8a37061c5648a1daeca2fcdc081555d505b5d0002222a58b",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Azure Load Balancer and Traffic Manager",
                "start_line": 387,
                "end_line": 393,
                "span_lf_sha256": "d92966b32470f42cec3d90ff91d99c538e0801d66d9877ca0335d6b64d29e79f"
              },
              {
                "heading": "Lab 5 — Application delivery comparison",
                "start_line": 678,
                "end_line": 684,
                "span_lf_sha256": "f0bc368ee6db0feca96007ca3a06c0fb29098c516af33056d771ab3dfa9ede8e"
              }
            ]
          },
          {
            "wording": "Implement Azure Traffic Manager",
            "objective_wording_sha256": "40d3a63ffbb099eef2b767423537c2d7c0dc731d253f184418fdd42039b22c2e",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Azure Load Balancer and Traffic Manager",
                "start_line": 387,
                "end_line": 393,
                "span_lf_sha256": "d92966b32470f42cec3d90ff91d99c538e0801d66d9877ca0335d6b64d29e79f"
              }
            ]
          },
          {
            "wording": "Implement Gateway Load Balancer",
            "objective_wording_sha256": "f19fe13168f4bea690d25368b568bc7ebd6b7436e02ebcf81ce54115409eee7d",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Choose by scope, layer and proxy behavior",
                "start_line": 377,
                "end_line": 385,
                "span_lf_sha256": "31c46559c51c2e1fd2cce45a75e971e18a5a7e3d292c8d3f207c880289b9b083"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Implement a load balancing rule",
            "objective_wording_sha256": "4b03a39d6aa0d1dee0e5bc16485d1db2cbfd1bf1583f92f70d2106c8306636a3",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Azure Load Balancer and Traffic Manager",
                "start_line": 387,
                "end_line": 391,
                "span_lf_sha256": "f2f4d7df75226df880f20df01c3cde76b214b06056a46afe3fbba36a1096fd44"
              }
            ]
          },
          {
            "wording": "Create and configure inbound NAT rules",
            "objective_wording_sha256": "2f09ad2cbde1f409dbfc4f3445c486f019b784a66fc01d0c455a344bbce0234b",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "Azure Load Balancer and Traffic Manager",
                "start_line": 387,
                "end_line": 391,
                "span_lf_sha256": "f2f4d7df75226df880f20df01c3cde76b214b06056a46afe3fbba36a1096fd44"
              }
            ]
          },
          {
            "wording": "Create and configure explicit outbound rules, including source network address translation (SNAT)",
            "objective_wording_sha256": "c6188be4942ff46cba6df5e7a0eeb4949015cc92726d1a5d778669b7bbdc93f4",
            "group": "Design and implement Azure Load Balancer and Azure Traffic Manager",
            "group_number": 9,
            "objective_number": 11,
            "evidence_spans": [
              {
                "heading": "Azure Load Balancer and Traffic Manager",
                "start_line": 387,
                "end_line": 391,
                "span_lf_sha256": "f2f4d7df75226df880f20df01c3cde76b214b06056a46afe3fbba36a1096fd44"
              }
            ]
          },
          {
            "wording": "Map requirements to features and capabilities of Azure Application Gateway",
            "objective_wording_sha256": "9a2b85808d8f2455810acf72c1f9d7c4c83d8a58ff3926435aadca42b9c1fbbd",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 395,
                "end_line": 410,
                "span_lf_sha256": "1db8b092234d05f0f962557b7e6968f529c1c9e3a4e97a198aef5dc439d8ea26"
              }
            ]
          },
          {
            "wording": "Identify appropriate use cases for Azure Application Gateway",
            "objective_wording_sha256": "9d6aef28656184a58ca587a786fede955f760982553bda3c7fa3c9c17a6684ff",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 395,
                "end_line": 410,
                "span_lf_sha256": "1db8b092234d05f0f962557b7e6968f529c1c9e3a4e97a198aef5dc439d8ea26"
              }
            ]
          },
          {
            "wording": "Choose between manual and autoscale",
            "objective_wording_sha256": "ea5813937a2e7e336024d28ced7ff4ac6be5e70413649c932ead9ef8b2602c88",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 404,
                "end_line": 408,
                "span_lf_sha256": "4262b14e5b10c6c7f71842fafdab195602cb5a44e1429bbf9a9d5d17603a5e07"
              }
            ]
          },
          {
            "wording": "Create a backend pool",
            "objective_wording_sha256": "c5af6ed38a86f825f390cebf938b6af0568b6e16f81149f8a3623b5bcd5c3ad5",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 397,
                "end_line": 408,
                "span_lf_sha256": "bee25496139f6e64697d66a74405f1e63a6f6e22b86f8602469e9f3cb0bdc02c"
              }
            ]
          },
          {
            "wording": "Configure health probes",
            "objective_wording_sha256": "d040fb76d31fb3c6a3d3b0191ad0d02b0611de5b0e48ad6812d93dcdf44b6b36",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 397,
                "end_line": 408,
                "span_lf_sha256": "bee25496139f6e64697d66a74405f1e63a6f6e22b86f8602469e9f3cb0bdc02c"
              }
            ]
          },
          {
            "wording": "Configure listeners",
            "objective_wording_sha256": "9441caf82acf57b9974fa80f62f2a5e2a76456a38ca878af251e8ee25722851d",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 397,
                "end_line": 408,
                "span_lf_sha256": "bee25496139f6e64697d66a74405f1e63a6f6e22b86f8602469e9f3cb0bdc02c"
              }
            ]
          },
          {
            "wording": "Configure routing rules",
            "objective_wording_sha256": "03e56304cf39c7b64fc30b6c7bcf2eddc59f20583a1bb4415f5cd89ddbe542e5",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 397,
                "end_line": 408,
                "span_lf_sha256": "bee25496139f6e64697d66a74405f1e63a6f6e22b86f8602469e9f3cb0bdc02c"
              }
            ]
          },
          {
            "wording": "Configure HTTP settings",
            "objective_wording_sha256": "7595d105cc269c1bac9d88d59b8c7e62fa35975ea372c26721dda3c7dbf825df",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 397,
                "end_line": 408,
                "span_lf_sha256": "bee25496139f6e64697d66a74405f1e63a6f6e22b86f8602469e9f3cb0bdc02c"
              }
            ]
          },
          {
            "wording": "Configure Transport Layer Security (TLS)",
            "objective_wording_sha256": "7bd7f027d766f949bc958d8b223b83ae338897fa40b04750d35bb6ebd9c1e88b",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 404,
                "end_line": 408,
                "span_lf_sha256": "4262b14e5b10c6c7f71842fafdab195602cb5a44e1429bbf9a9d5d17603a5e07"
              }
            ]
          },
          {
            "wording": "Configure rewrite rule sets",
            "objective_wording_sha256": "ef34db987b9e77e2d1d6c49cca9acbd46a7143d60bf85930edfc9058fa3accfb",
            "group": "Design and implement Azure Application Gateway",
            "group_number": 10,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "Application Gateway",
                "start_line": 404,
                "end_line": 404,
                "span_lf_sha256": "0a17301e894cb166976c493de8fd72a5fb0ff276f5799b117d7000d69ed6ccd2"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Map requirements to features and capabilities of Azure Front Door",
            "objective_wording_sha256": "4e772bc43ce59990bb2dfe8bc1036827f1625f584ecd4394338234f67bdb197f",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 412,
                "end_line": 440,
                "span_lf_sha256": "bee299d4d6e54f812a15dce0d7e09ec948ce4160949ba176167520a00d44e604"
              }
            ]
          },
          {
            "wording": "Identify appropriate use cases for Azure Front Door",
            "objective_wording_sha256": "6fc95b82827173c906352ab298ee0c482f72e0fc9be621746b8b851ac9a8ec77",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 412,
                "end_line": 440,
                "span_lf_sha256": "bee299d4d6e54f812a15dce0d7e09ec948ce4160949ba176167520a00d44e604"
              }
            ]
          },
          {
            "wording": "Choose an appropriate tier",
            "objective_wording_sha256": "6b0a182c786e7a5e160af079dc2ebea5dea8a0ad90198a0783131e2ae6b05873",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 416,
                "end_line": 426,
                "span_lf_sha256": "e41e1ab5536b1e7e9cfe943022da9d35f5a8359452e0cebeeaf0d5b8eaaba780"
              },
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 533,
                "end_line": 533,
                "span_lf_sha256": "95b402038e56939639d16cf1f20eeb0f6abee15b9f4f32a1c028212a9fdf2d57"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Configure an Azure Front Door, including routing, origins, and endpoints",
            "objective_wording_sha256": "e14ef494fb8bddd377285724b77069ba26a9b4ae71c611873ed49c11f8fa49a9",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 412,
                "end_line": 426,
                "span_lf_sha256": "685e93384c942c756696967c1e476c6d7bfbe979d488adaee10bcef94bf2a601"
              },
              {
                "heading": "Scenario B — global resilient web service",
                "start_line": 590,
                "end_line": 600,
                "span_lf_sha256": "db9d209a1c5ab749807a2cb6cdf4ae0cafe32212beacf82a5a25d64f4b22534f"
              }
            ]
          },
          {
            "wording": "Configure TLS termination and end-to-end TLS encryption",
            "objective_wording_sha256": "f21835c2d8958095fc7c445c6b9fee5e3c385306c5275401c7255921c586232f",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 412,
                "end_line": 426,
                "span_lf_sha256": "685e93384c942c756696967c1e476c6d7bfbe979d488adaee10bcef94bf2a601"
              }
            ]
          },
          {
            "wording": "Configure caching",
            "objective_wording_sha256": "da2162ec032fb0bd7c470c450bec4b55e4f0980910015c42bbc2fe45e8d81163",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 412,
                "end_line": 426,
                "span_lf_sha256": "685e93384c942c756696967c1e476c6d7bfbe979d488adaee10bcef94bf2a601"
              }
            ]
          },
          {
            "wording": "Configure traffic acceleration",
            "objective_wording_sha256": "224a0a065590eb393499f5c6c2d73a2b2463755055b7c03efad84fcb6268f8d5",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 412,
                "end_line": 426,
                "span_lf_sha256": "685e93384c942c756696967c1e476c6d7bfbe979d488adaee10bcef94bf2a601"
              }
            ]
          },
          {
            "wording": "Implement rules, URL rewrite, and URL redirect",
            "objective_wording_sha256": "2470d82becfb436c9f61c0ffa978a015291a847a4da5edd3bc058360497ba3b7",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 412,
                "end_line": 426,
                "span_lf_sha256": "685e93384c942c756696967c1e476c6d7bfbe979d488adaee10bcef94bf2a601"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Secure an origin by using Azure Private Link in Azure Front Door",
            "objective_wording_sha256": "2361ad21e4ba21dc194c0b9e754ad3292e550875982b2c32de2bacd8eca92949",
            "group": "Design and implement Azure Front Door",
            "group_number": 11,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "Azure Front Door",
                "start_line": 412,
                "end_line": 440,
                "span_lf_sha256": "bee299d4d6e54f812a15dce0d7e09ec948ce4160949ba176167520a00d44e604"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Plan private endpoints",
            "objective_wording_sha256": "efc82e2cf4df73ab16f82c34562a6f8a1cbb9e1bb1bd477059eba2d6732bb5a3",
            "group": "Design and implement Azure Private Link service and Azure private endpoints",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Private endpoint and Private Link service",
                "start_line": 444,
                "end_line": 465,
                "span_lf_sha256": "d5db46aba819463bff644aa0dd6c75636c2957462da0d64345f3ad34b7d748d4"
              }
            ]
          },
          {
            "wording": "Create private endpoints",
            "objective_wording_sha256": "f4f9f7f72abd485c26c8ee3a8efe53a4dd306db512bdacb1a8a95658413c6b29",
            "group": "Design and implement Azure Private Link service and Azure private endpoints",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Private endpoint and Private Link service",
                "start_line": 444,
                "end_line": 465,
                "span_lf_sha256": "d5db46aba819463bff644aa0dd6c75636c2957462da0d64345f3ad34b7d748d4"
              },
              {
                "heading": "Lab 6 — Private endpoint end to end",
                "start_line": 686,
                "end_line": 692,
                "span_lf_sha256": "d23f904b28eab21022f2c3a202d59dcac12de51707f113051192e6c9746f823c"
              }
            ]
          },
          {
            "wording": "Configure access to private endpoints",
            "objective_wording_sha256": "358ec3cfc59ef3c0bb75f73a5ac04b12cf8b0673eddbddc568d40609c48ee1d6",
            "group": "Design and implement Azure Private Link service and Azure private endpoints",
            "group_number": 12,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Private endpoint and Private Link service",
                "start_line": 444,
                "end_line": 465,
                "span_lf_sha256": "d5db46aba819463bff644aa0dd6c75636c2957462da0d64345f3ad34b7d748d4"
              }
            ]
          },
          {
            "wording": "Create a Private Link service",
            "objective_wording_sha256": "27b556a8557996b890b59e5b7ceabc12635ad7497e6df3266aa84b42f4f8a4de",
            "group": "Design and implement Azure Private Link service and Azure private endpoints",
            "group_number": 12,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Private endpoint and Private Link service",
                "start_line": 457,
                "end_line": 465,
                "span_lf_sha256": "2c9d628ba8a8fa195ba3b8fa0f4cb4e48179f48a51c14e72f0b487b52c73b945"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Integrate Private Link and Private Endpoint with DNS",
            "objective_wording_sha256": "e479090aff1eaf525cf7d6130c8cd7f375a4b5895f8c96c67339d69ed402b5e7",
            "group": "Design and implement Azure Private Link service and Azure private endpoints",
            "group_number": 12,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Private endpoint and Private Link service",
                "start_line": 444,
                "end_line": 465,
                "span_lf_sha256": "d5db46aba819463bff644aa0dd6c75636c2957462da0d64345f3ad34b7d748d4"
              }
            ]
          },
          {
            "wording": "Integrate a Private Link service with on-premises clients",
            "objective_wording_sha256": "286be5f286cca2a43526f05dec4768f846259b82714ecaae6721ca8fab6e4630",
            "group": "Design and implement Azure Private Link service and Azure private endpoints",
            "group_number": 12,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Private endpoint and Private Link service",
                "start_line": 444,
                "end_line": 465,
                "span_lf_sha256": "d5db46aba819463bff644aa0dd6c75636c2957462da0d64345f3ad34b7d748d4"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Choose when to use a service endpoint",
            "objective_wording_sha256": "109563e5d000c4eed6fe46e84d6ebce50f4bb03cc13b920bbe68c39dee02859e",
            "group": "Design and implement service endpoints",
            "group_number": 13,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Service endpoints and policies",
                "start_line": 467,
                "end_line": 495,
                "span_lf_sha256": "def28cb3dc00b16f45c23fc39b94b6981735bffde6a22c82f567b29c787f36e7"
              }
            ]
          },
          {
            "wording": "Create service endpoints",
            "objective_wording_sha256": "2575384d502cc6fcb3d724525606624b798cddfa6472ba68aeb0647bbd93e062",
            "group": "Design and implement service endpoints",
            "group_number": 13,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Service endpoints and policies",
                "start_line": 467,
                "end_line": 495,
                "span_lf_sha256": "def28cb3dc00b16f45c23fc39b94b6981735bffde6a22c82f567b29c787f36e7"
              }
            ]
          },
          {
            "wording": "Configure service endpoint policies",
            "objective_wording_sha256": "02645c238379cdc2cb7bffc7f64a7261ca096ad05e6514d214018f202b320441",
            "group": "Design and implement service endpoints",
            "group_number": 13,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Service endpoints and policies",
                "start_line": 467,
                "end_line": 495,
                "span_lf_sha256": "def28cb3dc00b16f45c23fc39b94b6981735bffde6a22c82f567b29c787f36e7"
              }
            ]
          },
          {
            "wording": "Configure access to service endpoints",
            "objective_wording_sha256": "ca1bd76bae044ea6f7d1d6ca9a3a74d3fa3df1aaa27bf5907b07e702b5e043cf",
            "group": "Design and implement service endpoints",
            "group_number": 13,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Service endpoints and policies",
                "start_line": 467,
                "end_line": 495,
                "span_lf_sha256": "def28cb3dc00b16f45c23fc39b94b6981735bffde6a22c82f567b29c787f36e7"
              }
            ]
          },
          {
            "wording": "Create a network security group (NSG)",
            "objective_wording_sha256": "722c232eb80a8d3ab20795b600c294dc16d1b408cd6286023bee516fc518f453",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "NSGs, ASGs and flow logs",
                "start_line": 499,
                "end_line": 509,
                "span_lf_sha256": "eee1d661cfb5d3858cc6125e7d58ce95b25de192244b59769974b427fcc19908"
              },
              {
                "heading": "Lab 7 — NSG, flow log and Network Watcher evidence",
                "start_line": 694,
                "end_line": 700,
                "span_lf_sha256": "d1909611f7ef15c4d3ccf34f5f25faad1335923db78f0422652e9cecef2c7baf"
              }
            ]
          },
          {
            "wording": "Associate a NSG to a subnet or network interface",
            "objective_wording_sha256": "8e73f26770161012c00b28dbb28eba7cb4b5ded4c6b9d1cee9825da686e47d56",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "NSGs, ASGs and flow logs",
                "start_line": 499,
                "end_line": 509,
                "span_lf_sha256": "eee1d661cfb5d3858cc6125e7d58ce95b25de192244b59769974b427fcc19908"
              },
              {
                "heading": "Lab 7 — NSG, flow log and Network Watcher evidence",
                "start_line": 694,
                "end_line": 700,
                "span_lf_sha256": "d1909611f7ef15c4d3ccf34f5f25faad1335923db78f0422652e9cecef2c7baf"
              }
            ]
          },
          {
            "wording": "Create an application security group (ASG)",
            "objective_wording_sha256": "e49617824094978c09b2dc7798b3ae9ecd808337c95f85e73eef88cb059d36b4",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "NSGs, ASGs and flow logs",
                "start_line": 501,
                "end_line": 503,
                "span_lf_sha256": "542d66bb78d583718ccef08233be5b4c0bdaef7e185233a5d3878200006b93ab"
              },
              {
                "heading": "Worked Route Server and network-policy deployment",
                "start_line": 184,
                "end_line": 188,
                "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
              }
            ]
          },
          {
            "wording": "Associate an ASG to a network interface",
            "objective_wording_sha256": "5ca6abb928368e8dbb735cdc575aeebed93a54909397552f928e15e63aef1ac1",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "NSGs, ASGs and flow logs",
                "start_line": 501,
                "end_line": 503,
                "span_lf_sha256": "542d66bb78d583718ccef08233be5b4c0bdaef7e185233a5d3878200006b93ab"
              },
              {
                "heading": "Worked Route Server and network-policy deployment",
                "start_line": 184,
                "end_line": 188,
                "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
              }
            ]
          },
          {
            "wording": "Create and configure NSG inbound and outbound security rules",
            "objective_wording_sha256": "95df503777483dd608720ebd9afc549393bb1380a597a17a30f620fc62ca3b14",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "NSGs, ASGs and flow logs",
                "start_line": 499,
                "end_line": 509,
                "span_lf_sha256": "eee1d661cfb5d3858cc6125e7d58ce95b25de192244b59769974b427fcc19908"
              }
            ]
          },
          {
            "wording": "Implement virtual network flow logs",
            "objective_wording_sha256": "b39387751d8ce8a5cef33e838a8723bf1852903715c2ccf79a4ea70f2b2f798d",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 190,
                "end_line": 207,
                "span_lf_sha256": "3dcc3349abcc2a1084d3214729864a37d614b10b976132aade235d75944298b2"
              },
              {
                "heading": "Lab 7 — NSG, flow log and Network Watcher evidence",
                "start_line": 694,
                "end_line": 700,
                "span_lf_sha256": "d1909611f7ef15c4d3ccf34f5f25faad1335923db78f0422652e9cecef2c7baf"
              }
            ]
          },
          {
            "wording": "Interpret virtual network flow logs",
            "objective_wording_sha256": "d68207f832970678e682349cc17b7bc9cf60bd116b206eda229223e7a1938b22",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 190,
                "end_line": 207,
                "span_lf_sha256": "3dcc3349abcc2a1084d3214729864a37d614b10b976132aade235d75944298b2"
              },
              {
                "heading": "Lab 7 — NSG, flow log and Network Watcher evidence",
                "start_line": 694,
                "end_line": 700,
                "span_lf_sha256": "d1909611f7ef15c4d3ccf34f5f25faad1335923db78f0422652e9cecef2c7baf"
              }
            ]
          },
          {
            "wording": "Verify IP flow",
            "objective_wording_sha256": "8b1c0c2c2d3b985597ed75840e82f819a2c75f0280f96e0fa8b0e99da2a57d82",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Monitor and troubleshoot networks",
                "start_line": 190,
                "end_line": 207,
                "span_lf_sha256": "3dcc3349abcc2a1084d3214729864a37d614b10b976132aade235d75944298b2"
              },
              {
                "heading": "Lab 7 — NSG, flow log and Network Watcher evidence",
                "start_line": 694,
                "end_line": 700,
                "span_lf_sha256": "d1909611f7ef15c4d3ccf34f5f25faad1335923db78f0422652e9cecef2c7baf"
              }
            ]
          },
          {
            "wording": "Configure an NSG for remote server administration, including Azure Bastion",
            "objective_wording_sha256": "b975246c93d74321b11e3ba85ad0e9720d3ba84a9fc47e221cd6fc96cbd130d3",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "NSGs, ASGs and flow logs",
                "start_line": 501,
                "end_line": 509,
                "span_lf_sha256": "fae904cf2052252dca794ebf2e6d2b11328797ae2710d78cc2a78957a53aef1c"
              }
            ]
          },
          {
            "wording": "Implement and manage virtual network security by using Azure Virtual Network Manager",
            "objective_wording_sha256": "94f243c1ece37faf9d2f6435f439cecf06d9990537738b65a17e9e3673595b28",
            "group": "Implement and manage network security groups",
            "group_number": 14,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "NSGs, ASGs and flow logs",
                "start_line": 501,
                "end_line": 509,
                "span_lf_sha256": "fae904cf2052252dca794ebf2e6d2b11328797ae2710d78cc2a78957a53aef1c"
              },
              {
                "heading": "Worked Route Server and network-policy deployment",
                "start_line": 184,
                "end_line": 188,
                "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
              }
            ]
          },
          {
            "wording": "Map requirements to features and capabilities of Azure Firewall",
            "objective_wording_sha256": "52d2c355b06cfaaa91eb001292f4f08681ac613e02c2103f5b2bccbba67ccb5d",
            "group": "Design and implement Azure Firewall and Azure Firewall Manager",
            "group_number": 15,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 511,
                "end_line": 531,
                "span_lf_sha256": "a1502fd6e3565a0234dd3dd6f7028de88f19c11f63b34c37f2c06e5f6e94a107"
              }
            ]
          },
          {
            "wording": "Select an appropriate Azure Firewall SKU",
            "objective_wording_sha256": "b2cba214d44fdbe53d324fdb1469a3f95798f817d07f4c1ecc68fab271d31f91",
            "group": "Design and implement Azure Firewall and Azure Firewall Manager",
            "group_number": 15,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 511,
                "end_line": 531,
                "span_lf_sha256": "a1502fd6e3565a0234dd3dd6f7028de88f19c11f63b34c37f2c06e5f6e94a107"
              }
            ]
          },
          {
            "wording": "Design an Azure Firewall deployment",
            "objective_wording_sha256": "a7caf0e3029cc41a09b3cab3468f551ee8212cee35ab795f294cbf400e588571",
            "group": "Design and implement Azure Firewall and Azure Firewall Manager",
            "group_number": 15,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 511,
                "end_line": 531,
                "span_lf_sha256": "a1502fd6e3565a0234dd3dd6f7028de88f19c11f63b34c37f2c06e5f6e94a107"
              }
            ]
          },
          {
            "wording": "Create and implement an Azure Firewall deployment",
            "objective_wording_sha256": "362b0c05866303ae569464fc569d28bec49ecb6112ec73adcabf613c65138715",
            "group": "Design and implement Azure Firewall and Azure Firewall Manager",
            "group_number": 15,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 511,
                "end_line": 531,
                "span_lf_sha256": "a1502fd6e3565a0234dd3dd6f7028de88f19c11f63b34c37f2c06e5f6e94a107"
              },
              {
                "heading": "Lab 8 — Firewall and WAF policy",
                "start_line": 702,
                "end_line": 708,
                "span_lf_sha256": "d544a4f5fc959a70b01ad2a197b9fefe6acff3b0beb3b702b68c86d63ff73650"
              }
            ]
          },
          {
            "wording": "Configure Azure Firewall rules",
            "objective_wording_sha256": "50c45b72b1eb8ff838412627129d5836772ce6afbcaa7eaefff8ab8e2219dec5",
            "group": "Design and implement Azure Firewall and Azure Firewall Manager",
            "group_number": 15,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 511,
                "end_line": 531,
                "span_lf_sha256": "a1502fd6e3565a0234dd3dd6f7028de88f19c11f63b34c37f2c06e5f6e94a107"
              }
            ]
          },
          {
            "wording": "Create and implement Azure Firewall Manager policies",
            "objective_wording_sha256": "60286d5b823f907bed22d4221803a3550f5fbff9327b29f8880073981aa5d37b",
            "group": "Design and implement Azure Firewall and Azure Firewall Manager",
            "group_number": 15,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 511,
                "end_line": 531,
                "span_lf_sha256": "a1502fd6e3565a0234dd3dd6f7028de88f19c11f63b34c37f2c06e5f6e94a107"
              }
            ]
          },
          {
            "wording": "Create a secure hub by deploying Azure Firewall inside an Azure Virtual WAN hub",
            "objective_wording_sha256": "0b85b3e0eb830ef1b8a96471874ab5dd070cb38bdf25af7c9395288a49ac24fe",
            "group": "Design and implement Azure Firewall and Azure Firewall Manager",
            "group_number": 15,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 511,
                "end_line": 531,
                "span_lf_sha256": "a1502fd6e3565a0234dd3dd6f7028de88f19c11f63b34c37f2c06e5f6e94a107"
              },
              {
                "heading": "Worked Virtual WAN hub, scale and security deployment",
                "start_line": 351,
                "end_line": 357,
                "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
              }
            ]
          },
          {
            "wording": "Map requirements to features and capabilities of WAF",
            "objective_wording_sha256": "a26f7d44dac78b1052978bd4686b44011605b1334ef2fdc63a7c9663218d4ca3",
            "group": "Design and implement a Web Application Firewall (WAF) deployment",
            "group_number": 16,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 533,
                "end_line": 550,
                "span_lf_sha256": "e6bc97613ba7f8e8ed626a87f526e6321ec611b12739109907607a4718db2397"
              }
            ]
          },
          {
            "wording": "Design a WAF deployment",
            "objective_wording_sha256": "4deefcab9c5f55403d628651c473127459b3cc64f6cc971c5a9b6e54441fe198",
            "group": "Design and implement a Web Application Firewall (WAF) deployment",
            "group_number": 16,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 533,
                "end_line": 550,
                "span_lf_sha256": "e6bc97613ba7f8e8ed626a87f526e6321ec611b12739109907607a4718db2397"
              }
            ]
          },
          {
            "wording": "Configure detection or prevention mode",
            "objective_wording_sha256": "29774fde0029af2ff10fe0e1efe456a87ccfb71937d88f44fe2ad93966c50380",
            "group": "Design and implement a Web Application Firewall (WAF) deployment",
            "group_number": 16,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Web Application Firewall",
                "start_line": 535,
                "end_line": 548,
                "span_lf_sha256": "24c6c831fde37ef9cea0351b2f7cceb427d9d5fcade63a630d667dd793d92a28"
              }
            ]
          },
          {
            "wording": "Configure rule sets for WAF on Azure Front Door",
            "objective_wording_sha256": "f89334650e2bd6db90da10685eda2e0924a6dd7809332b90964bdc5c24c80dad",
            "group": "Design and implement a Web Application Firewall (WAF) deployment",
            "group_number": 16,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Azure Firewall and Firewall Manager",
                "start_line": 533,
                "end_line": 548,
                "span_lf_sha256": "72d822159e4d3a09db2a5e87d73375743498e0e9de4ffb21029e69bb9976c702"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Configure rule sets for WAF on Application Gateway",
            "objective_wording_sha256": "fefca3dcd051e053adfbd8d645653706e77f14ecb144e04107e34bbe1f31aaa5",
            "group": "Design and implement a Web Application Firewall (WAF) deployment",
            "group_number": 16,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Web Application Firewall",
                "start_line": 535,
                "end_line": 548,
                "span_lf_sha256": "24c6c831fde37ef9cea0351b2f7cceb427d9d5fcade63a630d667dd793d92a28"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Implement a WAF policy",
            "objective_wording_sha256": "6e6c2f36b83c226e9689e163851a18ef2c68785a0bf115db149843af549d6470",
            "group": "Design and implement a Web Application Firewall (WAF) deployment",
            "group_number": 16,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Web Application Firewall",
                "start_line": 535,
                "end_line": 548,
                "span_lf_sha256": "24c6c831fde37ef9cea0351b2f7cceb427d9d5fcade63a630d667dd793d92a28"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          },
          {
            "wording": "Associate a WAF policy",
            "objective_wording_sha256": "208f55196646355a79aed8f627ca67d68b3a865d072ed8039c99c9c4063a82e3",
            "group": "Design and implement a Web Application Firewall (WAF) deployment",
            "group_number": 16,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Web Application Firewall",
                "start_line": 535,
                "end_line": 548,
                "span_lf_sha256": "24c6c831fde37ef9cea0351b2f7cceb427d9d5fcade63a630d667dd793d92a28"
              },
              {
                "heading": "Worked service chaining, rewrites and policy association",
                "start_line": 564,
                "end_line": 572,
                "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
              }
            ]
          }
        ]
      },
      {
        "exam_code": "AZ-900",
        "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
        "guide_lf_sha256": "09dafd7ca0dffee692577828c9efca74232f668469361d83e4a2b081c0d021f0",
        "objective_raw_sha256": "8b4c89d325b3ce339eb881aa2dc4b251888e6d7a07d6351d81bcc2123b1c4449",
        "objective_count": 57,
        "current_mapping": [
          {
            "wording": "Define cloud computing",
            "objective_wording_sha256": "326b30909dcc9ecf460dbe1ceffda4a51a4a0eb119ae1957cdf4699c1057ec4f",
            "group": "Describe cloud computing",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Cloud computing and the consumption model",
                "start_line": 44,
                "end_line": 60,
                "span_lf_sha256": "f9b821feb5104478e2109c7fd2cf7a24417e6ba657f95c8637e298e507180f5a"
              }
            ]
          },
          {
            "wording": "Describe the shared responsibility model",
            "objective_wording_sha256": "934c16f576fbbed5fd8bd8f5efca529ec7fe8db3dd89ca2530763ccf37aa1a4f",
            "group": "Describe cloud computing",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Shared responsibility",
                "start_line": 74,
                "end_line": 86,
                "span_lf_sha256": "3fe338a1189415eb832a37dff4b6f44d3e5d3ac07ca47635a313f01984fd0514"
              }
            ]
          },
          {
            "wording": "Define cloud models, including public, private, and hybrid",
            "objective_wording_sha256": "9731102bc39d563d4ea2ae96d71449e061cb1631e8ca23ff176bd6c6dff4fee0",
            "group": "Describe cloud computing",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Public, private, and hybrid cloud",
                "start_line": 64,
                "end_line": 72,
                "span_lf_sha256": "3cd5e98453a6d2631f6651ce68468987a6ddd82d95029cd021ece0951245c289"
              }
            ]
          },
          {
            "wording": "Identify appropriate use cases for each cloud model",
            "objective_wording_sha256": "749749dc4b25ec932533591e953070689138e01a3d3437eac09ebe2668b046fd",
            "group": "Describe cloud computing",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Public, private, and hybrid cloud",
                "start_line": 64,
                "end_line": 72,
                "span_lf_sha256": "3cd5e98453a6d2631f6651ce68468987a6ddd82d95029cd021ece0951245c289"
              }
            ]
          },
          {
            "wording": "Describe the consumption-based model",
            "objective_wording_sha256": "3de86b725476b698eb7b82fecc88885ebf2ef3805047291e85e0d74710ea4af8",
            "group": "Describe cloud computing",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Cloud computing and the consumption model",
                "start_line": 44,
                "end_line": 60,
                "span_lf_sha256": "f9b821feb5104478e2109c7fd2cf7a24417e6ba657f95c8637e298e507180f5a"
              },
              {
                "heading": "Turn a cloud requirement into a responsibility decision",
                "start_line": 336,
                "end_line": 336,
                "span_lf_sha256": "0961cd6ae3f7e8fa29d454987132d5d970eb25a73675e0d6326b19c9a0bc46f2"
              }
            ]
          },
          {
            "wording": "Compare cloud pricing models",
            "objective_wording_sha256": "0a15daa3f208173db9ac559a489026b8898acbbaa5222267e315e638b5cef1cc",
            "group": "Describe cloud computing",
            "group_number": 1,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Cost management",
                "start_line": 253,
                "end_line": 269,
                "span_lf_sha256": "c306f7b0559fa2adeb5e8a37206ed0178f742f9fed96635bc5527dae46bb6b81"
              },
              {
                "heading": "Worked example 1 — VM hours and costs that remain",
                "start_line": 498,
                "end_line": 504,
                "span_lf_sha256": "8edcbe70702ee1d2180db80357f8d3d3e172b8f86aa727a73ab15218492f976c"
              }
            ]
          },
          {
            "wording": "Describe serverless",
            "objective_wording_sha256": "fbef896ec9fd99147f01b56b127836b3a892b5360da96808c2699b28ce1fde67",
            "group": "Describe cloud computing",
            "group_number": 1,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "IaaS, PaaS, SaaS, and serverless",
                "start_line": 88,
                "end_line": 107,
                "span_lf_sha256": "2f8badc6b243f96114b9388d614c105b2e735a2d577150ae8d8f2776ae7050c4"
              }
            ]
          },
          {
            "wording": "Describe the benefits of high availability and scalability in the cloud",
            "objective_wording_sha256": "628493c80e1cbe2c610ac0ae586a0d5f29942109b18cc9229090bf3cb229553f",
            "group": "Describe the benefits of using cloud services",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Cloud computing and the consumption model",
                "start_line": 50,
                "end_line": 60,
                "span_lf_sha256": "218ca04469cec7cdfcc53ac6dec19fd3334adec465ff05c7033e9d450a0d26a2"
              },
              {
                "heading": "Separate the cloud benefits",
                "start_line": 338,
                "end_line": 349,
                "span_lf_sha256": "ea373f37812ad2dfa18d3f38b78289f33b38c4703119b0061276b7ff3af7210c"
              }
            ]
          },
          {
            "wording": "Describe the benefits of reliability and predictability in the cloud",
            "objective_wording_sha256": "24a8524cda170eac07b4f83955e81af846aeca38d73f090f861a4842c96062b8",
            "group": "Describe the benefits of using cloud services",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Cloud computing and the consumption model",
                "start_line": 50,
                "end_line": 60,
                "span_lf_sha256": "218ca04469cec7cdfcc53ac6dec19fd3334adec465ff05c7033e9d450a0d26a2"
              },
              {
                "heading": "Separate the cloud benefits",
                "start_line": 338,
                "end_line": 349,
                "span_lf_sha256": "ea373f37812ad2dfa18d3f38b78289f33b38c4703119b0061276b7ff3af7210c"
              }
            ]
          },
          {
            "wording": "Describe the benefits of security and governance in the cloud",
            "objective_wording_sha256": "7eb18385fdbacaeefc5bdb4e2a7efc6bcfd4a53c64ade3e5abc2f244469e1e31",
            "group": "Describe the benefits of using cloud services",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Separate the cloud benefits",
                "start_line": 338,
                "end_line": 349,
                "span_lf_sha256": "ea373f37812ad2dfa18d3f38b78289f33b38c4703119b0061276b7ff3af7210c"
              }
            ]
          },
          {
            "wording": "Describe the benefits of manageability in the cloud",
            "objective_wording_sha256": "38bb9257107f3999e2b765b85d4fb686e584ce2423c5274312b181a923007aa1",
            "group": "Describe the benefits of using cloud services",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Separate the cloud benefits",
                "start_line": 338,
                "end_line": 349,
                "span_lf_sha256": "ea373f37812ad2dfa18d3f38b78289f33b38c4703119b0061276b7ff3af7210c"
              }
            ]
          },
          {
            "wording": "Describe infrastructure as a service (IaaS)",
            "objective_wording_sha256": "646360dc1f936d90e75010a277d8b754d6d0e53de24be7efed8ef2dede50e102",
            "group": "Describe cloud service types",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "IaaS, PaaS, SaaS, and serverless",
                "start_line": 88,
                "end_line": 107,
                "span_lf_sha256": "2f8badc6b243f96114b9388d614c105b2e735a2d577150ae8d8f2776ae7050c4"
              }
            ]
          },
          {
            "wording": "Describe platform as a service (PaaS)",
            "objective_wording_sha256": "1681eefc2838ab338e5cecdcc13cd1383a5d900eab906423118b41451d6156a4",
            "group": "Describe cloud service types",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "IaaS, PaaS, SaaS, and serverless",
                "start_line": 88,
                "end_line": 107,
                "span_lf_sha256": "2f8badc6b243f96114b9388d614c105b2e735a2d577150ae8d8f2776ae7050c4"
              }
            ]
          },
          {
            "wording": "Describe software as a service (SaaS)",
            "objective_wording_sha256": "ebf1333f7299f1c92ede1c760bee94f2ffe91441ff1712dea3950274f51d2f8a",
            "group": "Describe cloud service types",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "IaaS, PaaS, SaaS, and serverless",
                "start_line": 88,
                "end_line": 107,
                "span_lf_sha256": "2f8badc6b243f96114b9388d614c105b2e735a2d577150ae8d8f2776ae7050c4"
              }
            ]
          },
          {
            "wording": "Identify appropriate use cases for each cloud service type (IaaS, PaaS, and SaaS)",
            "objective_wording_sha256": "b45150f239d4319328cbc49b7045736bbb32b707d12a43a0bdf0a58d9940e9a3",
            "group": "Describe cloud service types",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "IaaS, PaaS, SaaS, and serverless",
                "start_line": 88,
                "end_line": 107,
                "span_lf_sha256": "2f8badc6b243f96114b9388d614c105b2e735a2d577150ae8d8f2776ae7050c4"
              },
              {
                "heading": "Turn a cloud requirement into a responsibility decision",
                "start_line": 329,
                "end_line": 336,
                "span_lf_sha256": "3ff67f77feaaf21b98e02e312a89359db130e7028ac1a0c606bef6f45136ef3c"
              }
            ]
          },
          {
            "wording": "Describe Azure regions, region pairs, and sovereign regions",
            "objective_wording_sha256": "18f7a6c7a74c4f23e104ad145ff2efa0f9b8ecf3a4cf9611f63a152197cc6171",
            "group": "Describe the core architectural components of Azure",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Regions, availability zones, and datacenters",
                "start_line": 113,
                "end_line": 128,
                "span_lf_sha256": "c393d5336d8087fb8b726d814b53e04ee0554d6a479a54ec57f054ba34e32225"
              }
            ]
          },
          {
            "wording": "Describe availability zones",
            "objective_wording_sha256": "ec2c18c530a877dec4549af3f0e6cef9611c70885a5f7a33d6689a0f0ab6b174",
            "group": "Describe the core architectural components of Azure",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Regions, availability zones, and datacenters",
                "start_line": 113,
                "end_line": 128,
                "span_lf_sha256": "c393d5336d8087fb8b726d814b53e04ee0554d6a479a54ec57f054ba34e32225"
              }
            ]
          },
          {
            "wording": "Describe Azure datacenters",
            "objective_wording_sha256": "d8ab17a509a99be0c23b624b3819cec68332f34d25c2615da4d9d9695b7469af",
            "group": "Describe the core architectural components of Azure",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Regions, availability zones, and datacenters",
                "start_line": 113,
                "end_line": 128,
                "span_lf_sha256": "c393d5336d8087fb8b726d814b53e04ee0554d6a479a54ec57f054ba34e32225"
              }
            ]
          },
          {
            "wording": "Describe Azure resources and resource groups",
            "objective_wording_sha256": "a59d2884a1e2fc0178114ab5ca9f5df7779249985d7344782d81aaaaf7bcd462",
            "group": "Describe the core architectural components of Azure",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Resource hierarchy and scope",
                "start_line": 130,
                "end_line": 146,
                "span_lf_sha256": "fc784482b3c2ed923d44a9a5a910377fc1eed0a1de7044e204eeb7e18c4e0641"
              }
            ]
          },
          {
            "wording": "Describe subscriptions",
            "objective_wording_sha256": "3b192c5245495c8b52a88ff558af82fe92df57f493acdb7443a3c7c3d239cb37",
            "group": "Describe the core architectural components of Azure",
            "group_number": 4,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Resource hierarchy and scope",
                "start_line": 130,
                "end_line": 146,
                "span_lf_sha256": "fc784482b3c2ed923d44a9a5a910377fc1eed0a1de7044e204eeb7e18c4e0641"
              }
            ]
          },
          {
            "wording": "Describe management groups",
            "objective_wording_sha256": "f3f3d5d38276db0730c1cf900000dc643b98979a8960970e6c1c3a6b301fb94c",
            "group": "Describe the core architectural components of Azure",
            "group_number": 4,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Resource hierarchy and scope",
                "start_line": 130,
                "end_line": 146,
                "span_lf_sha256": "fc784482b3c2ed923d44a9a5a910377fc1eed0a1de7044e204eeb7e18c4e0641"
              }
            ]
          },
          {
            "wording": "Describe the hierarchy of resource groups, subscriptions, and management groups",
            "objective_wording_sha256": "96ccbc8a769a633ec33689d8cf9f0e275a4b2ef624e7ff4a60794583c6721d7f",
            "group": "Describe the core architectural components of Azure",
            "group_number": 4,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Resource hierarchy and scope",
                "start_line": 130,
                "end_line": 146,
                "span_lf_sha256": "fc784482b3c2ed923d44a9a5a910377fc1eed0a1de7044e204eeb7e18c4e0641"
              },
              {
                "heading": "Design from geography to resource",
                "start_line": 373,
                "end_line": 381,
                "span_lf_sha256": "f56a4c865c8d341555bbd54d13a26ea819fe349aae0b509fdc8629dc20b636d8"
              }
            ]
          },
          {
            "wording": "Compare compute types, including containers, virtual machines, and functions",
            "objective_wording_sha256": "47cb827ee7d9a84b3d3b31fcfcf664dd7e2d7ed72b1a21b2f37a4411e166a4e1",
            "group": "Describe Azure compute and networking services",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Compute choices",
                "start_line": 148,
                "end_line": 160,
                "span_lf_sha256": "f6dd6d48a3d37e9151d094401693fbed423dc3ed415bd49f93b2cb5d3bf6bcad"
              },
              {
                "heading": "Select compute by control, orchestration, and workload shape",
                "start_line": 383,
                "end_line": 397,
                "span_lf_sha256": "2536f24256ca18ca927a83ce8d041ca20d0de622b7fd1384cfd6dc20bd316dc4"
              }
            ]
          },
          {
            "wording": "Describe virtual machine options, including Azure virtual machines, Azure Virtual Machine Scale Sets, availability sets, and Azure Virtual Desktop",
            "objective_wording_sha256": "67586cf0d83a2b01e24154822018516500cd955b32f3271cdc0ad0f07b545d52",
            "group": "Describe Azure compute and networking services",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Compute choices",
                "start_line": 148,
                "end_line": 160,
                "span_lf_sha256": "f6dd6d48a3d37e9151d094401693fbed423dc3ed415bd49f93b2cb5d3bf6bcad"
              },
              {
                "heading": "Select compute by control, orchestration, and workload shape",
                "start_line": 393,
                "end_line": 395,
                "span_lf_sha256": "f009ea9370fc4daf816f8f8398d4b9cf592f03500732386fdaad9aa597827ca2"
              }
            ]
          },
          {
            "wording": "Describe the resources required for virtual machines",
            "objective_wording_sha256": "06057d8a8a0d478a06a0ef711f0869e03d5fe505c34bedd3b1a88f42f0eedeee",
            "group": "Describe Azure compute and networking services",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Select compute by control, orchestration, and workload shape",
                "start_line": 393,
                "end_line": 395,
                "span_lf_sha256": "f009ea9370fc4daf816f8f8398d4b9cf592f03500732386fdaad9aa597827ca2"
              }
            ]
          },
          {
            "wording": "Describe application hosting options, including web apps, containers, and virtual machines",
            "objective_wording_sha256": "b758efa947a5c1b75c13d2ca1f7c3133b4309ab088a11b0a12e668c69dbb6358",
            "group": "Describe Azure compute and networking services",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Compute choices",
                "start_line": 148,
                "end_line": 160,
                "span_lf_sha256": "f6dd6d48a3d37e9151d094401693fbed423dc3ed415bd49f93b2cb5d3bf6bcad"
              },
              {
                "heading": "Select compute by control, orchestration, and workload shape",
                "start_line": 383,
                "end_line": 397,
                "span_lf_sha256": "2536f24256ca18ca927a83ce8d041ca20d0de622b7fd1384cfd6dc20bd316dc4"
              }
            ]
          },
          {
            "wording": "Describe virtual networking, including the purpose of Azure virtual networks, subnets, peering, Azure DNS, Azure VPN Gateway, and ExpressRoute",
            "objective_wording_sha256": "a9360c5042135d8bad9a0b097cb7f36552e1f4dcd2a201be2456ec1263ec7d68",
            "group": "Describe Azure compute and networking services",
            "group_number": 5,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Networking",
                "start_line": 166,
                "end_line": 178,
                "span_lf_sha256": "185e72225df76197235019f13516a914aa889529ade8c53ccd47d7b901824245"
              },
              {
                "heading": "Trace a network request through independent control layers",
                "start_line": 399,
                "end_line": 416,
                "span_lf_sha256": "d4b72b64736f153f6cbb4adfa418bf0c6697c664fb587ac68038c865e25380e0"
              }
            ]
          },
          {
            "wording": "Define public and private endpoints",
            "objective_wording_sha256": "ab346b15222c96844f61db5e34c88cca1f4356d6cf2bbd4f71797e2cc52c89c5",
            "group": "Describe Azure compute and networking services",
            "group_number": 5,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Networking",
                "start_line": 166,
                "end_line": 178,
                "span_lf_sha256": "185e72225df76197235019f13516a914aa889529ade8c53ccd47d7b901824245"
              },
              {
                "heading": "Trace a network request through independent control layers",
                "start_line": 399,
                "end_line": 416,
                "span_lf_sha256": "d4b72b64736f153f6cbb4adfa418bf0c6697c664fb587ac68038c865e25380e0"
              }
            ]
          },
          {
            "wording": "Compare Azure Storage services",
            "objective_wording_sha256": "2fd88cfc1f9fb4d2042d6023086649547b0fc4bca65ab594a7afd556878eaccc",
            "group": "Describe Azure storage services",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Storage services and redundancy",
                "start_line": 180,
                "end_line": 214,
                "span_lf_sha256": "720411df9e3a75a29c31f212dfe6f3c8ff4caf078d4696729c4c360fa42574a4"
              },
              {
                "heading": "Select storage from data shape through recovery",
                "start_line": 418,
                "end_line": 431,
                "span_lf_sha256": "d708001efe30aa17374fa191d9bc76c1a55a0e70f7e367b2f43023ed21572659"
              }
            ]
          },
          {
            "wording": "Describe storage tiers",
            "objective_wording_sha256": "68200628c29b9a201e416b9db1be76c8b6d0d0f24c2a13aa3a08d81c99a81f80",
            "group": "Describe Azure storage services",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Storage services and redundancy",
                "start_line": 190,
                "end_line": 218,
                "span_lf_sha256": "f5b2304eba5f6030d3962338c4bcb1801dfb6f1ab8f86826197f9815dec2342e"
              }
            ]
          },
          {
            "wording": "Describe redundancy options",
            "objective_wording_sha256": "a46d3a286f3538647a3deb6feb1004e46eed71f8848b04f5cb8431c3fcbe7be9",
            "group": "Describe Azure storage services",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Storage services and redundancy",
                "start_line": 192,
                "end_line": 199,
                "span_lf_sha256": "098cf35d1291f43758cb9d0bec8c14c9147e03314687efebe222354745dd1156"
              }
            ]
          },
          {
            "wording": "Describe storage account options and storage types",
            "objective_wording_sha256": "f5f12debe6062ea95eefe50925e95564b61a8d86aae2fd65a1dc585b2616dbf7",
            "group": "Describe Azure storage services",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Account type, access tier and redundancy are separate choices",
                "start_line": 205,
                "end_line": 218,
                "span_lf_sha256": "565bce6232410963d95b606e2bbc6be6bb3b046b10627721d1234787aae4a4bd"
              }
            ]
          },
          {
            "wording": "Identify options for moving files, including AzCopy, Azure Storage Explorer, and Azure File Sync",
            "objective_wording_sha256": "7f8df2051cfc3639d2fe2578bad8628ffca10c03d166c938ed440820f5d614f1",
            "group": "Describe Azure storage services",
            "group_number": 6,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Storage services and redundancy",
                "start_line": 201,
                "end_line": 201,
                "span_lf_sha256": "ea5c152c4ae0ddad77501928eda0d9cb706e7298735937e182723546d0b41523"
              },
              {
                "heading": "Select storage from data shape through recovery",
                "start_line": 431,
                "end_line": 431,
                "span_lf_sha256": "e438fac3c443cdb98ffcef7063b82d295ec4c212d6fdd4e8a461b474315e3237"
              }
            ]
          },
          {
            "wording": "Describe migration options, including Azure Migrate and Azure Data Box",
            "objective_wording_sha256": "f2f01795b60c640121f0c8a15d833eec87de5d368855fada0b9aa69209807b99",
            "group": "Describe Azure storage services",
            "group_number": 6,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Storage services and redundancy",
                "start_line": 201,
                "end_line": 201,
                "span_lf_sha256": "ea5c152c4ae0ddad77501928eda0d9cb706e7298735937e182723546d0b41523"
              },
              {
                "heading": "Select storage from data shape through recovery",
                "start_line": 431,
                "end_line": 431,
                "span_lf_sha256": "e438fac3c443cdb98ffcef7063b82d295ec4c212d6fdd4e8a461b474315e3237"
              }
            ]
          },
          {
            "wording": "Describe directory services in Azure, including Microsoft Entra ID and Microsoft Entra Domain Services",
            "objective_wording_sha256": "15bd36c95fb649d1e2ea01a079b83fa7efb1a5e9609f994c1db1ff784b234c44",
            "group": "Describe Azure identity, access, and security",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Authentication and authorization",
                "start_line": 222,
                "end_line": 235,
                "span_lf_sha256": "fb950e3b60507caa367859fd9390cc6d0b898cf1baa991681e44c0b93bd2a539"
              },
              {
                "heading": "Separate directory, authentication, access policy, and Azure authorization",
                "start_line": 433,
                "end_line": 447,
                "span_lf_sha256": "06245da9d78b58c02de85434d637a85c8b8f3406c10252f510af07b4358272a3"
              }
            ]
          },
          {
            "wording": "Describe authentication methods in Azure, including single sign-on (SSO), multifactor authentication (MFA), and passwordless",
            "objective_wording_sha256": "873ee2afc8a48f14dc999f8275c11a865b6827d689cc4a5315ba97e5ddd12d40",
            "group": "Describe Azure identity, access, and security",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Authentication and authorization",
                "start_line": 222,
                "end_line": 235,
                "span_lf_sha256": "fb950e3b60507caa367859fd9390cc6d0b898cf1baa991681e44c0b93bd2a539"
              }
            ]
          },
          {
            "wording": "Describe external identities in Azure",
            "objective_wording_sha256": "5e1929215373deb331ba0820d0f2c88e5f4001a0019c04814d3bb44d9b93ade1",
            "group": "Describe Azure identity, access, and security",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "External users: collaboration versus customer apps",
                "start_line": 237,
                "end_line": 239,
                "span_lf_sha256": "91d3b968af82901b97d0953a574bf3d01ea3513a7a67e65c7f754bc0a16cdde7"
              }
            ]
          },
          {
            "wording": "Describe Microsoft Entra Conditional Access",
            "objective_wording_sha256": "9100dd88bdea78675277a5dc7140ed2b5d8122bf329d4692e3e228afb572a3c1",
            "group": "Describe Azure identity, access, and security",
            "group_number": 7,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Authentication and authorization",
                "start_line": 222,
                "end_line": 235,
                "span_lf_sha256": "fb950e3b60507caa367859fd9390cc6d0b898cf1baa991681e44c0b93bd2a539"
              },
              {
                "heading": "Separate directory, authentication, access policy, and Azure authorization",
                "start_line": 437,
                "end_line": 447,
                "span_lf_sha256": "34f9d2d022f25d422be0fe77b416ddd433b23392ad2065b1de0eeee88dbc9c8f"
              }
            ]
          },
          {
            "wording": "Describe Azure role-based access control (RBAC)",
            "objective_wording_sha256": "b3fdb26b83917ca22ca491043060ac5a39a67cbc2debecc4d77cb48f1784d5d1",
            "group": "Describe Azure identity, access, and security",
            "group_number": 7,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Authentication and authorization",
                "start_line": 222,
                "end_line": 235,
                "span_lf_sha256": "fb950e3b60507caa367859fd9390cc6d0b898cf1baa991681e44c0b93bd2a539"
              },
              {
                "heading": "Separate directory, authentication, access policy, and Azure authorization",
                "start_line": 437,
                "end_line": 447,
                "span_lf_sha256": "34f9d2d022f25d422be0fe77b416ddd433b23392ad2065b1de0eeee88dbc9c8f"
              }
            ]
          },
          {
            "wording": "Describe the concept of Zero Trust",
            "objective_wording_sha256": "0f525c66c3222add724aa3a9c85d0dce395051bbb7617b2f8d4d021364557d94",
            "group": "Describe Azure identity, access, and security",
            "group_number": 7,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Zero Trust and defense in depth",
                "start_line": 241,
                "end_line": 247,
                "span_lf_sha256": "7474062e161572865823d321078f338b9e8e678d2f0cd26a3629f7e3d732543a"
              }
            ]
          },
          {
            "wording": "Describe the purpose of the defense-in-depth model",
            "objective_wording_sha256": "5f77a401d608e093f72f6c0fe850746b58ddd372fe3da72c5f89e64839c45906",
            "group": "Describe Azure identity, access, and security",
            "group_number": 7,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Zero Trust and defense in depth",
                "start_line": 241,
                "end_line": 247,
                "span_lf_sha256": "7474062e161572865823d321078f338b9e8e678d2f0cd26a3629f7e3d732543a"
              }
            ]
          },
          {
            "wording": "Describe the purpose of Microsoft Defender for Cloud",
            "objective_wording_sha256": "53d96c0a9a40356a5e881cf5811f1cf0dd9d60a160e2fc30658cce425419ea09",
            "group": "Describe Azure identity, access, and security",
            "group_number": 7,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Zero Trust and defense in depth",
                "start_line": 241,
                "end_line": 247,
                "span_lf_sha256": "7474062e161572865823d321078f338b9e8e678d2f0cd26a3629f7e3d732543a"
              }
            ]
          },
          {
            "wording": "Describe factors that can affect costs in Azure",
            "objective_wording_sha256": "23b07c38c0b1721013088d95e68441abe1903a6975219d450c3f12e784c82745",
            "group": "Describe cost management in Azure",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Cost management",
                "start_line": 253,
                "end_line": 269,
                "span_lf_sha256": "c306f7b0559fa2adeb5e8a37206ed0178f742f9fed96635bc5527dae46bb6b81"
              },
              {
                "heading": "Worked example 1 — VM hours and costs that remain",
                "start_line": 498,
                "end_line": 508,
                "span_lf_sha256": "772b9bc50abf25c62dd0bfa6836c5eb8e45ded3b1d43216836fe5ea86f5f6f72"
              }
            ]
          },
          {
            "wording": "Explore the pricing calculator",
            "objective_wording_sha256": "bf7997fdd0dcbb6c6c24aeb12b90e620b19d744ca7e07cf4aafa29d5ad0cc144",
            "group": "Describe cost management in Azure",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Cost management",
                "start_line": 253,
                "end_line": 255,
                "span_lf_sha256": "8790ea6c4c68dd0d9a8e993a18816328445fae9e834d9a52c8e70f43826cf0ae"
              },
              {
                "heading": "Lab 5: Cost and monitoring",
                "start_line": 557,
                "end_line": 559,
                "span_lf_sha256": "3486528a15270615e4d632d12f1b3b457365aee61acc5e6743f487b3dfd6b1ab"
              }
            ]
          },
          {
            "wording": "Describe cost management capabilities in Azure",
            "objective_wording_sha256": "4542e09fff342ff1192e6a9f2446fde3ad9dd882f727f03df1183a8fd4e0ea4c",
            "group": "Describe cost management in Azure",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Cost management",
                "start_line": 253,
                "end_line": 269,
                "span_lf_sha256": "c306f7b0559fa2adeb5e8a37206ed0178f742f9fed96635bc5527dae46bb6b81"
              },
              {
                "heading": "Worked example 2 — actual cost versus forecast alert",
                "start_line": 502,
                "end_line": 508,
                "span_lf_sha256": "a96164e3addd66134e17e178f80cb5715219a4ae0df8cd06a541ef357239aae3"
              }
            ]
          },
          {
            "wording": "Describe the purpose of tags",
            "objective_wording_sha256": "94980db885b93fec5f34c64b114fdb8fa67cf797512533d9d68a00300adc7b30",
            "group": "Describe cost management in Azure",
            "group_number": 8,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Cost management",
                "start_line": 253,
                "end_line": 269,
                "span_lf_sha256": "c306f7b0559fa2adeb5e8a37206ed0178f742f9fed96635bc5527dae46bb6b81"
              },
              {
                "heading": "Worked example 3 — allocate shared cost without changing access",
                "start_line": 506,
                "end_line": 508,
                "span_lf_sha256": "ba244bb4aff6d5d43ea35a2c96c320a352082e3b507c5ad7e95f3526b3e4260e"
              }
            ]
          },
          {
            "wording": "Describe the purpose of Microsoft Purview in Azure",
            "objective_wording_sha256": "e5d3d5539fe8e32f2b6ae851ed8b63496c0bd3ee37fbb1b8ae9f9a58bde6ca54",
            "group": "Describe features and tools in Azure for governance and compliance",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Governance controls",
                "start_line": 271,
                "end_line": 285,
                "span_lf_sha256": "fb7c25a0795ccffa173b31fb030a2d5a6a31cf4f6607e963830dfae2fea6a9dc"
              },
              {
                "heading": "Apply governance controls at the correct scope",
                "start_line": 451,
                "end_line": 463,
                "span_lf_sha256": "987daeb556c5bdc111bc8b6aec8834b67c63e46b5626de43e51d49a4cda32b33"
              }
            ]
          },
          {
            "wording": "Describe the purpose of Azure Policy",
            "objective_wording_sha256": "afe56e5c3b5dbe3e5f8081df1338cd0ab3582b676f2b6fd4c6ba4a11f31e5d09",
            "group": "Describe features and tools in Azure for governance and compliance",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Governance controls",
                "start_line": 271,
                "end_line": 285,
                "span_lf_sha256": "fb7c25a0795ccffa173b31fb030a2d5a6a31cf4f6607e963830dfae2fea6a9dc"
              },
              {
                "heading": "Apply governance controls at the correct scope",
                "start_line": 451,
                "end_line": 463,
                "span_lf_sha256": "987daeb556c5bdc111bc8b6aec8834b67c63e46b5626de43e51d49a4cda32b33"
              }
            ]
          },
          {
            "wording": "Describe the purpose of resource locks",
            "objective_wording_sha256": "8253d0148e9369df4cffa9a92f9d190d540607d1e37e5713236f44faa16da712",
            "group": "Describe features and tools in Azure for governance and compliance",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Governance controls",
                "start_line": 271,
                "end_line": 285,
                "span_lf_sha256": "fb7c25a0795ccffa173b31fb030a2d5a6a31cf4f6607e963830dfae2fea6a9dc"
              },
              {
                "heading": "Worked example 6 — permission, policy, lock and data protection",
                "start_line": 520,
                "end_line": 527,
                "span_lf_sha256": "087385ebe327714c6ee68979013cf060b34f47336884c05275cd2dbd53fc26ff"
              }
            ]
          },
          {
            "wording": "Describe the Azure portal",
            "objective_wording_sha256": "8ad830ced96c572862243d3a2d98831356610d324cba056477cef2e42a9b27a7",
            "group": "Describe features and tools for managing and deploying Azure resources",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Deployment and management tools",
                "start_line": 287,
                "end_line": 295,
                "span_lf_sha256": "1e17caf9312d42dc39c68b046ed0215782acb26eb00c3f367efbf5bd0a84bfed"
              },
              {
                "heading": "Choose a management and deployment interface",
                "start_line": 467,
                "end_line": 480,
                "span_lf_sha256": "3baf045ce9fc837ce51a80a401008bd3f3d8e2218fbf39c7f75762130de4cafc"
              }
            ]
          },
          {
            "wording": "Describe Azure Cloud Shell, Azure CLI, and Azure PowerShell",
            "objective_wording_sha256": "ae9d278733575617a1e566bfd14a3f3aa1eeded497c07a51985cc6e6aa3ae693",
            "group": "Describe features and tools for managing and deploying Azure resources",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Deployment and management tools",
                "start_line": 287,
                "end_line": 295,
                "span_lf_sha256": "1e17caf9312d42dc39c68b046ed0215782acb26eb00c3f367efbf5bd0a84bfed"
              },
              {
                "heading": "Choose a management and deployment interface",
                "start_line": 467,
                "end_line": 480,
                "span_lf_sha256": "3baf045ce9fc837ce51a80a401008bd3f3d8e2218fbf39c7f75762130de4cafc"
              }
            ]
          },
          {
            "wording": "Describe the purpose of Azure Arc",
            "objective_wording_sha256": "54eab389ce7ef70d6324005191219693d90a08c911cbbcae9d301f28d8396846",
            "group": "Describe features and tools for managing and deploying Azure resources",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Deployment and management tools",
                "start_line": 287,
                "end_line": 295,
                "span_lf_sha256": "1e17caf9312d42dc39c68b046ed0215782acb26eb00c3f367efbf5bd0a84bfed"
              },
              {
                "heading": "Choose a management and deployment interface",
                "start_line": 480,
                "end_line": 480,
                "span_lf_sha256": "43104f22e2de41f0a829d11aa7a3d230eac2eba5538304218fc18324b941afba"
              }
            ]
          },
          {
            "wording": "Describe infrastructure as code (IaC)",
            "objective_wording_sha256": "aa8ec92d75ca11fc3d2beae404526a1b246a2055801cddf9e0bc5cc3a9715cc8",
            "group": "Describe features and tools for managing and deploying Azure resources",
            "group_number": 10,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Deployment and management tools",
                "start_line": 287,
                "end_line": 295,
                "span_lf_sha256": "1e17caf9312d42dc39c68b046ed0215782acb26eb00c3f367efbf5bd0a84bfed"
              },
              {
                "heading": "Choose a management and deployment interface",
                "start_line": 467,
                "end_line": 480,
                "span_lf_sha256": "3baf045ce9fc837ce51a80a401008bd3f3d8e2218fbf39c7f75762130de4cafc"
              }
            ]
          },
          {
            "wording": "Describe Azure Resource Manager (ARM) and ARM templates",
            "objective_wording_sha256": "f4b9f07db9744037e6bf7d087c99143cfbbd1b275e86dbc915bbe47c8afdd408",
            "group": "Describe features and tools for managing and deploying Azure resources",
            "group_number": 10,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Deployment and management tools",
                "start_line": 287,
                "end_line": 295,
                "span_lf_sha256": "1e17caf9312d42dc39c68b046ed0215782acb26eb00c3f367efbf5bd0a84bfed"
              },
              {
                "heading": "Choose a management and deployment interface",
                "start_line": 467,
                "end_line": 480,
                "span_lf_sha256": "3baf045ce9fc837ce51a80a401008bd3f3d8e2218fbf39c7f75762130de4cafc"
              }
            ]
          },
          {
            "wording": "Describe the purpose of Azure Advisor",
            "objective_wording_sha256": "3ea24abce6cbaf6ee6d4bfb415037fd443d3b9c8f124a25dc837105060136863",
            "group": "Describe monitoring tools in Azure",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Monitoring and service health",
                "start_line": 297,
                "end_line": 312,
                "span_lf_sha256": "d751294e9d18380d1f3cc2c918cfba9e750daeb05a358c0d9cbddaf7c07a97bc"
              },
              {
                "heading": "Build an evidence chain from platform incident to application behavior",
                "start_line": 482,
                "end_line": 494,
                "span_lf_sha256": "ccaeaa266ccb951616c268430a8f2a762407df609c02d9d2be692f85f9d3190f"
              }
            ]
          },
          {
            "wording": "Describe Azure Service Health",
            "objective_wording_sha256": "d94128b7cd40e4227e23cb155ebc04dde852f9686c57e3f231a2fd4ade15fa89",
            "group": "Describe monitoring tools in Azure",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Monitoring and service health",
                "start_line": 297,
                "end_line": 312,
                "span_lf_sha256": "d751294e9d18380d1f3cc2c918cfba9e750daeb05a358c0d9cbddaf7c07a97bc"
              },
              {
                "heading": "Build an evidence chain from platform incident to application behavior",
                "start_line": 482,
                "end_line": 494,
                "span_lf_sha256": "ccaeaa266ccb951616c268430a8f2a762407df609c02d9d2be692f85f9d3190f"
              }
            ]
          },
          {
            "wording": "Describe Azure Monitor, including Log Analytics, Azure Monitor alerts, and Azure Monitor Application Insights",
            "objective_wording_sha256": "1b9416a93e156a71cfd244efb0841d2e416b84329cf1d4f4cb502b5c9200df63",
            "group": "Describe monitoring tools in Azure",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Monitoring and service health",
                "start_line": 297,
                "end_line": 312,
                "span_lf_sha256": "d751294e9d18380d1f3cc2c918cfba9e750daeb05a358c0d9cbddaf7c07a97bc"
              },
              {
                "heading": "Build an evidence chain from platform incident to application behavior",
                "start_line": 482,
                "end_line": 494,
                "span_lf_sha256": "ccaeaa266ccb951616c268430a8f2a762407df609c02d9d2be692f85f9d3190f"
              }
            ]
          }
        ]
      }
    ],
    "subset_b_semantic_review": {
      "research_date": "2026-10-28",
      "review_type": "same-context read-only semantic recheck",
      "scope": "Five complete immutable guides and complete current diff including all 20 applied workflow packets, lifecycle/prerequisite edits, technical and learning-route edits; unchanged passages retain full earlier reading. Final objective candidates are raw-byte unchanged.",
      "human_review": false,
      "fresh_context_review": false,
      "live_product_execution": false,
      "exam_objective_counts": {
        "AZ-140": 78,
        "AZ-305": 49,
        "AZ-400": 86,
        "AZ-700": 136,
        "AZ-900": 57
      },
      "initial_partial_count": 92,
      "repaired_objectives": [
        {
          "exam_code": "AZ-140",
          "group_number": 2,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "ANF is compared but no account/capacity-pool/AD/SMB/FSLogix implementation path is taught.",
          "repair_id": "140-storage",
          "actual_current_heading": "Worked storage implementation: Azure Files versus NetApp Files",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked storage implementation: Azure Files versus NetApp Files",
            "start_line": 180,
            "end_line": 184,
            "span_lf_sha256": "c5c446696fc60132f0457d25042ea9e3d9204e6f38ee0d8caa51342238e6f215"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 4,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Windows client eligibility versus Server CAL requirement is named without configuration/check workflow.",
          "repair_id": "140-license",
          "actual_current_heading": "Worked licensing check: service eligibility and guest activation",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked licensing check: service eligibility and guest activation",
            "start_line": 203,
            "end_line": 205,
            "span_lf_sha256": "95b04948507139f939927bc51664310b6f0bfdeaa8670e5fb3f55f35beb1db44"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 7,
          "objective_number": 1,
          "initial_depth": "partial",
          "initial_reason": "Named Defender/CFA/App Control controls are a list; onboarding/scanning and audit-to-enforce checks are missing.",
          "repair_id": "140-protection",
          "actual_current_heading": "Worked endpoint-protection acceptance plan",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked endpoint-protection acceptance plan",
            "start_line": 300,
            "end_line": 304,
            "span_lf_sha256": "32d524ce327b907f0a0ee311421f15e3def7b4e51b896c2bc46ed6880d9e0337"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 7,
          "objective_number": 2,
          "initial_depth": "partial",
          "initial_reason": "Named Defender/CFA/App Control controls are a list; onboarding/scanning and audit-to-enforce checks are missing.",
          "repair_id": "140-protection",
          "actual_current_heading": "Worked endpoint-protection acceptance plan",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked endpoint-protection acceptance plan",
            "start_line": 300,
            "end_line": 304,
            "span_lf_sha256": "32d524ce327b907f0a0ee311421f15e3def7b4e51b896c2bc46ed6880d9e0337"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 7,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Named Defender/CFA/App Control controls are a list; onboarding/scanning and audit-to-enforce checks are missing.",
          "repair_id": "140-protection",
          "actual_current_heading": "Worked endpoint-protection acceptance plan",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked endpoint-protection acceptance plan",
            "start_line": 300,
            "end_line": 304,
            "span_lf_sha256": "32d524ce327b907f0a0ee311421f15e3def7b4e51b896c2bc46ed6880d9e0337"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 7,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Named Defender/CFA/App Control controls are a list; onboarding/scanning and audit-to-enforce checks are missing.",
          "repair_id": "140-protection",
          "actual_current_heading": "Worked endpoint-protection acceptance plan",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked endpoint-protection acceptance plan",
            "start_line": 300,
            "end_line": 304,
            "span_lf_sha256": "32d524ce327b907f0a0ee311421f15e3def7b4e51b896c2bc46ed6880d9e0337"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 8,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "ODFC redirection and application-masking assignments/deployment/verification have no worked setup.",
          "repair_id": "140-profile-controls",
          "actual_current_heading": "Worked ODFC and masking configuration checks",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ODFC and masking configuration checks",
            "start_line": 351,
            "end_line": 355,
            "span_lf_sha256": "bab4a9fdddd5f086272397a6eec2e41fcd1cb5a3cf9d0297c6cd9742b9334d53"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 8,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "ODFC redirection and application-masking assignments/deployment/verification have no worked setup.",
          "repair_id": "140-profile-controls",
          "actual_current_heading": "Worked ODFC and masking configuration checks",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ODFC and masking configuration checks",
            "start_line": 351,
            "end_line": 355,
            "span_lf_sha256": "bab4a9fdddd5f086272397a6eec2e41fcd1cb5a3cf9d0297c6cd9742b9334d53"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 9,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Experience control names are present, but printing/redirection/policy precedence and timeout behavior need a bounded configuration example.",
          "repair_id": "140-experience",
          "actual_current_heading": "Worked user-experience policy test",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked user-experience policy test",
            "start_line": 378,
            "end_line": 382,
            "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 9,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "Experience control names are present, but printing/redirection/policy precedence and timeout behavior need a bounded configuration example.",
          "repair_id": "140-experience",
          "actual_current_heading": "Worked user-experience policy test",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked user-experience policy test",
            "start_line": 378,
            "end_line": 382,
            "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 9,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Experience control names are present, but printing/redirection/policy precedence and timeout behavior need a bounded configuration example.",
          "repair_id": "140-experience",
          "actual_current_heading": "Worked user-experience policy test",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked user-experience policy test",
            "start_line": 378,
            "end_line": 382,
            "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 9,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Experience control names are present, but printing/redirection/policy precedence and timeout behavior need a bounded configuration example.",
          "repair_id": "140-experience",
          "actual_current_heading": "Worked user-experience policy test",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked user-experience policy test",
            "start_line": 378,
            "end_line": 382,
            "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 9,
          "objective_number": 8,
          "initial_depth": "partial",
          "initial_reason": "Experience control names are present, but printing/redirection/policy precedence and timeout behavior need a bounded configuration example.",
          "repair_id": "140-experience",
          "actual_current_heading": "Worked user-experience policy test",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked user-experience policy test",
            "start_line": 378,
            "end_line": 382,
            "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 9,
          "objective_number": 9,
          "initial_depth": "partial",
          "initial_reason": "Experience control names are present, but printing/redirection/policy precedence and timeout behavior need a bounded configuration example.",
          "repair_id": "140-experience",
          "actual_current_heading": "Worked user-experience policy test",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked user-experience policy test",
            "start_line": 378,
            "end_line": 382,
            "span_lf_sha256": "2d38fff62c7896cf5dd7fb0c954316546e7a9589e661207836d749f6c9c686c4"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 9,
          "objective_number": 10,
          "initial_depth": "partial",
          "initial_reason": "Power-on and personal assignment are described without enabling, assigning/unassigning or validation sequence.",
          "repair_id": "140-personal",
          "actual_current_heading": "Worked personal-desktop and power-on workflow",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked personal-desktop and power-on workflow",
            "start_line": 384,
            "end_line": 388,
            "span_lf_sha256": "e53cb1b476a65d3d56bdc97cc8c1c106414998c524f04689c0fec72adf802017"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 9,
          "objective_number": 11,
          "initial_depth": "partial",
          "initial_reason": "Power-on and personal assignment are described without enabling, assigning/unassigning or validation sequence.",
          "repair_id": "140-personal",
          "actual_current_heading": "Worked personal-desktop and power-on workflow",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked personal-desktop and power-on workflow",
            "start_line": 384,
            "end_line": 388,
            "span_lf_sha256": "e53cb1b476a65d3d56bdc97cc8c1c106414998c524f04689c0fec72adf802017"
          }
        },
        {
          "exam_code": "AZ-140",
          "group_number": 11,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Session metrics are listed, but disconnect/logoff/message versus drain/remove workflow is missing.",
          "repair_id": "140-session-ops",
          "actual_current_heading": "Worked active-session maintenance decision",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked active-session maintenance decision",
            "start_line": 462,
            "end_line": 464,
            "span_lf_sha256": "e25f5b93986fd8c3db7d136432ae577882b0a478a09e14918758f5f40b1e83ef"
          }
        },
        {
          "exam_code": "AZ-305",
          "group_number": 2,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Only on-premises trust protocols are listed; no actual authorization design is recommended for an illustrative resource.",
          "repair_id": "305-onprem",
          "actual_current_heading": "Worked on-premises authorization decision",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked on-premises authorization decision",
            "start_line": 145,
            "end_line": 147,
            "span_lf_sha256": "2813fc8546edf1ab0c3a142b68dc83deec7c04a10526496b6994cbc8875dda45"
          }
        },
        {
          "exam_code": "AZ-305",
          "group_number": 6,
          "objective_number": 2,
          "initial_depth": "partial",
          "initial_reason": "Analysis categories appear without a concrete platform choice, serving model and rejection rationale.",
          "repair_id": "305-analysis",
          "actual_current_heading": "Worked analysis-platform recommendation",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked analysis-platform recommendation",
            "start_line": 264,
            "end_line": 268,
            "span_lf_sha256": "db9b098089b49b704fde39826b37e2cf52c8d7f214afd5fa9765bb7f6a8591af"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 1,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 2,
          "objective_number": 2,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 2,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 2,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 2,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 2,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 2,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 3,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 3,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 3,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Metrics/integrations are conceptually explained, but scoped queries and one configuration/generation workflow would make named operations teachable.",
          "repair_id": "400-trace",
          "actual_current_heading": "Worked traceability and query worksheet",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked traceability and query worksheet",
            "start_line": 153,
            "end_line": 159,
            "span_lf_sha256": "88bcd778d774d72490f7d932a7bcc95265e5c4f5fd4523fdb91e5a5e820b8759"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 7,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "The guide has no YAML pipeline snippet despite the develop/configure objectives; task inputs, trigger and template boundaries remain abstract.",
          "repair_id": "400-yaml",
          "actual_current_heading": "Worked YAML graph, tests and template boundary",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked YAML graph, tests and template boundary",
            "start_line": 367,
            "end_line": 408,
            "span_lf_sha256": "4431496f84c626957bdde345a21afbada43ba44f944ca8542f84d146fb20387e"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 7,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "The guide has no YAML pipeline snippet despite the develop/configure objectives; task inputs, trigger and template boundaries remain abstract.",
          "repair_id": "400-yaml",
          "actual_current_heading": "Worked YAML graph, tests and template boundary",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked YAML graph, tests and template boundary",
            "start_line": 367,
            "end_line": 408,
            "span_lf_sha256": "4431496f84c626957bdde345a21afbada43ba44f944ca8542f84d146fb20387e"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 8,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "The guide has no YAML pipeline snippet despite the develop/configure objectives; task inputs, trigger and template boundaries remain abstract.",
          "repair_id": "400-yaml",
          "actual_current_heading": "Worked YAML graph, tests and template boundary",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked YAML graph, tests and template boundary",
            "start_line": 367,
            "end_line": 408,
            "span_lf_sha256": "4431496f84c626957bdde345a21afbada43ba44f944ca8542f84d146fb20387e"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 8,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "The guide has no YAML pipeline snippet despite the develop/configure objectives; task inputs, trigger and template boundaries remain abstract.",
          "repair_id": "400-yaml",
          "actual_current_heading": "Worked YAML graph, tests and template boundary",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked YAML graph, tests and template boundary",
            "start_line": 367,
            "end_line": 408,
            "span_lf_sha256": "4431496f84c626957bdde345a21afbada43ba44f944ca8542f84d146fb20387e"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 8,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "The guide has no YAML pipeline snippet despite the develop/configure objectives; task inputs, trigger and template boundaries remain abstract.",
          "repair_id": "400-yaml",
          "actual_current_heading": "Worked YAML graph, tests and template boundary",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked YAML graph, tests and template boundary",
            "start_line": 367,
            "end_line": 408,
            "span_lf_sha256": "4431496f84c626957bdde345a21afbada43ba44f944ca8542f84d146fb20387e"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 8,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "The guide has no YAML pipeline snippet despite the develop/configure objectives; task inputs, trigger and template boundaries remain abstract.",
          "repair_id": "400-yaml",
          "actual_current_heading": "Worked YAML graph, tests and template boundary",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked YAML graph, tests and template boundary",
            "start_line": 367,
            "end_line": 408,
            "span_lf_sha256": "4431496f84c626957bdde345a21afbada43ba44f944ca8542f84d146fb20387e"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 8,
          "objective_number": 8,
          "initial_depth": "partial",
          "initial_reason": "The guide has no YAML pipeline snippet despite the develop/configure objectives; task inputs, trigger and template boundaries remain abstract.",
          "repair_id": "400-yaml",
          "actual_current_heading": "Worked YAML graph, tests and template boundary",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked YAML graph, tests and template boundary",
            "start_line": 367,
            "end_line": 408,
            "span_lf_sha256": "4431496f84c626957bdde345a21afbada43ba44f944ca8542f84d146fb20387e"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 9,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Named flag, desired-state and self-service tools are explained but no concrete configuration/verification walkthrough is provided.",
          "repair_id": "400-deploy",
          "actual_current_heading": "Worked flag, guest-state and self-service acceptance",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked flag, guest-state and self-service acceptance",
            "start_line": 452,
            "end_line": 458,
            "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 9,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Named flag, desired-state and self-service tools are explained but no concrete configuration/verification walkthrough is provided.",
          "repair_id": "400-deploy",
          "actual_current_heading": "Worked flag, guest-state and self-service acceptance",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked flag, guest-state and self-service acceptance",
            "start_line": 452,
            "end_line": 458,
            "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 10,
          "objective_number": 2,
          "initial_depth": "partial",
          "initial_reason": "Named flag, desired-state and self-service tools are explained but no concrete configuration/verification walkthrough is provided.",
          "repair_id": "400-deploy",
          "actual_current_heading": "Worked flag, guest-state and self-service acceptance",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked flag, guest-state and self-service acceptance",
            "start_line": 452,
            "end_line": 458,
            "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 10,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Named flag, desired-state and self-service tools are explained but no concrete configuration/verification walkthrough is provided.",
          "repair_id": "400-deploy",
          "actual_current_heading": "Worked flag, guest-state and self-service acceptance",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked flag, guest-state and self-service acceptance",
            "start_line": 452,
            "end_line": 458,
            "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 10,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "Named flag, desired-state and self-service tools are explained but no concrete configuration/verification walkthrough is provided.",
          "repair_id": "400-deploy",
          "actual_current_heading": "Worked flag, guest-state and self-service acceptance",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked flag, guest-state and self-service acceptance",
            "start_line": 452,
            "end_line": 458,
            "span_lf_sha256": "e69f4ba607ee1c2b33bf31e11176214b5130ee232f103da05b0dae62a5b1224b"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 12,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 14,
          "objective_number": 2,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 14,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 14,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 14,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 14,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 15,
          "objective_number": 1,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 15,
          "objective_number": 2,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 15,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-400",
          "group_number": 15,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Named connector/scanner/insight/alert/project operations need an explicit ownership/configuration/evidence example rather than a collective tool list.",
          "repair_id": "400-security-observe",
          "actual_current_heading": "Worked security and monitoring onboarding checklist",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked security and monitoring onboarding checklist",
            "start_line": 637,
            "end_line": 645,
            "span_lf_sha256": "325da87f5ff9d8bf25980ef99e0ad198effd117e6e483a248de539b6d5c41ad4"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 1,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Public IP and BYOIP vocabulary lacks a resource-derivation/advertisement/association example.",
          "repair_id": "700-public",
          "actual_current_heading": "Worked public-IP allocation and BYOIP decision",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked public-IP allocation and BYOIP decision",
            "start_line": 106,
            "end_line": 110,
            "span_lf_sha256": "8546c2253666660b074d7b5ac47ddd14f320b47e8b47bc5f9b17e435d4d6125b"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 1,
          "objective_number": 8,
          "initial_depth": "partial",
          "initial_reason": "Public IP and BYOIP vocabulary lacks a resource-derivation/advertisement/association example.",
          "repair_id": "700-public",
          "actual_current_heading": "Worked public-IP allocation and BYOIP decision",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked public-IP allocation and BYOIP decision",
            "start_line": 106,
            "end_line": 110,
            "span_lf_sha256": "8546c2253666660b074d7b5ac47ddd14f320b47e8b47bc5f9b17e435d4d6125b"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 1,
          "objective_number": 9,
          "initial_depth": "partial",
          "initial_reason": "Public IP and BYOIP vocabulary lacks a resource-derivation/advertisement/association example.",
          "repair_id": "700-public",
          "actual_current_heading": "Worked public-IP allocation and BYOIP decision",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked public-IP allocation and BYOIP decision",
            "start_line": 106,
            "end_line": 110,
            "span_lf_sha256": "8546c2253666660b074d7b5ac47ddd14f320b47e8b47bc5f9b17e435d4d6125b"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 1,
          "objective_number": 10,
          "initial_depth": "partial",
          "initial_reason": "Public IP and BYOIP vocabulary lacks a resource-derivation/advertisement/association example.",
          "repair_id": "700-public",
          "actual_current_heading": "Worked public-IP allocation and BYOIP decision",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked public-IP allocation and BYOIP decision",
            "start_line": 106,
            "end_line": 110,
            "span_lf_sha256": "8546c2253666660b074d7b5ac47ddd14f320b47e8b47bc5f9b17e435d4d6125b"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 3,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Route Server, ASG and Network Manager are mentioned without deployment/assignment verification.",
          "repair_id": "700-route-manager",
          "actual_current_heading": "Worked Route Server and network-policy deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Route Server and network-policy deployment",
            "start_line": 184,
            "end_line": 188,
            "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 3,
          "objective_number": 8,
          "initial_depth": "partial",
          "initial_reason": "Route Server, ASG and Network Manager are mentioned without deployment/assignment verification.",
          "repair_id": "700-route-manager",
          "actual_current_heading": "Worked Route Server and network-policy deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Route Server and network-policy deployment",
            "start_line": 184,
            "end_line": 188,
            "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 4,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Specific network monitoring/DDoS/Defender workflows are collectively named without an activation/query/recommendation example.",
          "repair_id": "700-monitor",
          "actual_current_heading": "Worked network posture and monitoring triage",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked network posture and monitoring triage",
            "start_line": 209,
            "end_line": 215,
            "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 4,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Specific network monitoring/DDoS/Defender workflows are collectively named without an activation/query/recommendation example.",
          "repair_id": "700-monitor",
          "actual_current_heading": "Worked network posture and monitoring triage",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked network posture and monitoring triage",
            "start_line": 209,
            "end_line": 215,
            "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 4,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "Specific network monitoring/DDoS/Defender workflows are collectively named without an activation/query/recommendation example.",
          "repair_id": "700-monitor",
          "actual_current_heading": "Worked network posture and monitoring triage",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked network posture and monitoring triage",
            "start_line": 209,
            "end_line": 215,
            "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 4,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Specific network monitoring/DDoS/Defender workflows are collectively named without an activation/query/recommendation example.",
          "repair_id": "700-monitor",
          "actual_current_heading": "Worked network posture and monitoring triage",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked network posture and monitoring triage",
            "start_line": 209,
            "end_line": 215,
            "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 4,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Specific network monitoring/DDoS/Defender workflows are collectively named without an activation/query/recommendation example.",
          "repair_id": "700-monitor",
          "actual_current_heading": "Worked network posture and monitoring triage",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked network posture and monitoring triage",
            "start_line": 209,
            "end_line": 215,
            "span_lf_sha256": "295039af985d8255fd4170946d9e73b0fd4442600b0738c6776db8b567a58bad"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 6,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "RADIUS/Entra configuration and generated client profile workflow are not taught beyond choice labels.",
          "repair_id": "700-p2s",
          "actual_current_heading": "Worked P2S authentication and profile acceptance",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked P2S authentication and profile acceptance",
            "start_line": 288,
            "end_line": 292,
            "span_lf_sha256": "db01b43d4b25ee78ec7ee1af2b761c1b8e2a40aea61ee628284b80aeec905195"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 6,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "RADIUS/Entra configuration and generated client profile workflow are not taught beyond choice labels.",
          "repair_id": "700-p2s",
          "actual_current_heading": "Worked P2S authentication and profile acceptance",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked P2S authentication and profile acceptance",
            "start_line": 288,
            "end_line": 292,
            "span_lf_sha256": "db01b43d4b25ee78ec7ee1af2b761c1b8e2a40aea61ee628284b80aeec905195"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 6,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "RADIUS/Entra configuration and generated client profile workflow are not taught beyond choice labels.",
          "repair_id": "700-p2s",
          "actual_current_heading": "Worked P2S authentication and profile acceptance",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked P2S authentication and profile acceptance",
            "start_line": 288,
            "end_line": 292,
            "span_lf_sha256": "db01b43d4b25ee78ec7ee1af2b761c1b8e2a40aea61ee628284b80aeec905195"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 7,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Peering/gateway/encryption/BFD implementation and triage remain broad feature descriptions.",
          "repair_id": "700-expressroute",
          "actual_current_heading": "Worked ExpressRoute peering, detection and recovery",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ExpressRoute peering, detection and recovery",
            "start_line": 327,
            "end_line": 333,
            "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 7,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Peering/gateway/encryption/BFD implementation and triage remain broad feature descriptions.",
          "repair_id": "700-expressroute",
          "actual_current_heading": "Worked ExpressRoute peering, detection and recovery",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ExpressRoute peering, detection and recovery",
            "start_line": 327,
            "end_line": 333,
            "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 7,
          "objective_number": 8,
          "initial_depth": "partial",
          "initial_reason": "Peering/gateway/encryption/BFD implementation and triage remain broad feature descriptions.",
          "repair_id": "700-expressroute",
          "actual_current_heading": "Worked ExpressRoute peering, detection and recovery",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ExpressRoute peering, detection and recovery",
            "start_line": 327,
            "end_line": 333,
            "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 7,
          "objective_number": 9,
          "initial_depth": "partial",
          "initial_reason": "Peering/gateway/encryption/BFD implementation and triage remain broad feature descriptions.",
          "repair_id": "700-expressroute",
          "actual_current_heading": "Worked ExpressRoute peering, detection and recovery",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ExpressRoute peering, detection and recovery",
            "start_line": 327,
            "end_line": 333,
            "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 7,
          "objective_number": 11,
          "initial_depth": "partial",
          "initial_reason": "Peering/gateway/encryption/BFD implementation and triage remain broad feature descriptions.",
          "repair_id": "700-expressroute",
          "actual_current_heading": "Worked ExpressRoute peering, detection and recovery",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ExpressRoute peering, detection and recovery",
            "start_line": 327,
            "end_line": 333,
            "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 7,
          "objective_number": 12,
          "initial_depth": "partial",
          "initial_reason": "Peering/gateway/encryption/BFD implementation and triage remain broad feature descriptions.",
          "repair_id": "700-expressroute",
          "actual_current_heading": "Worked ExpressRoute peering, detection and recovery",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ExpressRoute peering, detection and recovery",
            "start_line": 327,
            "end_line": 333,
            "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 7,
          "objective_number": 13,
          "initial_depth": "partial",
          "initial_reason": "Peering/gateway/encryption/BFD implementation and triage remain broad feature descriptions.",
          "repair_id": "700-expressroute",
          "actual_current_heading": "Worked ExpressRoute peering, detection and recovery",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked ExpressRoute peering, detection and recovery",
            "start_line": 327,
            "end_line": 333,
            "span_lf_sha256": "0d59616abc464531c26ac35ebba4d7478dac0e68d852b638fa3f23764274df50"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 8,
          "objective_number": 1,
          "initial_depth": "partial",
          "initial_reason": "Basic/Standard, hub creation, independent scale units and eligible integrated NVA/secure hub steps missing.",
          "repair_id": "700-vwan",
          "actual_current_heading": "Worked Virtual WAN hub, scale and security deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Virtual WAN hub, scale and security deployment",
            "start_line": 351,
            "end_line": 357,
            "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 8,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Basic/Standard, hub creation, independent scale units and eligible integrated NVA/secure hub steps missing.",
          "repair_id": "700-vwan",
          "actual_current_heading": "Worked Virtual WAN hub, scale and security deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Virtual WAN hub, scale and security deployment",
            "start_line": 351,
            "end_line": 357,
            "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 8,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Basic/Standard, hub creation, independent scale units and eligible integrated NVA/secure hub steps missing.",
          "repair_id": "700-vwan",
          "actual_current_heading": "Worked Virtual WAN hub, scale and security deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Virtual WAN hub, scale and security deployment",
            "start_line": 351,
            "end_line": 357,
            "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 8,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "Basic/Standard, hub creation, independent scale units and eligible integrated NVA/secure hub steps missing.",
          "repair_id": "700-vwan",
          "actual_current_heading": "Worked Virtual WAN hub, scale and security deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Virtual WAN hub, scale and security deployment",
            "start_line": 351,
            "end_line": 357,
            "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 8,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Basic/Standard, hub creation, independent scale units and eligible integrated NVA/secure hub steps missing.",
          "repair_id": "700-vwan",
          "actual_current_heading": "Worked Virtual WAN hub, scale and security deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Virtual WAN hub, scale and security deployment",
            "start_line": 351,
            "end_line": 357,
            "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 9,
          "objective_number": 8,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 10,
          "objective_number": 10,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 11,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 11,
          "objective_number": 8,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 11,
          "objective_number": 9,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 12,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 12,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 14,
          "objective_number": 3,
          "initial_depth": "partial",
          "initial_reason": "Route Server, ASG and Network Manager are mentioned without deployment/assignment verification.",
          "repair_id": "700-route-manager",
          "actual_current_heading": "Worked Route Server and network-policy deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Route Server and network-policy deployment",
            "start_line": 184,
            "end_line": 188,
            "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 14,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Route Server, ASG and Network Manager are mentioned without deployment/assignment verification.",
          "repair_id": "700-route-manager",
          "actual_current_heading": "Worked Route Server and network-policy deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Route Server and network-policy deployment",
            "start_line": 184,
            "end_line": 188,
            "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 14,
          "objective_number": 10,
          "initial_depth": "partial",
          "initial_reason": "Route Server, ASG and Network Manager are mentioned without deployment/assignment verification.",
          "repair_id": "700-route-manager",
          "actual_current_heading": "Worked Route Server and network-policy deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Route Server and network-policy deployment",
            "start_line": 184,
            "end_line": 188,
            "span_lf_sha256": "3ef64c8dd3b189772be779f7edd7c28188c03e954123b41d167390adcc4071c3"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 15,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Basic/Standard, hub creation, independent scale units and eligible integrated NVA/secure hub steps missing.",
          "repair_id": "700-vwan",
          "actual_current_heading": "Worked Virtual WAN hub, scale and security deployment",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked Virtual WAN hub, scale and security deployment",
            "start_line": 351,
            "end_line": 357,
            "span_lf_sha256": "f00bab68b699b06274df1085c464248702ec8c652de254c5861fa67fdd58b926"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 16,
          "objective_number": 4,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 16,
          "objective_number": 5,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 16,
          "objective_number": 6,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        },
        {
          "exam_code": "AZ-700",
          "group_number": 16,
          "objective_number": 7,
          "initial_depth": "partial",
          "initial_reason": "Named service-chaining, rewrite, tier, provider Private Link or WAF policy association operation lacks an example.",
          "repair_id": "700-delivery",
          "actual_current_heading": "Worked service chaining, rewrites and policy association",
          "semantic_disposition": "Original named workflow now teaches configuration/ownership inputs, operation sequence, expected evidence and answer/failure check; reviewed in complete before guide plus all current changed passages. No live execution implied.",
          "current_evidence": {
            "heading": "Worked service chaining, rewrites and policy association",
            "start_line": 564,
            "end_line": 572,
            "span_lf_sha256": "223fbe1804d6585916961211a481db0be918d26e5755cf4bb2176dd2d1e43a80"
          }
        }
      ],
      "remaining_material_findings": [],
      "limitations": [
        "Worked recipes teach bounded procedures/acceptance without claiming full production configuration or live lab validation.",
        "This source/objective mapping is not the later independent AI audit; initial partial rows remain historical.",
        "Public metadata, source permissions/version constraints and deployment-specific behavior remain labeled current-check limitations."
      ]
    },
    "immutable_initial_matrices": {
      "exam-a-mapping.json": "f5420532140cef459f431a46da33e55394d95b8fcd90b5a51b5a82c7a5fb975a",
      "exam-b-mapping.json": "9f61b5c9f09d724cd995c2c3dc38e8076267aa9f6ce8e8df9b9c9d20cad21762"
    },
    "limits": [
      "Syntax-only checks do not execute SDK/cloud/SQL/KQL/tenant workflows.",
      "Upstream embedding training is corroborated; support on a chosen managed Foundry embedding endpoint remains explicitly unverified.",
      "Scoped Government Shortpath endpoint preview is separate from Multipath GA availability.",
      "Complete independent rubric2 audit and human review remain separate."
    ],
    "subset_a_before_independent_repairs": {
      "schema_version": 1,
      "reviewed_on": "2026-10-28",
      "reviewer": "Same-team read-only exam researcher A",
      "exams": [
        {
          "exam_code": "AB-620",
          "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
          "guide_lf_sha256": "c75b80d4362706956756e8c4f20acbf68525f7275ed84eb39867f71788dd3067",
          "objective_raw_sha256": "8b9f6ca0601cf631a000763ce7a0cca802a0177c66d7a4e3cc29d84d52188dfc",
          "objective_count": 44,
          "current_mapping": [
            {
              "wording": "Plan integration with enterprise systems",
              "objective_wording_sha256": "3b8c6283f7dfc14e77d3923d5dddc23a173acad4789f0ea868a25cfb96d7406b",
              "group": "Plan an agent solution",
              "group_number": 1,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Plan enterprise integration as trust boundaries",
                  "start_line": 112,
                  "end_line": 125,
                  "span_lf_sha256": "dca6141c9af2e15afc0114434296d02bf4f1a9b282f4fb05d65d393b6e404584"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Trust-boundary inventory includes systems, identity, retries and ownership.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Plan identity strategy",
              "objective_wording_sha256": "2e8babd7c43fd8b44b22f40c5a263f69ef92d84406143d987fee7e63cd6aad04",
              "group": "Plan an agent solution",
              "group_number": 1,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Choose the identity strategy before building tools",
                  "start_line": 127,
                  "end_line": 146,
                  "span_lf_sha256": "19cd603fc7f0ff9e8071e84dd2ae69a7b8ed32300b0c5f7f896f8b2b05e71ce5"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Identity decision table separates caller, maker and workload execution and verifies channel-specific variables.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Plan channels and deployment",
              "objective_wording_sha256": "a3e790165fd95976198b87076aa1f1a9c02f4cac82239229bd59da71d74fcef0",
              "group": "Plan an agent solution",
              "group_number": 1,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Design channels and deployment together",
                  "start_line": 148,
                  "end_line": 165,
                  "span_lf_sha256": "d42bc12fc9780372349eaa27199f3cbbf7c3b64309ec89086fdfda8b076c5deb"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Channel checklist and propagation example separate publication, transport security and authorization.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Plan responsible AI strategy",
              "objective_wording_sha256": "597c0e04de6de674fb1cd84c86412c8d1028cec037e29e57b3561fd57a02bcc8",
              "group": "Plan an agent solution",
              "group_number": 1,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Plan responsible AI and governance as lifecycle controls",
                  "start_line": 167,
                  "end_line": 177,
                  "span_lf_sha256": "45899c69cdda22849d4efe88b37526ef9a1aa6dfe15f1af82fe4f92ff6b26f19"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Lifecycle risk register specifies surfaces and proportional controls.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Evaluate security and governance considerations",
              "objective_wording_sha256": "adc967ca1bbb1becb714f56ef84feabdb608f925471bd834b80956b54049e068",
              "group": "Plan an agent solution",
              "group_number": 1,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Plan responsible AI and governance as lifecycle controls",
                  "start_line": 167,
                  "end_line": 177,
                  "span_lf_sha256": "45899c69cdda22849d4efe88b37526ef9a1aa6dfe15f1af82fe4f92ff6b26f19"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Environment zones connect data policies, roles, publishing and monitoring.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Plan reuseable agent components",
              "objective_wording_sha256": "962da4cd046a2f0add256560d43f78c0fe96bf5b0be72c6837faf0bc44502f9e",
              "group": "Plan an agent solution",
              "group_number": 1,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Plan responsible AI and governance as lifecycle controls",
                  "start_line": 179,
                  "end_line": 185,
                  "span_lf_sha256": "639ccbe949e06d5588f3b6dc96bf8cb084a310980ccd4a93bf5953bb4a218ad6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Reusable contracts specify owners, schemas, versions, consumers and deprecation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Design agents for internal or external audiences",
              "objective_wording_sha256": "c59202db2c50c2cbe7ea262f8765173659e9f5f674d5914e2ea59c0ca57b6f69",
              "group": "Plan an agent solution",
              "group_number": 1,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Build an architecture contract before a canvas",
                  "start_line": 94,
                  "end_line": 108,
                  "span_lf_sha256": "63ffd122a22d58cb7af7e62077baa584b224f1623a8f0929dbdf8160abfa08bb"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Architecture contract distinguishes internal, known external and anonymous audiences.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create an agent flow",
              "objective_wording_sha256": "a968a502b87134f9222094ff58511f1b923d2a4ac315364bee4f499ac28a64dc",
              "group": "Create and monitor agent flows in Copilot Studio",
              "group_number": 2,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Create bounded agent flows",
                  "start_line": 190,
                  "end_line": 208,
                  "span_lf_sha256": "985434c470cfea1f18a848aa543193aea88fdf3aba10dc2cd050587b8182c409"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Typed flow path includes business rejection, transient failure and escalation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create a human-in-the-loop agent flow",
              "objective_wording_sha256": "9e1e887c0e9e3587b4c3e240d3e0e064111e49681044f547c5432bf52acd0c3e",
              "group": "Create and monitor agent flows in Copilot Studio",
              "group_number": 2,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Create bounded agent flows",
                  "start_line": 204,
                  "end_line": 210,
                  "span_lf_sha256": "b39e7caecd3871945bf5d39b3e001ad3f7fd075baff793329c5c23e83a409905"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Approval reachability example tests all outcomes and recreation after promotion.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure actions and connectors",
              "objective_wording_sha256": "59a6cf5da55e5c05dff39de3a5ddd51ea011c688c899afe7368463234b92f234",
              "group": "Create and monitor agent flows in Copilot Studio",
              "group_number": 2,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Create bounded agent flows",
                  "start_line": 190,
                  "end_line": 208,
                  "span_lf_sha256": "985434c470cfea1f18a848aa543193aea88fdf3aba10dc2cd050587b8182c409"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Flow contracts specify connector steps and connection references.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Monitor agent flows",
              "objective_wording_sha256": "136a00cd63175fc99d8829cea7b6ec03687052f999abb1804f6e9b8e4010749d",
              "group": "Create and monitor agent flows in Copilot Studio",
              "group_number": 2,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Create bounded agent flows",
                  "start_line": 206,
                  "end_line": 208,
                  "span_lf_sha256": "33214b457cefdfa25086020e35ff45c9e0277a1a6b7d945f230f0abb1f5093fa"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Run-monitoring signals distinguish flow execution from agent result mapping.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Add input and output parameters",
              "objective_wording_sha256": "e46a31d5e9fa9a882e50c199da57d261f9a3e5bd09e165e44f7a8992adb36eb4",
              "group": "Create and monitor agent flows in Copilot Studio",
              "group_number": 2,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Create bounded agent flows",
                  "start_line": 190,
                  "end_line": 202,
                  "span_lf_sha256": "ce1b96e4f65161a5330df7d511fc48db4a80cfb280f6c04745115554d174772c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Inputs carry type, requirement, validation and default; outputs return structured status.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement error handling in agent flows",
              "objective_wording_sha256": "e97e25656cd63a3bae5be2f805c3964ec7f52a7fc162c6e6f0ec63a46fa77e90",
              "group": "Create and monitor agent flows in Copilot Studio",
              "group_number": 2,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Create bounded agent flows",
                  "start_line": 202,
                  "end_line": 204,
                  "span_lf_sha256": "98c5d7e20429b1a2cd78241504e3487a0afee537cc161d6674c743543712ab5e"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Bounded transient retry, idempotency and compensation address partial writes.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Add agent flows to a topic",
              "objective_wording_sha256": "343443af69da0a31129fb4bf02d611ffa25dae00b5cd5486a457f4263cf5817d",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Use topics for explicit conversational control",
                  "start_line": 212,
                  "end_line": 227,
                  "span_lf_sha256": "99236bec250f4e2d64bc02ec44053df277927d8c8e79b8554f61ead934cd83a3"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Topic node workflow explicitly maps flow inputs/results and success/error routing.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure agent response formatting",
              "objective_wording_sha256": "a50d3ded3593565161987e3ab738438c4c657180bc19ff9ce0e5405698cce911",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Design response formatting and Adaptive Cards",
                  "start_line": 229,
                  "end_line": 235,
                  "span_lf_sha256": "8b81ff7817d13f6551c756cd2f2f8d7a34b69b386a57cba680ecb463e4f8f294"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Portable text and cards are selected by host with fallback and validation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Add tools to a topic",
              "objective_wording_sha256": "a1646d0ab942e50edc0bc5ad88b5aa61b63cecb7c17515bb84baa21b1ed44007",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Use topics for explicit conversational control",
                  "start_line": 212,
                  "end_line": 227,
                  "span_lf_sha256": "99236bec250f4e2d64bc02ec44053df277927d8c8e79b8554f61ead934cd83a3"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Explicit tool calls contrasted with orchestration avoid duplicate writes.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure advanced agent responses with custom prompts",
              "objective_wording_sha256": "f47fe62e0d985b49059f963cbdb1b1b4597e980fd857b3620b839f00c347ce7c",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Use custom prompts and knowledge inside topics",
                  "start_line": 237,
                  "end_line": 239,
                  "span_lf_sha256": "60212e7cb58fbdf27d75f1c6a1a218d4456ec9ab2227ebe5ed7a062b231c93bf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Prompt contract specifies task, evidence, schema and failure behavior.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure advanced agent responses with custom knowledge sources",
              "objective_wording_sha256": "f2e975d02c1f53c5bed9ca330d41501bdbbe6e847998744290905e67015fe410",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Connect enterprise knowledge safely",
                  "start_line": 285,
                  "end_line": 301,
                  "span_lf_sha256": "3bd66d580c069880339f24db02d28ce6109552077005babc6e9c1ca446e934c4"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Custom knowledge trigger specifies result fields, caller authorization and combined snippet budget.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure advanced agent responses with API and Send HTTP requests",
              "objective_wording_sha256": "186d611611178d41c65a8e5e2b5a9a39e90fe040af7284e31130971988a18823",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Use custom prompts and knowledge inside topics",
                  "start_line": 241,
                  "end_line": 245,
                  "span_lf_sha256": "f5d7774da5db5b3c48f3e23fda85c67cdf3528eca57ed23be389088e970add1a"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: HTTP schema, timeout and Continue-on-error require explicit failure branch.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure generative answers node",
              "objective_wording_sha256": "a43943fd6e3fcffb39aaf80ccb9202ac3e35758e0b0c462d2702e861dce666a5",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Use custom prompts and knowledge inside topics",
                  "start_line": 237,
                  "end_line": 245,
                  "span_lf_sha256": "d954098fcbc43d3d3043bff620363671c990adcbef0b7551adffa85e9844ef78"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Topic knowledge precedence and fallback are tested against agent sources.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure adaptive cards",
              "objective_wording_sha256": "504dd70fdd229fde17d05fb2191f6d4740385d38df3cc8c5b104a34e501db1bf",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 8,
              "evidence_spans": [
                {
                  "heading": "Design response formatting and Adaptive Cards",
                  "start_line": 229,
                  "end_line": 235,
                  "span_lf_sha256": "8b81ff7817d13f6551c756cd2f2f8d7a34b69b386a57cba680ecb463e4f8f294"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Card node, host schema and replay safeguards create concrete configuration boundaries.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage variables",
              "objective_wording_sha256": "378e012c9e7a878a0039c08dc8584878bd818912840f764068ebb6c783c1cf9c",
              "group": "Configure topics",
              "group_number": 3,
              "objective_number": 9,
              "evidence_spans": [
                {
                  "heading": "Manage variables as application state",
                  "start_line": 247,
                  "end_line": 261,
                  "span_lf_sha256": "d411138edc705284ed9a54b1a26f32901ff28459d67f0eadef1783f8157e67f0"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: State table and redirect mapping distinguish scope, persistence and irreversible conversion.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Connect to Copilot connectors",
              "objective_wording_sha256": "de963b8fef19d6d16d47df20a2289c65cbc0b55609bb7fccd90573b7f863a8e7",
              "group": "Connect to enterprise knowledge sources",
              "group_number": 4,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Worked configuration: two sources with different retrieval paths",
                  "start_line": 303,
                  "end_line": 309,
                  "span_lf_sha256": "4749908bc0a28479b4f2a5141fe2b4b94df8e921202dac5362a857799b88627b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-connectors. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab620-connectors"
            },
            {
              "wording": "Connect to Microsoft Power Platform connectors",
              "objective_wording_sha256": "19960fc5715d179610b9bf1c84763e1a18257aa816390965c59e38c527ea327c",
              "group": "Connect to enterprise knowledge sources",
              "group_number": 4,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Worked configuration: two sources with different retrieval paths",
                  "start_line": 303,
                  "end_line": 309,
                  "span_lf_sha256": "4749908bc0a28479b4f2a5141fe2b4b94df8e921202dac5362a857799b88627b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-connectors. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab620-connectors"
            },
            {
              "wording": "Connect to Azure AI Search",
              "objective_wording_sha256": "ab12fc2f3d372f476bc1b22e448d9405697c60bd8cb0d9fd23181fc9467cd760",
              "group": "Connect to enterprise knowledge sources",
              "group_number": 4,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Connect enterprise knowledge safely",
                  "start_line": 295,
                  "end_line": 299,
                  "span_lf_sha256": "e6059c547352172970b4e027b62ebc3c8ef1a89a345636599f3a0f8098727e2d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Search connection, vector index, Ready status, authentication and citation/access boundaries are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure and monitor computer use for an agent",
              "objective_wording_sha256": "8b0a8fdd14429c701662ead8c8aa55c9c2041ceb576baa9e4cb5d544eef3433d",
              "group": "Add tools to agents",
              "group_number": 5,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Use computer use only where its risk is justified",
                  "start_line": 343,
                  "end_line": 360,
                  "span_lf_sha256": "2eaef25d4595b9730109b00435c443cf4565996fccd659fb63ecbf812b1a0106"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Machine isolation, supervision limitations and independent approval gate bound computer use.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure MCP tools",
              "objective_wording_sha256": "374b511d4bc6f5693910d02e66b18e5fdbfa5c5c63f4849a7d099fc5494b3bed",
              "group": "Add tools to agents",
              "group_number": 5,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Configure MCP tools deliberately",
                  "start_line": 333,
                  "end_line": 341,
                  "span_lf_sha256": "aef85c444f3d11363e11e30323f270c53eab72922e605c8c06019f97bd31bb22"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Selective tools, Streamable transport, OAuth and generative orchestration define MCP setup.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Add a tool by using an existing custom connector",
              "objective_wording_sha256": "b43bf83713520737b5dea0cdb175a1a0c898c78d2a6ad5af158385eb8ddb042b",
              "group": "Add tools to agents",
              "group_number": 5,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked configuration: expose one read-only operation",
                  "start_line": 325,
                  "end_line": 331,
                  "span_lf_sha256": "6a99aeebd9c58cd4d9930a0753ac518c2acb4fc10fea7c8aa8594a8bd46f2c99"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-tools. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab620-tools"
            },
            {
              "wording": "Add REST APIs to an agent",
              "objective_wording_sha256": "93f5540dbd163ca55883627731150f7973fd605e455c6990b5f36195680bc8e0",
              "group": "Add tools to agents",
              "group_number": 5,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Worked configuration: expose one read-only operation",
                  "start_line": 325,
                  "end_line": 331,
                  "span_lf_sha256": "6a99aeebd9c58cd4d9930a0753ac518c2acb4fc10fea7c8aa8594a8bd46f2c99"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-tools. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab620-tools"
            },
            {
              "wording": "Design multi-agent solutions in Copilot Studio",
              "objective_wording_sha256": "91a2bd7d8ade13286d4c0876b9680feb77bd0bb6114a15f471be1ae0fae32cf1",
              "group": "Configure multi-agent collaboration from Copilot Studio",
              "group_number": 6,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Choose child versus connected agents",
                  "start_line": 364,
                  "end_line": 382,
                  "span_lf_sha256": "ab49fb06a9df2f5888c66c675ce767e7a501db3ebff10d7986a1eb3d9b8b5589"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Child/connected choices, typed delegation and loop/handback policies form an architecture.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Integrate a Foundry agent",
              "objective_wording_sha256": "89726733dd2ad0636bf2f7219dd45c388c62b6f52b82fc95e14a3f98237c4544",
              "group": "Configure multi-agent collaboration from Copilot Studio",
              "group_number": 6,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Integrate current Foundry agents",
                  "start_line": 390,
                  "end_line": 396,
                  "span_lf_sha256": "91ff1800b8fb96b2e817c4d5c1422e63a61c1c3126ff85bc48477a600bcbcb39"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Current generation, endpoint/ID and required Activity protocol diagnose connector failures.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Integrate an existing agent in Copilot Studio",
              "objective_wording_sha256": "5938a92d2a8185adfc925b466edeaeb4f2d6d8c2c8a88374241803d18a8a168b",
              "group": "Configure multi-agent collaboration from Copilot Studio",
              "group_number": 6,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked configuration: connect an independently owned agent",
                  "start_line": 384,
                  "end_line": 388,
                  "span_lf_sha256": "e1c2818b8d0b033f7737a41d0766c0deebbe34ddd10e89d65fce8d9e932e5876"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-connected. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab620-connected"
            },
            {
              "wording": "Integrate a Fabric data agent",
              "objective_wording_sha256": "93a20c7b7abbb85b9d55257159c8f3bd37c718b28e97d19c93cd42b3f9d6c8db",
              "group": "Configure multi-agent collaboration from Copilot Studio",
              "group_number": 6,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Integrate Fabric data agents",
                  "start_line": 398,
                  "end_line": 404,
                  "span_lf_sha256": "e54189cb9024f139d2c20edcc0760281b686e6ea5d2a594f7f97546a3009138c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Fabric IQ tool identifies harness, publication, identity, permissions and cross-geo boundaries.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create a multi-agent solution by using A2A protocol",
              "objective_wording_sha256": "f69ace6cdd0b6cafb5a0095dcbb8ad178c0923044f0310c3ac553f5186ec8a38",
              "group": "Configure multi-agent collaboration from Copilot Studio",
              "group_number": 6,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Integrate external agents with A2A",
                  "start_line": 406,
                  "end_line": 412,
                  "span_lf_sha256": "90c5727dc7cb0f58c6906330a21b7157ac1d4d74e61098f7d36fdc42d72810dc"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Communication endpoint, discovery path, supported auth and bounded tasks define A2A connection.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure generative answers by using Azure AI Search with Foundry",
              "objective_wording_sha256": "0251dbca169d2391ed9fc03f915cdd3a55fbd4e86168ea929cf3ba5c5c302bfc",
              "group": "Integrate agents with Azure",
              "group_number": 7,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Integrate external agents with A2A",
                  "start_line": 413,
                  "end_line": 417,
                  "span_lf_sha256": "1d7a99eca20842febfa481c66982849df3864a4be68988a8ebda0c7635a68378"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Search ingestion/filtering precedes node/model configuration; detailed Search setup occurs at 295–299.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure custom prompts to use the Foundry model catalog",
              "objective_wording_sha256": "46112d08a2b92533a872f43e9fdb41543db5f934d2ef2aee15f81e3390cbf607",
              "group": "Integrate agents with Azure",
              "group_number": 7,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Integrate Azure AI Search and Foundry models",
                  "start_line": 417,
                  "end_line": 421,
                  "span_lf_sha256": "2e64e48cea99be87217ae2e9f94659bb9089ab3d9fc21504740c598ec7ff2528"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Catalog model benchmark and BYO endpoint/model support are differentiated.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Monitor agents by using Application Insights",
              "objective_wording_sha256": "7ee20386aa9bc4b02d395526bd7f509df49e00951a40092ffb013404738b0c42",
              "group": "Integrate agents with Azure",
              "group_number": 7,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Monitor with native analytics and Application Insights",
                  "start_line": 461,
                  "end_line": 478,
                  "span_lf_sha256": "0bdd8f71f6b5d8e8b9bf0b671813c214b389081b0cb36dec73e3e1e4cbd79635"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Application Insights telemetry separates agent/environment tables, correlation, eligibility and delay.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create a test set",
              "objective_wording_sha256": "21e984cfef3a07b56001c37eb88f323f8d84792c234174aec9aceef48f655725",
              "group": "Evaluate agent performance",
              "group_number": 8,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Build test sets from requirements and risks",
                  "start_line": 424,
                  "end_line": 440,
                  "span_lf_sha256": "8ad7e6a04190650c682daf0f52d58463f4aff4bcd06804c374e2fc40d6b544fb"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Cases include intent/risk/user/expectation and test profiles; generated-case and limit boundaries are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Choose an evaluation method",
              "objective_wording_sha256": "4c5c4bb779dbfeb4e5cfe3ccd35e2924d0529aacb1c87f09c63d133e3c4774ec",
              "group": "Evaluate agent performance",
              "group_number": 8,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Choose the evaluation method deliberately",
                  "start_line": 442,
                  "end_line": 457,
                  "span_lf_sha256": "c685d2e411d0f523e82b53de3ac4c61fb6064aea3ce2879a466a87a8aa1d1826"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Method table, safety/custom graders and invalid-case conditions support a choice.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Review test results",
              "objective_wording_sha256": "2061cef6d585cdbbaffe4a7886c2ca2d8b4aba72902449898de98e0ce5d33619",
              "group": "Evaluate agent performance",
              "group_number": 8,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Choose the evaluation method deliberately",
                  "start_line": 453,
                  "end_line": 459,
                  "span_lf_sha256": "75db0c5d71c8991090c5bd1444b1c75f780a395268b70323d2dea7eab56847ec"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Per-case transcripts, tools and versions are diagnosed; denominator and retention examples prevent misleading summaries.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create a solution",
              "objective_wording_sha256": "762ed1e1e2396106aed051ead52256bbf9759c9b91987758f80d2af8ebedef10",
              "group": "Implement application lifecycle management (ALM) for agents in Copilot Studio",
              "group_number": 9,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Package the complete dependency graph",
                  "start_line": 484,
                  "end_line": 488,
                  "span_lf_sha256": "a0d1fafef9593f0fc1e2b4a36006b85bd1b22e71501581e16e407aa7fb046a4c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Custom solution dependency graph and unmanaged/managed roles are taught.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Add existing agents to a solution",
              "objective_wording_sha256": "964690502c936d0bbb4ead190fab07a005d1da08878f70a30663db393cdd2ed8",
              "group": "Implement application lifecycle management (ALM) for agents in Copilot Studio",
              "group_number": 9,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Package the complete dependency graph",
                  "start_line": 484,
                  "end_line": 488,
                  "span_lf_sha256": "a0d1fafef9593f0fc1e2b4a36006b85bd1b22e71501581e16e407aa7fb046a4c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Existing agent must enter the custom solution with dependencies; actual add step remains high-level.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and use environment variables",
              "objective_wording_sha256": "13df3e9a7d7b04f0e136e2c39126dd0a4b4c2fde987a517dc2f2bae5764deefa",
              "group": "Implement application lifecycle management (ALM) for agents in Copilot Studio",
              "group_number": 9,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Separate configuration from solution logic",
                  "start_line": 490,
                  "end_line": 503,
                  "span_lf_sha256": "46653dd9b480a43f53b93b75595896319070ace5799bf33df0f96602d379edb5"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Environment values versus connections/secrets and post-import validation are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement and extend Microsoft Power Platform Pipelines",
              "objective_wording_sha256": "d6b7789637ed7e28c16d3319271f0a4ab8ddf6cdf1928d8084c8880cd2c2e58a",
              "group": "Implement application lifecycle management (ALM) for agents in Copilot Studio",
              "group_number": 9,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Worked extension: make an evaluation result a real deployment gate",
                  "start_line": 524,
                  "end_line": 528,
                  "span_lf_sha256": "f421d2beec081364793754891e56f838e0f594495b4d4415b0a46abc53108e1b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab620-pipeline. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab620-pipeline"
            }
          ],
          "complete_guide_read": true,
          "complete_guide_line_count": 810,
          "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
        },
        {
          "exam_code": "AB-731",
          "guide_path": "guides/AB-731-ai-transformation-leader.md",
          "guide_lf_sha256": "f831fcb643c015e9a00ce798264c9431cbd90a867abbe93b1dbeafff936abf9b",
          "objective_raw_sha256": "dbb6d89a150d8e1ca630380839f190f05e89b2688a862c3987f14a1df48ea7e7",
          "objective_count": 39,
          "current_mapping": [
            {
              "wording": "Describe the differences between generative AI and other types of AI",
              "objective_wording_sha256": "0e06778a522b0d4025b15a6eb848ad3c83aa155a367ab3829f62f924a325298d",
              "group": "Identify the foundational concepts of generative AI",
              "group_number": 1,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Distinguish generation, machine learning and automation",
                  "start_line": 59,
                  "end_line": 74,
                  "span_lf_sha256": "d37bcf950708172b3509abed2dfb8613913ade99a10e6064b8f71b98e0371add"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Generation, predictive ML and rules are distinguished with concrete business output choices.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Select a generative AI solution to meet a business need",
              "objective_wording_sha256": "dd69c1681ffddaf408b168f4281fb7328a710c983a0bc733ae90b60a1abc0e82",
              "group": "Identify the foundational concepts of generative AI",
              "group_number": 1,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Distinguish generation, machine learning and automation",
                  "start_line": 59,
                  "end_line": 91,
                  "span_lf_sha256": "48c9e28a10dd101d316a8823dd47346812a3c80aa5210a5d470f094ca007d123"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Capability matrix and measured model-selection experiment match a task to an approach.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe the differences between AI models, including fine-tuned and pretrained models",
              "objective_wording_sha256": "ae95a0086676ef5297cd27bfc2777b4e8d9f2b480f018010454a1a307faa63cd",
              "group": "Identify the foundational concepts of generative AI",
              "group_number": 1,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Select a model and adaptation method",
                  "start_line": 76,
                  "end_line": 91,
                  "span_lf_sha256": "e9d6703bb7ac97663d90a578423a92e06fbe86ffcdf7d27de88b46d78b7ccfa5"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Pretrained versus fine-tuned behavior and grounding decision order are explained.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Explain the cost drivers in generative AI usage, including tokens and return-on-investment (ROI) considerations",
              "objective_wording_sha256": "4b943bc9957c98dfe85663323bd2c3c411f6cf864e94c05f9936542402322e0f",
              "group": "Identify the foundational concepts of generative AI",
              "group_number": 1,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Build a credible value case",
                  "start_line": 132,
                  "end_line": 160,
                  "span_lf_sha256": "75de8e2caa35df4193dab234ca325bd7a4d5165730325d8929e7eacddbb170f5"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Complete costs, accepted-outcome arithmetic and negative capacity-value ROI are worked.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify the challenges of using generative AI solutions, including fabrications, reliability, and bias",
              "objective_wording_sha256": "789235501a3aaa8c8062c7238f95ff0a3a960f173c37d1f4110608e537a5f6e8",
              "group": "Identify the foundational concepts of generative AI",
              "group_number": 1,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Evaluate data readiness",
                  "start_line": 120,
                  "end_line": 130,
                  "span_lf_sha256": "9cc8b060ab1e441f43003f8d5a6acdc57a9ce1bd10edee1149473ca566b9760a"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Representative data, leakage, subgroup and model-change risks supplement security failures.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify when generative AI solutions can provide business value, including scalability and automation",
              "objective_wording_sha256": "dce9346c50b22cc552b0ef8e9fc81692dcdbf3c5f5a65ec7f6799fee59957ac1",
              "group": "Identify the foundational concepts of generative AI",
              "group_number": 1,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Build a credible value case",
                  "start_line": 132,
                  "end_line": 160,
                  "span_lf_sha256": "75de8e2caa35df4193dab234ca325bd7a4d5165730325d8929e7eacddbb170f5"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Baseline, opportunity scorecard and bounded pilot criteria define value rather than slogan.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe the impact of prompt engineering",
              "objective_wording_sha256": "fcbfcc1c70a3321d251762245ba8555c8c000d1dba832d4b0042d833b752d7b0",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Engineer prompts as testable instructions",
                  "start_line": 114,
                  "end_line": 118,
                  "span_lf_sha256": "d960e650d3240e2930cc40ff7940edfffc2d08da74a5460d1940991b2d4b4c64"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Instruction clarity, examples and constraints change outputs but do not establish truth.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Understand techniques of prompt engineering",
              "objective_wording_sha256": "565855bc67d09a16005905402f562193a28eba6ff74c39166c7d3e9095325d7e",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Engineer prompts as testable instructions",
                  "start_line": 114,
                  "end_line": 118,
                  "span_lf_sha256": "d960e650d3240e2930cc40ff7940edfffc2d08da74a5460d1940991b2d4b4c64"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Examples, decomposition and output contracts are named; one concrete before/after prompt would strengthen this adequate conceptual treatment.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify business requirements for grounding solutions",
              "objective_wording_sha256": "b6db7d3b05be3ee286f2bf9e76691539100ec10c81113006633ce58829ce8bea",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Ground solutions and understand RAG",
                  "start_line": 93,
                  "end_line": 112,
                  "span_lf_sha256": "2eda43f96c775a6a910134ad980638b63ca72d30ac690e43d9c09f4df74ad375"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Grounding requirements cover sources, permissions, freshness, abstention and tests.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Understand how retrieval-augmented generation (RAG) is used for AI solutions",
              "objective_wording_sha256": "947969d32e76db62aa48ba6afcce4f52f026b186714494b27917df5ff38b9d70",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Ground solutions and understand RAG",
                  "start_line": 93,
                  "end_line": 112,
                  "span_lf_sha256": "2eda43f96c775a6a910134ad980638b63ca72d30ac690e43d9c09f4df74ad375"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Ingestion/retrieval/generation model distinguishes RAG from weight training.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Understand the impact of data on AI solutions, including data type, data quality, and representative datasets",
              "objective_wording_sha256": "2a6c894262c72ffcbd5a4768e279b606f7b57834ccb1427a00f0ffd77ce689f2",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Evaluate data readiness",
                  "start_line": 120,
                  "end_line": 124,
                  "span_lf_sha256": "54db37ef9dcf9353e60afae7f06afc643c80adbc49996f9834a8371112b0d526"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Data types, quality dimensions, representation and test contamination are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe the importance of secure AI",
              "objective_wording_sha256": "67bfcc0ad03001d1f317815eba07a4f09012dd4e24475b24226fd7a30db4dbfb",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Secure the AI system",
                  "start_line": 162,
                  "end_line": 174,
                  "span_lf_sha256": "fb588295dc8d32362dacb3f95a273368599d0d2202d3ede6228171fba8c4dbe4"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Layered security, untrusted evidence and actual data paths show why secure AI matters.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify scenarios when machine learning adds value",
              "objective_wording_sha256": "c33cbbd59dc264b93d6fa5bcafc66699186918ab1d83046571c6371fa5280392",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Distinguish generation, machine learning and automation",
                  "start_line": 59,
                  "end_line": 74,
                  "span_lf_sha256": "d37bcf950708172b3509abed2dfb8613913ade99a10e6064b8f71b98e0371add"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Forecasting/fraud outputs use conventional ML; composition separates explanation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe the lifecycle of a machine learning solution",
              "objective_wording_sha256": "5b5acd7635dacea5b402bf61d4a88c67b71333b821a42f3d36600c3dbee96ac0",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 8,
              "evidence_spans": [
                {
                  "heading": "Understand the ML lifecycle",
                  "start_line": 126,
                  "end_line": 130,
                  "span_lf_sha256": "307385b1c3ec2ed2d5a18b3d44da21a5a4d16224c7e19e63ada7206f6a7483fd"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Lifecycle stages include data, development, release, monitoring and retirement.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify security considerations for AI systems, including application security, data security, and authentication requirements",
              "objective_wording_sha256": "eed9aecd3f43299f1597197e491f31cffd333a4c5189b767ca25b98c84dbbe87",
              "group": "Identify benefits and capabilities of generative AI solutions",
              "group_number": 2,
              "objective_number": 9,
              "evidence_spans": [
                {
                  "heading": "Secure the AI system",
                  "start_line": 162,
                  "end_line": 174,
                  "span_lf_sha256": "fb588295dc8d32362dacb3f95a273368599d0d2202d3ede6228171fba8c4dbe4"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Application, user/workload auth and retrieval/action authorization remain separate controls.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Map business processes and use cases to Copilot",
              "objective_wording_sha256": "c3cfbf8410d9b0dabd0c0438bfef74e663a41865be8a70aecb93cf91deefce6c",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Map Microsoft Copilot experiences to work",
                  "start_line": 178,
                  "end_line": 192,
                  "span_lf_sha256": "01568ff7b8a9cf6a9c4316ba2ae5a9ade5d2900392c69e590690c0c70ff3a775"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Process trigger, actors and artifacts drive product choice.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Understand differences in capabilities between versions of Copilot",
              "objective_wording_sha256": "89adfaaf4b4d3c122f91a008c14af705af4060897867a621d6880b0d3d6cd292",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Worked comparison: choose the experience from data and artifact needs",
                  "start_line": 198,
                  "end_line": 210,
                  "span_lf_sha256": "9b96db162f4f12753063259652446f01dda356d1d707e800872e1ec42f6ae033"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab731-experiences. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab731-experiences"
            },
            {
              "wording": "Understand capabilities of Microsoft 365 Copilot Chat web and mobile experiences",
              "objective_wording_sha256": "b724dbaec842711e1ed222b1b66de4ff3144bcd41cf50d9c061d2205b10ee791",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked comparison: choose the experience from data and artifact needs",
                  "start_line": 198,
                  "end_line": 210,
                  "span_lf_sha256": "9b96db162f4f12753063259652446f01dda356d1d707e800872e1ec42f6ae033"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab731-experiences. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab731-experiences"
            },
            {
              "wording": "Understand capabilities of the Copilot experience in various Microsoft 365 apps",
              "objective_wording_sha256": "4e9794dd52fc03dac20983c5a557d353ca1eb23fa89646c4103987017eda69ff",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Worked comparison: choose the experience from data and artifact needs",
                  "start_line": 198,
                  "end_line": 210,
                  "span_lf_sha256": "9b96db162f4f12753063259652446f01dda356d1d707e800872e1ec42f6ae033"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ab731-experiences. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ab731-experiences"
            },
            {
              "wording": "Understand capabilities of Microsoft Copilot Studio",
              "objective_wording_sha256": "317e556d325258571cd19aaf4095287ab185f1cd93609edd94b00dc8639c9746",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Map Microsoft Copilot experiences to work",
                  "start_line": 178,
                  "end_line": 192,
                  "span_lf_sha256": "01568ff7b8a9cf6a9c4316ba2ae5a9ade5d2900392c69e590690c0c70ff3a775"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Copilot Studio knowledge/topics/tools/channels and operating obligations are explained.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Understand capabilities of Microsoft Graph",
              "objective_wording_sha256": "f4b259e97921418b399384ab28cc4512bc0d96286e383f2864877c84d9b7fed5",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Map Microsoft Copilot experiences to work",
                  "start_line": 188,
                  "end_line": 192,
                  "span_lf_sha256": "ecdade51d8ae7611859ffa67908fe0a038ca4181dc691b55b242e58f005b9476"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Graph uses existing permissions and exposes oversharing.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify benefits and capabilities of an integrated Microsoft AI solution, including risk mitigation and safety benefits",
              "objective_wording_sha256": "99b21d1c5ba5cbf6549753a01eeb13f525f8a11497069271336357effea9a78f",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Keep protection claims tied to the actual data path",
                  "start_line": 170,
                  "end_line": 174,
                  "span_lf_sha256": "33c67bb0291de37d34fd3dac018aac4f9a0d84567b55d3123cc7cecd2cc2d5f8"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Integrated protection claim is bounded by web/model/third-party data paths.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Map business processes and use cases to Microsoft’s AI apps and services",
              "objective_wording_sha256": "6ac19c84e64d6f6d515229999015ef6705f9e7e282cb7a999ecc11433608dc88",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 8,
              "evidence_spans": [
                {
                  "heading": "Map Microsoft Copilot experiences to work",
                  "start_line": 178,
                  "end_line": 223,
                  "span_lf_sha256": "147075fd9ea136eb98a220e5778746518b7121ca28b264c940be4ea64e8263c6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Work context and build/extend criteria map outcomes to Microsoft services.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify when to use Researcher or Analyst in Copilot",
              "objective_wording_sha256": "e49a17eda6655c3ab4833e8224b52570079b53d4c7e439af11aa177f077661b5",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 9,
              "evidence_spans": [
                {
                  "heading": "Map Microsoft Copilot experiences to work",
                  "start_line": 178,
                  "end_line": 196,
                  "span_lf_sha256": "14eca11c880f0c5e7c6cc3ea8106a2e40a8a91822bb85e817c7a08876384c196"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Researcher source synthesis versus Analyst data reasoning and model-agreement limits are concrete.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify when to build, buy, or extend, including the Microsoft 365 Copilot extensibility framework",
              "objective_wording_sha256": "20ee255455b8b4bd3661b4697e3e59598d3f33906a7db61abd716fa427e42951",
              "group": "Identify benefits and capabilities of Microsoft 365 Copilot and Microsoft Copilot",
              "group_number": 3,
              "objective_number": 10,
              "evidence_spans": [
                {
                  "heading": "Decide whether to buy, build or extend",
                  "start_line": 212,
                  "end_line": 223,
                  "span_lf_sha256": "3c4823813bc2a6b485c10bddf2fa94fb37f3f51501590951f23ba3cf7ba7ca18"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Buy/build/extend options include operating costs and exit paths.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Map business processes and use cases to Foundry Tools",
              "objective_wording_sha256": "2eb793117ebed7144e711e73819a9ba9f982de0ab146bde15bac6f56e8bd292a",
              "group": "Identify benefits and capabilities of Foundry Tools",
              "group_number": 4,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Understand Microsoft Foundry and Foundry Tools",
                  "start_line": 225,
                  "end_line": 244,
                  "span_lf_sha256": "200ede276134e283fd527686768895f042d353e4be2d3ffd507591b420115caf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Images/search/agents map to Vision/Search/Foundry with lifecycle considerations.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify capabilities of Foundry Tools, including Azure Vision in Foundry Tools, Azure AI Search, and Microsoft Foundry",
              "objective_wording_sha256": "290b2fd8da551de0519134dac24e5a61fdff77dccb27967a95768cc4d7295a75",
              "group": "Identify benefits and capabilities of Foundry Tools",
              "group_number": 4,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Understand Microsoft Foundry and Foundry Tools",
                  "start_line": 225,
                  "end_line": 244,
                  "span_lf_sha256": "200ede276134e283fd527686768895f042d353e4be2d3ffd507591b420115caf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Service capability descriptions and Vision-specific migration distinguish boundaries.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Match an AI model to a business need",
              "objective_wording_sha256": "c33c55e1660e9c150bd953fbc46908b76fae292b31878d6c70dfc0a4366c540e",
              "group": "Identify benefits and capabilities of Foundry Tools",
              "group_number": 4,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Match models and services to requirements",
                  "start_line": 246,
                  "end_line": 250,
                  "span_lf_sha256": "858e1b1b2c176ec81bd5224cd76745f902bae664314ce2d9a3eca095f4e2a163"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Task/model constraints and fallback assessment use measurable requirements.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify the benefits of Microsoft Foundry and Foundry Tools, including scalability and security",
              "objective_wording_sha256": "4951ac2f57dbe5078a878f5742a2262b90bf591308497afe4e7a062b085ce963",
              "group": "Identify benefits and capabilities of Foundry Tools",
              "group_number": 4,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Understand Microsoft Foundry and Foundry Tools",
                  "start_line": 239,
                  "end_line": 244,
                  "span_lf_sha256": "1e23c0f4e6a161e7f5f72c5aed85c4fc5dba85537b284da4f2a0ef1e09de5e04"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Managed scalability/security still require quotas, identities, regions and operations.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Explain the importance of responsible AI",
              "objective_wording_sha256": "a9f6506c77016aeb6b9f7e01092aa4dedf7570b23241cf7281f94b4311953799",
              "group": "Align an AI strategy with Microsoft responsible AI policies",
              "group_number": 5,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Turn responsible-AI principles into controls",
                  "start_line": 256,
                  "end_line": 275,
                  "span_lf_sha256": "c213c9157f7dd0bc4aee1e82e929494a5f2168146c54e09383c4d6b36fe4394c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Principles become controls and delegated-action boundaries.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Establish governance principles for AI use",
              "objective_wording_sha256": "189f3d3aa570341d281f110e7edf658a0ab772480f09975865a2c6e65f0f4705",
              "group": "Align an AI strategy with Microsoft responsible AI policies",
              "group_number": 5,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Turn responsible-AI principles into controls",
                  "start_line": 264,
                  "end_line": 275,
                  "span_lf_sha256": "f863f4b6001f4a50ba2c089791beffaa4893eac1d51d89f194061906b0aa383d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Governance record includes permitted data/actions, approval, evidence, exception expiry and revocation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Establish an AI council to guide strategy, oversight, and cross-functional alignment",
              "objective_wording_sha256": "db6bb7265c586e2f6e56e07b49c8793ba06ad769e410052f55f20bed4322001f",
              "group": "Align an AI strategy with Microsoft responsible AI policies",
              "group_number": 5,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Turn responsible-AI principles into controls",
                  "start_line": 266,
                  "end_line": 292,
                  "span_lf_sha256": "c307a619e66d8024e749cd40b38b1d063e72659f731403cae06110f46d23109c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Cross-functional council role is distinguished from CoE and delivery accountability.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Ensure that AI solutions meet responsible AI standards, including fairness, reliability, safety, privacy, security, inclusiveness, transparency, and accountability",
              "objective_wording_sha256": "d5c277757d04c1bd2e3056651dd6ea364c845cae40f34e3552f20dc04f2d6039",
              "group": "Align an AI strategy with Microsoft responsible AI policies",
              "group_number": 5,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Turn responsible-AI principles into controls",
                  "start_line": 256,
                  "end_line": 264,
                  "span_lf_sha256": "c511e685a51132031081b395788bcc23655fcdfea9967218ca595de69d1e786a"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Six principle/control mappings include tests, appeals, disclosure and owners.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Establish an adoption team",
              "objective_wording_sha256": "0aeefb10075675daf55092962620a4c83a9965adbd4c249101a700ca717b2f71",
              "group": "Plan for AI adoption across the organization",
              "group_number": 6,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Define an operating model",
                  "start_line": 277,
                  "end_line": 300,
                  "span_lf_sha256": "a77d47aebbd17d4d1d48eaafb1756023c5dedfb01c79af7ea4665249414fa786"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Operating model identifies adoption team, owner and role-based rollout responsibilities.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify common barriers to adoption",
              "objective_wording_sha256": "51e00d2636a91fb17f4937d8a1aead5613d60fbfbeceaaaa8b3e76dfaaa8c6bf",
              "group": "Plan for AI adoption across the organization",
              "group_number": 6,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Plan adoption and change",
                  "start_line": 294,
                  "end_line": 300,
                  "span_lf_sha256": "34fb2b0839e603d5c126b449140f707e7dd67a44fc02cd98b8188068d01cb49f"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Barriers are diagnosed before choosing training, licensing or workflow interventions.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Establish an AI champions program",
              "objective_wording_sha256": "bb46966c2949b8df6bfe0d29d9a160d3c7b46c233e2fafac06d6b2b46dacfe92",
              "group": "Plan for AI adoption across the organization",
              "group_number": 6,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Plan adoption and change",
                  "start_line": 298,
                  "end_line": 300,
                  "span_lf_sha256": "0d47f354132aaab192a2fb84b1e8aaa85d1b103805380627529fd80f993327fe"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Champions require time, resources, feedback and measured outcomes.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Understand potential impacts to data, security, privacy, and cost",
              "objective_wording_sha256": "80e5498132cda4a47f35a5bf3d699feb7bfb27a6507036d7ebbf3faa7d81a204",
              "group": "Plan for AI adoption across the organization",
              "group_number": 6,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Understand licensing and consumption models",
                  "start_line": 302,
                  "end_line": 344,
                  "span_lf_sha256": "55563deaa62acc9a71d18d358fdc888f4c65470bdcc372deea1ad6542627c251"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Data/security/cost controls and honest adoption/impact denominators guide rollout.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Understand Copilot license types, including pay-as-you go, monthly, and included with Microsoft 365 subscription",
              "objective_wording_sha256": "548e5a51558ea3ec2f717ceadef494a494fd60ef6fa50f51b6e1586e80653d55",
              "group": "Plan for AI adoption across the organization",
              "group_number": 6,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Understand licensing and consumption models",
                  "start_line": 302,
                  "end_line": 312,
                  "span_lf_sha256": "7bd3ff32e98d9af4d7a293afc4f7d217559e7552a1fa222b042e7c50d450cb67"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Metered/per-user/included models have utilization, scope and hosting boundaries.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Understand Foundry Tools subscription models, including pay-as-you-go and commitment tiers",
              "objective_wording_sha256": "7f2ef6d75cc0ec5c949ea59cb9d880b42a6349c4c9580eb41353bfd4fbb3611a",
              "group": "Plan for AI adoption across the organization",
              "group_number": 6,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Understand licensing and consumption models",
                  "start_line": 302,
                  "end_line": 314,
                  "span_lf_sha256": "44863ececbc7f7baf86ce4b23cd56e62a88593b3e64da5eb128d1eb5c9df4a97"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Commitment example plus resource, period, prorating and cancellation boundaries teach cost choices.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            }
          ],
          "complete_guide_read": true,
          "complete_guide_line_count": 532,
          "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
        },
        {
          "exam_code": "AI-300",
          "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
          "guide_lf_sha256": "9d785409540a4c31b4f4214cb4d516d57070a96b0c234997d6342be267588bb9",
          "objective_raw_sha256": "79d7fabcf253e7ac5f5f7629397075867d22c48045c2483c9d03e1b217215f41",
          "objective_count": 58,
          "current_mapping": [
            {
              "wording": "Create and manage a workspace",
              "objective_wording_sha256": "90acd6a851556d894138459d832a369f2345f15d370bd8f94bf8e68b67d84e8a",
              "group": "Create and manage resources in a Machine Learning workspace",
              "group_number": 1,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Build the Azure Machine Learning resource boundary",
                  "start_line": 58,
                  "end_line": 62,
                  "span_lf_sha256": "44269b2ea4dcb5e0bc09026db977268c89b5d12637ee19b464e6a0d21ed5b01d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Workspace/dependency separation and IaC settings define reproducible resource boundary.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and manage datastores",
              "objective_wording_sha256": "5194da95e1b1fab0500d14dadfaca1b2e711eeb063d8775fc98446d8ccc07dab",
              "group": "Create and manage resources in a Machine Learning workspace",
              "group_number": 1,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Datastores and data assets",
                  "start_line": 64,
                  "end_line": 68,
                  "span_lf_sha256": "133926bfcd5f9257a4e42cef051e78e53cc2760e057794c48dced0da56d6c82d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Datastore connection differs from underlying data and uses identity-based access.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and manage compute targets",
              "objective_wording_sha256": "4caaaf0ac88bf349cbbeaa861e9463f2b5c23f6b6ee0e7dfa2990bc5d223cc77",
              "group": "Create and manage resources in a Machine Learning workspace",
              "group_number": 1,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Compute targets",
                  "start_line": 70,
                  "end_line": 77,
                  "span_lf_sha256": "1cfd0ab81df55b2da026e788ef46495c15eb4a784b4167671fc13ce3c4807b5f"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Instance/cluster/serverless/attached choices include scale, quota and cost.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure identity and access management for workspaces",
              "objective_wording_sha256": "89d37d6a58a7742cf595da998150e8bf41c67f50872315a07f640b4d6f51e209",
              "group": "Create and manage resources in a Machine Learning workspace",
              "group_number": 1,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Identity and access",
                  "start_line": 79,
                  "end_line": 83,
                  "span_lf_sha256": "1a4e9b17e746f6506296023ea1410075e6d1bc5ec9da9c411f971f5a67d7e2b9"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Submitter/runtime roles and data-plane grants are separated and negatively tested.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and manage data assets",
              "objective_wording_sha256": "4048ffe5d6d42338a50c274fdfee275a1dfcc4467f1f001f2b5279dc7b62d0d7",
              "group": "Create and manage assets in a Machine Learning workspace",
              "group_number": 2,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Datastores and data assets",
                  "start_line": 64,
                  "end_line": 68,
                  "span_lf_sha256": "133926bfcd5f9257a4e42cef051e78e53cc2760e057794c48dced0da56d6c82d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Immutable data snapshot/schema distinguishes asset version from mutable URI.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and manage environments",
              "objective_wording_sha256": "077ea24c70374f8f69b86a33599153a6c2d99fa9f3173c088dd52bca3c50cb01",
              "group": "Create and manage assets in a Machine Learning workspace",
              "group_number": 2,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Create reusable workspace assets",
                  "start_line": 85,
                  "end_line": 89,
                  "span_lf_sha256": "d071354c61e47b75ccc533975674eeae8e1f7103d0f6a2320996e5c619b030c0"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Environment pins image/packages/digest and tests imports.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and manage components",
              "objective_wording_sha256": "453fa19fe3acb1b29e370559498c0fbe6f6ba7a5d074ada7df7b73de76b2f129",
              "group": "Create and manage assets in a Machine Learning workspace",
              "group_number": 2,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Create reusable workspace assets",
                  "start_line": 85,
                  "end_line": 89,
                  "span_lf_sha256": "d071354c61e47b75ccc533975674eeae8e1f7103d0f6a2320996e5c619b030c0"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Component declares inputs/outputs/code/environment and pipeline dependencies.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Share assets across workspaces by using registries",
              "objective_wording_sha256": "270ece79479b64be1044cb2df109704b0c8b9086f28a9e0d7332478e3b7559b0",
              "group": "Create and manage assets in a Machine Learning workspace",
              "group_number": 2,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Create reusable workspace assets",
                  "start_line": 89,
                  "end_line": 91,
                  "span_lf_sha256": "e7d005470506f6ca1e7a4170eada01d113e2e095172dbdaeca65008189b26184"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Registry versions, ownership, promotion and compatibility bound cross-workspace sharing.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure GitHub integration with Machine Learning to enable secure access",
              "objective_wording_sha256": "27b8b477f2a322aa03df08ee6cf735e56cb59133fce9983e2b9baf06fcb6fc61",
              "group": "Implement IaC for Machine Learning",
              "group_number": 3,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Provision with Bicep, CLI and GitHub Actions",
                  "start_line": 93,
                  "end_line": 113,
                  "span_lf_sha256": "78fd6c763c982a9c442c38d8c2bf6ebe67d6be99448862513ed9f0fb35bbd871"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: OIDC subject/environment role scopes and workflow fragment demonstrate secure GitHub access.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Deploy Machine Learning workspaces and resources by using Bicep and Azure CLI",
              "objective_wording_sha256": "cc7541b0ab7a4edc47bb9c32e2a5d9fe126c27384249254aca0407f6d4465a83",
              "group": "Implement IaC for Machine Learning",
              "group_number": 3,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Provision with Bicep, CLI and GitHub Actions",
                  "start_line": 93,
                  "end_line": 115,
                  "span_lf_sha256": "6d5f95625a2064d590063ec17dab8229d5197250ab94f24c32439152e67e49ce"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Bicep resources versus ML CLI assets, what-if and post-job gates are separated.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Automate resource provisioning by using GitHub Actions workflows",
              "objective_wording_sha256": "c51534b3c07dcecdd90b4dc94671c4e1467a44da4fcc1cf53f140983ace1e3d7",
              "group": "Implement IaC for Machine Learning",
              "group_number": 3,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked provisioning step: deploy infrastructure before submitting jobs",
                  "start_line": 116,
                  "end_line": 129,
                  "span_lf_sha256": "5764c8c041d65976259f21803b88e7a9c2215e414a74c2395c4d48b0c31f03e0"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai300-iac"
            },
            {
              "wording": "Restrict network access to Machine Learning workspaces",
              "objective_wording_sha256": "7898891d3b0266d5f9d9918406bc5b6e38e5350fe645d98e1254b88c4231773a",
              "group": "Implement IaC for Machine Learning",
              "group_number": 3,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Restrict networking and manage Git",
                  "start_line": 131,
                  "end_line": 135,
                  "span_lf_sha256": "e0845a5be4982aba14c27627e0632ee644df257a8a9b47ee9f297dfc6da49e98"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Private dependencies, DNS/outbound and runner paths must be tested.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage source control for machine learning projects by using Git",
              "objective_wording_sha256": "7cfa5ee3c7d46af2527ea9db0baada3f816d8af01eacaa760723f48374d42873",
              "group": "Implement IaC for Machine Learning",
              "group_number": 3,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Restrict networking and manage Git",
                  "start_line": 133,
                  "end_line": 135,
                  "span_lf_sha256": "f9fae643e31ce877650860f5ca2c0f96fad99b8575f71ed959df1c12800df6ea"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Git carries code/config/prompt/IaC while data/models remain versioned storage assets.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure experiment tracking with MLflow",
              "objective_wording_sha256": "394ba14ee9267b8135e0e8dbb4c16154b7c7ea8a66b0affb743dd7dee04c0630",
              "group": "Orchestrate model training",
              "group_number": 4,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Make experiments reproducible with MLflow",
                  "start_line": 141,
                  "end_line": 145,
                  "span_lf_sha256": "8a6581fd981b2252eaba0ae1e02e0ab9e3e9111f5744e6d83c4853cc5c81afb9"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: MLflow logs data/code/environment/seeds/metrics and artifacts.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Use automated machine learning to explore optimal models",
              "objective_wording_sha256": "06097fa7447da249748cf6069ebf199d85e195b4bc006490217d2db5b4a10cdb",
              "group": "Orchestrate model training",
              "group_number": 4,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "AutoML and hyperparameter tuning",
                  "start_line": 170,
                  "end_line": 174,
                  "span_lf_sha256": "71fbf836530a7d141ba92e2a9948f33958350f9fa95fb2fcfac8553838db09a5"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: AutoML constraints and independent holdout/business checks bound candidate selection.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Use notebooks for experimentation and exploration",
              "objective_wording_sha256": "1ceff20f408e72f5f723138144451c501bcf267f6f1a422a902c13894aab499d",
              "group": "Orchestrate model training",
              "group_number": 4,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Make experiments reproducible with MLflow",
                  "start_line": 143,
                  "end_line": 145,
                  "span_lf_sha256": "af10308815f4f2452a73e1e95d7269a3935654f1276be14b70cdeab29d206d1a"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Notebook exploration must become declared scripts/components for reproducibility.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Automate hyperparameter tuning",
              "objective_wording_sha256": "ade118f50e42be8c70f99fe1d729ee8bac6cc8071fa4286c6e6071a1598f391f",
              "group": "Orchestrate model training",
              "group_number": 4,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "AutoML and hyperparameter tuning",
                  "start_line": 172,
                  "end_line": 174,
                  "span_lf_sha256": "199b9f2d0aab98d16913556c1deca848513c07b70902361b3bdbd7f8b961cd4b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Search space, primary metric, sampling, early termination and limits define sweep jobs.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Run model training scripts",
              "objective_wording_sha256": "36c3092a7e4d117dc1a4db06d6cad7045635746e64bbbcf762dabf1189ddba43",
              "group": "Orchestrate model training",
              "group_number": 4,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Worked command job: bind the script to declared assets",
                  "start_line": 147,
                  "end_line": 168,
                  "span_lf_sha256": "c8038af0ee8cd8e2744b459932875cdb0785a6fdff37818df9f74311435825e4"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-training. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai300-training"
            },
            {
              "wording": "Manage distributed training for large and deep learning models",
              "objective_wording_sha256": "045abfe3f3227656e37a001fdbc8e7fdf0711e40fe6c34a4e2d814e44f4c293d",
              "group": "Orchestrate model training",
              "group_number": 4,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Distributed training",
                  "start_line": 176,
                  "end_line": 178,
                  "span_lf_sha256": "c6642028bb49da1de31c6b1e8328468088bb918e28371cc9b351bf85e8eb6083"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Node/process topology, data shards and throughput/convergence govern distributed choice.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement training pipelines",
              "objective_wording_sha256": "4e106564bf2f709ef4f76bf03cc4ea017dc6454413518571e03e1f10dc27ed96",
              "group": "Orchestrate model training",
              "group_number": 4,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Build training pipelines",
                  "start_line": 180,
                  "end_line": 185,
                  "span_lf_sha256": "05d1b76c85c8b7f9ff417dd4b8dee95e9d713ca20ef1cb450d4a7f5ea014bf69"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Declared component graph plus exact reuse conditions diagnose hidden state.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Compare model performance across jobs",
              "objective_wording_sha256": "c098b4e3dff47d6293a3c10fc4f5cf3f97326d98c5afe14085a73253e73ae8cb",
              "group": "Orchestrate model training",
              "group_number": 4,
              "objective_number": 8,
              "evidence_spans": [
                {
                  "heading": "Build training pipelines",
                  "start_line": 189,
                  "end_line": 190,
                  "span_lf_sha256": "bb5f28d5d5aecb587bf2e4037e5a2d7d2e052e97253670c481438a4ae7b94f82"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Common evaluation dataset, subgroup, calibration, latency and cost govern comparison.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Package a feature retrieval specification with the model artifact",
              "objective_wording_sha256": "b8bf119546b70b2d036e2a5bbef7f2bbfc74cb50cf1107931a131959515e9fbd",
              "group": "Implement model registration and versioning",
              "group_number": 5,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Build training pipelines",
                  "start_line": 184,
                  "end_line": 188,
                  "span_lf_sha256": "b5462f8fc104b58418bd47fdf560b3f28cc68f901d2fd2e58677ebc527119dc7"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Feature specification packages registered versions and point-in-time retrieval lineage.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Register an MLflow model",
              "objective_wording_sha256": "e9dc7d4f2754c503ad7d6f0899e3313ad617c63fc7c1e377cf380f381b508391",
              "group": "Implement model registration and versioning",
              "group_number": 5,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Register and govern models",
                  "start_line": 192,
                  "end_line": 194,
                  "span_lf_sha256": "8de573cae54d942a66c3f24ff97b870781ab0a1e8586f8e124171e55ddd44008"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: MLflow flavor/signature plus immutable registered asset carry lineage and compatibility.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Evaluate a model by using responsible AI principles",
              "objective_wording_sha256": "034a4f3065363e62e771511116a8c95caeaa14dde804b0827a4a86196f414662",
              "group": "Implement model registration and versioning",
              "group_number": 5,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Register and govern models",
                  "start_line": 194,
                  "end_line": 198,
                  "span_lf_sha256": "6ef4dd5611fb1268c78fb7584cb08def80eb2f0a85f2f4760b8775f471759e58"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Responsible evaluation distinguishes actual dashboard support from universal principles.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage model lifecycle, including archiving models",
              "objective_wording_sha256": "de5464268712013830f7b45ee9d219ad0c78b8eb39d9da6e9556689ccccd25f1",
              "group": "Implement model registration and versioning",
              "group_number": 5,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Register and govern models",
                  "start_line": 192,
                  "end_line": 194,
                  "span_lf_sha256": "8de573cae54d942a66c3f24ff97b870781ab0a1e8586f8e124171e55ddd44008"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Archive/deprecate removes normal selection while retaining rollback evidence.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Deploy models as real-time or batch endpoints with managed inference options",
              "objective_wording_sha256": "db9b20d0d1467594a4fa6e9e0e78d976522c335643778c3c198302e39ca43828",
              "group": "Deploy machine learning models for production environments",
              "group_number": 6,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Deploy online and batch endpoints",
                  "start_line": 200,
                  "end_line": 204,
                  "span_lf_sha256": "3f687f2d9f77478c450da7aeb986111dfd75e6f5ebfe3013db3df5029b436a95"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Online/batch serving depends on SLO, input/response contract, auth, scale and network.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Test and troubleshoot model endpoints",
              "objective_wording_sha256": "c977121a5a8166fbf0f13d93e2b5d4486dd23ce77e4deb9fe3c8963e747ac639",
              "group": "Deploy machine learning models for production environments",
              "group_number": 6,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Troubleshoot an endpoint from evidence",
                  "start_line": 245,
                  "end_line": 255,
                  "span_lf_sha256": "2554a03531927a26dcb3e53a7b5b9fa658e51cec36a387f49e95b8c2a1e90d0b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Provision/init/schema/identity/capacity diagnostics and batch reconciliation are sequenced.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement progressive rollout and safe rollback strategies",
              "objective_wording_sha256": "e6348993d38d0f3984ce48d89922e4469180d37285260ec1dfe89c92eb814b18",
              "group": "Deploy machine learning models for production environments",
              "group_number": 6,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Progressive rollout and rollback",
                  "start_line": 206,
                  "end_line": 212,
                  "span_lf_sha256": "a3a9930603bd556cff5e86e26361543f7b7b64c26142ba03559602369a000eef"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Canary versus shadow traffic and full dependency rollback are distinguished.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Detect and analyze data drift",
              "objective_wording_sha256": "5d0fd013559432ad679f63807c82443f0279e23f7b3814b5cbf56d842ea26f28",
              "group": "Monitor and maintain machine learning models in production",
              "group_number": 7,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Monitor drift and production performance",
                  "start_line": 214,
                  "end_line": 228,
                  "span_lf_sha256": "c90b785d755383dd22ac5354bb791a6133c3fae2b4ed00d84f3c5f9fce2ff25a"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Drift types, window/reference separation and collection requirements are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Monitor performance metrics of models deployed to production",
              "objective_wording_sha256": "364dbecb69fde3b8cce7a5853cc99f08283d611f0d0b5b5e48b943009ffd32dc",
              "group": "Monitor and maintain machine learning models in production",
              "group_number": 7,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Build an actionable production monitor",
                  "start_line": 230,
                  "end_line": 243,
                  "span_lf_sha256": "fc3ec12adab300a8684520945b0534ad7dc652baa3d1ab5f775479608c10a94c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Signal/action table plus delayed-label joins separate operational and predictive performance.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure retraining or alert triggers when thresholds are exceeded",
              "objective_wording_sha256": "559aca68f6e355e8f2eab69cab01382493674048928fb689b671974aa91996a2",
              "group": "Monitor and maintain machine learning models in production",
              "group_number": 7,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Monitor drift and production performance",
                  "start_line": 226,
                  "end_line": 228,
                  "span_lf_sha256": "a04ded33aa5a67124932f93fbde086d31e7f7bc17447f425596bc19275e36453"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Threshold triggers create candidates gated by ordinary validation rather than auto-promotion.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and configure Foundry resources and project environments",
              "objective_wording_sha256": "3660242a5b42f96d0067f0f07dba9464fe0972f5c2c392d99a12da15753e80ad",
              "group": "Implement Foundry environments and platform configuration",
              "group_number": 8,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Provision current Microsoft Foundry environments",
                  "start_line": 261,
                  "end_line": 265,
                  "span_lf_sha256": "71c522d23e23276019791b838f45a91e4d8278cd166ecf3e05829f28471f7532"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Resource/project/environment settings include identity, connection and regional dependencies.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure identity and access management with managed identities and role-based access control (RBAC)",
              "objective_wording_sha256": "59102f47a0ac58ae7cdec704cde1c85025274a087a3353f4b6962954c089b41c",
              "group": "Implement Foundry environments and platform configuration",
              "group_number": 8,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Provision current Microsoft Foundry environments",
                  "start_line": 261,
                  "end_line": 265,
                  "span_lf_sha256": "71c522d23e23276019791b838f45a91e4d8278cd166ecf3e05829f28471f7532"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Runtime identity, scoped RBAC and secret connections form the access boundary.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement network security and private networking configurations",
              "objective_wording_sha256": "ade276a111b89caae07b0b85f72165c692dbc120efd68e6ee09cc765759871a4",
              "group": "Implement Foundry environments and platform configuration",
              "group_number": 8,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Network mode is part of the release contract",
                  "start_line": 267,
                  "end_line": 271,
                  "span_lf_sha256": "d7185a33f2fe22e9be14861f6b978eff2f01c7c52b3f2f4c34a50e09d79373eb"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Inbound versus outbound modes and irreversible transitions are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Deploy infrastructure using Bicep templates and Azure CLI",
              "objective_wording_sha256": "bf23441e5875670be38365337af4a8ed2d86835ee015372e5d129aeb42016354",
              "group": "Implement Foundry environments and platform configuration",
              "group_number": 8,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Worked provisioning step: deploy infrastructure before submitting jobs",
                  "start_line": 116,
                  "end_line": 129,
                  "span_lf_sha256": "5764c8c041d65976259f21803b88e7a9c2215e414a74c2395c4d48b0c31f03e0"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai300-iac"
            },
            {
              "wording": "Deploy foundation models by using serverless API endpoints and managed compute options",
              "objective_wording_sha256": "c48460890907032f7d79e57ff7f24a5246412ce15ffe8b35f28c36f4838927d5",
              "group": "Deploy and manage foundation models for production workloads",
              "group_number": 9,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Worked deployment choice: the model card defines the available route",
                  "start_line": 291,
                  "end_line": 295,
                  "span_lf_sha256": "59b445b694722a8d14d46f744513f5bd8f5bf0af1285ffce8086cfb88337b348"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-deployment. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai300-deployment"
            },
            {
              "wording": "Select appropriate models for specific use cases",
              "objective_wording_sha256": "40a263f812d42caadd85f5762d3e8273e327f5a214af61674e6c4a258325024f",
              "group": "Deploy and manage foundation models for production workloads",
              "group_number": 9,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Select and deploy foundation models",
                  "start_line": 273,
                  "end_line": 275,
                  "span_lf_sha256": "a2d9bf43df5a685f685b65dfe56aa71f2da3747d7365e1d08168bee02253513f"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Selection evaluates task quality, modality, safety, lifecycle and region.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement model versioning and production deployment strategies",
              "objective_wording_sha256": "ac8add5bce6115715ce7adaf18ec40711e084319bfe0b9f7aa71d3c4a41da65f",
              "group": "Deploy and manage foundation models for production workloads",
              "group_number": 9,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Select and deploy foundation models",
                  "start_line": 287,
                  "end_line": 308,
                  "span_lf_sha256": "7f9bb1ddb8e501914aa2cb98805d68f8c5caa54e1c63cdbd7d0307dab1cd1dcc"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Exact versions, parallel testing, upgrade policy and retirement-aware rollback govern releases.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure provisioned throughput units for high-volume workloads",
              "objective_wording_sha256": "2868c4e10e8aceb6ae00fe173f97060b9dc817438bce822ad60d7262fb530041",
              "group": "Deploy and manage foundation models for production workloads",
              "group_number": 9,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Select and deploy foundation models",
                  "start_line": 281,
                  "end_line": 285,
                  "span_lf_sha256": "9ff36eb8a3b537a3df66c8f41292f4f2fc847e1457065fd97cfbb6a9349f2095"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: PTU versus quota/reservation and same-model spillover are worked with sizing example.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Design and develop prompts",
              "objective_wording_sha256": "a153044a49cf84e98264e8ed49b4d8477ba1bef1a997419f80c40330c72d7c24",
              "group": "Implement prompt versioning and management with source control",
              "group_number": 10,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Operate prompts and connections",
                  "start_line": 310,
                  "end_line": 322,
                  "span_lf_sha256": "47b46707f8b58d45227f8b286a6fa5daaa77edf9e1b98165e317c1919d3e7678"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Prompt contract includes typed variables, tools, retrieved context and validation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create prompt variants and compare performance across different prompts",
              "objective_wording_sha256": "6e83488b45bb9ab85c937d02a97b520a89f9c6c6370e496220cf827b204fa4be",
              "group": "Implement prompt versioning and management with source control",
              "group_number": 10,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Version prompts as production artifacts",
                  "start_line": 316,
                  "end_line": 322,
                  "span_lf_sha256": "193064ba64562a970822cf7fdba38c94003ada9bd971822da3e732517d9f79fc"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Variants hold evaluation conditions fixed and promote full bundle.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement version control for prompts by using Git repositories",
              "objective_wording_sha256": "a3d68a4a99c59ab8d9ec0e26f61c0b4d869347319b0576ef8b130b8a63f9580c",
              "group": "Implement prompt versioning and management with source control",
              "group_number": 10,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Version prompts as production artifacts",
                  "start_line": 316,
                  "end_line": 322,
                  "span_lf_sha256": "193064ba64562a970822cf7fdba38c94003ada9bd971822da3e732517d9f79fc"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Git versions text/config while excluding secrets and data; model/index/safety travel together.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create test datasets and data mapping for comprehensive model evaluation",
              "objective_wording_sha256": "772038eb20ac8bcab84d9d74770aa572b872538e07f299fc78a2130848876354",
              "group": "Configure evaluation and validation for generative AI applications and agents",
              "group_number": 11,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Build evaluation datasets and mappings",
                  "start_line": 328,
                  "end_line": 350,
                  "span_lf_sha256": "81b697d9fbb0ceae1663b3145d1c47ad0a23140d59686452063949bb4e36724d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Mapped test schema and scenario-specific inline/precomputed/stored data contracts are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement AI quality metrics, including groundedness, relevance, coherence, and fluency",
              "objective_wording_sha256": "bc741f68d2e112c4c0beca4b4902c8ee8f68679438f2311c238bf0ce421841d0",
              "group": "Configure evaluation and validation for generative AI applications and agents",
              "group_number": 11,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Build evaluation datasets and mappings",
                  "start_line": 330,
                  "end_line": 342,
                  "span_lf_sha256": "e95fb2bd581d1898067d08c15d0d1dc77ff16a8d69c5ad840aa95f0372351faf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Groundedness/relevance/coherence/fluency are distinct and judges calibrated.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure risk and safety evaluations for harmful content detection",
              "objective_wording_sha256": "98abb305c2af663fb23e7eeb3b438f11b88416ba87c77360d928a99f65ea461d",
              "group": "Configure evaluation and validation for generative AI applications and agents",
              "group_number": 11,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Build evaluation datasets and mappings",
                  "start_line": 342,
                  "end_line": 350,
                  "span_lf_sha256": "8acad9668ccda33b9437d00699c6788ad5f2a3a39dc5dc43ea296a05c367712b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Safety evaluation plus severe-failure gates and per-case preservation constrain release.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Set up automated evaluation workflows by using built-in and custom evaluation metrics",
              "objective_wording_sha256": "52dfb1544561d1f4e3b997fe1446a24a8e0f9e106800027001abebffca8e97ff",
              "group": "Configure evaluation and validation for generative AI applications and agents",
              "group_number": 11,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Match the evaluation API and scenario",
                  "start_line": 348,
                  "end_line": 350,
                  "span_lf_sha256": "548a9ca7053e6ed8e6ef8351b36c6994a33fef18807db2d24cbf4bcec0edf3a1"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Versioned custom evaluator and CI thresholds fail closed on absent/error outcomes.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Examine continuous monitoring in Foundry",
              "objective_wording_sha256": "9d983b88c80149b5e2e68be45b88af296a5761bb6359caf2f0a5ac35cc5a0e51",
              "group": "Implement observability for generative AI applications and agents",
              "group_number": 12,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Observe applications and agents continuously",
                  "start_line": 352,
                  "end_line": 362,
                  "span_lf_sha256": "e5c8cc55abdd08af25953a596b7612e98359ea78eafc45abfd0199b06b67ce20"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Sampled continuous evaluation eligibility and privacy/content limitations are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Monitor performance metrics, including latency, throughput, and response times",
              "objective_wording_sha256": "987d9cacdcd99626b46a71d72dbae9c82c1a16875699cf83280f2676ec2217f3",
              "group": "Implement observability for generative AI applications and agents",
              "group_number": 12,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Observe applications and agents continuously",
                  "start_line": 354,
                  "end_line": 356,
                  "span_lf_sha256": "509077d1a242596c5395ccf2dcb11d6d112462c95ff190791891fd867f057a7e"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Latency percentiles, throughput, throttling and dependency spans define operational monitoring.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Track and optimize cost metrics, including token consumption and resource usage",
              "objective_wording_sha256": "da97c31f22c55b5977e0f397940443d9e34a0e4723c8e926ddb9c1e4c504803c",
              "group": "Implement observability for generative AI applications and agents",
              "group_number": 12,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Observe applications and agents continuously",
                  "start_line": 354,
                  "end_line": 356,
                  "span_lf_sha256": "509077d1a242596c5395ccf2dcb11d6d112462c95ff190791891fd867f057a7e"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Tokens/cost, retry and resource consumption are compared by release cohort.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure detailed logging, tracing, and debugging capabilities for production troubleshooting",
              "objective_wording_sha256": "0d2813174167683a9cf8e6fb3d7a79cf506f5591c985fd096b3567cc9bfd2c4c",
              "group": "Implement observability for generative AI applications and agents",
              "group_number": 12,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Debug agent and RAG traces safely",
                  "start_line": 379,
                  "end_line": 381,
                  "span_lf_sha256": "98cf83fcf254ad4b03398fde03509aafa00ea7d835decd5026bcf45f6b88ecc7"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Trace follows entry, retrieval, model and tools to targeted failure diagnosis.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Optimize retrieval performance by tuning similarity thresholds, chunk sizes, and retrieval strategies",
              "objective_wording_sha256": "ea5326cfd9d1b31e74525888397d1ae71fb0057e3757acc4ce20713fae70b783",
              "group": "Optimize retrieval-augmented generation (RAG) performance and accuracy",
              "group_number": 13,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Optimize RAG from a labeled baseline",
                  "start_line": 387,
                  "end_line": 417,
                  "span_lf_sha256": "4f83c0ed7a221b1dac053e2efafc08171920aa1414c6faffb92cc4734ea3da01"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Chunk/threshold/top-k experiments and stage diagnostics use labeled relevance.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Select and fine-tune embedding models for domain-specific use cases and accuracy improvements",
              "objective_wording_sha256": "e867d0c9cb918cf5d4ca421514ad9db75ef08540e2308c8befc2d449b524c7e2",
              "group": "Optimize retrieval-augmented generation (RAG) performance and accuracy",
              "group_number": 13,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Worked embedding adaptation: train retrieval geometry, then rebuild the index",
                  "start_line": 419,
                  "end_line": 427,
                  "span_lf_sha256": "2ab713599792a4da3a5d78521be229186dda49f4035b9baa916a263b8cba9545"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai300-embedding. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred. Upstream training is useful coverage; selected managed-service fine-tuning support remains explicitly unverified and is not claimed.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai300-embedding"
            },
            {
              "wording": "Implement and optimize hybrid search approaches combining semantic and keyword-based retrieval",
              "objective_wording_sha256": "3621cd9741678ffa555b34efd3c04d538c35e8f01d15d51d0d3154d9faeff3ba",
              "group": "Optimize retrieval-augmented generation (RAG) performance and accuracy",
              "group_number": 13,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Optimize RAG from a labeled baseline",
                  "start_line": 394,
                  "end_line": 417,
                  "span_lf_sha256": "88fbf0269e9b6668f6699bc5f3f7baca12a5af6a24b096e5eedcf97fac2e17f6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Hybrid list fusion and distinct score types are worked.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Evaluate and improve RAG system performance by using relevance metrics and A/B testing frameworks",
              "objective_wording_sha256": "5c4854b977694874a87525361c04823836ef46e16c7504fada318fc286a87faa",
              "group": "Optimize retrieval-augmented generation (RAG) performance and accuracy",
              "group_number": 13,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Optimize RAG from a labeled baseline",
                  "start_line": 387,
                  "end_line": 417,
                  "span_lf_sha256": "4f83c0ed7a221b1dac053e2efafc08171920aa1414c6faffb92cc4734ea3da01"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Stable A/B assignment, minimum samples and quality/latency/security constraints bound tuning.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Design and implement advanced fine-tuning methods",
              "objective_wording_sha256": "c6518af071bbb6fd5394466d65bb9c883c567633e0837f7bd648c7ea534a7d67",
              "group": "Implement advanced fine-tuning and model customization",
              "group_number": 14,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Fine-tune only for the right problem",
                  "start_line": 429,
                  "end_line": 445,
                  "span_lf_sha256": "0ae219b352e67f85b3a8b80d6de124c1126dadffce8ba289b1dc1ab7b79f7d64"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: SFT/DPO/RFT training signals, support and grader gaming distinguish methods; implementation workflow is generic.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and manage synthetic data for fine-tuning",
              "objective_wording_sha256": "659ec9c74833a893fb8db16b280e4c79d44735e6fa8bc5da709876cc7951ca23",
              "group": "Implement advanced fine-tuning and model customization",
              "group_number": 14,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Fine-tune only for the right problem",
                  "start_line": 431,
                  "end_line": 453,
                  "span_lf_sha256": "25720920d6a32bc7c60384931ce6e2c339a498fdd7d2ba3b4bc6f4b655a83df3"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Synthetic provenance, splits, deduplication and realistic tests prevent leakage.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Monitor and optimize fine-tuned model performance",
              "objective_wording_sha256": "c1dce91a6d4b3d89ccd060610f40be5cd5b2e308ce1007d23d1f1b3222c5ae23",
              "group": "Implement advanced fine-tuning and model customization",
              "group_number": 14,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Operate the fine-tuning dataset and checkpoints",
                  "start_line": 447,
                  "end_line": 455,
                  "span_lf_sha256": "22622391fb50bf9d8a3efa3b36dae8efd77254d2d3da5d275768cba5d826a886"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Checkpoint selection uses task/safety metrics and production cohort monitoring.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage a fine-tuned model from development through production deployment",
              "objective_wording_sha256": "d0fddd9de570de7938fb22dea7263f8b4cb9e6d7074be456b986fb63de007de9",
              "group": "Implement advanced fine-tuning and model customization",
              "group_number": 14,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Fine-tune only for the right problem",
                  "start_line": 435,
                  "end_line": 455,
                  "span_lf_sha256": "6cb3c9d120fa23cd5824fce05a6d98cc062cc8fc371803ff2805f2800546d7c2"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Tuned deployment follows evaluation/canary/retirement-aware lifecycle with full lineage.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            }
          ],
          "complete_guide_read": true,
          "complete_guide_line_count": 704,
          "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
        },
        {
          "exam_code": "AI-901",
          "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
          "guide_lf_sha256": "4b43ada4d11ec9d15b73d1231dab03698699f96bf837f347cf6bec080d32c6e2",
          "objective_raw_sha256": "8b1c05a7a2258d69e43d47d75c0adeae2a5a7660e12e4d46627014d1ff9bedd1",
          "objective_count": 29,
          "current_mapping": [
            {
              "wording": "Describe considerations for fairness in an AI solution",
              "objective_wording_sha256": "4243e358e409e7a84e2b48011d4c51a045a8bcf60b8631bb7a189463276fcd7d",
              "group": "Describe principles of responsible AI",
              "group_number": 1,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Apply the principles to one system",
                  "start_line": 154,
                  "end_line": 167,
                  "span_lf_sha256": "ef0a55be582eb328647e709f737e71fba5d36313bd5cc42ef9aa6ee58de34905"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Group/role/language error checks and disparity arithmetic make fairness observable.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe considerations for reliability and safety in an AI solution",
              "objective_wording_sha256": "82ae857902f767db1375f55a9eacd12e1d9d53c2df8fea42e5f2923676a28e87",
              "group": "Describe principles of responsible AI",
              "group_number": 1,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Apply the principles to one system",
                  "start_line": 154,
                  "end_line": 181,
                  "span_lf_sha256": "1646d06f8a4777016f8e570516f1e152b4fbff4fb94de385f3d02251843168f1"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Safe abstention, evidence and control-by-failure table separate reliability from other goals.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe considerations for privacy and security in an AI solution",
              "objective_wording_sha256": "0b0936dd4a0dc8efd313c2bbfbda2e1873a64e73804f11c9099c365be95c2590",
              "group": "Describe principles of responsible AI",
              "group_number": 1,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Apply the principles to one system",
                  "start_line": 154,
                  "end_line": 181,
                  "span_lf_sha256": "1646d06f8a4777016f8e570516f1e152b4fbff4fb94de385f3d02251843168f1"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Access, minimization, redaction and retention prevent cross-user disclosure.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe considerations for inclusiveness in an AI solution",
              "objective_wording_sha256": "3ce983e3ceb19aa8156adba334ed7dd458a32eec9318cc132c2f005299641ff2",
              "group": "Describe principles of responsible AI",
              "group_number": 1,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Apply the principles to one system",
                  "start_line": 154,
                  "end_line": 167,
                  "span_lf_sha256": "ef0a55be582eb328647e709f737e71fba5d36313bd5cc42ef9aa6ee58de34905"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Accessibility and supported language/format tests operationalize inclusion.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe considerations for transparency in an AI solution",
              "objective_wording_sha256": "e051e1b20a980c2f8e7ba055206b4523d8cd5858d5a661d888049fe5cd9269eb",
              "group": "Describe principles of responsible AI",
              "group_number": 1,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Apply the principles to one system",
                  "start_line": 154,
                  "end_line": 167,
                  "span_lf_sha256": "ef0a55be582eb328647e709f737e71fba5d36313bd5cc42ef9aa6ee58de34905"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Disclosure, source evidence and limitations explain what users must know.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe considerations for accountability in an AI solution",
              "objective_wording_sha256": "7585839b2e7de533212da9a343ee68d3e8889ec9b20a264f706db599ee7e609d",
              "group": "Describe principles of responsible AI",
              "group_number": 1,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Apply the principles to one system",
                  "start_line": 154,
                  "end_line": 167,
                  "span_lf_sha256": "ef0a55be582eb328647e709f737e71fba5d36313bd5cc42ef9aa6ee58de34905"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Named owner, reviewer, approver, incident and retirement responsibilities establish accountability.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe how generative AI models work",
              "objective_wording_sha256": "4a3a40f18bf6c8005cc3c68b70c9265415a15bb493768e9c81decacf63b80d7e",
              "group": "Identify AI model components and configurations",
              "group_number": 2,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Generative models",
                  "start_line": 87,
                  "end_line": 104,
                  "span_lf_sha256": "0bfb30ddbed0bf9a97551ad0797adc69a721c224ec7e5e97e80a9332e36eb869"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Tokens/attention/training/inference/context distinguish learned weights from supplied evidence.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify an appropriate AI model, based on capabilities",
              "objective_wording_sha256": "81d8baca80e837173ec056901e9e2ffadbcc8db43617de9ec61904f94aa52366",
              "group": "Identify AI model components and configurations",
              "group_number": 2,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Generative models",
                  "start_line": 87,
                  "end_line": 104,
                  "span_lf_sha256": "0bfb30ddbed0bf9a97551ad0797adc69a721c224ec7e5e97e80a9332e36eb869"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Modality/context/latency/safety and embedding-versus-chat distinctions guide selection.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify appropriate model deployment options and configuration parameters",
              "objective_wording_sha256": "3a8d98cbd2196908a214c98639f80872ae4b5331fcb04c80d5d827628effb088",
              "group": "Identify AI model components and configurations",
              "group_number": 2,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Model catalog, deployment, and endpoints",
                  "start_line": 204,
                  "end_line": 232,
                  "span_lf_sha256": "c7dc1310eb38d6da73faa8aae284987730ccb9a00ae9e4acc99a3a7c08497ced"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Deployment name/configuration and portal-to-client progression are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify scenarios for common AI workloads, including generative and agentic AI, text analysis, speech, computer vision, and information extraction",
              "objective_wording_sha256": "9e4aa2cf0b1b28c101cc98f3b16ab408a6aac24da494d05f00216e6cce4f393d",
              "group": "Identify AI workloads",
              "group_number": 3,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "What AI systems do",
                  "start_line": 45,
                  "end_line": 85,
                  "span_lf_sha256": "0f1e6e3c666dea6905329501cc70c6e4d6cdcef5410dacf545748faaf2a74e11"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Output-first workload matrix chooses generation, speech, vision or extraction.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Describe common text analysis techniques, including keyword extraction, entity detection, sentiment analysis, and summarization",
              "objective_wording_sha256": "6e8695d5649c961b8a8fe3a9cae39b3078162223da59e0856ee0edc83c34188a",
              "group": "Identify AI workloads",
              "group_number": 3,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Text workloads",
                  "start_line": 376,
                  "end_line": 390,
                  "span_lf_sha256": "347b0d62532f0644ee3316999358121ec686ed86d7ea32d5ec1ab4226ce84924"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Key phrases/entities/sentiment/summary each have output and misconception.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify features and capabilities of speech recognition and speech synthesis",
              "objective_wording_sha256": "0ef599a705b01cc1b42738b389b4287dc1216a329e881f08fbd50ad784a0c22e",
              "group": "Identify AI workloads",
              "group_number": 3,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Speech workloads",
                  "start_line": 409,
                  "end_line": 481,
                  "span_lf_sha256": "76be08b8677da51c8f5628b7d6f84a7d1123b2b7726faedd352bc7323bfabb8d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Recognition/synthesis pipeline plus WER/latency and interruption examples distinguish capabilities.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify features and capabilities of computer vision and image-generation models",
              "objective_wording_sha256": "b07e3464aeafcdfee05125427097d29ff35f788b738a126ab0863a69f1137c21",
              "group": "Identify AI workloads",
              "group_number": 3,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "6. Vision and multimodal workloads",
                  "start_line": 491,
                  "end_line": 547,
                  "span_lf_sha256": "6fd826d2662bab1bd525fc6df5a72b98c2594c3023492600686f38e42b6776e4"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Classification/detection/OCR/visual reasoning/generation use different outputs.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Identify techniques to extract information from text, images, audio, and videos",
              "objective_wording_sha256": "a9626548b50135c1cccaa787823534ac83605276f90f4fb863f0165ee70873a4",
              "group": "Identify AI workloads",
              "group_number": 3,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "7. Content Understanding and information extraction",
                  "start_line": 551,
                  "end_line": 573,
                  "span_lf_sha256": "7ab7accf208aac9b40415e63def50c85622b824292c1689d712c420dc4c56a45"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Recognition/layout/field interpretation and source evidence apply across modalities.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create effective system and user prompts for generative AI models",
              "objective_wording_sha256": "46a02d4deb908aaa62e64d20edf2e18d7c076f89eb323e02d9d0a3e648529a99",
              "group": "Implement generative AI apps and agents by using Foundry",
              "group_number": 4,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Prompting and model interaction",
                  "start_line": 234,
                  "end_line": 254,
                  "span_lf_sha256": "c03fc69f03a36444ead7921ee2fb2de0aa35bd436120bcf633389de59fb6db8a"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Trusted roles/examples/output contract and missing-evidence behavior define prompts.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Deploy a model and interact with it in the Foundry portal",
              "objective_wording_sha256": "3a7217ae16e3241d2441139c52f8a33eee0168b535987f52ce60c54135748d83",
              "group": "Implement generative AI apps and agents by using Foundry",
              "group_number": 4,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "From portal exploration to a small client",
                  "start_line": 219,
                  "end_line": 232,
                  "span_lf_sha256": "ee91c5283c3593317976d8b09553d6df3765e38d356c21e3b526e298fc5e9a7b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Portal steps include capability/region, deployment, prompt tests, failure checks and cleanup.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create a lightweight chat client application by using the Foundry SDK",
              "objective_wording_sha256": "34aaaaf8de076a835e8542b356023a12a93164a45a8df8bf09f61ecf4ad7b37c",
              "group": "Implement generative AI apps and agents by using Foundry",
              "group_number": 4,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "A lightweight chat client",
                  "start_line": 256,
                  "end_line": 283,
                  "span_lf_sha256": "e41530ad89c9bc3b9193ecd36bcb17cd0f01959abff85fcc5a57e2e048cfdc1e"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Projects SDK client, identity and responses.create show actual request/validation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and test a single-agent solution in the Foundry portal",
              "objective_wording_sha256": "06962f79329d1ada60c7dcdb1f2892dd263f31d5a6ba710e81566393bab749e9",
              "group": "Implement generative AI apps and agents by using Foundry",
              "group_number": 4,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Build a single agent",
                  "start_line": 302,
                  "end_line": 355,
                  "span_lf_sha256": "fd8de0f007a6ac92dd33c90060ef9a0d65113e11c789d97a5a27ce977ad45b88"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Portal prompt-agent test and separate invocation distinguish creation from serving.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create a lightweight client application for an agent",
              "objective_wording_sha256": "b28a81f1a52ba2ab18f54f98144c7a160fe7a93fed6a59af74b899af1d3daeb5",
              "group": "Implement generative AI apps and agents by using Foundry",
              "group_number": 4,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Invoke an agent created in the portal",
                  "start_line": 331,
                  "end_line": 355,
                  "span_lf_sha256": "156293b3b2f7cbdb4dce827f0b5edfcf2e3e03f14a38278f7dd2cb6213fe0e26"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Agent-name binding, conversation create and responses call are executable client pattern.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Build a lightweight application that includes text analysis",
              "objective_wording_sha256": "2ac3c4258170a2d804fa172877aaf6eb37eca561f92644bba34850134c62faf5",
              "group": "Implement AI solutions for text and speech by using Foundry",
              "group_number": 5,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Keep per-document failures visible",
                  "start_line": 392,
                  "end_line": 407,
                  "span_lf_sha256": "fbbd72747ffff0f975785d099aeeffdd4a5f05c8bf79e430eb73495b68bec31d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Text analysis batch preserves per-document errors separately from request exceptions.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Respond to spoken prompts by using a deployed multimodal model",
              "objective_wording_sha256": "dbefb789fd1f5dd13861e92d1f11f00639417d519d275360477e24795009f016",
              "group": "Implement AI solutions for text and speech by using Foundry",
              "group_number": 5,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Worked portal check: one spoken turn through a multimodal model",
                  "start_line": 469,
                  "end_line": 473,
                  "span_lf_sha256": "ef13aceb113e87d5069bdeb4598073eae928b3e567d34414b23870dbce623d27"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-voice. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-voice"
            },
            {
              "wording": "Build a lightweight application by using Azure Speech in Foundry Tools",
              "objective_wording_sha256": "dd44fe3742016d21ff1e4eb4b640d8b0340d9886a0d44a157fb4d0562e73de84",
              "group": "Implement AI solutions for text and speech by using Foundry",
              "group_number": 5,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked Speech application wiring",
                  "start_line": 424,
                  "end_line": 447,
                  "span_lf_sha256": "4dce18f95d86bda6f40740e9b30b8d399a7ce79a2a65e944a2eefcd6791dd95a"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-speech. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-speech"
            },
            {
              "wording": "Interpret visual input in prompts by using a deployed multimodal model",
              "objective_wording_sha256": "1eaadadf6c73903477de704e3303f69b456c0bde794610e7683ed653058c6ccc",
              "group": "Implement AI solutions with computer vision and image-generation capabilities by using Foundry",
              "group_number": 6,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Worked visual-input contract",
                  "start_line": 511,
                  "end_line": 530,
                  "span_lf_sha256": "b926ad4bdc6854ed48052b135aa65a66645d5697437171a964bd6282c92f74a6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-vision. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-vision"
            },
            {
              "wording": "Create new visual outputs by using generative models",
              "objective_wording_sha256": "0b7251f119c2ba0437263642ae6cdd9e7dc00d6b0292c4e016a0cfec5d94cd41",
              "group": "Implement AI solutions with computer vision and image-generation capabilities by using Foundry",
              "group_number": 6,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Worked image-generation contract",
                  "start_line": 534,
                  "end_line": 538,
                  "span_lf_sha256": "6d3b820fb84461d5b3378460b241ab82b96c56c16bb0f72adca7c97b2e2cf69d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-generation. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-generation"
            },
            {
              "wording": "Build a lightweight application that includes vision capabilities",
              "objective_wording_sha256": "e2063f9da8eb4bfcae428b71522ddf038fe6fdfa44d6312afa20bed40b61262b",
              "group": "Implement AI solutions with computer vision and image-generation capabilities by using Foundry",
              "group_number": 6,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked visual-input contract",
                  "start_line": 511,
                  "end_line": 530,
                  "span_lf_sha256": "b926ad4bdc6854ed48052b135aa65a66645d5697437171a964bd6282c92f74a6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-vision. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-vision"
            },
            {
              "wording": "Extract information from documents and forms by using Azure Content Understanding in Foundry Tools",
              "objective_wording_sha256": "e197979ee1c267e6afaefd9a895c74f1e85b930cffa23fc31f48d24f3b2bdec4",
              "group": "Implement AI solutions for information extraction by using Foundry",
              "group_number": 7,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Worked extraction request: use the modality's analyzer and inspect its evidence",
                  "start_line": 585,
                  "end_line": 598,
                  "span_lf_sha256": "dda422c369130fe65c001f043e47f5b7d311f002ead257f21d1004434ddb2edf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-extraction. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-extraction"
            },
            {
              "wording": "Extract information from images by using Content Understanding",
              "objective_wording_sha256": "88ad5352a4c991d63bc3a87cbe412327e9a638af537ca9fcab5c6f1c1e3e906d",
              "group": "Implement AI solutions for information extraction by using Foundry",
              "group_number": 7,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Worked extraction request: use the modality's analyzer and inspect its evidence",
                  "start_line": 585,
                  "end_line": 598,
                  "span_lf_sha256": "dda422c369130fe65c001f043e47f5b7d311f002ead257f21d1004434ddb2edf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-extraction. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-extraction"
            },
            {
              "wording": "Extract information from audio and video by using Content Understanding",
              "objective_wording_sha256": "0fa184ee12980935eb498921139a033695b09f112f5bac50162f6eb8c150954a",
              "group": "Implement AI solutions for information extraction by using Foundry",
              "group_number": 7,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked extraction request: use the modality's analyzer and inspect its evidence",
                  "start_line": 585,
                  "end_line": 598,
                  "span_lf_sha256": "dda422c369130fe65c001f043e47f5b7d311f002ead257f21d1004434ddb2edf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-extraction. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-extraction"
            },
            {
              "wording": "Build a lightweight application with information extraction capabilities by using Content Understanding",
              "objective_wording_sha256": "f10dbc18bb48feec903014cf10c21f7ec765562444cccff008a74eae099532d4",
              "group": "Implement AI solutions for information extraction by using Foundry",
              "group_number": 7,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Worked extraction request: use the modality's analyzer and inspect its evidence",
                  "start_line": 585,
                  "end_line": 598,
                  "span_lf_sha256": "dda422c369130fe65c001f043e47f5b7d311f002ead257f21d1004434ddb2edf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by ai901-extraction. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "ai901-extraction"
            }
          ],
          "complete_guide_read": true,
          "complete_guide_line_count": 896,
          "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
        },
        {
          "exam_code": "AZ-104",
          "guide_path": "guides/AZ-104-microsoft-azure-administrator.md",
          "guide_lf_sha256": "3899d0d582d439b56747ca10effc793ddd629fae6969c5b12ff9e5a8783bc2f1",
          "objective_raw_sha256": "7d2330fbafdd4981b54e6aa8f9ba371f0bbad1edf521fa8d2fa591e2bf8d2ae1",
          "objective_count": 82,
          "current_mapping": [
            {
              "wording": "Create users and groups",
              "objective_wording_sha256": "7e02548403c0c3f10e94dcf511115a20ebfae079281de09939f1245b5e6bd9d3",
              "group": "Manage Microsoft Entra users and groups",
              "group_number": 1,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Microsoft Entra identities",
                  "start_line": 83,
                  "end_line": 102,
                  "span_lf_sha256": "0e6deea6b5db9f8068ae02b8e53f9e6f096f055fbded72781f52225ed926ac9f"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: User/group decision table and effective identity state checks support creation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage user and group properties",
              "objective_wording_sha256": "c6971ee7c9d90dd02be5035084fcb16f0e21c9b235cbfedddf128cb10c399c5c",
              "group": "Manage Microsoft Entra users and groups",
              "group_number": 1,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Identity changes need effective-state checks",
                  "start_line": 96,
                  "end_line": 102,
                  "span_lf_sha256": "8127f2360c95851ba88bee642af0f4aff6d1dbf7f5a12adfcfc079f753cd82ae"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Source authority, sign-in, usage location and membership distinguish editable state.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage licenses in Microsoft Entra ID",
              "objective_wording_sha256": "7b2be3d73e13317142d37132ddbe10cc11714d7a900c59573ae5d09baf44f5c7",
              "group": "Manage Microsoft Entra users and groups",
              "group_number": 1,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Identity changes need effective-state checks",
                  "start_line": 98,
                  "end_line": 102,
                  "span_lf_sha256": "bf756750b7cba652145e7e777ad7ee3d55c9eca530e854c15305f52020c59374"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Group licensing workflow checks dependencies, errors and safe transfer order.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage external users",
              "objective_wording_sha256": "b1291b88064c6045da5cf06944458113a40be458c0b6267465bca56aeb8af783",
              "group": "Manage Microsoft Entra users and groups",
              "group_number": 1,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Identity changes need effective-state checks",
                  "start_line": 96,
                  "end_line": 102,
                  "span_lf_sha256": "8127f2360c95851ba88bee642af0f4aff6d1dbf7f5a12adfcfc079f753cd82ae"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Invitation/redemption differs from Azure resource authorization.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure self-service password reset (SSPR)",
              "objective_wording_sha256": "28541ae6017febab8551d9e265170901b2905374853d24e109a4f4dc79ade6d0",
              "group": "Manage Microsoft Entra users and groups",
              "group_number": 1,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Identity changes need effective-state checks",
                  "start_line": 100,
                  "end_line": 102,
                  "span_lf_sha256": "e330717e5891b181eb749141be3b33f58277b448f2cd0e39d09db39f6288d3b7"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Authentication policy, eligibility, registered methods and non-admin reset test are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage built-in Azure roles",
              "objective_wording_sha256": "a7dde8aee3c640dc9877fd87accf3fb8ffd99f0b443aadf40ffb7ab1e18d7064",
              "group": "Manage access to Azure resources",
              "group_number": 2,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Azure RBAC",
                  "start_line": 104,
                  "end_line": 126,
                  "span_lf_sha256": "39565005a515d89be828d81eb9baa57d15afe31bff5d53b44ae69a3e16ea3f01"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Role actions/exclusions/deny and planes explain built-in roles.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Assign roles at different scopes",
              "objective_wording_sha256": "cc8210056296c36942a4296db2b7265e4db58a7c1068ddb5579cabfc1f353de5",
              "group": "Manage access to Azure resources",
              "group_number": 2,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Azure RBAC",
                  "start_line": 104,
                  "end_line": 118,
                  "span_lf_sha256": "20d99816ccb681c0fc31950e883b0eb1534a3c2f484607709cc1e3808c5109f6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Principal/role/scope and inheritance support least privilege assignment.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Interpret access assignments",
              "objective_wording_sha256": "92b2e2739931959b82ad3e347caae7f19b6f29aa3bd87f12ada8027f3769d700",
              "group": "Manage access to Azure resources",
              "group_number": 2,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked example 1: Exclusion is not an explicit deny",
                  "start_line": 120,
                  "end_line": 126,
                  "span_lf_sha256": "61357dfdff149f5b4bc9db447b0462fe8317e4f8842b8255d7a4035a31ac3ced"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Combined allow and explicit deny example shows effective access reasoning.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement and manage Azure Policy",
              "objective_wording_sha256": "ea0bc405f3247d50592ef887aa79cea56ba84c554dab622d253f7f0578623c32",
              "group": "Manage Azure subscriptions and governance",
              "group_number": 3,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Policy, locks, tags, and hierarchy",
                  "start_line": 128,
                  "end_line": 141,
                  "span_lf_sha256": "2fe8ca4ac016c62f01357b535f385ca5e5924751b7960a335122cd939066253d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Definition/initiative/assignment/effect/remediation and identity are differentiated.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure resource locks",
              "objective_wording_sha256": "84de78d458b64921a4f8d66ec925a42d6123b2978f7b34dac5d7d2fea05f6377",
              "group": "Manage Azure subscriptions and governance",
              "group_number": 3,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Policy, locks, tags, and hierarchy",
                  "start_line": 128,
                  "end_line": 141,
                  "span_lf_sha256": "2fe8ca4ac016c62f01357b535f385ca5e5924751b7960a335122cd939066253d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Delete/read-only inheritance and management-plane scope limit locks.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Apply and manage tags on resources",
              "objective_wording_sha256": "18e8e6f33ac530f69ee624aba9fbb3e2f55a4742234ddbf7c97233b328317a00",
              "group": "Manage Azure subscriptions and governance",
              "group_number": 3,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Policy, locks, tags, and hierarchy",
                  "start_line": 128,
                  "end_line": 139,
                  "span_lf_sha256": "1f6d2e0f68e6d02a97757b354be94773da138d01eb4b765fbde03541979acb5d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Tag metadata is distinguished from inheritance; lab applies tags.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage resource groups",
              "objective_wording_sha256": "ec9055e06b5f71a3dc98e121fbd1e28b63f21040f810829b8a57edd3cfd29caa",
              "group": "Manage Azure subscriptions and governance",
              "group_number": 3,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Worked hierarchy change: predict inherited controls before a move",
                  "start_line": 149,
                  "end_line": 153,
                  "span_lf_sha256": "8226c4c3c0649472d8078f5cd5d2c379ad45c334961ce00c3073ed2883b0ea33"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-hierarchy. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-hierarchy"
            },
            {
              "wording": "Manage subscriptions",
              "objective_wording_sha256": "24a3f4314e5cc6b7d2a7b3ea89cb5b19047cfac524f57ef832f7931fde5ceab3",
              "group": "Manage Azure subscriptions and governance",
              "group_number": 3,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Worked hierarchy change: predict inherited controls before a move",
                  "start_line": 149,
                  "end_line": 153,
                  "span_lf_sha256": "8226c4c3c0649472d8078f5cd5d2c379ad45c334961ce00c3073ed2883b0ea33"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-hierarchy. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-hierarchy"
            },
            {
              "wording": "Manage costs by using alerts, budgets, and Azure Advisor recommendations",
              "objective_wording_sha256": "053f5c0a56e8ff15637c414868c0c6c00a134bd348cff00012b10fd58a60a145",
              "group": "Manage Azure subscriptions and governance",
              "group_number": 3,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Subscriptions, costs, and management groups",
                  "start_line": 143,
                  "end_line": 147,
                  "span_lf_sha256": "2a3b657981e98775e4c05a323c772f569c7dced00da570450b30d8dd346aaf8e"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Budgets notify and Advisor recommendations require workload evaluation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure management groups",
              "objective_wording_sha256": "ff8e7b0e3df3f0d0ab30d4794d086d6078dc0cbbb94804729b47488868c7d37d",
              "group": "Manage Azure subscriptions and governance",
              "group_number": 3,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Worked hierarchy change: predict inherited controls before a move",
                  "start_line": 149,
                  "end_line": 153,
                  "span_lf_sha256": "8226c4c3c0649472d8078f5cd5d2c379ad45c334961ce00c3073ed2883b0ea33"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-hierarchy. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-hierarchy"
            },
            {
              "wording": "Configure Azure Storage firewalls and virtual networks",
              "objective_wording_sha256": "b71813acc52a81fc1887b90ca683769754521438573fb539da7191bbfed866d7",
              "group": "Configure access to storage",
              "group_number": 4,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Authorization and network access are separate gates",
                  "start_line": 168,
                  "end_line": 196,
                  "span_lf_sha256": "74a557c234af9c576e0564fc70fb3ac4b3bf6c20b4ec7e975587b8845fdedf1b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Network/auth/authorization gates and private DNS are independent.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and use shared access signature (SAS) tokens",
              "objective_wording_sha256": "a0a3dc3e7018c457d37a7b8089ef15d605189ec7183bf40c6b5a7ac4ca722df0",
              "group": "Configure access to storage",
              "group_number": 4,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Authorization and network access are separate gates",
                  "start_line": 168,
                  "end_line": 182,
                  "span_lf_sha256": "42a4b0cb6620defb6d99e04bd015166cb744895b6ddbf92dc30cdc3151c032f0"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: SAS type/permission/expiry and revocation boundaries are explained with lab.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure stored access policies",
              "objective_wording_sha256": "ee2ab77ca85bf5235d958dcb0e4157fa2425cf19ede02505e2651e22e1a0dbfb",
              "group": "Configure access to storage",
              "group_number": 4,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Authorization and network access are separate gates",
                  "start_line": 176,
                  "end_line": 182,
                  "span_lf_sha256": "60da266ac46b4c8a2fb963a8aa848a72f1751fac4b7940fa31e402dfa8ba08c3"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Service-SAS-only policy and limit are identified; association/revocation scenario is brief but specific.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage access keys",
              "objective_wording_sha256": "d2c1027d98471d2e1addb3c59bbd9a187d8aa01d459cdc0d53f597b63120728e",
              "group": "Configure access to storage",
              "group_number": 4,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Authorization and network access are separate gates",
                  "start_line": 180,
                  "end_line": 182,
                  "span_lf_sha256": "b087e78b1ab95cfb2d692b74c56d26aa1407182d55916de23972238dd61f5fcc"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Two-key consumer migration/rotation and SAS impact are concrete.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure identity-based access for Azure Files",
              "objective_wording_sha256": "bdad605decffa187e458dc10fd427a04e16b7a4b7d37b53a2d158d44bb556f9d",
              "group": "Configure access to storage",
              "group_number": 4,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Identity-based Azure Files access",
                  "start_line": 184,
                  "end_line": 186,
                  "span_lf_sha256": "16fcb028255f213ef027069453b4f7532449e93f30bee995b63207435d90dbbf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: SMB identity source/share RBAC/ACL/client/network pipeline diagnoses denial.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and configure storage accounts",
              "objective_wording_sha256": "82a871794012a0275c0412396df3d6512223411e7ddf169bd43a5d717b62209a",
              "group": "Configure and manage storage accounts",
              "group_number": 5,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Accounts, redundancy, encryption, and replication",
                  "start_line": 198,
                  "end_line": 212,
                  "span_lf_sha256": "e6e297fcc8754edd3ac906734fa4e2252ef1a42a726da1867315726261bba062"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Account/region/redundancy/encryption and replication dependencies guide creation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure Azure Storage redundancy",
              "objective_wording_sha256": "9b66782655d92b3bc2624b991d66df81d76f3d1abf581de05e26772a65af7197",
              "group": "Configure and manage storage accounts",
              "group_number": 5,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Accounts, redundancy, encryption, and replication",
                  "start_line": 202,
                  "end_line": 209,
                  "span_lf_sha256": "9923fa339213c601122eeb43412fe5afd7c6b1faf211be17e34d67219872ffb9"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Redundancy table separates synchronous zones, async geo and read access.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure object replication",
              "objective_wording_sha256": "fda8e335be360ffa1458ec13338c73e5d4ca7cc4c2aded4387f41921bf2d68b8",
              "group": "Configure and manage storage accounts",
              "group_number": 5,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Accounts, redundancy, encryption, and replication",
                  "start_line": 212,
                  "end_line": 212,
                  "span_lf_sha256": "8ecbd45088573a41b2e385d9a8e11aed9d9cd9fe41a068a93ed259f8c1ed8caf"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Change-feed/versioning/matching policy/container/existing-object rules specify replication.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure storage account encryption",
              "objective_wording_sha256": "118f5f657aec0d75def967230b3ed75b261a145fd02d95bbf8508901ce65fcc8",
              "group": "Configure and manage storage accounts",
              "group_number": 5,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Accounts, redundancy, encryption, and replication",
                  "start_line": 210,
                  "end_line": 210,
                  "span_lf_sha256": "ede4fc87611332c85c85a32fc75cc08d6ad5ffd86c1a875a6334e0f664565a2a"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Managed/customer keys and infrastructure encryption boundaries are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage data by using Azure Storage Explorer and AzCopy",
              "objective_wording_sha256": "db9c4d923b2bba4db50bc3cf30aa47fc7a03f3c6bbd38efa99136468f289edf6",
              "group": "Configure and manage storage accounts",
              "group_number": 5,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Blob and file data protection",
                  "start_line": 216,
                  "end_line": 227,
                  "span_lf_sha256": "6c36e495d6d2ff658bf9cced51c2b98a02736865f4c91667097416bca3bd8f41"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Transfer auth/filter/overwrite/completion and resume checks distinguish tools.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and configure a file share in Azure Files",
              "objective_wording_sha256": "255b63e75c5d148566beaf67b81429a48279b6ae1e3ef34f9f5641aeafdc5315",
              "group": "Configure Azure Files and Azure Blob Storage",
              "group_number": 6,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Blob and file data protection",
                  "start_line": 216,
                  "end_line": 216,
                  "span_lf_sha256": "93078493c689db0aad53ab403de00f11be8abc3572ff146a455b46c38ef9d70f"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Protocol, provisioning, quota, auth and positive/negative mount checks configure share.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and configure a container in Azure Blob Storage",
              "objective_wording_sha256": "c81594f06b9fe8419a05e4a5c515479a0dc77f20e2e05c899b1fc144f2aa5634",
              "group": "Configure Azure Files and Azure Blob Storage",
              "group_number": 6,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Blob and file data protection",
                  "start_line": 216,
                  "end_line": 216,
                  "span_lf_sha256": "93078493c689db0aad53ab403de00f11be8abc3572ff146a455b46c38ef9d70f"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Container/access level and anonymous policy are selected and verified.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure storage tiers",
              "objective_wording_sha256": "b9dcec7f48e58f37f433a8aa72fd9b535c18f69ed6cd1e61de38c136527d641b",
              "group": "Configure Azure Files and Azure Blob Storage",
              "group_number": 6,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Blob and file data protection",
                  "start_line": 218,
                  "end_line": 227,
                  "span_lf_sha256": "4605044ff9e59c4d5f73c8b2d4e515dd7c3e3af0ad522bc747bb4c45fad45220"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Access tier tradeoff and archive delay affect restore plan.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure soft delete for blobs and containers",
              "objective_wording_sha256": "b47eb99703057478600b05046aafd5127f17072e1e8016c3d67cdedf93c6ee51",
              "group": "Configure Azure Files and Azure Blob Storage",
              "group_number": 6,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Worked example 2: Undelete does not recreate the current version",
                  "start_line": 237,
                  "end_line": 243,
                  "span_lf_sha256": "e4378b666b678fc1651d1da089eb4dda1d9cbd7e222a1d07ea4e025fb67f2ad2"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Delete/version promotion and container/account boundary are concrete.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure snapshots and soft delete for Azure Files",
              "objective_wording_sha256": "95d4b4717b0945f00147f6702e03fb7ba58cca6a2226489304d69ee0b5e22342",
              "group": "Configure Azure Files and Azure Blob Storage",
              "group_number": 6,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Worked Azure Files recovery: a file and a share have different undo paths",
                  "start_line": 229,
                  "end_line": 235,
                  "span_lf_sha256": "f3c6143d99b2349930d3e6f9ceaee359652306d42d1cfa0e96bcccaaa45f3e12"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-files. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-files"
            },
            {
              "wording": "Configure blob lifecycle management",
              "objective_wording_sha256": "8862a5c214f7b74eb04aae8311b4927a0100ca3a675c73c09e763a4f96d57ba3",
              "group": "Configure Azure Files and Azure Blob Storage",
              "group_number": 6,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Worked example 2: Undelete does not recreate the current version",
                  "start_line": 243,
                  "end_line": 243,
                  "span_lf_sha256": "3b54c9a25ff306640754784f86036acd268e061aea691a4e7ed9903bce3f639c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Rule timing, AND filters, replace semantics and archive exclusion are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure blob versioning",
              "objective_wording_sha256": "0cd36788b19f3268d66039e25e6356055e8bd42cb006e384d62b2d7f3b6bb1aa",
              "group": "Configure Azure Files and Azure Blob Storage",
              "group_number": 6,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Worked example 2: Undelete does not recreate the current version",
                  "start_line": 237,
                  "end_line": 243,
                  "span_lf_sha256": "e4378b666b678fc1651d1da089eb4dda1d9cbd7e222a1d07ea4e025fb67f2ad2"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Version promotion, lifetime and HNS support are worked.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Interpret an Azure Resource Manager template or a Bicep file",
              "objective_wording_sha256": "283707a895c7281b08c9f67a55cfce22d41e005ef0a06240cce54c11a4337bb7",
              "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
              "group_number": 7,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Worked ARM/Bicep change: follow one property through deployment",
                  "start_line": 270,
                  "end_line": 286,
                  "span_lf_sha256": "3fdcf6adc214dac693ec967ee7c97a76a8d7ac807d9819a0049b19acf6c287a8"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-iac"
            },
            {
              "wording": "Modify an existing Azure Resource Manager template",
              "objective_wording_sha256": "2d51033d5a61719f3681de4116d595fb695d92aee2e916d1f8e058be95491d86",
              "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
              "group_number": 7,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Worked ARM/Bicep change: follow one property through deployment",
                  "start_line": 270,
                  "end_line": 286,
                  "span_lf_sha256": "3fdcf6adc214dac693ec967ee7c97a76a8d7ac807d9819a0049b19acf6c287a8"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-iac"
            },
            {
              "wording": "Modify an existing Bicep file",
              "objective_wording_sha256": "e9f13287f1e8a5aff0530de967df2fd43d5ffc93e64c409eebc672e8ae3602fe",
              "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
              "group_number": 7,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Worked ARM/Bicep change: follow one property through deployment",
                  "start_line": 270,
                  "end_line": 286,
                  "span_lf_sha256": "3fdcf6adc214dac693ec967ee7c97a76a8d7ac807d9819a0049b19acf6c287a8"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-iac"
            },
            {
              "wording": "Deploy resources by using an Azure Resource Manager template or a Bicep file",
              "objective_wording_sha256": "d613a50f56f032cac6fd7c52bf732c21d6f8b752b4da9465e28d08c528ce4e58",
              "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
              "group_number": 7,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Worked ARM/Bicep change: follow one property through deployment",
                  "start_line": 270,
                  "end_line": 286,
                  "span_lf_sha256": "3fdcf6adc214dac693ec967ee7c97a76a8d7ac807d9819a0049b19acf6c287a8"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-iac. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-iac"
            },
            {
              "wording": "Export a deployment as an Azure Resource Manager template or convert an Azure Resource Manager template to a Bicep file",
              "objective_wording_sha256": "a4107da4f70059fabffa0db706be7a5aa00e426ca5dee032870b460d77c794aa",
              "group": "Automate deployment of resources by using Azure Resource Manager (ARM) templates or Bicep files",
              "group_number": 7,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Incremental deployment is not a property patch",
                  "start_line": 264,
                  "end_line": 268,
                  "span_lf_sha256": "03c291d5e77e37c4cdd56346dc3511bbb9900783b4b0c57b66a36643b64ceab6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Decompile CLI, warnings, build and round-trip limitations are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create a virtual machine",
              "objective_wording_sha256": "b4a3394c758b1cca17953c557256ce6664c298f4109f84f31242beea9b475391",
              "group": "Create and configure virtual machines",
              "group_number": 8,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Virtual machines",
                  "start_line": 288,
                  "end_line": 306,
                  "span_lf_sha256": "6b0e3d276c51cd7ce78f059c8106fc75a43b488a86941c7574c0040e640695c1"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Dependency choices and disposable VM lab create/inspect without public IP.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure encryption at host for Azure virtual machines",
              "objective_wording_sha256": "96003a16c2da4ea8d37ce7fb21a4247faa15dd250ac1fe329f767f068ee80339",
              "group": "Create and configure virtual machines",
              "group_number": 8,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Virtual machines",
                  "start_line": 302,
                  "end_line": 302,
                  "span_lf_sha256": "c475687a09a1552b99a29342d7d4bb82dc71f6cbe103b25078e33cf4830d295c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Host encryption registration/support/previous ADE/scale-set recycle boundaries are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Move a virtual machine to another resource group, subscription, or region",
              "objective_wording_sha256": "4c196198126feb080143167249d521f70bb444990699663e59056acc24e5ff7a",
              "group": "Create and configure virtual machines",
              "group_number": 8,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Virtual machines",
                  "start_line": 300,
                  "end_line": 304,
                  "span_lf_sha256": "ffa223df8b19edb3e18c368d346b87291fc818cde718931761c622aaf513a532"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Move inventories dependencies and distinguishes resource-ID relocation from region migration.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage virtual machine sizes",
              "objective_wording_sha256": "0a72f3b62514a4da678ce9be3d24786b8d6d7b9f375c90812c758197eea9aef5",
              "group": "Create and configure virtual machines",
              "group_number": 8,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Virtual machines",
                  "start_line": 300,
                  "end_line": 300,
                  "span_lf_sha256": "e5f6468a94fd3c4962f76e1351ae1e5d6728aa7fb7b1dae4f6b6737e70b3e936"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Resize restart/capacity requirements and evidence are stated.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage virtual machine disks",
              "objective_wording_sha256": "4adbfec44d5f5bd694de2112c88a709ab746a2b6510e5db86a99bcaea53d06d2",
              "group": "Create and configure virtual machines",
              "group_number": 8,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Virtual machines",
                  "start_line": 288,
                  "end_line": 298,
                  "span_lf_sha256": "feaebe225dff865bf8246d56e76783751c8f2dbe417b88b5f54b300538905c6b"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Disk design plus lab add/initialize addresses persistence and recovery.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Deploy virtual machines to availability zones and availability sets",
              "objective_wording_sha256": "69517a2eec7d34d1ece3bc8fbeb13f09d6c17fefcf1087800a454dff42c23528",
              "group": "Create and configure virtual machines",
              "group_number": 8,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Virtual machines",
                  "start_line": 292,
                  "end_line": 298,
                  "span_lf_sha256": "a122d91e252acd0a4477c51de8ee590b075d6d94b8fc735da763eb0dc00e892d"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Host/rack versus zone choice and lab availability inspection explain deployment.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Deploy and configure an Azure Virtual Machine Scale Sets",
              "objective_wording_sha256": "872536f9d213636754198f6fe84385a1db2b7871e7289e737e76d5a2e697292b",
              "group": "Create and configure virtual machines",
              "group_number": 8,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Worked scale-set configuration: creation is the start of the health test",
                  "start_line": 308,
                  "end_line": 312,
                  "span_lf_sha256": "0590bf842eacf0c3aa5bb9b602c3044346b73d620304cb7415883eec4d6d9e00"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-vmss. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-vmss"
            },
            {
              "wording": "Create and manage an Azure Container Registry",
              "objective_wording_sha256": "d60f74ee26db3354d7bcb3c9356fb166f1ac1d0fb4f6cc102be427ed665222ef",
              "group": "Provision and manage containers in the Azure portal",
              "group_number": 9,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Containers and application platforms",
                  "start_line": 314,
                  "end_line": 327,
                  "span_lf_sha256": "393634d36447f307a07dcf93eb8999aeeef111117d08cf9b5ed90e03dd80bfc7"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Registry identity/network mode and ABAC replacement roles form creation/test path.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Provision a container by using Azure Container Instances",
              "objective_wording_sha256": "1f4d65d81cbb6334ae06408ac1ce0ead3bf08c14a2fb1f59fa0b06d22308ac76",
              "group": "Provision and manage containers in the Azure portal",
              "group_number": 9,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Containers and application platforms",
                  "start_line": 316,
                  "end_line": 329,
                  "span_lf_sha256": "5037e1aaac2933ee0f6fe24c9a00ee52325cb93b9b29bfcfd51304b43344c5fe"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: ACI image, CPU/memory, ports, restart and persistence are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Provision a container by using Azure Container Apps",
              "objective_wording_sha256": "0396a1850695bedfc12ec23fe8fc0d638e31cc32262d7bccf72b472272606bbe",
              "group": "Provision and manage containers in the Azure portal",
              "group_number": 9,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Containers and application platforms",
                  "start_line": 316,
                  "end_line": 329,
                  "span_lf_sha256": "5037e1aaac2933ee0f6fe24c9a00ee52325cb93b9b29bfcfd51304b43344c5fe"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Environment/app/revision/ingress identities distinguish Container Apps setup.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Manage sizing and scaling for containers, including Azure Container Instances and Azure Container Apps",
              "objective_wording_sha256": "16471213746334ba3b940c27aa411f23e509abd2d992015405f6c699dc630a58",
              "group": "Provision and manage containers in the Azure portal",
              "group_number": 9,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Containers and application platforms",
                  "start_line": 325,
                  "end_line": 329,
                  "span_lf_sha256": "363b7d007334fd6fb310b3719ab3b465002062af1cc9f844eccd726ddcf71ce1"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Replica/CPU/memory/scaling-rule and burst/failure tests separate scale from traffic.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Provision an App Service plan",
              "objective_wording_sha256": "76527147644551998c3a544d7632d9f27cd87290b15f0a41e4f46b8af6eaf181",
              "group": "Create and configure Azure App Service",
              "group_number": 10,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "App Service boundaries worth testing",
                  "start_line": 331,
                  "end_line": 339,
                  "span_lf_sha256": "759d890b07fee0d7100a860a7b8bd8063d8df0319f02defadc4d84e1fb863c58"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Plan regional compute and per-worker staging capacity are worked.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure scaling for an App Service plan",
              "objective_wording_sha256": "70b2f243db533fd2dbd94e8915f4025cc39966e00d1b4412a49b8e0dfd09f4b3",
              "group": "Create and configure Azure App Service",
              "group_number": 10,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "App Service boundaries worth testing",
                  "start_line": 331,
                  "end_line": 339,
                  "span_lf_sha256": "759d890b07fee0d7100a860a7b8bd8063d8df0319f02defadc4d84e1fb863c58"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Scale up/out and worker footprint are distinguished.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create an App Service",
              "objective_wording_sha256": "ff58c3f80059471638840b5a006e12721ffba3c94fd7986676cdc3f23b9b49d5",
              "group": "Create and configure Azure App Service",
              "group_number": 10,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "App Service boundaries worth testing",
                  "start_line": 331,
                  "end_line": 339,
                  "span_lf_sha256": "759d890b07fee0d7100a860a7b8bd8063d8df0319f02defadc4d84e1fb863c58"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: App content/config, settings and staging lab form creation path.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure certificates and Transport Layer Security (TLS) for an App Service",
              "objective_wording_sha256": "dd5a24c6fc066f385fdab60bdcfd0a4e0abc6051de086296a4b7c188d84be48f",
              "group": "Create and configure Azure App Service",
              "group_number": 10,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "App Service boundaries worth testing",
                  "start_line": 333,
                  "end_line": 335,
                  "span_lf_sha256": "86a06fa64f81141b42589782261d104f26d97362899e918e569862d4e3a64d66"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Certificate type, renewal, domain binding and EKU boundaries are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Map an existing custom DNS name to an App Service",
              "objective_wording_sha256": "34417a741b7e8a729ca2d2c78df63c6de5d2a3d54b1276a0f081ee03f83714f4",
              "group": "Create and configure Azure App Service",
              "group_number": 10,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "App Service boundaries worth testing",
                  "start_line": 331,
                  "end_line": 335,
                  "span_lf_sha256": "f76fd6f98819715daffdf866e97ecb5040e627ecc643980c5c251cb3a3ca0406"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: DNS ownership/certificate/binding are separated; lab inventory verifies each.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure backup for an App Service",
              "objective_wording_sha256": "a5b1b2e1a564ca2009bbe0d5c6568007debafbc4e58ffc7976c97f2962ca7b23",
              "group": "Create and configure Azure App Service",
              "group_number": 10,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "App Service boundaries worth testing",
                  "start_line": 335,
                  "end_line": 335,
                  "span_lf_sha256": "1b17273d6925a043b0ccac82b5691bb2193cd9dc1493ac09d4b8861044c76c79"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Automatic/custom backup capacity/auth/database limits and restore overwrite are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure networking settings for an App Service",
              "objective_wording_sha256": "7dc34c6dbf6f1c1875c91dedf807bd26704ced5bc070e7b0de753e8585de27fa",
              "group": "Create and configure Azure App Service",
              "group_number": 10,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "App Service boundaries worth testing",
                  "start_line": 331,
                  "end_line": 333,
                  "span_lf_sha256": "1c646de568f2736b2b22c1b17190af214b5ad421815fabbc19a49525c1833399"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Private inbound, restrictions and outbound VNet integration are separate.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure deployment slots for an App Service",
              "objective_wording_sha256": "25697e92e05f8278fba0c09693d28d960ded966155edfb5a5069d1605e5f9af1",
              "group": "Create and configure Azure App Service",
              "group_number": 10,
              "objective_number": 8,
              "evidence_spans": [
                {
                  "heading": "App Service boundaries worth testing",
                  "start_line": 331,
                  "end_line": 333,
                  "span_lf_sha256": "1c646de568f2736b2b22c1b17190af214b5ad421815fabbc19a49525c1833399"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Sticky settings, identities/network and warm/swap/rollback are concrete.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and configure virtual networks and subnets",
              "objective_wording_sha256": "f98710b1a13decd62f2f686dec56d20ee58cd27b316185936c7d69c04c7f18ba",
              "group": "Configure and manage virtual networks in Azure",
              "group_number": 11,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Addressing, subnets, peering, and routes",
                  "start_line": 354,
                  "end_line": 366,
                  "span_lf_sha256": "5b0c192047d3fe21f4a58a2bf90b39e64ca374dbcf153782ee04bacf93fdfb15"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Nonoverlap, five reservations, growth and private subnet egress are worked.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and configure virtual network peering",
              "objective_wording_sha256": "1c030360abf9c9c20cd6bc282e4c00c6975046388c038a28024d682db30caf3a",
              "group": "Configure and manage virtual networks in Azure",
              "group_number": 11,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Addressing, subnets, peering, and routes",
                  "start_line": 356,
                  "end_line": 358,
                  "span_lf_sha256": "fe6bdd634ae05f5ddec3c6ef26a4b0103e7aef9cf5461ecfe10c90f7e97774c6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Peering non-transitivity, forwarded traffic and transit require both sides.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure public IP addresses",
              "objective_wording_sha256": "fd3456bcd58ecd78c04db05b2e1f9e2cbc5cc179042532aaf629e838743ebfd2",
              "group": "Configure and manage virtual networks in Azure",
              "group_number": 11,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "NSGs and application security groups",
                  "start_line": 368,
                  "end_line": 370,
                  "span_lf_sha256": "2681a7ac558b967e79027e4e09c7ebed99175b5525907bb3e2c5b901df3dd7ac"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Standard static public IP does not open a port; compatibility settings matter.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure user-defined routes",
              "objective_wording_sha256": "8e062754cf83e7098ac188ebdd3dd3d4f40e2095444ffd2ffd6e5bbe6f068098",
              "group": "Configure and manage virtual networks in Azure",
              "group_number": 11,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Addressing, subnets, peering, and routes",
                  "start_line": 358,
                  "end_line": 358,
                  "span_lf_sha256": "533035411554695025bb5f7d7618848c741fde46b791cdd62f4c67249fb8a84c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Most-specific route and source precedence lead to effective route/return path checks.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Troubleshoot network connectivity",
              "objective_wording_sha256": "69a6d060afab1a58be5dcc4b7180f84c51e1bae10930c7c15976d7c9dec72710",
              "group": "Configure and manage virtual networks in Azure",
              "group_number": 11,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Scenario: VM connectivity failure",
                  "start_line": 534,
                  "end_line": 544,
                  "span_lf_sha256": "4f58feca06820baed197765b26de92faabfc75bf3d3874481367294db17427a1"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: DNS/probe/routes/effective NSG/listener/return path troubleshooting is sequenced.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create and configure network security groups (NSGs) and application security groups",
              "objective_wording_sha256": "a4891546c7929841f8b8f497f9247e6d2cd9f6bbb68571f87d6dd5e50bea2578",
              "group": "Configure secure access to virtual networks",
              "group_number": 12,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "NSGs and application security groups",
                  "start_line": 368,
                  "end_line": 374,
                  "span_lf_sha256": "1f6b8c91b73cc7f7c9e8766ff4798c90143477910b43e784e67ca170f5c49eb9"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Priorities/subnet-plus-NIC/statefulness and ASG target grouping define rules.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Evaluate effective security rules in NSGs",
              "objective_wording_sha256": "6c816713689da86f40387b305fb9bfbd6a3dda648eea12dc437883c457ae7c04",
              "group": "Configure secure access to virtual networks",
              "group_number": 12,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "NSGs and application security groups",
                  "start_line": 372,
                  "end_line": 374,
                  "span_lf_sha256": "f55d10c4a9180e3a0b03146c09b2497036c7d29039ed9fed6cc8e4b80fa22fe6"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Effective rules combine scopes but do not prove listener/return route.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Implement Azure Bastion",
              "objective_wording_sha256": "ee96942e6edae3160e022cc950fefca2438471ab4b4ecd8586ebae1fd98ef39a",
              "group": "Configure secure access to virtual networks",
              "group_number": 12,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Bastion, service endpoints, and private endpoints",
                  "start_line": 376,
                  "end_line": 378,
                  "span_lf_sha256": "03f06741af09b27191d5868194ff014a8e562a1940b5959e5d54b7eefb0faf65"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Bastion removes per-VM public IP; subnet/SKU/route/NSG and lab verify path.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure service endpoints for Azure platform as a service (PaaS)",
              "objective_wording_sha256": "a570c2c33ef46b2ae647170d6d853e95bfd8dc4bd76ef6e1622ba0d49633f0ec",
              "group": "Configure secure access to virtual networks",
              "group_number": 12,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Firewalls, service endpoints, and private endpoints",
                  "start_line": 190,
                  "end_line": 196,
                  "span_lf_sha256": "c65f64fbe0f601418deab88d8dd763a1510c8753900da9e8507fae1cea747bd0"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Service endpoint retains public endpoint and extends subnet identity.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure private endpoints for Azure PaaS",
              "objective_wording_sha256": "2f8abc2a9bf4ed83174f2d628e3aaf55e7f4030cd484d14491e6aa39fe93a025",
              "group": "Configure secure access to virtual networks",
              "group_number": 12,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Firewalls, service endpoints, and private endpoints",
                  "start_line": 190,
                  "end_line": 196,
                  "span_lf_sha256": "c65f64fbe0f601418deab88d8dd763a1510c8753900da9e8507fae1cea747bd0"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Private subresource IP plus DNS/public-access decisions and lab demonstrate path.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure Azure DNS",
              "objective_wording_sha256": "2623c732856d9baedf047c5e1082f6ef1022faae5c6b8d6a32df0e9edaa64dc1",
              "group": "Configure name resolution and load balancing",
              "group_number": 13,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "DNS and load balancing",
                  "start_line": 386,
                  "end_line": 388,
                  "span_lf_sha256": "37a84f3d1eb69769a824a6b04fb1816f8679f602a753150943f75855d7fccd82"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-dns. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-dns"
            },
            {
              "wording": "Configure an internal or public load balancer",
              "objective_wording_sha256": "cd7b6458f8b033048bd6620b3a70c41ff5e7532137aaad92813ebfff0c49b4e5",
              "group": "Configure name resolution and load balancing",
              "group_number": 13,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "DNS and load balancing",
                  "start_line": 384,
                  "end_line": 392,
                  "span_lf_sha256": "8aba4ef70c108942b806a0247e08ccb2b871098b00257b5e5744ffc418ff8582"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: L4 frontend/rule/backend/probe and explicit outbound combine configuration.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Troubleshoot load balancing",
              "objective_wording_sha256": "d2803eb7e0dec0e95e0b5f68a5e195c9ca0e2f24411825478fed3c883b1b6589",
              "group": "Configure name resolution and load balancing",
              "group_number": 13,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "DNS and load balancing",
                  "start_line": 390,
                  "end_line": 392,
                  "span_lf_sha256": "598605f412f5e114645b0fd6d4d549c78f5ac5d4e777ff9edf9981d99e50e4a2"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Probe/backend/NSG/listener/asymmetry order locates first failure.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Interpret metrics in Azure Monitor",
              "objective_wording_sha256": "2e94d306c1ba32b32f38104876c36832f5cb2fbf1f872a3bfd335edd1667414b",
              "group": "Monitor resources in Azure",
              "group_number": 14,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Metrics, logs, alerts, and Insights",
                  "start_line": 407,
                  "end_line": 434,
                  "span_lf_sha256": "2c4ff8e041bf2f2987a9c6079ef874a7f17e7adfbbd779edbe3cdd610da2310e"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Metrics/logs/activity distinction and weighted denominator examples support interpretation.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure log settings in Azure Monitor",
              "objective_wording_sha256": "cb9b8f212eba75df0ceb9080edfae8e88240481f98c1539c368bd5e87f90328b",
              "group": "Monitor resources in Azure",
              "group_number": 14,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Metrics, logs, alerts, and Insights",
                  "start_line": 407,
                  "end_line": 440,
                  "span_lf_sha256": "ef799bdb47ebadb30f8b24e838d51067c2de15a5009a733594dba4c1bd871b03"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Diagnostic routes and AMA/DCR differ; known fixture verifies collection.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Query and analyze logs in Azure Monitor",
              "objective_wording_sha256": "7adfad141d21ecff5f3af29bf955831dd042b179061dcc99303be47db1a5b357",
              "group": "Monitor resources in Azure",
              "group_number": 14,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Metrics, logs, alerts, and Insights",
                  "start_line": 421,
                  "end_line": 434,
                  "span_lf_sha256": "2e7e703863a3ae52b74232a3d9ec88c92bad9f768ead9fc22021050bacf7a252"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: AzureActivity KQL is concrete and counts events rather than operations.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Set up alert rules, action groups, and alert processing rules in Azure Monitor",
              "objective_wording_sha256": "a7d551ba80a5b00e95a6789019ed64f11baba75c1fc7c0d3109503fcb076e012",
              "group": "Monitor resources in Azure",
              "group_number": 14,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Metrics, logs, alerts, and Insights",
                  "start_line": 409,
                  "end_line": 417,
                  "span_lf_sha256": "79b44fe35d9e57e47862e8ba4c6f8bcdb43a99ba961d3054dd186bf4ac436c3f"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Scope/condition/evaluation/action/processing owner define alerts.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure and interpret monitoring of virtual machines, storage accounts, and networks by using Azure Monitor Insights",
              "objective_wording_sha256": "427be9937cbd6695f4cdc6fe44afcaab516184ad2a96d52f28ad6b5ff1e96a7c",
              "group": "Monitor resources in Azure",
              "group_number": 14,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Metrics, logs, alerts, and Insights",
                  "start_line": 419,
                  "end_line": 440,
                  "span_lf_sha256": "c4eb8d55e1dcb4c93eb254032ba8f258b5f912e36c012124d364e5155ecf16e4"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Insights and AMA/DCR eligibility are described with collection verification.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Use Azure Network Watcher and Connection monitor",
              "objective_wording_sha256": "fc62043d8850b9b087e88677bab7301f24ef79142be1cca592dfb4c5129976d6",
              "group": "Monitor resources in Azure",
              "group_number": 14,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Metrics, logs, alerts, and Insights",
                  "start_line": 434,
                  "end_line": 440,
                  "span_lf_sha256": "08c777458d2ff1ebc29c324d9a45fb5c7eb350fed9d70780e4504fef0cc6631f"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Watcher IP flow/next hop/Connection Monitor and flow-log lifecycle separate tools.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Create a Recovery Services vault",
              "objective_wording_sha256": "899281ece787350cf93fbd4bede98a44e7126662b5c81ca253f719e7c74955c5",
              "group": "Implement backup and recovery",
              "group_number": 15,
              "objective_number": 1,
              "evidence_spans": [
                {
                  "heading": "Backup and recovery",
                  "start_line": 477,
                  "end_line": 481,
                  "span_lf_sha256": "9da854d52754643b861b38ddb24872a66d03795389e5abb726587678d0650758"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-vaults. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-vaults"
            },
            {
              "wording": "Create an Azure Backup vault",
              "objective_wording_sha256": "374612d94f2f1e36c60fe66424a9ad862003a791524c3c748f0be96666e09d14",
              "group": "Implement backup and recovery",
              "group_number": 15,
              "objective_number": 2,
              "evidence_spans": [
                {
                  "heading": "Backup and recovery",
                  "start_line": 477,
                  "end_line": 481,
                  "span_lf_sha256": "9da854d52754643b861b38ddb24872a66d03795389e5abb726587678d0650758"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-vaults. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-vaults"
            },
            {
              "wording": "Create and configure a backup policy",
              "objective_wording_sha256": "ca0d65d84cf1b2bea239a1d23144bd99d17c5cfea92198fa9cf097ea10d7ce31",
              "group": "Implement backup and recovery",
              "group_number": 15,
              "objective_number": 3,
              "evidence_spans": [
                {
                  "heading": "Backup and recovery",
                  "start_line": 475,
                  "end_line": 505,
                  "span_lf_sha256": "46f2772f4881a6b7ba763d37058dba5a08064a1090fe99c4ad2c50ba7b2ae9db"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Policy schedule/retention/immutability tradeoff and artifact lab are explicit.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Perform backup and restore operations by using Azure Backup",
              "objective_wording_sha256": "4e1a85e6fc91cb4a6feb58b4963d73284a9c8de593d8b3c43d0f8464a3bb29fb",
              "group": "Implement backup and recovery",
              "group_number": 15,
              "objective_number": 4,
              "evidence_spans": [
                {
                  "heading": "Backup and recovery",
                  "start_line": 475,
                  "end_line": 491,
                  "span_lf_sha256": "87524b3d700e96609384f3eb6d2ed7f302c62c27d1fc2211048b322195c685bb"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread retains this objective treatment: Restore must validate application/identity/timing beyond backup success.",
              "initial_depth_result": "adequate-for-objective-verb",
              "applied_repair": null
            },
            {
              "wording": "Configure Azure Site Recovery for Azure resources",
              "objective_wording_sha256": "2adffee04856919f36ea54b9e173879b053687bfd044fa68af0c3414c4d61fa6",
              "group": "Implement backup and recovery",
              "group_number": 15,
              "objective_number": 5,
              "evidence_spans": [
                {
                  "heading": "Worked Site Recovery transition: drill, failover, commit, reprotect",
                  "start_line": 493,
                  "end_line": 499,
                  "span_lf_sha256": "2570e6dad257a665cdf03028621ee30f6e05492314ffaa1b187b36f151409573"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-asr. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-asr"
            },
            {
              "wording": "Perform a failover to a secondary region by using Site Recovery",
              "objective_wording_sha256": "14134eed6d34b045731e3506dd99354197062412404004c7ff67adc22c38cf27",
              "group": "Implement backup and recovery",
              "group_number": 15,
              "objective_number": 6,
              "evidence_spans": [
                {
                  "heading": "Worked Site Recovery transition: drill, failover, commit, reprotect",
                  "start_line": 493,
                  "end_line": 499,
                  "span_lf_sha256": "2570e6dad257a665cdf03028621ee30f6e05492314ffaa1b187b36f151409573"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-asr. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-asr"
            },
            {
              "wording": "Configure and interpret reports and alerts for backups",
              "objective_wording_sha256": "8f25cf197ca2963e0f219f19b3ec20116be9b0c1efbe8b085367ece53b926215",
              "group": "Implement backup and recovery",
              "group_number": 15,
              "objective_number": 7,
              "evidence_spans": [
                {
                  "heading": "Worked backup reporting and alerting path",
                  "start_line": 442,
                  "end_line": 458,
                  "span_lf_sha256": "3bbddbd479b69b75f1b06bb085c8cf5efedee604347bae285ee42fbfaad7c78c"
                }
              ],
              "depth_result": "adequate-with-explicit-source/execution-boundaries",
              "semantic_reason": "Final complete-guide semantic reread confirms original gap is now taught by az104-backup-monitor. The example supplies an actual configuration/request/decision path and answer check; no live execution inferred.",
              "initial_depth_result": "partial-needs-worked-workflow",
              "applied_repair": "az104-backup-monitor"
            }
          ],
          "complete_guide_read": true,
          "complete_guide_line_count": 773,
          "review_scope": "All current guide lines, front matter, original and added examples, scenarios, labs, knowledge checks/answers, readiness, learning resources; complete accepted objectives/status; before/current semantic diff. Same-team AI review, not fresh-context audit/human review/product execution."
        }
      ],
      "initial_mapping": "exam-a-mapping.json (preserved historical 38 partial findings)",
      "summary": {
        "exams": 5,
        "detailed_objectives": 252,
        "initial_partial_objectives": 38,
        "final_material_depth_gaps": 0,
        "human_review": false,
        "fresh_context_audit": false,
        "live_execution": false
      },
      "syntax_verifications": [
        {
          "exam_code": "AI-300",
          "block_number": 1,
          "language": "yaml",
          "check": "YAML safe-load syntax only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-300",
          "block_number": 2,
          "language": "yaml",
          "check": "YAML safe-load syntax only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-300",
          "block_number": 3,
          "language": "yaml",
          "check": "YAML safe-load syntax only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-300",
          "block_number": 4,
          "language": "python",
          "check": "AST syntax parse only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-901",
          "block_number": 1,
          "language": "python",
          "check": "AST syntax parse only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-901",
          "block_number": 2,
          "language": "python",
          "check": "AST syntax parse only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-901",
          "block_number": 3,
          "language": "python",
          "check": "AST syntax parse only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-901",
          "block_number": 4,
          "language": "python",
          "check": "AST syntax parse only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-901",
          "block_number": 5,
          "language": "python",
          "check": "AST syntax parse only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-901",
          "block_number": 6,
          "language": "python",
          "check": "AST syntax parse only",
          "outcome": "passed",
          "executed": false
        },
        {
          "exam_code": "AI-901",
          "block_number": 7,
          "language": "python",
          "check": "AST syntax parse only",
          "outcome": "passed",
          "executed": false
        }
      ],
      "remaining_limits": [
        "Embedding adaptation uses documented upstream training plus an explicitly bounded Azure ML packaging model. Selected managed Azure embedding endpoint fine-tuning support was not established.",
        "All cloud/tenant/SDK/model/speech/extraction/backup/failover/pipeline operations are expected teaching workflows, not executed observations.",
        "Source status and product behavior remain VERIFY CURRENT where marked; no independent/human review claimed."
      ]
    },
    "independent_repair_rebinding": {
      "method": "Coordinator translated exact line boundaries for three independently identified small repairs; preserved the previous complete-guide semantic review as prior evidence. Recomputed every affected span hash. Independent reviewers verify changed semantics and all final bindings separately.",
      "changes": [
        {
          "exam_code": "AI-901",
          "old_guide_lf_sha256": "4b43ada4d11ec9d15b73d1231dab03698699f96bf837f347cf6bec080d32c6e2",
          "new_guide_lf_sha256": "dc9ca5bd238e82ff504dde5e0888608c9644e1a012e07b800abf1366f981e749",
          "changed_span_bindings": 1,
          "diff_operations": [
            {
              "kind": "replace",
              "old_lines": [
                258,
                258
              ],
              "new_lines": [
                258,
                258
              ]
            }
          ]
        },
        {
          "exam_code": "AZ-400",
          "old_guide_lf_sha256": "7a2858a0cfed0ecb673152ca65d809afc31e05ffb8a1fe8f710d3de6a2d3c7c3",
          "new_guide_lf_sha256": "478a661acf133d18bf92911b35e1379df609622573cf254db32e5400554d8e15",
          "changed_span_bindings": 9,
          "diff_operations": [
            {
              "kind": "replace",
              "old_lines": [
                325,
                325
              ],
              "new_lines": [
                325,
                325
              ]
            },
            {
              "kind": "insert",
              "old_lines": [
                392,
                391
              ],
              "new_lines": [
                392,
                393
              ]
            },
            {
              "kind": "replace",
              "old_lines": [
                406,
                406
              ],
              "new_lines": [
                408,
                408
              ]
            }
          ]
        }
      ],
      "repair_scope": {
        "repairs": [
          "AI901 current package version removed; documented minimum and exact resolved-version requirement retained.",
          "AZ400 locks reusable workflow references; called workflow internal dependencies use called repo lock. DatedGAannouncement contrasted with laggingpreviewlabel.",
          "AZ400 explicit failTaskOnMissingResultsFile and failTaskOnFailureToPublishResults ensure missing/unpublished evidence fails illustrative validation."
        ],
        "boundary": "Independentsemanticfindings; coordinator edits; no live SDK/cloud/pipeline execution."
      }
    }
  },
  "snapshot_acceptance": {
    "accepted_on": "2026-10-28",
    "changes": {},
    "unchanged_objective_files": 10,
    "status_metadata_changes": {
      "AB-620": {
        "path": "data/objective-snapshots/ab-620-official-status.json",
        "old_raw_sha256": "2eef7dbe4ee2fc20c408c9f3107a564acabada2ca1161c9b974c069f8345ded1",
        "new_raw_sha256": "0d55874709f1d1417de6928afa0e28c836b5c52353602f4889921d34712d2634",
        "reason": "Undated study-page Last Updated metadata only; all detailed objective bytes unchanged. No skills-effective date inferred."
      },
      "AI-300": {
        "path": "data/objective-snapshots/ai-300-official-status.json",
        "old_raw_sha256": "01cb0526604215eff244c29764b7f8027bbaa51bc29f27f943995adbedcdb37f",
        "new_raw_sha256": "b86beba443622c4507335eafac190c71128e28d607f1fac563278202be008919",
        "reason": "Undated study-page Last Updated metadata only; all detailed objective bytes unchanged. No skills-effective date inferred."
      }
    },
    "historical_preservation": "All earlier source-review/AI-audit objective paths, dates, hashes, counts and verdicts unchanged; no objective archive or new effective date required."
  },
  "exam_research": {
    "subset_a": {
      "schema_version": 1,
      "reviewed_on": "2026-10-28",
      "role": "Read-only exam/objective researcher subset A",
      "scope": [
        "AB-620",
        "AB-731",
        "AI-300",
        "AI-901",
        "AZ-104"
      ],
      "base_commit": "e764e0048e320d67fe831051c4275d1694072e27",
      "authority": "AI same editing-team research; not independent fresh-context semantic audit, human review, or live product/lab execution",
      "read_scope": {
        "repository_instructions": [
          "AGENTS.md",
          "CONTRIBUTING.md",
          "docs/CONTENT-POLICY.md",
          "docs/SOURCE-QUALITY.md",
          "docs/GUIDE-QUALITY-STANDARD.md",
          "docs/AI-AUDIT.md",
          "docs/AUTOMATION.md"
        ],
        "complete_guides": [
          {
            "exam_code": "AB-620",
            "path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
            "lf_sha256": "a472fb43a5e6fc6a582a4be801ce62e8ab729eaeb165683edc4bb9bfbba25a65",
            "lines": [
              1,
              776
            ]
          },
          {
            "exam_code": "AB-731",
            "path": "guides/AB-731-ai-transformation-leader.md",
            "lf_sha256": "cd7e58a6066b5e288ca80648f794dfd3f124de4d383ebd27fe533eb230fa33dc",
            "lines": [
              1,
              514
            ]
          },
          {
            "exam_code": "AI-300",
            "path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
            "lf_sha256": "4179a4db9e85b855814f317d8d198965d3225df1f44f751a69e868e658811efe",
            "lines": [
              1,
              646
            ]
          },
          {
            "exam_code": "AI-901",
            "path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
            "lf_sha256": "15e19f3c7196a1011bb4f6eeb70595bf7a472354de842d5bba4f58dc859a14a0",
            "lines": [
              1,
              817
            ]
          },
          {
            "exam_code": "AZ-104",
            "path": "guides/AZ-104-microsoft-azure-administrator.md",
            "lf_sha256": "71c1ac653621e80e1a3262a1ce36d7162de548542ce1070d07968659b8b5abd2",
            "lines": [
              1,
              693
            ]
          }
        ],
        "accepted_raw_objectives_and_status": "Complete for all five; input hashes and detailed semantic evidence in exam-a-inputs.json and exam-a-mapping.json. Prior detailed mappings retained as historical claims, never used to infer adequate depth.",
        "catalogs": "Affected config/exams.json rows, certification seed rows and latest September28 source-validation records read; all cited-source URL matches inspected for proposal catalog reuse. Not an audit of every preexisting technical source."
      },
      "observations": [
        {
          "exam_code": "AB-620",
          "guide_input_lf_sha256": "a472fb43a5e6fc6a582a4be801ce62e8ab729eaeb165683edc4bb9bfbba25a65",
          "accepted_objective_raw_sha256": "8b9f6ca0601cf631a000763ce7a0cca802a0177c66d7a4e3cc29d84d52188dfc",
          "current_detailed_objectives": 44,
          "all_current_wordings_match_accepted": true,
          "official_study_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-620",
          "credential_url": "https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/",
          "course_url": "https://learn.microsoft.com/en-us/training/courses/ab-620t00",
          "identity": "Microsoft Certified: AI Agent Builder Associate",
          "prerequisites": "Advanced builder/professional developer; Power Fx, Dataverse/Power Platform, Microsoft 365 Copilot/Foundry, Adaptive Cards, RAG/MCP/A2A, REST and prompt engineering; not a required prerequisite credential.",
          "delivery": "Active scheduling/required-exam listing observed; no retirement/replacement or new future-effective objective version announced in opened study/credential pages as of 2026-10-28. This is bounded source observation, not market-wide absence.",
          "current_skills_effective_date": null,
          "study_page_calculated_last_updated": "2026-10-16T17:47:00.000Z",
          "metadata_ms_date": "2026-04-09T00:00:00Z",
          "metadata_updated_at": "2026-10-21T22:54:00Z",
          "metadata_interpretation": "Page metadata/footer change is not a skills-effective date and not evidence of changed detailed objectives.",
          "future_version": "None separately announced in opened official page; boilerplate saying two versions does not establish a future version.",
          "confidence": "high for observed identity/current wording; bounded for absence of future notices",
          "initial_depth": {
            "objectives": 44,
            "partial": 6
          },
          "assessment_metadata": "120 minutes; 13 languages; credential now directs to sign-in AI Skills Navigator Practice Assessment.",
          "course_metadata": "AB-620T00-A live course, three days, English, no upcoming September 30 availability banner. Course delivery/prerequisites separate from exam logistics."
        },
        {
          "exam_code": "AB-731",
          "guide_input_lf_sha256": "cd7e58a6066b5e288ca80648f794dfd3f124de4d383ebd27fe533eb230fa33dc",
          "accepted_objective_raw_sha256": "dbb6d89a150d8e1ca630380839f190f05e89b2688a862c3987f14a1df48ea7e7",
          "current_detailed_objectives": 39,
          "all_current_wordings_match_accepted": true,
          "official_study_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-731",
          "credential_url": "https://learn.microsoft.com/en-us/credentials/certifications/ai-transformation-leader/",
          "course_url": "https://learn.microsoft.com/en-us/training/courses/ab-731t00",
          "identity": "Microsoft Certified: AI Transformation Leader",
          "prerequisites": "Business decision-maker/change-adoption experience, Microsoft 365/Foundry and general AI fluency; no coding expected.",
          "delivery": "Active scheduling/required-exam listing observed; no retirement/replacement or new future-effective objective version announced in opened study/credential pages as of 2026-10-28. This is bounded source observation, not market-wide absence.",
          "current_skills_effective_date": "2026-07-22",
          "study_page_calculated_last_updated": "2026-06-22T22:28:00.000Z",
          "metadata_ms_date": "2026-05-31T00:00:00Z",
          "metadata_updated_at": "2026-06-22T22:28:00Z",
          "metadata_interpretation": "Page metadata/footer change is not a skills-effective date and not evidence of changed detailed objectives.",
          "future_version": "None separately announced in opened official page; boilerplate saying two versions does not establish a future version.",
          "confidence": "high for observed identity/current wording; bounded for absence of future notices",
          "initial_depth": {
            "objectives": 39,
            "partial": 3
          },
          "assessment_metadata": "45 minutes; 13 languages; sign-in AI Skills Navigator assessment now directed.",
          "course_metadata": "AB-731T00-A one day, 13 course languages."
        },
        {
          "exam_code": "AI-300",
          "guide_input_lf_sha256": "4179a4db9e85b855814f317d8d198965d3225df1f44f751a69e868e658811efe",
          "accepted_objective_raw_sha256": "79d7fabcf253e7ac5f5f7629397075867d22c48045c2483c9d03e1b217215f41",
          "current_detailed_objectives": 58,
          "all_current_wordings_match_accepted": true,
          "official_study_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-300",
          "credential_url": "https://learn.microsoft.com/en-us/credentials/certifications/operationalizing-machine-learning-and-generative-ai-solutions/",
          "course_url": "https://learn.microsoft.com/en-us/training/courses/ai-300t00",
          "identity": "Microsoft Certified: Machine Learning Operations Engineer Associate",
          "prerequisites": "Data science/Python, Azure ML/Foundry operations, basic DevOps/GitHub Actions, Bicep/Azure CLI experience; no separate prerequisite certification stated.",
          "delivery": "Active scheduling/required-exam listing observed; no retirement/replacement or new future-effective objective version announced in opened study/credential pages as of 2026-10-28. This is bounded source observation, not market-wide absence.",
          "current_skills_effective_date": null,
          "study_page_calculated_last_updated": "2026-10-15T23:49:00.000Z",
          "metadata_ms_date": "2026-02-18T00:00:00Z",
          "metadata_updated_at": "2026-10-15T23:49:00Z",
          "metadata_interpretation": "Page metadata/footer change is not a skills-effective date and not evidence of changed detailed objectives.",
          "future_version": "None separately announced in opened official page; boilerplate saying two versions does not establish a future version.",
          "confidence": "high for observed identity/current wording; bounded for absence of future notices",
          "initial_depth": {
            "objectives": 58,
            "partial": 5
          },
          "assessment_metadata": "120 minutes; English exam; credential Last Updated 2026-10-07 differs from study-page footer 2026-10-15; neither creates a new effective date.",
          "course_metadata": "AI-300T00-A four days, 12 course languages; course languages do not establish exam languages."
        },
        {
          "exam_code": "AI-901",
          "guide_input_lf_sha256": "15e19f3c7196a1011bb4f6eeb70595bf7a472354de842d5bba4f58dc859a14a0",
          "accepted_objective_raw_sha256": "8b1c05a7a2258d69e43d47d75c0adeae2a5a7660e12e4d46627014d1ff9bedd1",
          "current_detailed_objectives": 29,
          "all_current_wordings_match_accepted": true,
          "official_study_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-901",
          "credential_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-ai-fundamentals/",
          "course_url": "https://learn.microsoft.com/en-us/training/courses/ai-901t00",
          "identity": "Microsoft Certified: Azure AI Fundamentals",
          "prerequisites": "Beginning AI developer with conceptual AI/Azure resources and Python syntax/programming techniques; the course calls some background useful while the exam audience says it is needed. Do not confuse absence of a formal prerequisite exam with absence of technical prerequisites.",
          "delivery": "Active scheduling/required-exam listing observed; no retirement/replacement or new future-effective objective version announced in opened study/credential pages as of 2026-10-28. This is bounded source observation, not market-wide absence.",
          "current_skills_effective_date": "2026-04-15",
          "study_page_calculated_last_updated": "2026-07-13T23:21:00.000Z",
          "metadata_ms_date": "2026-03-31T00:00:00Z",
          "metadata_updated_at": "2026-07-14T21:04:00Z",
          "metadata_interpretation": "Page metadata/footer change is not a skills-effective date and not evidence of changed detailed objectives.",
          "future_version": "None separately announced in opened official page; boilerplate saying two versions does not establish a future version.",
          "confidence": "high for observed identity/current wording; bounded for absence of future notices",
          "initial_depth": {
            "objectives": 29,
            "partial": 9
          },
          "replacement_evidence": {
            "predecessor": "AI-900",
            "retired_on": "2026-06-30",
            "source": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-900",
            "boundary": "AI-901 is active required exam for same Fundamentals credential; older AI-900 description still occurs on credential page and must not replace AI-901 technical blueprint."
          },
          "assessment_metadata": "13 languages on certification page; current duration not exposed there; sign-in Navigator assessment. Empty training widgets contradict directly live course/path pages, not exam availability.",
          "course_metadata": "AI-901T00-A one day, 13 course languages; useful Python/cloud background."
        },
        {
          "exam_code": "AZ-104",
          "guide_input_lf_sha256": "71c1ac653621e80e1a3262a1ce36d7162de548542ce1070d07968659b8b5abd2",
          "accepted_objective_raw_sha256": "7d2330fbafdd4981b54e6aa8f9ba371f0bbad1edf521fa8d2fa591e2bf8d2ae1",
          "current_detailed_objectives": 82,
          "all_current_wordings_match_accepted": true,
          "official_study_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-104",
          "credential_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-administrator/",
          "course_url": "https://learn.microsoft.com/en-us/training/courses/az-104t00",
          "identity": "Microsoft Certified: Azure Administrator Associate",
          "prerequisites": "OS/network/server/virtualization experience plus PowerShell, Azure CLI, portal, ARM/Bicep and Entra; no prerequisite certification asserted.",
          "delivery": "Active scheduling/required-exam listing observed; no retirement/replacement or new future-effective objective version announced in opened study/credential pages as of 2026-10-28. This is bounded source observation, not market-wide absence.",
          "current_skills_effective_date": "2026-04-17",
          "study_page_calculated_last_updated": "2026-03-19T18:11:00.000Z",
          "metadata_ms_date": "2026-02-22T00:00:00Z",
          "metadata_updated_at": "2026-03-19T18:11:00Z",
          "metadata_interpretation": "Page metadata/footer change is not a skills-effective date and not evidence of changed detailed objectives.",
          "future_version": "None separately announced in opened official page; boilerplate saying two versions does not establish a future version.",
          "confidence": "high for observed identity/current wording; bounded for absence of future notices",
          "initial_depth": {
            "objectives": 82,
            "partial": 15
          },
          "assessment_metadata": "100 minutes; 10 languages; annual renewal shown; Navigator assessment route.",
          "course_metadata": "AZ-104T00-A four days, 10 course languages; prior virtualization/network/identity/storage experience."
        }
      ],
      "opened_urls": [
        {
          "exam_codes": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-620",
          "read_scope": "Full current objective body independently fetched and compared semantically/normalized-wording-by-wording against complete accepted raw objectives; browser page/skills/audience inspected. Footer and distinct metadata fields inspected.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/",
          "read_scope": "Identity, candidate overview, preparation/practice, scheduling/assessment duration, languages and visible status sections. No scheduling purchase, sign-in or practice content opened.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/training/courses/ab-620t00",
          "read_scope": "Public overview/audience, duration/language and current course listing; no paid lessons or enrollment.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AB-731"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-731",
          "read_scope": "Full current objective body independently fetched and compared semantically/normalized-wording-by-wording against complete accepted raw objectives; browser page/skills/audience inspected. Footer and distinct metadata fields inspected.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AB-731"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/ai-transformation-leader/",
          "read_scope": "Identity, candidate overview, preparation/practice, scheduling/assessment duration, languages and visible status sections. No scheduling purchase, sign-in or practice content opened.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AB-731"
          ],
          "url": "https://learn.microsoft.com/en-us/training/courses/ab-731t00",
          "read_scope": "Public overview/audience, duration/language and current course listing; no paid lessons or enrollment.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AI-300"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-300",
          "read_scope": "Full current objective body independently fetched and compared semantically/normalized-wording-by-wording against complete accepted raw objectives; browser page/skills/audience inspected. Footer and distinct metadata fields inspected.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AI-300"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/operationalizing-machine-learning-and-generative-ai-solutions/",
          "read_scope": "Identity, candidate overview, preparation/practice, scheduling/assessment duration, languages and visible status sections. No scheduling purchase, sign-in or practice content opened.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AI-300"
          ],
          "url": "https://learn.microsoft.com/en-us/training/courses/ai-300t00",
          "read_scope": "Public overview/audience, duration/language and current course listing; no paid lessons or enrollment.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AI-901"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-901",
          "read_scope": "Full current objective body independently fetched and compared semantically/normalized-wording-by-wording against complete accepted raw objectives; browser page/skills/audience inspected. Footer and distinct metadata fields inspected.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AI-901"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-ai-fundamentals/",
          "read_scope": "Identity, candidate overview, preparation/practice, scheduling/assessment duration, languages and visible status sections. No scheduling purchase, sign-in or practice content opened.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AI-901"
          ],
          "url": "https://learn.microsoft.com/en-us/training/courses/ai-901t00",
          "read_scope": "Public overview/audience, duration/language and current course listing; no paid lessons or enrollment.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AZ-104"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-104",
          "read_scope": "Full current objective body independently fetched and compared semantically/normalized-wording-by-wording against complete accepted raw objectives; browser page/skills/audience inspected. Footer and distinct metadata fields inspected.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AZ-104"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-administrator/",
          "read_scope": "Identity, candidate overview, preparation/practice, scheduling/assessment duration, languages and visible status sections. No scheduling purchase, sign-in or practice content opened.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "exam_codes": [
            "AZ-104"
          ],
          "url": "https://learn.microsoft.com/en-us/training/courses/az-104t00",
          "read_scope": "Public overview/audience, duration/language and current course listing; no paid lessons or enrollment.",
          "supports": "scope/identity/prerequisites/current versus future/logistics",
          "confidence": "high for visible page claims"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/quickstart/use-rest-api",
          "exam_codes": [
            "AI-901"
          ],
          "read_scope": "Selected sections directly supporting ai901-extraction. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            [
              {
                "url": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/quickstart/use-rest-api",
                "id": "microsoft-content-understanding-quickstart-ai103"
              }
            ]
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/get-started-speech-to-text",
          "exam_codes": [
            "AI-901"
          ],
          "read_scope": "Selected sections directly supporting ai901-speech. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            [
              {
                "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/get-started-speech-to-text",
                "id": "ai901-speech-client"
              }
            ]
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/get-started-text-to-speech",
          "exam_codes": [
            "AI-901"
          ],
          "read_scope": "Selected sections directly supporting ai901-speech. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            [
              {
                "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/get-started-speech-to-text",
                "id": "ai901-speech-client"
              }
            ]
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/deploy-cli",
          "exam_codes": [
            "AI-300",
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting ai300-iac, az104-iac. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            [],
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/backup/backup-azure-monitoring-use-azuremonitor",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-backup-monitor. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/backup/backup-create-recovery-services-vault",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-vaults. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/backup/configure-reports",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-backup-monitor. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/backup/create-manage-backup-vault",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-vaults. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/dns/dns-getstarted-portal",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-dns. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/foundry/agents/quickstarts/prompt-voice-agent",
          "exam_codes": [
            "AI-901"
          ],
          "read_scope": "Selected sections directly supporting ai901-voice. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            [
              {
                "url": "https://learn.microsoft.com/en-us/azure/foundry/agents/quickstarts/prompt-voice-agent",
                "id": "ai901-voice-agent"
              }
            ]
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/foundry/foundry-models/how-to/use-foundry-models-mai-image",
          "exam_codes": [
            "AI-901"
          ],
          "read_scope": "Selected sections directly supporting ai901-generation. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            [
              {
                "url": "https://learn.microsoft.com/en-us/azure/foundry/foundry-models/how-to/use-foundry-models-mai-image",
                "id": "microsoft-foundry-image-generation-editing-ai103"
              }
            ]
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/foundry/how-to/create-resource-template",
          "exam_codes": [
            "AI-300"
          ],
          "read_scope": "Selected sections directly supporting ai300-iac. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/gpt-with-vision",
          "exam_codes": [
            "AI-901"
          ],
          "read_scope": "Selected sections directly supporting ai901-vision. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            [
              {
                "url": "https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/gpt-with-vision",
                "id": "microsoft-foundry-vision-models-ai103"
              }
            ]
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/governance/management-groups/manage",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-hierarchy. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/machine-learning/how-to-train-model?view=azureml-api-2",
          "exam_codes": [
            "AI-300"
          ],
          "read_scope": "Selected sections directly supporting ai300-training. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-foundation-models?view=azureml-api-2",
          "exam_codes": [
            "AI-300"
          ],
          "read_scope": "Selected sections directly supporting ai300-deployment, ai300-embedding. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            [],
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-tutorial-failover-failback",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-asr. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/storage/files/storage-files-prevent-file-share-deletion",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-files. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/storage/files/storage-snapshots-files",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-files. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/flexible-virtual-machine-scale-sets-portal",
          "exam_codes": [
            "AZ-104"
          ],
          "read_scope": "Selected sections directly supporting az104-vmss. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/copilot-overview",
          "exam_codes": [
            "AB-731"
          ],
          "read_scope": "Selected sections directly supporting ab731-experiences. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/add-agent-copilot-studio-agent",
          "exam_codes": [
            "AB-620"
          ],
          "read_scope": "Selected sections directly supporting ab620-connected. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/advanced-connectors",
          "exam_codes": [
            "AB-620"
          ],
          "read_scope": "Selected sections directly supporting ab620-tools. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/agent-extend-action-rest-api",
          "exam_codes": [
            "AB-620"
          ],
          "read_scope": "Selected sections directly supporting ab620-tools. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-copilot-connectors",
          "exam_codes": [
            "AB-620"
          ],
          "read_scope": "Selected sections directly supporting ab620-connectors. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-real-time-connectors",
          "exam_codes": [
            "AB-620"
          ],
          "read_scope": "Selected sections directly supporting ab620-connectors. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-platform/alm/extend-pipelines",
          "exam_codes": [
            "AB-620"
          ],
          "read_scope": "Selected sections directly supporting ab620-pipeline. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        },
        {
          "url": "https://sbert.net/docs/sentence_transformer/training_overview.html",
          "exam_codes": [
            "AI-300"
          ],
          "read_scope": "Selected sections directly supporting ai300-embedding. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Primary upstream implementation for Sentence Transformers; managed embedding service fine-tuning unverified"
        },
        {
          "url": "https://support.microsoft.com/en-us/microsoft-365-copilot/understand-changes-to-microsoft-365-copilot-mobile-app",
          "exam_codes": [
            "AB-731"
          ],
          "read_scope": "Selected sections directly supporting ab731-experiences. Browser article body/examples/prerequisites and applicable limitations inspected. Remaining unrelated sections and linked samples were not audited.",
          "catalog_matches": [
            []
          ],
          "confidence": "Confirmed first-party technical documentation; execution unperformed"
        }
      ],
      "proposed_changes": [
        {
          "exam_code": "AB-620",
          "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
          "old_text": "**Current baseline:** Official study-guide page last updated April 21, 2026; Microsoft does not publish a separate skills-effective date on that page.<br>",
          "replacement_markdown": "**Current baseline:** The study-guide page shows last updated October 16, 2026; Microsoft publishes no separate skills-effective date. All 44 detailed objective wordings match the accepted baseline checked October 28, 2026. Page metadata is not an effective exam-revision date.<br>",
          "reason": "Correct observed page date without inventing an exam-effective revision.",
          "sources": [
            "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-620"
          ]
        },
        {
          "exam_code": "AI-300",
          "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
          "old_text": "**Current baseline:** Official page last updated March 5, 2026; no separate skills-effective date is published.<br>",
          "replacement_markdown": "**Current baseline:** The study-guide page shows last updated October 15, 2026; no separate skills-effective date is published. All 58 detailed objective wordings match the accepted baseline checked October 28, 2026. The credential page separately shows October 7; neither metadata date establishes a changed skills-effective baseline.<br>",
          "reason": "Correct observed page date without inventing an exam-effective revision.",
          "sources": [
            "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-300"
          ]
        },
        {
          "exam_code": "AB-620",
          "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
          "old_text": "**Training availability:** The three official self-paced paths are live; the separate three-day AB-620T00-A instructor-led course is listed as available September 30, 2026 (scheduled; not yet delivered).<br>",
          "replacement_markdown": "**Training availability:** The official self-paced paths and three-day English AB-620T00-A course page are live as checked October 28, 2026. Provider delivery dates and availability vary; the earlier September 30 scheduled-date note is historical.<br>",
          "reason": "Remove expired future-course wording; coordinate with learning-resource course corrections.",
          "sources": [
            "https://learn.microsoft.com/en-us/training/courses/ab-620t00"
          ]
        },
        {
          "exam_code": "AB-620",
          "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
          "old_text": "The [credential page](https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/) currently lists **120 minutes**, English and 12 other languages, and no Practice Assessment. Course release dates and third-party mock-test timing do not define the exam's availability or duration.",
          "replacement_markdown": "The [credential page](https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/) lists **120 minutes**, English and 12 other languages, and now directs candidates to the sign-in AI Skills Navigator Practice Assessment. Course release dates and third-party mock-test timing do not define the exam's availability or duration. **VERIFY CURRENT:** exam logistics and assessment access.",
          "reason": "Retained no-assessment claim contradicted by current official credential/study guide.",
          "sources": [
            "https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/"
          ]
        },
        {
          "exam_code": "AB-620",
          "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
          "old_text": "The [AI Agent Builder Associate credential page](https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/) currently says no Microsoft Practice Assessment is available. Do not use recalled, leaked, or “actual exam” questions. Readiness should come from documented behavior, hands-on evidence, and original scenario practice.",
          "replacement_markdown": "The [AI Agent Builder Associate credential page](https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/) now directs candidates to the AI Skills Navigator Practice Assessment, which requires sign-in. Use it to diagnose gaps alongside documented behavior, hands-on evidence and original scenario practice; its questions/results were not inspected in this review. Do not use recalled, leaked, or “actual exam” questions.",
          "reason": "Remove contradictory readiness claim and preserve access limits.",
          "sources": [
            "https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/"
          ]
        },
        {
          "exam_code": "AB-620",
          "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
          "old_text": "Microsoft still explicitly reports no Practice Assessment.",
          "replacement_markdown": "Microsoft now directs candidates to a sign-in AI Skills Navigator Practice Assessment; this review inspected only its public shell, not questions or results.",
          "reason": "Remove repeated stale claim from learning caveat; preserve original vendor/course search limitations.",
          "sources": [
            "https://learn.microsoft.com/en-us/credentials/certifications/ai-agent-builder-associate/"
          ]
        },
        {
          "exam_code": "AI-901",
          "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
          "old_text": "AI-901 asks you to recognize AI workload patterns and perform foundational implementation with Microsoft Foundry and Foundry Tools.",
          "replacement_markdown": "AI-901 asks you to recognize AI workload patterns and perform foundational implementation with Microsoft Foundry and Foundry Tools. Its audience profile expects Python syntax/programming techniques and familiarity with Azure resources; the absence of a separately required prerequisite certification does not make this a vocabulary-only exam.",
          "reason": "Make technical preparation expectations explicit and consistent with current blueprint.",
          "sources": [
            "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-901"
          ]
        }
      ],
      "proposed_catalog_changes": [
        {
          "path": "config/exams.json",
          "exam_code": "AI-901",
          "field": "study_prerequisites",
          "old_text": "No formal prerequisite; basic Azure and cloud concepts are helpful for the Foundry portions.",
          "replacement_text": "No separately required prerequisite certification is stated; the audience profile expects Python syntax/programming techniques, Azure resource familiarity and conceptual AI knowledge.",
          "source": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-901"
        }
      ],
      "depth_findings": [
        {
          "exam_code": "AB-620",
          "group_number": 4,
          "objective_number": 1,
          "wording": "Connect to Copilot connectors",
          "reason": "Indexed connector content is distinguished from real-time retrieval, but adding/selecting the Copilot connector source is not worked.",
          "proposal_id": "ab620-connectors"
        },
        {
          "exam_code": "AB-620",
          "group_number": 4,
          "objective_number": 2,
          "wording": "Connect to Microsoft Power Platform connectors",
          "reason": "Real-time connector knowledge is named, but source selection, connection and table/filter setup are not worked.",
          "proposal_id": "ab620-connectors"
        },
        {
          "exam_code": "AB-620",
          "group_number": 5,
          "objective_number": 3,
          "wording": "Add a tool by using an existing custom connector",
          "reason": "Existing custom connector is a decision-table choice; actual add/select operation and mappings are omitted.",
          "proposal_id": "ab620-tools"
        },
        {
          "exam_code": "AB-620",
          "group_number": 5,
          "objective_number": 4,
          "wording": "Add REST APIs to an agent",
          "reason": "REST tool schemas and backend permissions are taught; operation import/selection is not demonstrated.",
          "proposal_id": "ab620-tools"
        },
        {
          "exam_code": "AB-620",
          "group_number": 6,
          "objective_number": 3,
          "wording": "Integrate an existing agent in Copilot Studio",
          "reason": "Independent lifecycle and sharing are distinguished; no concrete existing-agent add/configuration path.",
          "proposal_id": "ab620-connected"
        },
        {
          "exam_code": "AB-620",
          "group_number": 9,
          "objective_number": 4,
          "wording": "Implement and extend Microsoft Power Platform Pipelines",
          "reason": "Stage/gate sequence is sound; extending a host with specific event/gated completion is omitted.",
          "proposal_id": "ab620-pipeline"
        },
        {
          "exam_code": "AB-731",
          "group_number": 3,
          "objective_number": 2,
          "wording": "Understand differences in capabilities between versions of Copilot",
          "reason": "Table names experiences but does not teach concrete current license/grounding differences.",
          "proposal_id": "ab731-experiences"
        },
        {
          "exam_code": "AB-731",
          "group_number": 3,
          "objective_number": 3,
          "wording": "Understand capabilities of Microsoft 365 Copilot Chat web and mobile experiences",
          "reason": "Web/mobile parity is deferred to VERIFY CURRENT; no actual mobile behavior is taught.",
          "proposal_id": "ab731-experiences"
        },
        {
          "exam_code": "AB-731",
          "group_number": 3,
          "objective_number": 4,
          "wording": "Understand capabilities of the Copilot experience in various Microsoft 365 apps",
          "reason": "Apps are listed together without app-specific capabilities or examples.",
          "proposal_id": "ab731-experiences"
        },
        {
          "exam_code": "AI-300",
          "group_number": 3,
          "objective_number": 3,
          "wording": "Automate resource provisioning by using GitHub Actions workflows",
          "reason": "Workflow submits jobs rather than provisioning resources; infrastructure action remains prose only.",
          "proposal_id": "ai300-iac"
        },
        {
          "exam_code": "AI-300",
          "group_number": 4,
          "objective_number": 5,
          "wording": "Run model training scripts",
          "reason": "Scripts are required but an actual parameterized training invocation is not shown.",
          "proposal_id": "ai300-training"
        },
        {
          "exam_code": "AI-300",
          "group_number": 8,
          "objective_number": 4,
          "wording": "Deploy infrastructure using Bicep templates and Azure CLI",
          "reason": "Bicep/CLI required but no Foundry resource deployment example/command is present.",
          "proposal_id": "ai300-iac"
        },
        {
          "exam_code": "AI-300",
          "group_number": 9,
          "objective_number": 1,
          "wording": "Deploy foundation models by using serverless API endpoints and managed compute options",
          "reason": "Deployment types are distinguished, but creating the chosen deployment remains high-level.",
          "proposal_id": "ai300-deployment"
        },
        {
          "exam_code": "AI-300",
          "group_number": 13,
          "objective_number": 2,
          "wording": "Select and fine-tune embedding models for domain-specific use cases and accuracy improvements",
          "reason": "Embedding selection and reindexing are taught, but training an embedding model is absent.",
          "proposal_id": "ai300-embedding"
        },
        {
          "exam_code": "AI-901",
          "group_number": 5,
          "objective_number": 2,
          "wording": "Respond to spoken prompts by using a deployed multimodal model",
          "reason": "Direct spoken model is described but no portal turn or request/session workflow is worked.",
          "proposal_id": "ai901-voice"
        },
        {
          "exam_code": "AI-901",
          "group_number": 5,
          "objective_number": 3,
          "wording": "Build a lightweight application by using Azure Speech in Foundry Tools",
          "reason": "Speech function consumes configured recognizer, but client/audio creation and synthesis remain omitted.",
          "proposal_id": "ai901-speech"
        },
        {
          "exam_code": "AI-901",
          "group_number": 6,
          "objective_number": 1,
          "wording": "Interpret visual input in prompts by using a deployed multimodal model",
          "reason": "Image attachment is described without actual content shape/API operation.",
          "proposal_id": "ai901-vision"
        },
        {
          "exam_code": "AI-901",
          "group_number": 6,
          "objective_number": 2,
          "wording": "Create new visual outputs by using generative models",
          "reason": "Separate generation operation is required but actual endpoint/body/output parsing is absent.",
          "proposal_id": "ai901-generation"
        },
        {
          "exam_code": "AI-901",
          "group_number": 6,
          "objective_number": 3,
          "wording": "Build a lightweight application that includes vision capabilities",
          "reason": "Lightweight vision app steps are generic; no concrete client image payload.",
          "proposal_id": "ai901-vision"
        },
        {
          "exam_code": "AI-901",
          "group_number": 7,
          "objective_number": 1,
          "wording": "Extract information from documents and forms by using Azure Content Understanding in Foundry Tools",
          "reason": "Analyzer/version/confidence decisions taught; no invoice submit/operation/result path is demonstrated.",
          "proposal_id": "ai901-extraction"
        },
        {
          "exam_code": "AI-901",
          "group_number": 7,
          "objective_number": 2,
          "wording": "Extract information from images by using Content Understanding",
          "reason": "Images named in generic modality list but no analyzer and output example.",
          "proposal_id": "ai901-extraction"
        },
        {
          "exam_code": "AI-901",
          "group_number": 7,
          "objective_number": 3,
          "wording": "Extract information from audio and video by using Content Understanding",
          "reason": "Audio/video named without their actual analyzer/transcript/keyframe response contracts.",
          "proposal_id": "ai901-extraction"
        },
        {
          "exam_code": "AI-901",
          "group_number": 7,
          "objective_number": 4,
          "wording": "Build a lightweight application with information extraction capabilities by using Content Understanding",
          "reason": "Async polling described but no submission/status terminal-state implementation.",
          "proposal_id": "ai901-extraction"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 3,
          "objective_number": 4,
          "wording": "Manage resource groups",
          "reason": "Resource group lifecycle grouping is described; management operation is thin beyond lab creation.",
          "proposal_id": "az104-hierarchy"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 3,
          "objective_number": 5,
          "wording": "Manage subscriptions",
          "reason": "Subscription boundary is defined without actual management/hierarchy change workflow.",
          "proposal_id": "az104-hierarchy"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 3,
          "objective_number": 7,
          "wording": "Configure management groups",
          "reason": "Management-group inheritance is described without create/move/permission workflow.",
          "proposal_id": "az104-hierarchy"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 6,
          "objective_number": 5,
          "wording": "Configure snapshots and soft delete for Azure Files",
          "reason": "Files snapshots/share soft delete are table entries without actual creation/restore workflow.",
          "proposal_id": "az104-files"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 7,
          "objective_number": 1,
          "wording": "Interpret an Azure Resource Manager template or a Bicep file",
          "reason": "Syntax names and deployment-mode behavior are explained but no ARM/Bicep resource example to interpret.",
          "proposal_id": "az104-iac"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 7,
          "objective_number": 2,
          "wording": "Modify an existing Azure Resource Manager template",
          "reason": "Export cleanup and property reset warned; actual JSON parameter/property change is absent.",
          "proposal_id": "az104-iac"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 7,
          "objective_number": 3,
          "wording": "Modify an existing Bicep file",
          "reason": "Bicep constructs named but no concrete modification/example.",
          "proposal_id": "az104-iac"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 7,
          "objective_number": 4,
          "wording": "Deploy resources by using an Azure Resource Manager template or a Bicep file",
          "reason": "Build/what-if/deploy process is described but runnable command/resource artifact absent.",
          "proposal_id": "az104-iac"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 8,
          "objective_number": 7,
          "wording": "Deploy and configure an Azure Virtual Machine Scale Sets",
          "reason": "Scale-set field list exists, but no worked creation, health or scaling path.",
          "proposal_id": "az104-vmss"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 13,
          "objective_number": 1,
          "wording": "Configure Azure DNS",
          "reason": "Public delegation/private links/hybrid forwarding described; no record-set change/validation example.",
          "proposal_id": "az104-dns"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 15,
          "objective_number": 1,
          "wording": "Create a Recovery Services vault",
          "reason": "Two vault families and policy named, but no actual Recovery Services creation workflow.",
          "proposal_id": "az104-vaults"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 15,
          "objective_number": 2,
          "wording": "Create an Azure Backup vault",
          "reason": "Two vault families named, but Backup vault creation/settings are absent.",
          "proposal_id": "az104-vaults"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 15,
          "objective_number": 5,
          "wording": "Configure Azure Site Recovery for Azure resources",
          "reason": "ASR dependencies and isolated drill are taught; enabling replication remains thin.",
          "proposal_id": "az104-asr"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 15,
          "objective_number": 6,
          "wording": "Perform a failover to a secondary region by using Site Recovery",
          "reason": "Only test failover is worked; full failover/commit/reprotect is missing.",
          "proposal_id": "az104-asr"
        },
        {
          "exam_code": "AZ-104",
          "group_number": 15,
          "objective_number": 7,
          "wording": "Configure and interpret reports and alerts for backups",
          "reason": "Generic monitoring is present, but backup-specific report collection, job deduplication and alert path are absent.",
          "proposal_id": "az104-backup-monitor"
        }
      ],
      "proposal_artifact": "exam-a-proposals.json",
      "new_source_catalog_objects": [
        {
          "id": "g03-exam-a-3",
          "title": "Get started text to speech",
          "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/get-started-text-to-speech",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AI-901"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai901-speech. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-4",
          "title": "Deploy cli",
          "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/deploy-cli",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AI-300",
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai300-iac, az104-iac. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-5",
          "title": "Backup azure monitoring use azuremonitor",
          "url": "https://learn.microsoft.com/en-us/azure/backup/backup-azure-monitoring-use-azuremonitor",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-backup-monitor. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-6",
          "title": "Backup create recovery services vault",
          "url": "https://learn.microsoft.com/en-us/azure/backup/backup-create-recovery-services-vault",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-vaults. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-7",
          "title": "Configure reports",
          "url": "https://learn.microsoft.com/en-us/azure/backup/configure-reports",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-backup-monitor. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-8",
          "title": "Create manage backup vault",
          "url": "https://learn.microsoft.com/en-us/azure/backup/create-manage-backup-vault",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-vaults. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-9",
          "title": "Dns getstarted portal",
          "url": "https://learn.microsoft.com/en-us/azure/dns/dns-getstarted-portal",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-dns. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-12",
          "title": "Create resource template",
          "url": "https://learn.microsoft.com/en-us/azure/foundry/how-to/create-resource-template",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AI-300"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai300-iac. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-14",
          "title": "Manage",
          "url": "https://learn.microsoft.com/en-us/azure/governance/management-groups/manage",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-hierarchy. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-15",
          "title": "How to train model",
          "url": "https://learn.microsoft.com/en-us/azure/machine-learning/how-to-train-model?view=azureml-api-2",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AI-300"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai300-training. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-16",
          "title": "How to use foundation models",
          "url": "https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-foundation-models?view=azureml-api-2",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AI-300"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai300-deployment, ai300-embedding. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-17",
          "title": "Azure to azure tutorial failover failback",
          "url": "https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-tutorial-failover-failback",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-asr. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-18",
          "title": "Storage files prevent file share deletion",
          "url": "https://learn.microsoft.com/en-us/azure/storage/files/storage-files-prevent-file-share-deletion",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-files. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-19",
          "title": "Storage snapshots files",
          "url": "https://learn.microsoft.com/en-us/azure/storage/files/storage-snapshots-files",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-files. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-20",
          "title": "Flexible virtual machine scale sets portal",
          "url": "https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/flexible-virtual-machine-scale-sets-portal",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-104"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports az104-vmss. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-21",
          "title": "Copilot overview",
          "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/copilot-overview",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-731"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ab731-experiences. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-22",
          "title": "Add agent copilot studio agent",
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/add-agent-copilot-studio-agent",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-620"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ab620-connected. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-23",
          "title": "Advanced connectors",
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/advanced-connectors",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-620"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ab620-tools. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-24",
          "title": "Agent extend action rest api",
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/agent-extend-action-rest-api",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-620"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ab620-tools. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-25",
          "title": "Knowledge copilot connectors",
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-copilot-connectors",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-620"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ab620-connectors. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-26",
          "title": "Knowledge real time connectors",
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-real-time-connectors",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-620"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ab620-connectors. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-27",
          "title": "Extend pipelines",
          "url": "https://learn.microsoft.com/en-us/power-platform/alm/extend-pipelines",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-620"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ab620-pipeline. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        },
        {
          "id": "g03-exam-a-28",
          "title": "Sentence Transformers embedding training overview",
          "url": "https://sbert.net/docs/sentence_transformer/training_overview.html",
          "publisher": "Sentence Transformers project",
          "authority_class": 5,
          "source_type": "expert-resource",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AI-300"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai300-embedding. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Upstream primary project workflow; selected managed Azure embedding fine-tuning support remains unverified. No source text/code copied; no model weights or dataset redistributed."
        },
        {
          "id": "g03-exam-a-29",
          "title": "Understand changes to microsoft 365 copilot mobile app",
          "url": "https://support.microsoft.com/en-us/microsoft-365-copilot/understand-changes-to-microsoft-365-copilot-mobile-app",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "product-documentation",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-731"
          ],
          "notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ab731-experiences. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome. Microsoft Learn/support article; navigation/sign-in notice did not prevent the reviewed body."
        }
      ],
      "source_updates": [
        {
          "id": "microsoft-content-understanding-quickstart-ai103",
          "url": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/quickstart/use-rest-api",
          "add_supported_exams": [],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai901-extraction. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome."
        },
        {
          "id": "ai901-speech-client",
          "url": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/get-started-speech-to-text",
          "add_supported_exams": [],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai901-speech. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome."
        },
        {
          "id": "ai901-voice-agent",
          "url": "https://learn.microsoft.com/en-us/azure/foundry/agents/quickstarts/prompt-voice-agent",
          "add_supported_exams": [],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai901-voice. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome."
        },
        {
          "id": "microsoft-foundry-image-generation-editing-ai103",
          "url": "https://learn.microsoft.com/en-us/azure/foundry/foundry-models/how-to/use-foundry-models-mai-image",
          "add_supported_exams": [],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai901-generation. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome."
        },
        {
          "id": "microsoft-foundry-vision-models-ai103",
          "url": "https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/gpt-with-vision",
          "add_supported_exams": [],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group 03 exam-research proposal source. Selected relevant article sections read through browser; supports ai901-vision. Public-source original synthesis only; no product, SDK, model, tenant, notification or paid lesson execution. Source availability does not establish an executed outcome."
        }
      ],
      "blocked_attempts": [
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-ai-fundamentals/",
          "result": "Initial browser timeout, subsequent readable retry successful."
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-add-copilot-connectors",
          "result": "Inaccessible guessed path rejected as evidence; search discovered and opened actual knowledge-copilot-connectors article."
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/machine-learning/how-to-deploy-models-open?view=azureml-api-2",
          "result": "Inaccessible guessed path not used; actual model-card workflow opened instead."
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/quick-create-portal",
          "result": "Redirected previous-versions Uniform article; not used for new-workload instructions; current Flexible article opened."
        }
      ],
      "assessment_shells": [
        {
          "exam_code": "AB-620",
          "url": "https://aiskillsnavigator.microsoft.com/en-us/credentials/cert-d4ad80449fa6ef556a1d727c8285f120e1257880f61de9d48c9e09609f6650f0",
          "scope": "Official credential link clicked; zero-line shell only."
        },
        {
          "exam_code": "AB-731",
          "url": "https://aiskillsnavigator.microsoft.com/credentials/cert-cdf39a1841cdef420d1ded46dc192d3f09a1b3ec5811521c29f7c6140cf5c791",
          "scope": "Official credential link clicked; zero-line shell only."
        },
        {
          "exam_code": "AZ-104",
          "url": "https://aiskillsnavigator.microsoft.com/credentials/cert-43cb319ee6436b163afb130cedc008b5af26d82c4921b4bab5b265d83bc33907",
          "scope": "Official credential link clicked; zero-line shell only."
        }
      ],
      "unresolved_questions": [
        "Which selected managed Azure embedding deployment, if any, exposes supported fine-tuning for this user/model/region? Upstream custom-training model is useful and explicitly bounded; do not claim every managed endpoint supports it.",
        "No cloud, tenant, speech, model, extraction, image, backup/failover or pipeline execution occurred. Expected answer checks are teaching artifacts, not test results.",
        "All final applied guides require complete semantic reread and rebound final mapping after coordinator applies changes; initial partial findings remain historical."
      ],
      "bounded_recommendation": "Apply the 22 original grouped workflow additions after coordinator source/technical reconciliation; correct stale assessment/course/page metadata and AI901 technical prerequisites without changing any objective wording/raw baseline. Preserve earlier review dates/receipts. Re-read final guides and bind spans only after actual content review, then use separate fresh-context review and normal repository validation."
    },
    "subset_b": {
      "research_date": "2026-10-28",
      "role": "exam/objective researcher subset B, read-only shared files",
      "base_commit": "e764e0048e320d67fe831051c4275d1694072e27",
      "inputs": {
        "AZ-140": {
          "guide_path": "guides\\AZ-140-configuring-operating-azure-virtual-desktop.md",
          "guide_lf_sha256": "9ecabe2cc51fc705025e7dc3d96829931fb8003046ba991a48ad91473569e337",
          "objective_raw_sha256": "d40f010042124a6e28c81a7f783b6127e3b7ebf7bb99d9b3ddfccdd40dcede84"
        },
        "AZ-305": {
          "guide_path": "guides\\AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
          "guide_lf_sha256": "b1f6f924605d862556e950676cc2c7ab19a94a95e1fd4a62640a88605ff65214",
          "objective_raw_sha256": "7e5e8671b6ba67938e71f71261f92e0d9798f27ec94f79c75e3ea6310f917df2"
        },
        "AZ-400": {
          "guide_path": "guides\\AZ-400-designing-implementing-microsoft-devops-solutions.md",
          "guide_lf_sha256": "a048de1216925f464e3a8658fc1aaec6d5833d47e835c452813248b213e37fd4",
          "objective_raw_sha256": "2daece89f2a2ef131293e7299b41532985afbe955aed913bb86dc42bb8650460"
        },
        "AZ-700": {
          "guide_path": "guides\\AZ-700-designing-implementing-azure-networking-solutions.md",
          "guide_lf_sha256": "8b0ec1bd6b8d7a696ee565dca9896ea0456391124dfb0dd802f39ad4170fc236",
          "objective_raw_sha256": "949dcb2d1b4bbde19b6f41b69fdf59cf33b52391d4b8010e2a46d6a0c94a98dd"
        },
        "AZ-900": {
          "guide_path": "guides\\AZ-900-microsoft-azure-fundamentals.md",
          "guide_lf_sha256": "f390616206b6788988d00e6f337bc339bef40778295fac471855c09e3869c3fd",
          "objective_raw_sha256": "8b4c89d325b3ce339eb881aa2dc4b251888e6d7a07d6351d81bcc2123b1c4449"
        }
      },
      "complete_guide_reads": [
        {
          "exam_code": "AZ-140",
          "guide_path": "guides\\AZ-140-configuring-operating-azure-virtual-desktop.md",
          "line_range": [
            1,
            831
          ],
          "read_scope": "Complete front matter, teaching, examples, labs, all questions/answers, readiness and Places to learn. Initial truncated AZ-140 output repaired with explicit middle-range reads.",
          "guide_lf_sha256": "9ecabe2cc51fc705025e7dc3d96829931fb8003046ba991a48ad91473569e337",
          "objective_raw_sha256": "d40f010042124a6e28c81a7f783b6127e3b7ebf7bb99d9b3ddfccdd40dcede84",
          "objective_count": 78,
          "semantic_partial_objectives": 17
        },
        {
          "exam_code": "AZ-305",
          "guide_path": "guides\\AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
          "line_range": [
            1,
            824
          ],
          "read_scope": "Complete front matter, teaching, examples, labs, all questions/answers, readiness and Places to learn. Initial truncated AZ-140 output repaired with explicit middle-range reads.",
          "guide_lf_sha256": "b1f6f924605d862556e950676cc2c7ab19a94a95e1fd4a62640a88605ff65214",
          "objective_raw_sha256": "7e5e8671b6ba67938e71f71261f92e0d9798f27ec94f79c75e3ea6310f917df2",
          "objective_count": 49,
          "semantic_partial_objectives": 2
        },
        {
          "exam_code": "AZ-400",
          "guide_path": "guides\\AZ-400-designing-implementing-microsoft-devops-solutions.md",
          "line_range": [
            1,
            947
          ],
          "read_scope": "Complete front matter, teaching, examples, labs, all questions/answers, readiness and Places to learn. Initial truncated AZ-140 output repaired with explicit middle-range reads.",
          "guide_lf_sha256": "a048de1216925f464e3a8658fc1aaec6d5833d47e835c452813248b213e37fd4",
          "objective_raw_sha256": "2daece89f2a2ef131293e7299b41532985afbe955aed913bb86dc42bb8650460",
          "objective_count": 86,
          "semantic_partial_objectives": 32
        },
        {
          "exam_code": "AZ-700",
          "guide_path": "guides\\AZ-700-designing-implementing-azure-networking-solutions.md",
          "line_range": [
            1,
            783
          ],
          "read_scope": "Complete front matter, teaching, examples, labs, all questions/answers, readiness and Places to learn. Initial truncated AZ-140 output repaired with explicit middle-range reads.",
          "guide_lf_sha256": "8b0ec1bd6b8d7a696ee565dca9896ea0456391124dfb0dd802f39ad4170fc236",
          "objective_raw_sha256": "949dcb2d1b4bbde19b6f41b69fdf59cf33b52391d4b8010e2a46d6a0c94a98dd",
          "objective_count": 136,
          "semantic_partial_objectives": 41
        },
        {
          "exam_code": "AZ-900",
          "guide_path": "guides\\AZ-900-microsoft-azure-fundamentals.md",
          "line_range": [
            1,
            665
          ],
          "read_scope": "Complete front matter, teaching, examples, labs, all questions/answers, readiness and Places to learn. Initial truncated AZ-140 output repaired with explicit middle-range reads.",
          "guide_lf_sha256": "f390616206b6788988d00e6f337bc339bef40778295fac471855c09e3869c3fd",
          "objective_raw_sha256": "8b4c89d325b3ce339eb881aa2dc4b251888e6d7a07d6351d81bcc2123b1c4449",
          "objective_count": 57,
          "semantic_partial_objectives": 0
        }
      ],
      "snapshot_read_scope": "All five complete accepted objective text snapshots and all official-status snapshots; live current detailed objectives separately parsed/compared; manifest immutable input hashes match preliminary complete-guide reads. Historical deep-review mappings retained only as historical claims, not coverage proof.",
      "official_observations": [
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-140",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Purpose, exam-update notes, complete current audience/domains/detailed objectives and change log; raw HTML saved in exam-b-az-140-study.html",
          "observation": "Current published skills version July 20, 2026; 78 detailed bullets. No separately effective future objective version or retirement announcement observed. Parsed live objective wording hashes match every historical detailed objective hash; coordinator independently reports candidate raw snapshot byte-unchanged.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-140-blueprint"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-virtual-desktop-specialty/",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete credential page including requirements, current assessment delivery/language metadata, renewal and resources",
          "observation": "Credential remains offered and no retirement date announced for this exam in opened page or retirement list. No additional certification prerequisite displayed; role experience is recommended. 100-minute proctored assessment, 7 listed languages, Pearson Vue, 12-month renewal. New AI Skills Navigator assessment notice for role/specialty pages is learning access metadata, not a new exam requirement.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-140-credential"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/training/courses/az-140t00",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete public course landing metadata and overview/audience; loading syllabus and linked modules not consumed",
          "observation": "Official course duration 4 instructor-led days; exact self-paced runtime not inferred. AZ-900 title is Introduction to Cloud Infrastructure; course, exam and credential are distinct.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-140-microsoft-learn-course"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-305",
          "exam_codes": [
            "AZ-305"
          ],
          "access": "opened readable public content",
          "read_scope": "Purpose, exam-update notes, complete current audience/domains/detailed objectives and change log; raw HTML saved in exam-b-az-305-study.html",
          "observation": "Current published skills version April 17, 2026; 49 detailed bullets. No separately effective future objective version or retirement announcement observed. Parsed live objective wording hashes match every historical detailed objective hash; coordinator independently reports candidate raw snapshot byte-unchanged.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-305-blueprint"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-solutions-architect/",
          "exam_codes": [
            "AZ-305"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete credential page including requirements, current assessment delivery/language metadata, renewal and resources",
          "observation": "Credential remains offered and no retirement date announced for this exam in opened page or retirement list. Azure Administrator Associate is a credential prerequisite; no claim it is required merely to sit AZ-305. Ten listed languages; renewal statement; no exact duration visible in this credential shell. New AI Skills Navigator assessment notice for role/specialty pages is learning access metadata, not a new exam requirement.",
          "confidence": "high",
          "source_catalog_matches": [
            "az305-credential"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/training/courses/az-305t00",
          "exam_codes": [
            "AZ-305"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete public course landing metadata and overview/audience; loading syllabus and linked modules not consumed",
          "observation": "Official course duration 4 instructor-led days; exact self-paced runtime not inferred. AZ-900 title is Introduction to Cloud Infrastructure; course, exam and credential are distinct.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-305-microsoft-learn-course"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-400",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Purpose, exam-update notes, complete current audience/domains/detailed objectives and change log; raw HTML saved in exam-b-az-400-study.html",
          "observation": "Current published skills version July 27, 2026; 86 detailed bullets. No separately effective future objective version or retirement announcement observed. Parsed live objective wording hashes match every historical detailed objective hash; coordinator independently reports candidate raw snapshot byte-unchanged.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-400-blueprint"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/devops-engineer/",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete credential page including requirements, current assessment delivery/language metadata, renewal and resources",
          "observation": "Credential remains offered and no retirement date announced for this exam in opened page or retirement list. Still lists either Azure Administrator Associate or Azure Developer Associate as credential prerequisite. Developer credential and renewal are retired, so retain current active AZ-104 route and verify acceptance of previously earned developer credential; do not invent replacement equivalence. Ten listed languages; renewal statement; no exact duration visible in this credential shell. New AI Skills Navigator assessment notice for role/specialty pages is learning access metadata, not a new exam requirement.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-400-credential"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/training/courses/az-400t00",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete public course landing metadata and overview/audience; loading syllabus and linked modules not consumed",
          "observation": "Official course duration 4 instructor-led days; exact self-paced runtime not inferred. AZ-900 title is Introduction to Cloud Infrastructure; course, exam and credential are distinct.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-400-microsoft-learn-course"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-700",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Purpose, exam-update notes, complete current audience/domains/detailed objectives and change log; raw HTML saved in exam-b-az-700-study.html",
          "observation": "Current published skills version July 27, 2026; 136 detailed bullets. No separately effective future objective version or retirement announcement observed. Parsed live objective wording hashes match every historical detailed objective hash; coordinator independently reports candidate raw snapshot byte-unchanged.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-700-blueprint"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-network-engineer-associate/",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete credential page including requirements, current assessment delivery/language metadata, renewal and resources",
          "observation": "Credential remains offered and no retirement date announced for this exam in opened page or retirement list. No additional certification prerequisite displayed; hands-on networking/admin experience recommended. 100-minute proctored assessment, 10 listed languages, Pearson Vue, 12-month renewal. New AI Skills Navigator assessment notice for role/specialty pages is learning access metadata, not a new exam requirement.",
          "confidence": "high",
          "source_catalog_matches": [
            "az700-credential"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/training/courses/az-700t00",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete public course landing metadata and overview/audience; loading syllabus and linked modules not consumed",
          "observation": "Official course duration 3 instructor-led days; exact self-paced runtime not inferred. AZ-900 title is Introduction to Cloud Infrastructure; course, exam and credential are distinct.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-700-microsoft-learn-course"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-900",
          "exam_codes": [
            "AZ-900"
          ],
          "access": "opened readable public content",
          "read_scope": "Purpose, exam-update notes, complete current audience/domains/detailed objectives and change log; raw HTML saved in exam-b-az-900-study.html",
          "observation": "Current published skills version July 20, 2026; 57 detailed bullets. No separately effective future objective version or retirement announcement observed. Parsed live objective wording hashes match every historical detailed objective hash; coordinator independently reports candidate raw snapshot byte-unchanged.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-900-blueprint"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-fundamentals/",
          "exam_codes": [
            "AZ-900"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete credential page including requirements, current assessment delivery/language metadata, renewal and resources",
          "observation": "Credential remains offered and no retirement date announced for this exam in opened page or retirement list. Foundational IT experience recommended; no additional certification prerequisite displayed. 45-minute proctored assessment, 13 listed languages; Pearson Vue and student/educator Certiport route; fundamentals do not expire. New AI Skills Navigator assessment notice for role/specialty pages is learning access metadata, not a new exam requirement.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/training/courses/az-900t00",
          "exam_codes": [
            "AZ-900"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete public course landing metadata and overview/audience; loading syllabus and linked modules not consumed",
          "observation": "Official course duration 1 instructor-led days; exact self-paced runtime not inferred. AZ-900 title is Introduction to Cloud Infrastructure; course, exam and credential are distinct.",
          "confidence": "high",
          "source_catalog_matches": [
            "microsoft-az-900-course"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/support/credential-retirement",
          "exam_codes": [
            "AZ-140",
            "AZ-305",
            "AZ-400",
            "AZ-700",
            "AZ-900"
          ],
          "access": "opened readable public content",
          "read_scope": "Scheduled/recent retirement lists",
          "observation": "No selected exam/credential retirement scheduled; Azure Developer Associate appears July 31, 2026 in recently retired list. Absence is bounded to this dated published list, not a permanent guarantee.",
          "confidence": "high",
          "source_catalog_matches": [
            "ab-410-credential-retirement"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams",
          "exam_codes": [
            "AZ-140",
            "AZ-305",
            "AZ-400",
            "AZ-700",
            "AZ-900"
          ],
          "access": "opened readable public content",
          "read_scope": "Retirement policy and exam lists",
          "observation": "Retirement applies to taking/earning the retired exam/credential and must be checked independently of product feature retirement.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-800-official-retirement-list"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-administrator/",
          "exam_codes": [
            "AZ-305",
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete profile including active take-exam route",
          "observation": "Azure Administrator Associate remains offered, required/accepted by selected expert profiles; no retirement warning observed.",
          "confidence": "high",
          "source_catalog_matches": [
            "az104-credential"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-developer/",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete profile including retirement warning and assessment section",
          "observation": "Credential and renewal assessment explicitly retired; reconcile against DevOps profile still listing this prerequisite; not proof that an already earned credential loses all prerequisite value.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/support/certification-expiration-policy",
          "exam_codes": [
            "AZ-140",
            "AZ-305",
            "AZ-400",
            "AZ-700",
            "AZ-900"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete returned policy; redirects to /credential-expiration-policy",
          "observation": "Role/specialty annual validity versus nonexpiring fundamentals; retirement and earned-credential expiration are distinct.",
          "confidence": "high",
          "source_catalog_matches": [
            "az900-lifetime"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Availability matrix, client prerequisites, both raw HTML endpoint tabs, path scaling and verification; saved exam-b-multipath.html",
          "observation": "GA matrix includes public and Government multiple UDP and redundant TCP. Government Shortpath endpoint section is specifically public preview/validation rings. Distinct scope; no global Multipath contradiction/block inferred.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-140-rdp-multipath"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/required-fqdn-endpoint",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Host/user endpoint tables and cloud tabs, platform endpoint constraints",
          "observation": "AVD service endpoint requirements and cloud-specific paths remain distinct from Entra, Office and platform dependencies. Avoid generalizing cloud endpoint tables.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/fslogix/how-to-configure-profile-container-netapp",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Account/capacity pool/AD/SMB sequence and FSLogix path/permission verification; current ANF profile access excludes Entra-only identities.",
          "observation": "Account/capacity pool/AD/SMB sequence and FSLogix path/permission verification; current ANF profile access excludes Entra-only identities.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-140-fslogix-netapp"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/licensing",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Internal versus external commercial licensing, eligible access and separately licensed products; no pricing estimate reused.",
          "observation": "Internal versus external commercial licensing, eligible access and separately licensed products; no pricing estimate reused.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/defender-endpoint/configure-endpoints-vdi",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "VDI entry model, provisioned startup scripts and warning not to clone an onboarded primary image; no sensor/VDI execution.",
          "observation": "VDI entry model, provisioned startup scripts and warning not to clone an onboarded primary image; no sensor/VDI execution.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/security-recommendations",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Relevant session-host security layers, EDR, policy and idle-session considerations; not a complete production policy implementation.",
          "observation": "Relevant session-host security layers, EDR, policy and idle-session considerations; not a complete production policy implementation.",
          "confidence": "high",
          "source_catalog_matches": [
            "az-140-security-recommendations"
          ],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/fslogix/how-to-configure-odfc-containers",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "ODFC subset and recommended use with third-party roaming profile; steps/verification. Policy path differs from embedded PowerShell example; proposal avoids prescriptive registry code and marks recheck.",
          "observation": "ODFC subset and recommended use with third-party roaming profile; steps/verification. Policy path differs from embedded PowerShell example; proposal avoids prescriptive registry code and marks recheck.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/fslogix/tutorial-application-rule-sets",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Rules Editor scan, reversible local test, assignment creation and both .fxr/.fxa deployment files.",
          "observation": "Rules Editor scan, reversible local test, assignment creation and both .fxr/.fxa deployment files.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/redirection-configure-printers",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "AVD-specific policy/printer prerequisites and Easy Print/redirection model; other product pivots excluded.",
          "observation": "AVD-specific policy/printer prerequisites and Easy Print/redirection model; other product pivots excluded.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/universal-print/fundamentals/universal-print-intune-tool",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Intune->MDM->CSP->installer layered provisioning, Windows version and AVD-session scope; does not validate printer licensing itself.",
          "observation": "Intune->MDM->CSP->installer layered provisioning, Windows version and AVD-session scope; does not validate printer licensing itself.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/configure-host-pool-personal-desktop-assignment-type",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Automatic versus direct assignment; entitlement plus host mapping. New multi-desktop preview treated separately, not assumed GA.",
          "observation": "Automatic versus direct assignment; entitlement plus host mapping. New multi-desktop preview treated separately, not assumed GA.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/start-virtual-machine-connect",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Existing pool, feature-specific Power On Contributor, permitted role scope, host pool enablement and startup behavior.",
          "observation": "Existing pool, feature-specific Power On Contributor, permitted role scope, host pool enablement and startup behavior.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-desktop/troubleshoot-management-issues",
          "exam_codes": [
            "AZ-140"
          ],
          "access": "opened readable public content",
          "read_scope": "Whole short table separating drain, disconnect, logoff and unassignment errors.",
          "observation": "Whole short table separating drain, disconnect, logoff and unassignment errors.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/entra/architecture/auth-kcd",
          "exam_codes": [
            "AZ-305"
          ],
          "access": "opened readable public content",
          "read_scope": "Application Proxy/connector/Kerberos constrained-delegation architecture; distinction from backend application authorization.",
          "observation": "Application Proxy/connector/Kerberos constrained-delegation architecture; distinction from backend application authorization.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/fabric-analytical-data-stores",
          "exam_codes": [
            "AZ-305"
          ],
          "access": "opened readable public content",
          "read_scope": "Named SQL/warehouse/lakehouse/eventhouse access, transformation and serving comparisons; example treats Fabric as one concrete option set.",
          "observation": "Named SQL/warehouse/lakehouse/eventhouse access, transformation and serving comparisons; example treats Fabric as one concrete option set.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://docs.github.com/en/issues/planning-and-tracking-with-projects/viewing-insights-from-your-project/about-insights-for-projects",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Whole short article: filters/current/historical charts, time axis and archived/deleted population exclusion.",
          "observation": "Whole short article: filters/current/historical charts, time axis and archived/deleted population exclusion.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/dotnet-core?tabs=yaml-editor&view=azure-devops",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Relevant YAML test and code-coverage publication sections and source/agent prerequisites; snippet is an original partial pipeline, unexecuted.",
          "observation": "Relevant YAML test and code-coverage publication sections and source/agent prerequisites; snippet is an original partial pipeline, unexecuted.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Includes versus extends templates, parameters, trust and repository service connection prerequisites; not complete docs traversal.",
          "observation": "Includes versus extends templates, parameters, trust and repository service connection prerequisites; not complete docs traversal.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/azure-app-configuration/manage-feature-flags",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Create/edit purposes and audience/label settings; application evaluation remains separate from stored flag.",
          "observation": "Create/edit purposes and audience/label settings; application evaluation remains separate from stored flag.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/governance/machine-configuration/concepts/remediation-options",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Audit versus one-time application/monitoring versus auto-correction, extension prerequisites and existing-resource remediation; no command spelling copied because casing varies within source.",
          "observation": "Audit versus one-time application/monitoring versus auto-correction, extension prerequisites and existing-resource remediation; no command spelling copied because casing varies within source.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/deployment-environments/quickstart-create-access-environments",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Complete creation quickstart including current Feb22 2027 retirement notice; preserve blueprint concept while marking migration.",
          "observation": "Complete creation quickstart including current Feb22 2027 retirement notice; preserve blueprint concept while marking migration.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/devops/organizations/settings/add-teams?view=azure-devops",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Team creation permissions, members/admin and area/iteration configuration sections; distinguish Azure DevOps team from Microsoft Teams.",
          "observation": "Team creation permissions, members/admin and area/iteration configuration sections; distinguish Azure DevOps team from Microsoft Teams.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/devops/organizations/security/change-project-level-permissions?tabs=preview-page&view=azure-devops",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Permission scopes/groups and current UI sections; ordinary member verification recommended.",
          "observation": "Permission scopes/groups and current UI sections; ordinary member verification recommended.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/defender-for-cloud/quickstart-onboard-github",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Connector creation/auth/app/repository selection and current permissions; distinct from enabling every repository security scanner.",
          "observation": "Connector creation/auth/app/repository selection and current permissions; distinct from enabling every repository security scanner.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/defender-for-cloud/quickstart-onboard-devops",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Connector prerequisites, authorizing identity/audit attribution, organization access and discovery; OAuth/basic access requirements are volatile.",
          "observation": "Connector prerequisites, authorizing identity/audit attribution, organization access and discovery; OAuth/basic access requirements are volatile.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://docs.github.com/en/code-security/tutorials/customize-code-scanning/run-in-a-container",
          "exam_codes": [
            "AZ-400"
          ],
          "access": "opened readable public content",
          "read_scope": "Whole short article: init/build/analyze together in compatible container and musl incompatibility; final-image scanning is separate.",
          "observation": "Whole short article: init/build/analyze together in compatible container and musl incompatibility; final-image scanning is separate.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/custom-ip-address-prefix",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Validation/provision/commission, derived address resources and advertisement boundaries; not a live BYOIP run.",
          "observation": "Validation/provision/commission, derived address resources and advertisement boundaries; not a live BYOIP run.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/route-server/quickstart-create-route-server-portal",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Dedicated subnet, public-IP requirement, both BGP peers and validation sections; no routing deployment.",
          "observation": "Dedicated subnet, public-IP requirement, both BGP peers and validation sections; no routing deployment.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-network-manager/create-virtual-network-manager-portal",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Scope/features, network group/configuration and deployment/verification sequence; no automated policy mutation.",
          "observation": "Scope/features, network group/configuration and deployment/verification sequence; no automated policy mutation.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/ddos-protection/manage-ddos-protection",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Plan create/associate scope and protected resource checks; no attack generated.",
          "observation": "Plan create/associate scope and protected resource checks; no attack generated.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/defender-for-cloud/how-to-manage-cloud-security-explorer",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Whole short article: CSPM/scanning/role prerequisite, query/filter/template, daily snapshot, result export/share.",
          "observation": "Whole short article: CSPM/scanning/role prerequisite, query/filter/template, daily snapshot, result export/share.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/vpn-gateway/point-to-site-how-to-radius-ps",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "RADIUS prerequisites, server reachability, authentication and generated client config sections; active-active and topology limits remain current-check items.",
          "observation": "RADIUS prerequisites, server reachability, authentication and generated client config sections; active-active and topology limits remain current-check items.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/vpn-gateway/point-to-site-vpn-client-configuration-radius",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Whole client workflow including regenerate profile after auth/tunnel changes; client protocol distinction.",
          "observation": "Whole client workflow including regenerate profile after auth/tunnel changes; client protocol distinction.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/expressroute/expressroute-howto-routing-portal-resource-manager",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Private/Microsoft peering inputs, route domain and provider state sections; no real circuit modification.",
          "observation": "Private/Microsoft peering inputs, route domain and provider state sections; no real circuit modification.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/expressroute/expressroute-bfd",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Whole short article including customer interface/BGP two-step setup, legacy reset and overall convergence limit.",
          "observation": "Whole short article including customer interface/BGP two-step setup, legacy reset and overall convergence limit.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/hub-settings",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Hub creation/address/RIU versus gateway units and cost sections; unit ceilings not copied into example.",
          "observation": "Hub creation/address/RIU versus gateway units and cost sections; unit ceilings not copied into example.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-wan/about-nva-hub",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Partner eligibility, managed-app/orchestrator and support/lifecycle sections; arbitrary Marketplace NVA unsupported in hub.",
          "observation": "Partner eligibility, managed-app/orchestrator and support/lifecycle sections; arbitrary Marketplace NVA unsupported in hub.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/load-balancer/tutorial-create-gateway-load-balancer",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Gateway create/tunnel-interface/probe/backend/chaining sections, platform tabs; no generalization of a multi-tab prerequisite block.",
          "observation": "Gateway create/tunnel-interface/probe/backend/chaining sections, platform tabs; no generalization of a multi-tab prerequisite block.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/application-gateway/rewrite-http-headers-url",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Rewrite-set condition/action/association and URL reevaluation/loop sections; not all header examples reproduced.",
          "observation": "Rewrite-set condition/action/association and URL reevaluation/loop sections; not all header examples reproduced.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/frontdoor/front-door-rules-engine-actions",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Rule-set/route and URL redirect/rewrite sections; public web browser status versus backend path distinguished.",
          "observation": "Rule-set/route and URL redirect/rewrite sections; public web browser status versus backend path distinguished.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/firewall-manager/manage-web-application-firewall-policies",
          "exam_codes": [
            "AZ-700"
          ],
          "access": "opened readable public content",
          "read_scope": "Whole short policy creation/association article; platform association differs.",
          "observation": "Whole short policy creation/association article; platform association differs.",
          "confidence": "high",
          "source_catalog_matches": [],
          "source_candidate_matches": []
        }
      ],
      "proposed_changes": [
        {
          "id": "multipath-cloud-scope",
          "exam_code": "AZ-140",
          "old_text": "The September documentation distinguishes public-cloud availability from Azure Government's phased redundant-TCP rollout and macOS **Beta** UDP support. Windows App version requirements also differ for multiple UDP paths and redundant TCP. Use the current [Multipath prerequisites](https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath) for the exact client/cloud combination. Standby paths improve resilience; they do not promise summed bandwidth or survival when every network path is lost. TURN is a relay, so a UDP connection is not necessarily a direct client-to-host route.",
          "replacement_markdown": "**VERIFY CURRENT — October 28, 2026:** The current [Multipath availability matrix](https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath) marks multiple UDP and redundant TCP paths generally available in both public Azure and Azure Government. The Government endpoint tab separately labels RDP Shortpath through its listed endpoints public preview and limits it to designated validation rings; that narrower endpoint rollout does not negate the matrix's broader Multipath status. Windows App versions and macOS Beta support remain platform-specific. Check the actual cloud/client/transport combination, permitted endpoints and negotiated connection before relying on a standby path. Multiple paths do not promise summed bandwidth or survival when every path fails. TURN remains a relay.",
          "source_urls": [
            "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath"
          ],
          "reason": "Replace stale phased Government TCP wording while preserving raw tab-scoped Shortpath qualification; no full-gate blocker implied.",
          "confidence": "high",
          "apply_note": "Coordinator may already have integrated overlapping technical replacement; reconcile rather than duplicate."
        },
        {
          "id": "credential-prerequisite-retirement",
          "exam_code": "AZ-400",
          "old_text": "**Credential prerequisite:** The official credential page requires Azure Administrator Associate or Azure Developer Associate. The AZ-204 exam used to earn the latter retired July 31, 2026, so a new candidate should verify the currently accepted path before scheduling; AZ-104 remains an active route as of this review.<br>",
          "replacement_markdown": "**Credential prerequisite — checked October 28, 2026:** The [DevOps Engineer Expert profile](https://learn.microsoft.com/en-us/credentials/certifications/devops-engineer/) still accepts Azure Administrator Associate or Azure Developer Associate. [Azure Developer Associate and its renewal assessment are retired](https://learn.microsoft.com/en-us/credentials/certifications/azure-developer/), with July 31, 2026 recorded in the [retirement list](https://learn.microsoft.com/en-us/credentials/support/credential-retirement). New candidates can use the currently offered Azure Administrator Associate route; holders of an earlier Developer credential should verify its accepted status with Microsoft. Do not infer that an AI/cloud developer replacement is automatically an accepted prerequisite or that this retires AZ-400.",
          "source_urls": [
            "https://learn.microsoft.com/en-us/credentials/certifications/devops-engineer/",
            "https://learn.microsoft.com/en-us/credentials/certifications/azure-developer/",
            "https://learn.microsoft.com/en-us/credentials/support/credential-retirement"
          ],
          "reason": "Distinguish retirement of exam plus credential/renewal from a previously earned prerequisite; no invented replacement equivalence.",
          "confidence": "high",
          "apply_note": "Coordinator may already have integrated overlapping technical replacement; reconcile rather than duplicate."
        },
        {
          "id": "ade-retirement-scope",
          "exam_code": "AZ-400",
          "old_text": "[Azure Deployment Environments](https://learn.microsoft.com/en-us/azure/deployment-environments/concept-environments-key-concepts) uses dev centers, projects, environment types, catalogs, definitions and managed identities to offer governed on-demand environments. Catalog approval and template versioning determine what self-service can create. Add ownership, cost tags, quota and expiration/deletion policy.",
          "replacement_markdown": "[Azure Deployment Environments](https://learn.microsoft.com/en-us/azure/deployment-environments/concept-environments-key-concepts) uses dev centers, projects, environment types, catalogs, definitions and managed identities to offer governed on-demand environments. Catalog approval and template versioning determine what self-service can create. Add ownership, cost tags, quota and expiration/deletion policy. **VERIFY CURRENT — October 28, 2026:** The [current environment-creation quickstart](https://learn.microsoft.com/en-us/azure/deployment-environments/quickstart-create-access-environments) announces Azure Deployment Environments retirement on **February 22, 2027**. It remains explicitly named by the current AZ-400 objectives. Learn the catalog/project/identity/self-service model and plan transition rather than interpreting product retirement as removal from the current exam blueprint.",
          "source_urls": [
            "https://learn.microsoft.com/en-us/azure/deployment-environments/quickstart-create-access-environments"
          ],
          "reason": "New product retirement date materially affects still-required exam workflow and lab planning.",
          "confidence": "high",
          "apply_note": "Coordinator may already have integrated overlapping technical replacement; reconcile rather than duplicate."
        }
      ],
      "semantic_gap_proposals_path": ".maintenance\\2026-10-28-remaining-refresh\\group-03\\exam-b-proposals.json",
      "initial_mapping_path": ".maintenance\\2026-10-28-remaining-refresh\\group-03\\exam-b-mapping.json",
      "findings": [
        {
          "severity": "medium",
          "check": "objective coverage",
          "exam_code": "AZ-140",
          "detail": "17 detailed objectives need named-workflow depth; exact rows, reasons and proposals supplied."
        },
        {
          "severity": "medium",
          "check": "objective coverage",
          "exam_code": "AZ-305",
          "detail": "2 detailed objectives need named-workflow depth; exact rows, reasons and proposals supplied."
        },
        {
          "severity": "medium",
          "check": "objective coverage",
          "exam_code": "AZ-400",
          "detail": "32 detailed objectives need named-workflow depth; exact rows, reasons and proposals supplied."
        },
        {
          "severity": "medium",
          "check": "objective coverage",
          "exam_code": "AZ-700",
          "detail": "41 detailed objectives need named-workflow depth; exact rows, reasons and proposals supplied."
        },
        {
          "severity": "medium",
          "check": "volatility and lifecycle",
          "exam_code": "AZ-400",
          "detail": "Azure Deployment Environments retirement February22 2027 requires a scope-preserving note and transition/lab boundary."
        },
        {
          "severity": "info",
          "check": "volatility and lifecycle",
          "exam_code": "AZ-140",
          "detail": "Raw Government endpoint-tab scoping prevents overcalling a Multipath availability contradiction; matrix GA and specific endpoint Shortpath preview can both be reported precisely."
        }
      ],
      "failed_open_attempts": [
        {
          "url": "https://learn.microsoft.com/en-us/fslogix/implement-application-masking",
          "outcome": "web open inaccessible; replaced by discovered tutorial-application-rule-sets; not used as evidence"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/universal-print",
          "outcome": "web open inaccessible; replaced by discovered printer redirection and Universal Print provisioning docs; not used as evidence"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/defender-for-cloud/cloud-security-explorer",
          "outcome": "web open inaccessible; replaced by discovered how-to-manage-cloud-security-explorer; not used as evidence"
        }
      ],
      "unresolved_questions": [
        "No cloud/identity/storage/endpoint/network deployment or exam scheduling portal session performed; public metadata and documentation only.",
        "Confirm how Microsoft currently applies a previously earned retired Azure Developer prerequisite to an individual DevOps Expert candidate; active Administrator route is clear.",
        "Machine Configuration documentation uses inconsistent assignment-type capitalization; proposal avoids copying an unverified literal. ODFC documented policy path is resolved by authoritative reference plus official ADMX; alternate direct-path fallback remains untested and is not a blocker.",
        "End-to-end performance/compatibility and client-specific rollout are deployment-specific; recipes are expected checks, not measured results."
      ],
      "recommendation": "Apply bounded original workflow additions and scope/lifecycle notes, reconcile overlapping technical/learning edits, catalog exact evaluated URLs, validate repository sequentially, and perform final full semantic re-read plus separate fresh-context review. Do not advance an audit/full-review date on raw objective byte-match alone.",
      "disclosure": {
        "human_review": false,
        "fresh_context_review": false,
        "live_product_execution": false,
        "shared_files_edited": false
      },
      "followup_observations": [
        {
          "url": "https://learn.microsoft.com/en-us/fslogix/reference-configuration-settings",
          "read_scope": "Base registry keys, full ODFC settings heading/base and Enabled/VHDLocations/VolumeType plus Cloud Cache per-container base",
          "finding": "Explicit documented supported ODFC path HKLM\\SOFTWARE\\Policies\\FSLogix\\ODFC; use Enabled DWORD1, intended VHDLocations string/multi-string and VolumeType REG_SZ vhdx. Do not infer alternate path failure or gate blocker from tutorial example alone."
        },
        {
          "url": "https://download.microsoft.com/download/ae6d2014-e692-45fa-a88b-ee552567cdc1/FSLogix_26.08.zip",
          "zip_sha256": "129e111d4acf8502b9351e1cec0c92212dce8222ae5b8223163fbbea518e857c",
          "read_scope": "Read only ADMX XML policy key definitions from official FSLogix26.08 download in memory; no binaries extracted or executed",
          "finding": "Official FSLogix26.08 fslogix.admx OdfcODFCEnabled and all other ODFC policies key Software\\Policies\\FSLogix\\ODFC. Corroborates documented policy surface; no precedence/fallback behavior tested.",
          "proof_path": ".maintenance\\2026-10-28-remaining-refresh\\group-03\\exam-b-odfc-admx-proof.json"
        }
      ]
    }
  },
  "technical_research": {
    "research_date": "2026-10-28",
    "research_role": "read-only technical researcher",
    "exam_codes": [
      "AB-620",
      "AB-731",
      "AI-300",
      "AI-901",
      "AZ-104",
      "AZ-140",
      "AZ-305",
      "AZ-400",
      "AZ-700",
      "AZ-900"
    ],
    "guide_inputs": [
      {
        "exam_code": "AB-620",
        "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
        "lf_sha256": "a472fb43a5e6fc6a582a4be801ce62e8ab729eaeb165683edc4bb9bfbba25a65",
        "lines": 776,
        "words": 10198,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              317,
              343
            ],
            [
              398,
              436
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AB-731",
        "guide_path": "guides/AB-731-ai-transformation-leader.md",
        "lf_sha256": "cd7e58a6066b5e288ca80648f794dfd3f124de4d383ebd27fe533eb230fa33dc",
        "lines": 514,
        "words": 7927,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              41,
              46
            ],
            [
              162,
              175
            ],
            [
              288,
              330
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AI-300",
        "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
        "lf_sha256": "4179a4db9e85b855814f317d8d198965d3225df1f44f751a69e868e658811efe",
        "lines": 646,
        "words": 8691,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              221,
              251
            ],
            [
              282,
              340
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AI-901",
        "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
        "lf_sha256": "15e19f3c7196a1011bb4f6eeb70595bf7a472354de842d5bba4f58dc859a14a0",
        "lines": 817,
        "words": 8485,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              460,
              560
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AZ-104",
        "guide_path": "guides/AZ-104-microsoft-azure-administrator.md",
        "lf_sha256": "71c1ac653621e80e1a3262a1ce36d7162de548542ce1070d07968659b8b5abd2",
        "lines": 693,
        "words": 9025,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              160,
              189
            ],
            [
              312,
              327
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AZ-140",
        "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
        "lf_sha256": "9ecabe2cc51fc705025e7dc3d96829931fb8003046ba991a48ad91473569e337",
        "lines": 831,
        "words": 9262,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              180,
              318
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AZ-305",
        "guide_path": "guides/AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
        "lf_sha256": "b1f6f924605d862556e950676cc2c7ab19a94a95e1fd4a62640a88605ff65214",
        "lines": 824,
        "words": 9879,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              475,
              489
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AZ-400",
        "guide_path": "guides/AZ-400-designing-implementing-microsoft-devops-solutions.md",
        "lf_sha256": "a048de1216925f464e3a8658fc1aaec6d5833d47e835c452813248b213e37fd4",
        "lines": 947,
        "words": 10932,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              289,
              316
            ],
            [
              416,
              425
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AZ-700",
        "guide_path": "guides/AZ-700-designing-implementing-azure-networking-solutions.md",
        "lf_sha256": "8b0ec1bd6b8d7a696ee565dca9896ea0456391124dfb0dd802f39ad4170fc236",
        "lines": 783,
        "words": 10702,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              143,
              177
            ],
            [
              228,
              233
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      },
      {
        "exam_code": "AZ-900",
        "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
        "lf_sha256": "f390616206b6788988d00e6f337bc339bef40778295fac471855c09e3869c3fd",
        "lines": 665,
        "words": 8893,
        "read_scope": {
          "complete_guide_read": false,
          "line_ranges": [
            [
              253,
              268
            ]
          ],
          "additional_scope": "Headings and selected retirement/preview keyword matches across all ten guides; not complete-body review. AB-620 initial combined guide output was truncated and is not counted as complete reading. AZ-140 all classic/iOS/context-based/regional-host-pool/Multipath matches also inspected."
        },
        "input_hash_still_matches": true
      }
    ],
    "disclosure": "Targeted technical research only. Not full semantic audit, human review, product/lab execution, exhaustive source review or blueprint acceptance. No shared guide/catalog/ledger changes made.",
    "sources": [
      {
        "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent",
        "exam_codes": [
          "AB-620"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–145, 151–203; transport, authentication, registration alternatives, connector policy.",
        "observations": "Existing transport/auth explanation remains supported; an additional centrally registered/approved server route is documented.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution."
      },
      {
        "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/enterprise-data-protection",
        "exam_codes": [
          "AB-731"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 34–72, naming, protections, web and agent terms plus geographic footnote.",
        "observations": "Selected guide already preserves current naming and web/model exclusions; no correction warranted.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/foundry/how-to/managed-virtual-network",
        "exam_codes": [
          "AI-300"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–119 and 121–355; modes, prerequisites, limitations, provisioning, verification, rule management and private endpoint semantics.",
        "observations": "CLI rule management now documented; account network injection still requires REST/template provisioning. No visible customer NIC for managed endpoints.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Selected body read; full template and every command not audited or run. Generic successful-agent test does not establish denied-egress security."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/whats-new",
        "exam_codes": [
          "AI-901"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–94; October, September and selected July/August release entries.",
        "observations": "October changes async PDF/TIFF page capacity and preview training-warning behavior; GA service and preview API remain distinct.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits",
        "exam_codes": [
          "AI-901"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–162; preview disclaimer, resource/model limits, file/operation limits and video restrictions.",
        "observations": "Sync document processing can be partial by page limit; completeness must be checked separately from success.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/storage/files/storage-files-active-directory-overview",
        "exam_codes": [
          "AZ-104"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–110; authentication model, identity matrix, client requirements and authorization.",
        "observations": "Three user identity sources remain; a workload managed identity can coexist independently.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/storage/files/files-managed-identities",
        "exam_codes": [
          "AZ-104"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–81; managed identity purpose, supported VM clients, prerequisites and SMBOAuth configuration.",
        "observations": "Keyless application SMB requires distinct configuration; Kerberos setting is independent.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Selected prerequisites/setup only; full mount commands and downstream ACL design not audited or executed."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new",
        "exam_codes": [
          "AZ-140"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–140; classic notice and October, September, selected August updates.",
        "observations": "October updates supersede September Government rollout and iOS preview statements. Classic retirement date has passed.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Full historical release archive not read; no client or host tested."
      },
      {
        "url": "https://learn.microsoft.com/en-us/windows-365/enterprise/context-based-redirections?tabs=windows-365",
        "exam_codes": [
          "AZ-140"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–158, including both visible product tab bodies and AVD-specific configuration/validation.",
        "observations": "AVD RemoteApp redirection uses host-pool RDP mapping; Windows 365 device-policy instructions must not be transferred.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath",
        "exam_codes": [
          "AZ-140"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–106; availability, prerequisites, network tables, scaling and verification.",
        "observations": "Availability table says Government GA; its Government endpoint-tab preview warning remains inconsistent.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Documentation discrepancy remains open; no negotiated transport, validation-ring or endpoint test performed."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-shortpath",
        "exam_codes": [
          "AZ-140"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–108 and 111–236; topology, GA status, relay regions and cloud-specific network tables.",
        "observations": "Current Government Shortpath GA and dedicated relay range corroborate October release notes.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Selected network/availability sections only; no connection or firewall change performed."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/frontdoor/migrate-tier",
        "exam_codes": [
          "AZ-305",
          "AZ-700"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–121; migration prerequisites, phases, DNS and post-migration cutover.",
        "observations": "Service retirement and classic-hostname cutover are separate milestones.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "No migration executed. HTTPS/affinity compatibility is selected scope, not a complete readiness checklist."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/vpn-gateway/gateway-sku-consolidation",
        "exam_codes": [
          "AZ-700"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–114; consolidation FAQ, generations, Basic exception and post-rollout errors.",
        "observations": "Post-rollout non-AZ gateways reject management/configuration until migration; retained support wording alone is incomplete.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/cost-management-billing/savings-plan/savings-plan-overview",
        "exam_codes": [
          "AZ-900"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Final redirected article rendered lines 32–113; commitments, product scopes, billing, cancellation and rate changes.",
        "observations": "Existing hourly-expiry explanation is supported; cancellation and discount-rate limits add useful cost-risk context.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Opened original savings-plan-compute-overview URL, which redirected here. No purchase or financial recommendation."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/tutorial-acm-create-budgets",
        "exam_codes": [
          "AZ-900"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 31–102; alert timing, scopes, permissions and reset behavior.",
        "observations": "Selected guide accurately separates delayed budget alerts from resource shutdown; no correction needed.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution."
      },
      {
        "url": "https://github.blog/changelog/2026-08-27-actions-retention-will-cover-checks-workflow-runs-and-statuses/",
        "exam_codes": [
          "AZ-400"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 33–55; retention scope, caps, billing and archive guidance.",
        "observations": "Existing guide correctly records October 1 scope expansion; avoid redundant edit.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Public GitHub announcement reviewed; no repository setting or archive inspected."
      },
      {
        "url": "https://github.blog/changelog/2026-10-28-github-actions-workflow-lockfiles-are-generally-available/",
        "exam_codes": [
          "AZ-400"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 17–32; complete substantive announcement.",
        "observations": "Workflow dependency lockfiles became GA today; this updates available dependency controls.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "Announcement plus linked concept documentation reviewed; CLI extension not installed or run."
      },
      {
        "url": "https://docs.github.com/en/actions/concepts/security/workflow-dependency-lockfiles",
        "exam_codes": [
          "AZ-400"
        ],
        "opened_on": "2026-10-28",
        "read_scope": "Rendered lines 20–81; complete substantive conceptual body and illustrative lockfile.",
        "observations": "Actions and transitive actions are covered; reusable workflow calls still require their own SHA pin.",
        "confidence": "high: current first-party documentation for the stated scope",
        "limitations": "No CLI execution, lockfile generation or policy validation. Source format example not copied."
      }
    ],
    "proposed_changes": [
      {
        "exam_code": "AB-620",
        "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
        "old_text": "Establish server ownership, source/deployment trust, transport security, authentication (OAuth 2.0/API key where supported), tool scopes, data handling, error semantics, versioning, availability, audit, and incident process. Power Platform data policies can govern MCP connectivity because Copilot Studio uses connector infrastructure.",
        "replacement_markdown": "Establish server ownership, source/deployment trust, transport security, authentication (OAuth 2.0/API key where supported), tool scopes, data handling, error semantics, versioning, availability, audit, and incident process. Power Platform data policies can govern MCP connectivity because Copilot Studio uses connector infrastructure.\n\n> **Related item:** **VERIFY CURRENT:** The [current connection procedure](https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent) also describes registering an existing MCP server through Agents 365, then obtaining approval before it becomes available in Copilot Studio. Treat registration/approval, connection authentication and downstream authorization as separate evidence. For a design exercise, compare direct wizard onboarding with a centrally approved server: record the server owner, approving administrator, effective caller identity, tool inventory and revocation path. Server discoverability does not prove that a particular user may read or change a protected record.",
        "reason": "Add a bounded governance decision for an actually documented onboarding route without requiring tenant execution.",
        "sources": [
          "https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent"
        ],
        "objective_mapping": "Integrate connectors/MCP and plan security/governance; adjacent administrative route explicitly labeled Related item.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AI-300",
        "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
        "old_text": "Foundry's managed VNet governs **agent outbound access**; inbound private access and dependent-resource identity remain separate decisions. `AllowInternetOutbound` permits internet access; `AllowOnlyApprovedOutbound` restricts destinations through approved rules. Current guidance supports prompt/hosted agents with the Responses API in listed regions. The portal does not create this managed network; use the supported IaC/REST path and verify provisioning/endpoint approval.",
        "replacement_markdown": "**VERIFY CURRENT:** Foundry managed VNet controls agent outbound traffic; inbound private access and dependency authorization remain separate. The [current procedure](https://learn.microsoft.com/en-us/azure/foundry/how-to/managed-virtual-network) documents preview Azure CLI managed-network/rule commands requiring CLI 2.86.0 or later, but creation of the account with network injection still uses REST or an IaC template. Managed private endpoints do not create a customer-visible NIC. If an agent cannot reach Search, inspect the outbound-rule state, target private-endpoint approval and data permissions; searching only your subscription for a NIC can misdiagnose the boundary. A successful permitted request does not establish that an unapproved destination is blocked.",
        "reason": "Update provisioning/tooling boundary and add an observable diagnostic distinction; retain next paragraph irreversibility guidance.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/foundry/how-to/managed-virtual-network"
        ],
        "objective_mapping": "GenAIOps infrastructure: provision Foundry infrastructure and implement secure networking.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AI-901",
        "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
        "old_text": "Check the [release history](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/whats-new) for feature-specific support. Read/Layout does not require an LLM deployment. For model-dependent analyzers, inspect `supportedModels` and map supported names/aliases to actual deployments. [Model configuration guidance](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/concepts/models-deployments) supports resource defaults or per-request `modelDeployments`; request mappings override defaults. Prebuilt aliases such as `prebuilt-analyzer-completion` are not deployment names. Account for both model token charges and Content Understanding usage.",
        "replacement_markdown": "Check the [release history](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/whats-new) for feature-specific support. Read/Layout does not require an LLM deployment. For model-dependent analyzers, inspect `supportedModels` and map supported names/aliases to actual deployments. [Model configuration guidance](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/concepts/models-deployments) supports resource defaults or per-request `modelDeployments`; request mappings override defaults. Prebuilt aliases such as `prebuilt-analyzer-completion` are not deployment names. Account for both model token charges and Content Understanding usage.\n\n**VERIFY CURRENT — completeness check (October 28, 2026):** The [October release notes](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/whats-new) raise asynchronous PDF/TIFF analysis to 2,000 pages, while synchronous Read/Layout remains limited to five pages. The [operation-limit table](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits) warns that a longer synchronous document can yield only its first five pages unless an appropriate page range is requested. In an original paper exercise, a seven-page invoice packet returning five pages has **5/7 page coverage**, even if all returned fields are correct. Reconcile expected pages and source regions before calling the packet complete; choose supported asynchronous processing when the whole input is needed.",
        "reason": "Add current October change with a concrete partial-success failure mode without copying model-list trivia.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/whats-new",
          "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits"
        ],
        "objective_mapping": "Implement information extraction with Content Understanding; input limits, operation contracts and result validation.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AZ-104",
        "guide_path": "guides/AZ-104-microsoft-azure-administrator.md",
        "old_text": "[Azure Files SMB identity authentication](https://learn.microsoft.com/en-us/azure/storage/files/storage-files-active-directory-overview) needs a supported identity source, share-level permissions, file/directory permissions, a prepared client and network/DNS reachability. The user identity sources are AD DS, Microsoft Entra Domain Services and Microsoft Entra Kerberos; select one per storage account. Client/identity support differs, including preview combinations. This SMB design is not NFS identity authorization. A successful mount or a share role alone does not prove access to every file. Diagnose ticket acquisition, share permissions and directory ACLs separately.",
        "replacement_markdown": "[Azure Files SMB identity authentication](https://learn.microsoft.com/en-us/azure/storage/files/storage-files-active-directory-overview) needs a supported identity source, share-level permissions, file/directory permissions, a prepared client and network/DNS reachability. The user identity sources are AD DS, Microsoft Entra Domain Services and Microsoft Entra Kerberos; select one per storage account. Client/identity support differs, including preview combinations. This SMB design is not NFS identity authorization. A successful mount or a share role alone does not prove access to every file. Diagnose ticket acquisition, share permissions and directory ACLs separately.\n\n> **Related item:** **VERIFY CURRENT:** For application workloads, [Azure Files managed-identity SMB access](https://learn.microsoft.com/en-us/azure/storage/files/files-managed-identities) can coexist with user authentication; it is not a fourth mutually exclusive user directory. Current prerequisites require a client that is not domain joined, the storage account's `SMBOAuth` setting and a separate SMB Kerberos-authentication setting. A role assignment alone cannot create this path. In a design worksheet, distinguish a person opening an FSLogix profile from a VM application mounting a share: record identity, client join state, share/file permissions and network reachability for each. Do not copy the application path into user-profile instructions without checking support.",
        "reason": "Add workload-vs-user distinction and concrete setup boundary from current product documentation.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/storage/files/storage-files-active-directory-overview",
          "https://learn.microsoft.com/en-us/azure/storage/files/files-managed-identities"
        ],
        "objective_mapping": "Implement/manage Azure Files and identity-based storage access; workload path marked Related item.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AZ-140",
        "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
        "old_text": "**Near-term lifecycle checks:** [AVD classic](https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new) retires **September 30, 2026**, after which connections to classic resources are blocked. Its retirement is separate from the active AZ-140 certification. See section 4 for client and Teams optimization deadlines.",
        "replacement_markdown": "**Lifecycle check — VERIFY CURRENT:** [AVD classic](https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new) retired **September 30, 2026**; Microsoft states connections to classic resources are blocked after retirement. This is separate from active AZ-140 certification. Identify ARM-based host pools before following current configuration procedures; section 4 separately tracks clients and Teams optimization.",
        "reason": "Convert elapsed classic deadline into present lifecycle guidance without implying the certification retired.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new"
        ],
        "objective_mapping": "Plan infrastructure and migrations; lifecycle boundary.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AZ-140",
        "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
        "old_text": "The September documentation distinguishes public-cloud availability from Azure Government's phased redundant-TCP rollout and macOS **Beta** UDP support. Windows App version requirements also differ for multiple UDP paths and redundant TCP. Use the current [Multipath prerequisites](https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath) for the exact client/cloud combination. Standby paths improve resilience; they do not promise summed bandwidth or survival when every network path is lost. TURN is a relay, so a UDP connection is not necessarily a direct client-to-host route.",
        "replacement_markdown": "**VERIFY CURRENT — documentation discrepancy:** The October release notes and [current Multipath availability matrix](https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath) now list Azure Government multiple-UDP and redundant-TCP paths as generally available; [Shortpath guidance](https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-shortpath) also lists Government TURN as GA. However, Multipath's Government endpoint tab still says preview/validation ring. Preserve that conflict when planning a Government lab and verify the actual client/cloud endpoints. macOS UDP support remains tied to the documented Beta client. Standby paths improve resilience rather than adding bandwidth, and complete network loss still requires reconnection. TURN remains a relay.",
        "reason": "Update superseded September Government rollout wording while making contradictory first-party tab text visible.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new",
          "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath",
          "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-shortpath"
        ],
        "objective_mapping": "Plan and implement networking, RDP Shortpath and transport troubleshooting.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AZ-140",
        "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
        "old_text": "**VERIFY CURRENT:** Defender licensing/onboarding, supported security VM types, Intune multi-session policy support, redirection defaults and App Control terminology/behavior.",
        "replacement_markdown": "**VERIFY CURRENT:** Defender licensing/onboarding, supported security VM types, Intune multi-session policy support, redirection defaults and App Control terminology/behavior.\n\n> **Related item:** **VERIFY CURRENT:** [Context-based redirections](https://learn.microsoft.com/en-us/windows-365/enterprise/context-based-redirections?tabs=windows-365) are preview and now include AVD RemoteApp sessions. Map a Conditional Access authentication context to the host pool's RDP properties for clipboard, drives, printers or USB. The authentication-context identifier is a link to policy requirements, not an authorization grant by itself. Do not transfer the article's Windows 365 Intune device-policy steps to AVD. For an artifact exercise, specify expected redirection for a compliant device and a BYOD device, then repeat the matrix for desktop and RemoteApp. Actual client/session behavior and overriding policies still need validation.",
        "reason": "Add a specific October feature with product-boundary and validation guidance.",
        "sources": [
          "https://learn.microsoft.com/en-us/windows-365/enterprise/context-based-redirections?tabs=windows-365",
          "https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new"
        ],
        "objective_mapping": "Implement security and redirection policies; newly available preview behavior distinguished from static requirements.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AZ-305",
        "guide_path": "guides/AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
        "old_text": "[Front Door classic retires March 31, 2027](https://learn.microsoft.com/en-us/azure/frontdoor/migrate-tier). Migration to Standard/Premium requires readiness checks such as HTTPS for custom domains and compatible affinity settings. The documented flow avoids DNS changes before/during migration but requires the DNS update afterward; retain verification and rollback decision points appropriate to the actual migration stage.",
        "replacement_markdown": "**VERIFY CURRENT:** [Front Door classic migration guidance](https://learn.microsoft.com/en-us/azure/frontdoor/migrate-tier) separates **March 31, 2027 service retirement** from the **March 31, 2028 deadline to cut over migrated classic endpoints**. From April 1, 2028, those classic endpoints may stop functioning. Migration requires compatible HTTPS/affinity settings; DNS changes follow migration. Inventory both custom-domain DNS records and applications that directly use the classic default hostname. The former must point to the new endpoint; the latter need the hostname replaced in clients/integrations. Successful profile migration alone does not complete that dependency cleanup. Record migration validation, endpoint cutover and rollback decisions as separate evidence.",
        "reason": "Teach distinct service-retirement and migrated-endpoint milestones, covering direct consumers as well as DNS.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/frontdoor/migrate-tier"
        ],
        "objective_mapping": "Design migration and application-delivery/network infrastructure.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AZ-400",
        "guide_path": "guides/AZ-400-designing-implementing-microsoft-devops-solutions.md",
        "old_text": "Pin reviewed actions to full commit SHAs; pinning does not itself establish that the pinned code is safe.",
        "replacement_markdown": "Pin reviewed actions to full commit SHAs; pinning does not itself establish that the pinned code is safe.\n\n**VERIFY CURRENT (October 28, 2026):** [Workflow dependency lockfiles are now GA](https://github.blog/changelog/2026-10-28-github-actions-workflow-lockfiles-are-generally-available/). Onboarded workflows can keep readable action tags while running locked commits in `.github/workflows/actions.lock`. The [lockfile contract](https://docs.github.com/en/actions/concepts/security/workflow-dependency-lockfiles) covers transitive action dependencies, but not reusable-workflow calls: pin `jobs.<job_id>.uses` to a full commit SHA, and check the called repository's own dependency locking. Generate and review the file through `gh actions-lock`; do not hand-edit it. A lock fixes dependency resolution, not secrets, runner images, parameters or whether the selected code is safe.",
        "reason": "Update an incomplete dependency-control model with today's GA capability and the important reusable-workflow exclusion.",
        "sources": [
          "https://github.blog/changelog/2026-10-28-github-actions-workflow-lockfiles-are-generally-available/",
          "https://docs.github.com/en/actions/concepts/security/workflow-dependency-lockfiles"
        ],
        "objective_mapping": "Design security/compliance strategy and protect pipeline dependencies; source-control/pipeline reproducibility.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AZ-700",
        "guide_path": "guides/AZ-700-designing-implementing-azure-networking-solutions.md",
        "old_text": "The [VPN Gateway consolidation guidance](https://learn.microsoft.com/en-us/azure/vpn-gateway/gateway-sku-consolidation) ends new non-AZ `VpnGw1`–`VpnGw5` creation and describes migration to AZ SKUs. Existing non-AZ gateways remain supported until migrated; the page schedules deprecation after September 2026. **Basic gateway SKU is not retiring**, and Gen1 has no announced retirement. Legacy Standard/HighPerformance gateways have a separate migration program.",
        "replacement_markdown": "**VERIFY CURRENT:** [VPN Gateway consolidation guidance](https://learn.microsoft.com/en-us/azure/vpn-gateway/gateway-sku-consolidation) blocks new non-AZ `VpnGw1`–`VpnGw5` creation and retains support until migration, but now warns that **after the rollout, management/configuration operations on non-AZ gateways fail until migration to an AZ SKU**. A working existing tunnel therefore does not prove that the gateway remains fully manageable. Inventory the actual SKU and public-IP/generation combination before choosing its procedure. Basic gateway SKU is not retiring; Gen1 has no announced retirement. Legacy Standard/HighPerformance gateways follow a separate program. Do not infer a universal traffic shutdown date from the deprecated-SKU notice.",
        "reason": "Close a material operational omission: continuing traffic/support differs from ability to modify configuration.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/vpn-gateway/gateway-sku-consolidation"
        ],
        "objective_mapping": "Design, implement and manage connectivity services; VPN SKUs and migration.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      },
      {
        "exam_code": "AZ-900",
        "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
        "old_text": "[Reservations](https://learn.microsoft.com/en-us/azure/cost-management-billing/reservations/save-compute-costs-reservations) discount matching usage for specified products/attributes; some cover storage or database capacity, not just VMs. [Savings plans](https://learn.microsoft.com/en-us/azure/cost-management-billing/savings-plan/savings-plan-compute-overview) use a fixed hourly spend commitment over one or three years, with distinct compute and database offerings. Unused hourly commitment does not roll forward. Neither offer starts, resizes or shuts down resources, and a billing discount is not a capacity reservation. Compare actual eligible steady usage before choosing a commitment.",
        "replacement_markdown": "[Reservations](https://learn.microsoft.com/en-us/azure/cost-management-billing/reservations/save-compute-costs-reservations) discount matching usage for specified products/attributes; some cover storage or database capacity, not just VMs. [Savings plans](https://learn.microsoft.com/en-us/azure/cost-management-billing/savings-plan/savings-plan-overview) use a fixed hourly spend commitment over one or three years, with distinct compute and database offerings. Unused hourly commitment does not roll forward. Neither offer starts, resizes or shuts down resources, and a billing discount is not a capacity reservation. Compare actual eligible steady usage before choosing a commitment.\n\n**Related item:** **VERIFY CURRENT:** The [current savings-plan terms](https://learn.microsoft.com/en-us/azure/cost-management-billing/savings-plan/savings-plan-overview) state that purchases cannot be canceled or refunded, and that applicable discount prices can change. A one- or three-year hourly commitment is therefore not a promise to freeze every rate or cover every invoice item. In an original worksheet, separate eligible infrastructure from networking, storage and software charges before comparing options. Monthly payment changes the payment schedule rather than removing the commitment; investigate uncertain demand before making a purchase. No purchase is required for this exercise.",
        "reason": "Use final canonical URL and add bounded commitment-risk distinction without giving purchase advice.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/cost-management-billing/savings-plan/savings-plan-overview"
        ],
        "objective_mapping": "Describe cost management and factors affecting Azure cost; commitments and cost estimation.",
        "confidence": "Confirmed for selected source statements; proposed teaching examples are original and not executed."
      }
    ],
    "newsourceobjects": [
      {
        "id": "ai901-content-understanding-service-limits",
        "title": "Content Understanding service quotas and limits",
        "url": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/service-limits",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-901"
        ],
        "notes": "October28 selected operation/file limits and preview disclaimer reviewed. Completeness and source regions, not live processing."
      },
      {
        "id": "az104-files-managed-identities",
        "title": "Use managed identities with Azure Files",
        "url": "https://learn.microsoft.com/en-us/azure/storage/files/files-managed-identities",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-104"
        ],
        "notes": "October28 selected workload identity prerequisites and configuration reviewed; full mount workflow not executed."
      },
      {
        "id": "az140-context-based-redirections",
        "title": "Configure context-based redirections (Preview)",
        "url": "https://learn.microsoft.com/en-us/windows-365/enterprise/context-based-redirections?tabs=windows-365",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-140"
        ],
        "notes": "October28 selected AVD and Windows365 distinctions; preview RemoteApp redirection configuration and validation reviewed, not executed."
      },
      {
        "id": "az900-savings-plan-current-overview",
        "title": "What are savings plans?",
        "url": "https://learn.microsoft.com/en-us/azure/cost-management-billing/savings-plan/savings-plan-overview",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-900"
        ],
        "notes": "Final destination of savings-plan-compute-overview redirect. October28 hourly commitments, cancellation and rate-change sections reviewed; no purchase."
      },
      {
        "id": "az400-actions-lockfiles-ga-2026",
        "title": "GitHub Actions workflow lockfiles are generally available",
        "url": "https://github.blog/changelog/2026-10-28-github-actions-workflow-lockfiles-are-generally-available/",
        "publisher": "GitHub",
        "authority_class": 2,
        "source_type": "official-announcement",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-400"
        ],
        "notes": "Dated October28 GA announcement read. Implementation boundaries checked separately in GitHub Docs; extension not run."
      },
      {
        "id": "az400-actions-dependency-lockfiles",
        "title": "Workflow dependency lockfiles",
        "url": "https://docs.github.com/en/actions/concepts/security/workflow-dependency-lockfiles",
        "publisher": "GitHub",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-400"
        ],
        "notes": "October28 concept body read: transitive actions, reusable workflow exclusion, repository scope and dependency safety. No lockfile generated."
      }
    ],
    "source_catalog_refresh": [
      {
        "id": "ab100-mcp-existing-server",
        "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–145, 151–203; transport, authentication, registration alternatives, connector policy. Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AB-620"
        ]
      },
      {
        "id": "ab731-edp",
        "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/enterprise-data-protection",
        "append_notes": "October28 group03 technical body review: Rendered lines 34–72, naming, protections, web and agent terms plus geographic footnote. Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AB-731"
        ]
      },
      {
        "id": "ai300-network",
        "url": "https://learn.microsoft.com/en-us/azure/foundry/how-to/managed-virtual-network",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–119 and 121–355; modes, prerequisites, limitations, provisioning, verification, rule management and private endpoint semantics. Selected body read; full template and every command not audited or run. Generic successful-agent test does not establish denied-egress security.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AI-300"
        ]
      },
      {
        "id": "ai103-content-understanding-whats-new",
        "url": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/whats-new",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–94; October, September and selected July/August release entries. Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AI-901"
        ]
      },
      {
        "id": "az-800-azure-files-identity",
        "url": "https://learn.microsoft.com/en-us/azure/storage/files/storage-files-active-directory-overview",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–110; authentication model, identity matrix, client requirements and authorization. Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AZ-104"
        ]
      },
      {
        "id": "az140-news",
        "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–140; classic notice and October, September, selected August updates. Full historical release archive not read; no client or host tested.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AZ-140"
        ]
      },
      {
        "id": "az-140-rdp-multipath",
        "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–106; availability, prerequisites, network tables, scaling and verification. Documentation discrepancy remains open; no negotiated transport, validation-ring or endpoint test performed.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AZ-140"
        ]
      },
      {
        "id": "az-140-rdp-shortpath",
        "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-shortpath",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–108 and 111–236; topology, GA status, relay regions and cloud-specific network tables. Selected network/availability sections only; no connection or firewall change performed.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AZ-140"
        ]
      },
      {
        "id": "az305-frontdoor",
        "url": "https://learn.microsoft.com/en-us/azure/frontdoor/migrate-tier",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–121; migration prerequisites, phases, DNS and post-migration cutover. No migration executed. HTTPS/affinity compatibility is selected scope, not a complete readiness checklist.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AZ-305",
          "AZ-700"
        ]
      },
      {
        "id": "az700-vpn-skus",
        "url": "https://learn.microsoft.com/en-us/azure/vpn-gateway/gateway-sku-consolidation",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–114; consolidation FAQ, generations, Basic exception and post-rollout errors. Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AZ-700"
        ]
      },
      {
        "id": "az900-budgets",
        "url": "https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/tutorial-acm-create-budgets",
        "append_notes": "October28 group03 technical body review: Rendered lines 31–102; alert timing, scopes, permissions and reset behavior. Public article text reviewed despite Learn authorization banner; no tenant, cloud or lab execution.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AZ-900"
        ]
      },
      {
        "id": "github-actions-retention-expansion-2026",
        "url": "https://github.blog/changelog/2026-08-27-actions-retention-will-cover-checks-workflow-runs-and-statuses/",
        "append_notes": "October28 group03 technical body review: Rendered lines 33–55; retention scope, caps, billing and archive guidance. Public GitHub announcement reviewed; no repository setting or archive inspected.",
        "last_checked": "2026-10-28",
        "exam_codes": [
          "AZ-400"
        ]
      }
    ],
    "unchanged_guides": [
      {
        "exam_code": "AB-731",
        "reason": "Selected terminology, enterprise protection, licensing and measurement passages remain supported; no forced content change."
      }
    ],
    "retained_blockers": {
      "ai_audit_open_findings": "No open findings for the ten exam codes found in data/ai-audits.json result findings; this is a ledger query, not a complete latest-source-validation audit.",
      "new_discrepancy": "AZ-140 Multipath availability matrix and Government endpoint-tab warning conflict. Proposed wording preserves and bounds it."
    },
    "unresolved_questions": [
      "AZ-140 actual Government client/validation-ring behavior has not been observed. Consult updated product guidance or test an authorized disposable environment before implementation.",
      "AB-620 training release metadata belongs to exam/learning researchers; do not treat this technical selected-scope pass as verification of its initial training-availability statement.",
      "Root must compare guide hashes to immutable group03 inputs when frozen; no claim these preliminary inputs are the final packet."
    ],
    "failed_leads": [
      {
        "url": "https://github.blog/changelog/2026-10-26-workflow-execution-protections-in-github-actions/",
        "result": "Tool could not access speculative lead; not accepted, not cited and not used as evidence."
      }
    ],
    "bounded_recommendation": "Apply exact proposed passages after coordinator reconciliation, retain dates/history, catalog new exact URLs, refresh only actually read source scopes, and supply complete guides to separate fresh-context reviewer. Do not advance full-guide audit dates from this report."
  },
  "learning_research": {
    "schema_version": 1,
    "role": "read-only learning-resource researcher",
    "reviewed_on": "2026-10-28",
    "packet": "group-03",
    "exams": [
      "AB-620",
      "AB-731",
      "AI-300",
      "AI-901",
      "AZ-104",
      "AZ-140",
      "AZ-305",
      "AZ-400",
      "AZ-700",
      "AZ-900"
    ],
    "input_hashes": [
      {
        "exam_code": "AB-620",
        "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
        "preliminary_input_lf_sha256": "a472fb43a5e6fc6a582a4be801ce62e8ab729eaeb165683edc4bb9bfbba25a65",
        "delivery_lf_sha256": "a472fb43a5e6fc6a582a4be801ce62e8ab729eaeb165683edc4bb9bfbba25a65",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AB-731",
        "guide_path": "guides/AB-731-ai-transformation-leader.md",
        "preliminary_input_lf_sha256": "cd7e58a6066b5e288ca80648f794dfd3f124de4d383ebd27fe533eb230fa33dc",
        "delivery_lf_sha256": "cd7e58a6066b5e288ca80648f794dfd3f124de4d383ebd27fe533eb230fa33dc",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AI-300",
        "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
        "preliminary_input_lf_sha256": "4179a4db9e85b855814f317d8d198965d3225df1f44f751a69e868e658811efe",
        "delivery_lf_sha256": "4179a4db9e85b855814f317d8d198965d3225df1f44f751a69e868e658811efe",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AI-901",
        "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
        "preliminary_input_lf_sha256": "15e19f3c7196a1011bb4f6eeb70595bf7a472354de842d5bba4f58dc859a14a0",
        "delivery_lf_sha256": "15e19f3c7196a1011bb4f6eeb70595bf7a472354de842d5bba4f58dc859a14a0",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AZ-104",
        "guide_path": "guides/AZ-104-microsoft-azure-administrator.md",
        "preliminary_input_lf_sha256": "71c1ac653621e80e1a3262a1ce36d7162de548542ce1070d07968659b8b5abd2",
        "delivery_lf_sha256": "71c1ac653621e80e1a3262a1ce36d7162de548542ce1070d07968659b8b5abd2",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AZ-140",
        "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
        "preliminary_input_lf_sha256": "9ecabe2cc51fc705025e7dc3d96829931fb8003046ba991a48ad91473569e337",
        "delivery_lf_sha256": "9ecabe2cc51fc705025e7dc3d96829931fb8003046ba991a48ad91473569e337",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AZ-305",
        "guide_path": "guides/AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
        "preliminary_input_lf_sha256": "b1f6f924605d862556e950676cc2c7ab19a94a95e1fd4a62640a88605ff65214",
        "delivery_lf_sha256": "b1f6f924605d862556e950676cc2c7ab19a94a95e1fd4a62640a88605ff65214",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AZ-400",
        "guide_path": "guides/AZ-400-designing-implementing-microsoft-devops-solutions.md",
        "preliminary_input_lf_sha256": "a048de1216925f464e3a8658fc1aaec6d5833d47e835c452813248b213e37fd4",
        "delivery_lf_sha256": "a048de1216925f464e3a8658fc1aaec6d5833d47e835c452813248b213e37fd4",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AZ-700",
        "guide_path": "guides/AZ-700-designing-implementing-azure-networking-solutions.md",
        "preliminary_input_lf_sha256": "8b0ec1bd6b8d7a696ee565dca9896ea0456391124dfb0dd802f39ad4170fc236",
        "delivery_lf_sha256": "8b0ec1bd6b8d7a696ee565dca9896ea0456391124dfb0dd802f39ad4170fc236",
        "unchanged_since_preliminary": true
      },
      {
        "exam_code": "AZ-900",
        "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
        "preliminary_input_lf_sha256": "f390616206b6788988d00e6f337bc339bef40778295fac471855c09e3869c3fd",
        "delivery_lf_sha256": "f390616206b6788988d00e6f337bc339bef40778295fac471855c09e3869c3fd",
        "unchanged_since_preliminary": true
      }
    ],
    "method": "Read required repository policies and complete Places to learn sections for ten guides. Inspected public course/path outlines, selected full public lab/unit/repository bodies and one named-author article. Only exclusive learning-* scratch outputs were written; no shared guide/catalog/ledger edits. Dates distinguish publication/update from checked date; durations distinguish published timing from editorial task budgets.",
    "observations": [
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-620t00",
        "affected_exams": [
          "AB-620"
        ],
        "title": "Design and build integrated AI agent solutions in Copilot Studio",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 3 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ab-620-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-731t00",
        "affected_exams": [
          "AB-731"
        ],
        "title": "Drive AI transformation in your organization",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 1 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ab-731-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ai-300t00",
        "affected_exams": [
          "AI-300"
        ],
        "title": "Operationalize machine learning and generative AI solutions",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ai-300-ai-300t00-operationalize-machine-learning-and-generative-ai-solutions",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ai-901t00",
        "affected_exams": [
          "AI-901"
        ],
        "title": "Introduction to AI in Azure",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 1 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "microsoft-ai-901-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/az-104t00",
        "affected_exams": [
          "AZ-104"
        ],
        "title": "Microsoft Azure Administrator",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "az-104-microsoft-learn-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/az-140t00",
        "affected_exams": [
          "AZ-140"
        ],
        "title": "Configure and Operate Microsoft Azure Virtual Desktop",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "az-140-microsoft-learn-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/az-305t00",
        "affected_exams": [
          "AZ-305"
        ],
        "title": "Design Microsoft Azure Infrastructure Solutions",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "az-305-microsoft-learn-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/az-400t00",
        "affected_exams": [
          "AZ-400"
        ],
        "title": "Design and Implement Microsoft DevOps solutions",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "az-400-microsoft-learn-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/az-700t00",
        "affected_exams": [
          "AZ-700"
        ],
        "title": "Design and Implement Microsoft Azure Network Solutions",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 3 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "az-700-microsoft-learn-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/az-900t00",
        "affected_exams": [
          "AZ-900"
        ],
        "title": "Introduction to Cloud Infrastructure",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public course overview, audience and at-a-glance metadata read.",
        "observation": "Published instructor-led duration remains 1 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "microsoft-az-900-course",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/design-agent-conversations-responses-topics-copilot-studio/",
        "affected_exams": [
          "AB-620"
        ],
        "title": "Design agent conversations and responses using topics",
        "opened_on": "2026-10-28",
        "read_scope": "Entire three-module public path outline read.",
        "observation": "All three modules carry classic-experience warnings; Adaptive Cards, topics/tools and generative-answer descriptions are visible.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Historical 2h17 total not reproduced; module bodies not read; no tenant execution.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ab-620-learn-topics-path",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/design-build-multi-agent-solutions-copilot-studio/",
        "affected_exams": [
          "AB-620"
        ],
        "title": "Design and build multi-agent solutions",
        "opened_on": "2026-10-28",
        "read_scope": "Entire four-module public path outline read.",
        "observation": "Design module now explicitly covers standard and GitHub Copilot harnesses; child-agent, connected-agent and A2A modules retain classic-experience warnings.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Historical 2h54 total not reproduced; outline does not establish implementation availability in a particular tenant.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ab-620-learn-multi-agent-path",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/integrate-agents-enterprise-systems-copilot-studio/",
        "affected_exams": [
          "AB-620"
        ],
        "title": "Integrate agents with enterprise systems",
        "opened_on": "2026-10-28",
        "read_scope": "Entire four-module public path outline read.",
        "observation": "Connectors/REST, grounding, integration selection and MCP remain visible; all four modules carry classic-experience warnings.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Historical 3h18 total not reproduced; no connector/server provisioning or execution.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ab-620-learn-enterprise-integration-path",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/modules/design-multi-agent-solutions-copilot-studio/3-design-agent-organization",
        "affected_exams": [
          "AB-620"
        ],
        "title": "Identify implementation options by harness",
        "opened_on": "2026-10-28",
        "read_scope": "Entire 4-minute public unit body read, including delegation table, workflow calls and preview note.",
        "observation": "Provides a concrete comparison worksheet for ownership, lifecycle, harness and supported delegation; building blocks differ by harness.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Four minutes is published reading time, not exercise duration. Preview/status table is volatile; recheck current product documentation. No agent run.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/explore-business-value-generative-ai-solutions/",
        "affected_exams": [
          "AB-731"
        ],
        "title": "Explore the business value of generative AI solutions",
        "opened_on": "2026-10-28",
        "read_scope": "Entire two-module public outline read.",
        "observation": "Foundations and effective-solution modules support business use-case and grounding decisions.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No current total runtime established; no quiz/module execution.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ab-731-path-business-value",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/drive-value-generative-ai-solutions/",
        "affected_exams": [
          "AB-731"
        ],
        "title": "Drive business value with AI solutions",
        "opened_on": "2026-10-28",
        "read_scope": "Entire two-module public outline read.",
        "observation": "Copilot and Foundry Tools provide a business product-selection sequence.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No current total runtime established; overview licensing language is not an entitlement contract.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ab-731-path-drive-value",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/transform-your-business-with-microsoft-ai/",
        "affected_exams": [
          "AB-731"
        ],
        "title": "Transform your business with AI",
        "opened_on": "2026-10-28",
        "read_scope": "Entire four-module public outline read.",
        "observation": "Tools, business value, responsible AI and scale form a leadership learning sequence.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Historical aggregate runtime not reproduced; no paid interior or quiz inspected.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ab-731-path-transform",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/modules/create-business-value/2-business-strategy",
        "affected_exams": [
          "AB-731"
        ],
        "title": "Business strategy for AI value",
        "opened_on": "2026-10-28",
        "read_scope": "Entire 3-minute public unit body read.",
        "observation": "Impact, feasibility, time to value, measurability and risk criteria; baseline KPIs and portfolio stage gates support an original pilot worksheet.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Do not reproduce the unattributed Gartner statistic as validated independent evidence. Published three minutes is reading only; outcomes are not promised returns.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/ai-concepts/",
        "affected_exams": [
          "AI-901"
        ],
        "title": "AI concepts for developers and technology professionals",
        "opened_on": "2026-10-28",
        "read_scope": "Entire seven-module public outline read.",
        "observation": "Workloads include generative AI/agents, NLP, speech, vision, extraction and RAG.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No aggregate runtime exposed; no unit/quiz execution.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "microsoft-ai-concepts-learning-path-ai901",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/get-started-ai-apps-agents/",
        "affected_exams": [
          "AI-901"
        ],
        "title": "Get started with AI applications and agents on Azure",
        "opened_on": "2026-10-28",
        "read_scope": "Entire seven-module public outline read.",
        "observation": "Final module is now Get started with Microsoft Foundry IQ; public description distinguishes knowledge retrieval from other workloads.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No aggregate runtime exposed; Python prerequisite is visible. No exercises or model calls executed.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "microsoft-ai-apps-agents-learning-path-ai901",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/modules/get-started-foundry-iq/",
        "affected_exams": [
          "AI-901"
        ],
        "title": "Get started with Microsoft Foundry IQ",
        "opened_on": "2026-10-28",
        "read_scope": "Entire seven-unit module overview/objectives read.",
        "observation": "Knowledge bases, indexed/remote knowledge sources, agentic retrieval and an exercise are listed.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Actual exercise body not read or executed; no fixed module runtime established; outline is learning metadata, not a technical control guarantee.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://www.pluralsight.com/courses/implement-ai-solutions-by-using-microsoft-foundry--ai-901",
        "affected_exams": [
          "AI-901"
        ],
        "title": "Implement AI Solutions by Using Microsoft Foundry AI-901",
        "opened_on": "2026-10-28",
        "read_scope": "Public landing description and six-part detailed table of contents read.",
        "observation": "Clint Bonnett; 1h59; Last Updated September 16, 2026. Covers model/chat/agent clients, text/speech, vision and Content Understanding; explicitly targets second exam domain.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Paid lessons, video playback, downloads and lab execution not accessed. Add concepts and current retrieval study separately; no guarantee of full blueprint coverage.",
        "publication_or_update": "Last updated September 16, 2026; publication date not separately shown",
        "source_catalog_match": "ai901-pluralsight",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://github.com/Azure/mlops-v2",
        "affected_exams": [
          "AI-300"
        ],
        "title": "Azure MLOps v2 solution accelerator",
        "opened_on": "2026-10-28",
        "read_scope": "README overview, prerequisites and documentation links read.",
        "observation": "Adaptable templates require organization-specific customization; Azure quotas may block learning subscriptions.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No deployment or dependency audit; repository marketing about enterprise readiness is not proof of production suitability.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ai-300-azure-mlops-v2-solution-accelerator",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://github.com/Azure/mlops-v2/blob/main/documentation/structure/README.md",
        "affected_exams": [
          "AI-300"
        ],
        "title": "MLOps solution accelerator structure",
        "opened_on": "2026-10-28",
        "read_scope": "Entire 59-line rendered structure document read.",
        "observation": "Inner/outer loops and three repositories offer a useful artifact ownership map; large-scale DataOps is expressly outside its scope.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Includes legacy python-sdk-v1 configuration; treat as historical option and reconcile current SDK support, dependencies and authentication. No sparse-checkout script run.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://github.com/Azure/mlops-v2/blob/main/documentation/architecture/README.md",
        "affected_exams": [
          "AI-300"
        ],
        "title": "MLOps v2 architecture index",
        "opened_on": "2026-10-28",
        "read_scope": "Entire 21-line rendered architecture document read.",
        "observation": "Data estate, administration/setup, development and deployment are the four modular elements; classical ML is the base pattern.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Architecture diagrams and linked subdocuments not inspected; not a GenAIOps curriculum by itself.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://github.com/Azure/azureml-examples",
        "affected_exams": [
          "AI-300"
        ],
        "title": "Azure Machine Learning examples",
        "opened_on": "2026-10-28",
        "read_scope": "README About, Getting Started, SDK and CLI sections read.",
        "observation": "README directs learners to v2 Python SDK tutorials and separate CLI examples.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No notebooks executed or Action run results audited; repository-level test wording does not prove a selected example works for the learner.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "ai-300-azure-ml-examples",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://github.com/microsoft-foundry/foundry-samples",
        "affected_exams": [
          "AI-300"
        ],
        "title": "Microsoft Foundry documentation samples",
        "opened_on": "2026-10-28",
        "read_scope": "README overview and Validation section read after old azure-ai-foundry URL redirected.",
        "observation": "Canonical repository is now microsoft-foundry/foundry-samples. README distinguishes required build-readiness checks from sample-owned opt-in live validation.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No sample code run or live-validation dashboard inspected; passing a repository check is not proof every sample received live-service validation.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/Instructions/Labs/LAB_02b-Manage_Governance_via_Azure_Policy.html",
        "affected_exams": [
          "AZ-104"
        ],
        "title": "AZ-104 Lab 02b Manage Governance via Azure Policy",
        "opened_on": "2026-10-28",
        "read_scope": "Entire public lab body read: scenario, Tasks 1-4, cleanup and key takeaways.",
        "observation": "Published 30 minutes; tagging, deny, modify/remediation and delete-lock tasks support inspectable evidence.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Subscription required; no lab run. Text says Default in one error explanation despite configured value 000; use actual policy parameters. Its concluding pre/post-deployment shorthand is oversimplified and should not be taught as a technical rule.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/Instructions/Labs_EntraID/03_LAB_41_01_Implement_monitoring_by_using_Azure_Virtual_Desktop_Insights.html",
        "affected_exams": [
          "AZ-140"
        ],
        "title": "AZ-140 Implement monitoring with Azure Virtual Desktop Insights",
        "opened_on": "2026-10-28",
        "read_scope": "Entire public 125-line lab body read.",
        "observation": "Published 25 minutes after deployment and management prerequisite labs. Resource diagnostics, Log Analytics, DCR association and session-host extension checks lead to generated-data and Insights views.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No Azure execution. Subscription/roles/existing host pool needed; Log Analytics ingestion/storage charges apply. Published timing excludes prerequisite environment creation.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/Instructions/Exercises/M01-Unit%206%20Configure%20DNS%20settings%20in%20Azure.html",
        "affected_exams": [
          "AZ-700"
        ],
        "title": "AZ-700 Configure DNS settings in Azure",
        "opened_on": "2026-10-28",
        "read_scope": "Entire public 133-line exercise body read.",
        "observation": "Published 25 minutes; private DNS zone, VNet link, VM auto-registration and nslookup provide a DNS-versus-packet test.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No Azure execution; requires prior VNet/template and billable VMs. Heading says subnet but actual operation is a VNet link. Template and VM SKU fallback chain not executed or independently endorsed.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/",
        "affected_exams": [
          "AZ-104"
        ],
        "title": "AZ-104 official hosted lab index",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public exercise directory read.",
        "observation": "Lab index covers identity, policy/RBAC, networking, compute, storage, protection and monitoring.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Index coverage is not evidence that every lab procedure is current. Only separately recorded lab bodies were reviewed.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/",
        "affected_exams": [
          "AZ-140"
        ],
        "title": "AZ-140 official hosted lab index",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public exercise directory read.",
        "observation": "Index separates Entra ID, AD DS and Entra DS lab routes; do not concatenate all three identity routes.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Index coverage is not evidence that every lab procedure is current. Only separately recorded lab bodies were reviewed.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/",
        "affected_exams": [
          "AZ-700"
        ],
        "title": "AZ-700 official hosted lab index",
        "opened_on": "2026-10-28",
        "read_scope": "Entire short public exercise directory read.",
        "observation": "Index spans VNets, hybrid connectivity, balancing, protection, private access and monitoring.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Index coverage is not evidence that every lab procedure is current. Only separately recorded lab bodies were reviewed.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/well-architected/reliability/failure-mode-analysis",
        "affected_exams": [
          "AZ-305"
        ],
        "title": "Well-Architected failure mode analysis",
        "opened_on": "2026-10-28",
        "read_scope": "Article body through Decompose, dependencies, failure points, mitigation, detection and documentation read.",
        "observation": "Flow-specific dependency and blast-radius analysis supports an original architecture decision worksheet.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Authorization banner did not prevent readable body; no workload tests or fault injection performed. Avoid treating qualitative likelihood labels as measured probabilities.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "az305-fma",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://azuredevopslabs.com/",
        "affected_exams": [
          "AZ-400"
        ],
        "title": "Azure DevOps Labs",
        "opened_on": "2026-10-28",
        "read_scope": "Full public lab index read.",
        "observation": "Broad catalog includes YAML, artifacts, testing, security and feedback; individual labs have different ages.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Catalog copyright 2023 does not establish each lab freshness; no lab executed.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "az-400-azure-devops-labs",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://www.azuredevopslabs.com/labs/azuredevops/yaml/",
        "affected_exams": [
          "AZ-400"
        ],
        "title": "Azure DevOps YAML historical lab",
        "opened_on": "2026-10-28",
        "read_scope": "Entire public body read, including build/deploy YAML, artifact transfer and prerequisites.",
        "observation": "Header gives version 1.37.2 and January 20, 2022 update. Durable lesson is explicit artifact transfer between stages.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Obsolete vs2017-win2016 image and old UI/authentication/SQL practices require replacement. Use as critique exercise, not copy-and-run production guidance. No linked video watched or project provisioned.",
        "publication_or_update": "Last updated January 20, 2022",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops",
        "affected_exams": [
          "AZ-400"
        ],
        "title": "Create your first Azure pipeline",
        "opened_on": "2026-10-28",
        "read_scope": "Azure DevOps Services prerequisites, YAML language routes and run-details sections read; cleanup section inspected.",
        "observation": "GitHub/account/organization and hosted parallel-job availability are prerequisites; run details expose commit, job, log, artifact and test evidence.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Page also renders legacy Server/classic tabs; use Services YAML section for this route. No pipeline run; hosted-agent entitlement may need a grant/purchase.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://devblogs.microsoft.com/devops/azure-developer-cli-from-dev-to-prod-with-azure-devops-pipelines/",
        "affected_exams": [
          "AZ-400"
        ],
        "title": "Dev-to-prod with Azure DevOps and Azure Developer CLI",
        "opened_on": "2026-10-28",
        "read_scope": "Full article body read via public requests/BeautifulSoup fallback after web tool 403; saved learning-blog-az400.txt (HTTP 200).",
        "observation": "Build/package, development and production stages promote one artifact; validation code is a TODO and simulated delay, useful as a review exercise.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No linked implementation, video, deployment or scripts executed. Unpinned installation and incomplete checks need design work; authorship/date retained from existing catalog, not newly established by fallback body.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": "az400-promotion-blog",
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/",
        "affected_exams": [
          "AZ-900"
        ],
        "title": "Describe cloud concepts learning path",
        "opened_on": "2026-10-28",
        "read_scope": "Entire three-module public outline read.",
        "observation": "Current series has four parts, including a separate guided-project part; cloud concepts path covers shared responsibility, benefits and service types.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No total runtime shown; no module exercise performed.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/describe-azure-management-governance/",
        "affected_exams": [
          "AZ-900"
        ],
        "title": "Describe Azure management and governance learning path",
        "opened_on": "2026-10-28",
        "read_scope": "Entire four-module public outline read.",
        "observation": "Cost, governance/compliance, management/deployment and monitoring modules provide targeted gap study.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "No aggregate runtime exposed; hands-on access/cost depends on account and actual exercise.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/modules/describe-cost-management-azure/7a-describe-cost-optimization-options",
        "affected_exams": [
          "AZ-900"
        ],
        "title": "Describe cost optimization options in Azure",
        "opened_on": "2026-10-28",
        "read_scope": "Entire four-minute public unit body read.",
        "observation": "Reservations, savings plan and Spot comparison supports an original workload-choice worksheet.",
        "confidence": "high for the observed public text; no execution assurance",
        "limitations": "Four minutes is published reading time, not worksheet duration. Pricing/eligibility is volatile; no prices or savings percentages endorsed.",
        "publication_or_update": "No reliable separate publication/update date displayed in inspected text",
        "source_catalog_match": null,
        "candidate_matches": [],
        "recommendation": "Retain or accept for the stated bounded learning use; do not infer full-course verification"
      }
    ],
    "blocked_or_rejected_attempts": [
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/describe-cloud-service-types/",
        "result": "web tool inaccessible; not used or cataloged"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/describe-cloud-concepts/",
        "result": "404; recovered actual URL by clicking current governance path; not used or cataloged"
      },
      {
        "url": "https://techcommunity.microsoft.com/blog/azurearchitectureblog/proactive-reliability-series-%E2%80%94-article-1-fault-types-in-azure/4507006",
        "result": "web tool zero lines; public HTTP 200 fallback only title, no article body; existing guide description neither revalidated nor changed by learning researcher"
      },
      {
        "url": "https://techcommunity.microsoft.com/blog/azurevirtualdesktopblog/enhanced-host-pool-management-for-azure-virtual-desktop-is-now-generally-availab/4534612",
        "result": "web tool zero lines; public HTTP 200 fallback only title, no article body; existing guide description neither revalidated nor changed by learning researcher"
      },
      {
        "url": "https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/Instructions/Exercises/M07-Unit%206%20Create%20an%20Azure%20private%20endpoint%20using%20Azure%20PowerShell.html",
        "result": "Read scenario/prerequisites/tasks and initial PowerShell through Bastion creation. Optional lab marked future retirement; opening note misleadingly says service-endpoint lab covers this capability. Not recommended or promoted; chose DNS exercise instead. No code executed."
      }
    ],
    "proposed_changes": [
      {
        "exam_code": "AB-620",
        "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
        "old_text": "This is a curated starting point, not a complete list. Do **not** consume everything. Select the explanations, demonstrations, labs, and assessment signals that close your gaps, and keep the current official blueprint beside third-party material.",
        "replacement_markdown": "This is a curated starting point, not a complete list. Do **not** consume everything. Select the explanations, demonstrations, labs, and assessment signals that close your gaps, and keep the current official blueprint beside third-party material.\n\n### Focused harness decision worksheet\n\nRead [Identify implementation options by harness](https://learn.microsoft.com/en-us/training/modules/design-multi-agent-solutions-copilot-studio/3-design-agent-organization) (published **4 minutes**), then use the [multi-agent path](https://learn.microsoft.com/en-us/training/paths/design-build-multi-agent-solutions-copilot-studio/) to design a support agent with an account-management capability owned by another team. Produce a table of owner, independent lifecycle, harness, delegation option, authentication boundary and return contract. Add a failure case for an unavailable connected agent and mark anything needing current feature verification. **About 45–75 minutes** for reading and this original worksheet, estimated from one short unit plus comparison/design work; tenant implementation adds time and may incur charges. **VERIFY CURRENT:** the unit's preview/support table changes as features ship. The reviewed outline supports this route; no agent was executed in this review.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/modules/design-multi-agent-solutions-copilot-studio/3-design-agent-organization",
          "https://learn.microsoft.com/en-us/training/paths/design-build-multi-agent-solutions-copilot-studio/"
        ]
      },
      {
        "exam_code": "AB-731",
        "guide_path": "guides/AB-731-ai-transformation-leader.md",
        "old_text": "This is not a complete list and is not meant to be consumed in full. Choose one primary route, build the decision artifacts and labs, and add another resource only when it closes a measured gap.",
        "replacement_markdown": "This is not a complete list and is not meant to be consumed in full. Choose one primary route, build the decision artifacts and labs, and add another resource only when it closes a measured gap.\n\n### Focused pilot-investment worksheet\n\nRead [Business strategy](https://learn.microsoft.com/en-us/training/modules/create-business-value/2-business-strategy) (published **3 minutes**) alongside the [Transform your business with AI outline](https://learn.microsoft.com/en-us/training/paths/transform-your-business-with-microsoft-ai/). Compare two candidate processes on business impact, feasibility, time to value, measurability and risk. Select one pilot and record its baseline, two outcome measures, one quality/risk limit, an accountable owner and scale/hold/stop criteria. **About 45–75 minutes**, an editorial estimate for selected reading and an original one-page decision record, rather than the course's runtime. Use evidence you can collect; the unit's uncited industry statistic is not a validated benchmark or a forecast for your organization. No quiz, paid lesson or live pilot was performed in this review.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/modules/create-business-value/2-business-strategy",
          "https://learn.microsoft.com/en-us/training/paths/transform-your-business-with-microsoft-ai/"
        ]
      },
      {
        "exam_code": "AI-300",
        "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
        "old_text": "This is **not a complete list**, and it is not a recommendation to consume everything. Choose one primary path, build the labs and use targeted material for gaps. Times are published when available or labeled estimates. Avoid dumps and recalled/live exam questions.",
        "replacement_markdown": "This is **not a complete list**, and it is not a recommendation to consume everything. Choose one primary path, build the labs and use targeted material for gaps. Times are published when available or labeled estimates. Avoid dumps and recalled/live exam questions.\n\n### Focused reproducibility review\n\nUse the [MLOps accelerator structure](https://github.com/Azure/mlops-v2/blob/main/documentation/structure/README.md) and [Azure ML examples README](https://github.com/Azure/azureml-examples) to draw the inner-loop/outer-loop handoff for one model: data/version, environment, run, model registration, test evidence, deployment identity and rollback owner. Add a separate column for GenAIOps evidence still needed. Then inspect the [Foundry samples validation description](https://github.com/microsoft-foundry/foundry-samples) and distinguish build readiness from a sample's opt-in live-service validation. **About 90–150 minutes**, estimated for two short repository documents, the validation section and an original evidence map; sample setup/execution is additional and may cost money. **VERIFY CURRENT:** legacy SDK-v1 choices in accelerator documentation are historical context, not an instruction to use an unsupported SDK. No samples or pipelines were run in this review.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://github.com/Azure/mlops-v2/blob/main/documentation/structure/README.md",
          "https://github.com/Azure/azureml-examples",
          "https://github.com/microsoft-foundry/foundry-samples"
        ]
      },
      {
        "exam_code": "AI-901",
        "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
        "old_text": "This is a curated starting point, not a complete list, and it is not meant to be consumed in full. Pick the formats that fit you. Times are approximate consumption time at normal speed; labs, note-taking, review, and independent practice add time.",
        "replacement_markdown": "This is a curated starting point, not a complete list, and it is not meant to be consumed in full. Pick the formats that fit you. Times are approximate consumption time at normal speed; labs, note-taking, review, and independent practice add time.\n\n### Focused retrieval learning route\n\nPair the RAG concepts in the [AI concepts path](https://learn.microsoft.com/en-us/training/paths/ai-concepts/) with the current [Foundry IQ module outline](https://learn.microsoft.com/en-us/training/modules/get-started-foundry-iq/). Draw a source-to-answer diagram with knowledge sources, knowledge base, retrieval request, returned evidence and agent response. Write one answerable question, one question whose answer is absent and one case in which a user should not receive a source. State the evidence you would require from a later exercise before accepting the answer or access boundary. **About 60–90 minutes**, estimated for selected module reading and this original diagram/question set; actual exercise provisioning and model usage add time/cost. The seven-module implementation path currently ends in Foundry IQ. This review read outlines, not the exercise or assessment questions, and did not execute a client.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/paths/ai-concepts/",
          "https://learn.microsoft.com/en-us/training/modules/get-started-foundry-iq/",
          "https://learn.microsoft.com/en-us/training/paths/get-started-ai-apps-agents/"
        ]
      },
      {
        "exam_code": "AZ-104",
        "guide_path": "guides/AZ-104-microsoft-azure-administrator.md",
        "old_text": "This is a curated starting set, not a complete list. Do **not** consume every resource. Pick one structured spine, use documentation for weak objectives, do the labs, and add one assessment source. Time estimates are planning ranges, not guarantees; playback speed, prior experience, exercises, lab cleanup, and vendor changes matter. Verify the current blueprint before buying or starting a course.",
        "replacement_markdown": "This is a curated starting set, not a complete list. Do **not** consume every resource. Pick one structured spine, use documentation for weak objectives, do the labs, and add one assessment source. Time estimates are planning ranges, not guarantees; playback speed, prior experience, exercises, lab cleanup, and vendor changes matter. Verify the current blueprint before buying or starting a course.\n\n### Focused governance evidence route\n\n[Microsoft's Lab 02b](https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/Instructions/Labs/LAB_02b-Manage_Governance_via_Azure_Policy.html) publishes **30 minutes** for tagging, policy and locks. Allow **about 60–90 minutes** for the lab plus evidence and cleanup, an editorial extension of that published estimate; subscription setup and policy propagation may add time. In a disposable resource group, retain the assigned scope/parameters, the denied deployment message, the modify/remediation identity and result, the deletion-lock failure and cleanup evidence. Distinguish the lab's predicted result from what you actually observe. **VERIFY CURRENT:** use the configured tag value (`000` in the example), since one explanatory sentence instead says `Default`; do not adopt the lab's broad pre/post-deployment security shorthand as a rule. Azure resources may incur charges. This review read the lab and did not execute it.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/Instructions/Labs/LAB_02b-Manage_Governance_via_Azure_Policy.html"
        ]
      },
      {
        "exam_code": "AZ-140",
        "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
        "old_text": "This is **not a complete list**, and it is not a recommendation to consume everything. Pick the resources and formats that fit you, and use the official July 20, 2026 objectives as the coverage checklist. Estimated times include reasonable note-taking or practice where stated and should be rechecked before purchase.",
        "replacement_markdown": "This is **not a complete list**, and it is not a recommendation to consume everything. Pick the resources and formats that fit you, and use the official July 20, 2026 objectives as the coverage checklist. Estimated times include reasonable note-taking or practice where stated and should be rechecked before purchase.\n\n### Focused monitoring evidence route\n\nChoose the Entra ID branch in the [official lab index](https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/), then read [Implement monitoring with AVD Insights](https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/Instructions/Labs_EntraID/03_LAB_41_01_Implement_monitoring_by_using_Azure_Virtual_Desktop_Insights.html). Its published **25 minutes** assumes the deployment and management labs are complete. For an existing disposable host pool, allow **about 60–90 minutes** for configuration, evidence and review, estimated from the published lab plus checking diagnostics, DCR associations, the monitoring extension and actual generated data. Preserve a before/after warning record and separate connection health from telemetry-collection health. **VERIFY CURRENT:** subscription permissions, agent/UI steps and ingestion costs. Prerequisite environment creation and cleanup are additional; do not expect the entire route in 25 minutes. No host pool, workbook or telemetry was executed/observed in this review.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/Instructions/Labs_EntraID/03_LAB_41_01_Implement_monitoring_by_using_Azure_Virtual_Desktop_Insights.html",
          "https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/"
        ]
      },
      {
        "exam_code": "AZ-305",
        "guide_path": "guides/AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
        "old_text": "This is a curated starting set, not a complete list. Do **not** consume every resource. Pick one structured spine, use documentation and architecture case studies for weak objectives, complete design/lab work, and add one assessment source. Time estimates are planning ranges, not guarantees; playback speed, prior Azure experience, exercises, lab cleanup, and vendor changes matter. Verify the current blueprint before buying or starting a course.",
        "replacement_markdown": "This is a curated starting set, not a complete list. Do **not** consume every resource. Pick one structured spine, use documentation and architecture case studies for weak objectives, complete design/lab work, and add one assessment source. Time estimates are planning ranges, not guarantees; playback speed, prior Azure experience, exercises, lab cleanup, and vendor changes matter. Verify the current blueprint before buying or starting a course.\n\n### Focused architecture failure worksheet\n\nUse [Well-Architected failure mode analysis](https://learn.microsoft.com/en-us/azure/well-architected/reliability/failure-mode-analysis) to trace one critical request from ingress through identity, compute, data and an external dependency. For each component, record the user impact, blast radius, strong/weak dependency, detection signal, degraded mode and recovery objective. Compare an identity outage with a regional data outage; state what existing requests and new deployments can still do. **About 75–120 minutes**, estimated for selected article reading and an original flow diagram/failure matrix, rather than a vendor-published duration. This produces a design hypothesis and a future test plan; it does not demonstrate availability, recovery time or successful fault injection. The guidance is relevant to business continuity and infrastructure design; current service documentation still controls individual capabilities.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/well-architected/reliability/failure-mode-analysis"
        ]
      },
      {
        "exam_code": "AZ-400",
        "guide_path": "guides/AZ-400-designing-implementing-microsoft-devops-solutions.md",
        "old_text": "This is **not a complete list**, and it is not a recommendation to consume everything. Pick the resources and formats that fit you, and use the official July 27, 2026 objectives as the coverage checklist. Estimated times include reasonable note-taking or practice where stated and should be rechecked before purchase. Older material can still teach durable concepts, but reconcile every product screen, feature, identity method and objective against current documentation.",
        "replacement_markdown": "This is **not a complete list**, and it is not a recommendation to consume everything. Pick the resources and formats that fit you, and use the official July 27, 2026 objectives as the coverage checklist. Estimated times include reasonable note-taking or practice where stated and should be rechecked before purchase. Older material can still teach durable concepts, but reconcile every product screen, feature, identity method and objective against current documentation.\n\n### Focused pipeline evidence and critique route\n\nFollow the Azure DevOps Services YAML sections of [Create your first pipeline](https://learn.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops) for one disposable repository. Retain the commit, YAML, agent selection, run log and test/artifact evidence; deliberately introduce and then repair one build failure. Next, critique the [Azure Developer CLI promotion article](https://devblogs.microsoft.com/devops/azure-developer-cli-from-dev-to-prod-with-azure-devops-pipelines/): identify the same artifact crossing stages and replace its TODO/simulated validation with a written real-check design. **About 2–3 hours**, estimated for one starter pipeline and an original review record; account/agent entitlement and deployment setup add time. **VERIFY CURRENT:** use current agents/authentication. The [older YAML lab](https://www.azuredevopslabs.com/labs/azuredevops/yaml/) is dated January 20, 2022 and contains an obsolete hosted image, so read it as historical illustration only. No pipeline, video or cloud deployment was executed in this review.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops",
          "https://devblogs.microsoft.com/devops/azure-developer-cli-from-dev-to-prod-with-azure-devops-pipelines/",
          "https://www.azuredevopslabs.com/labs/azuredevops/yaml/"
        ]
      },
      {
        "exam_code": "AZ-700",
        "guide_path": "guides/AZ-700-designing-implementing-azure-networking-solutions.md",
        "old_text": "This is a curated starting set, not a complete list. Do **not** consume every resource. Pick one structured spine, use current documentation for weak objectives, build and break the labs, and add one assessment source. Time estimates are planning ranges, not guarantees; playback speed, prior networking experience, gateway deployment time, exercises, cleanup, and vendor changes matter. Verify the current blueprint before buying or starting a course.",
        "replacement_markdown": "This is a curated starting set, not a complete list. Do **not** consume every resource. Pick one structured spine, use current documentation for weak objectives, build and break the labs, and add one assessment source. Time estimates are planning ranges, not guarantees; playback speed, prior networking experience, gateway deployment time, exercises, cleanup, and vendor changes matter. Verify the current blueprint before buying or starting a course.\n\n### Focused DNS evidence route\n\n[Configure DNS settings in Azure](https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/Instructions/Exercises/M01-Unit%206%20Configure%20DNS%20settings%20in%20Azure.html) publishes **25 minutes** and requires the preceding virtual-network setup. Allow **about 60–90 minutes** after prerequisites for the exercise, evidence and cleanup, estimated from that timing plus validation. Record the private zone, VNet link/registration setting, VM A records and name-resolution output. Explain why a failed ping can coexist with successful DNS resolution, then specify a separate application/port test. The exercise heading says subnet linking, but its actual steps link a VNet; keep that boundary clear. **VERIFY CURRENT:** VM capacity/SKUs, portal and account costs. Provisioning waits and prerequisite resources add time and charges. This review read the procedure without deploying VMs or executing tests.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/Instructions/Exercises/M01-Unit%206%20Configure%20DNS%20settings%20in%20Azure.html"
        ]
      },
      {
        "exam_code": "AZ-900",
        "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
        "old_text": "This is a curated starting point, not a complete list, and it is not meant to be consumed in full. Pick the formats that fit you. Times are approximate consumption time at normal speed; labs, note-taking, review, and independent practice add time.",
        "replacement_markdown": "This is a curated starting point, not a complete list, and it is not meant to be consumed in full. Pick the formats that fit you. Times are approximate consumption time at normal speed; labs, note-taking, review, and independent practice add time.\n\n### Focused cloud-cost decision worksheet\n\nStart with the [cloud concepts outline](https://learn.microsoft.com/en-us/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/), then read [Cost optimization options](https://learn.microsoft.com/en-us/training/modules/describe-cost-management-azure/7a-describe-cost-optimization-options) (published **4 minutes**) within the [management and governance path](https://learn.microsoft.com/en-us/training/paths/describe-azure-management-governance/). Compare a stable server, a steady but changing compute mix and a restartable batch job. For each, record responsibility boundaries, utilization assumptions, interruption tolerance, a candidate pricing model and a measurement you need before committing spend. **About 45–75 minutes**, estimated for selected reading and this original three-workload worksheet; the four-minute unit time is reading only. **VERIFY CURRENT:** eligibility, term and actual prices in the service's current documentation/calculator. No subscription, commitment purchase or Azure deployment is required for the paper exercise; none was performed in this review.",
        "reason": "Add a bounded source-to-evidence learning route with a transparent time basis and execution/access limits.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/",
          "https://learn.microsoft.com/en-us/training/modules/describe-cost-management-azure/7a-describe-cost-optimization-options",
          "https://learn.microsoft.com/en-us/training/paths/describe-azure-management-governance/"
        ]
      },
      {
        "exam_code": "AB-620",
        "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
        "old_text": "| AB-620T00-A instructor-led course | Provider/schedule dependent | 3 days; available September 30, 2026 (scheduled; not yet delivered) |",
        "replacement_markdown": "| AB-620T00-A instructor-led course | Provider/schedule dependent | Published: 3 instructor-led days; confirm provider delivery dates separately |",
        "reason": "September 30 is past and the current course page no longer shows a future availability date. Course listing is not proof of a delivered class.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/courses/ab-620t00"
        ]
      },
      {
        "exam_code": "AB-620",
        "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
        "old_text": "- [AB-620T00-A](https://learn.microsoft.com/en-us/training/courses/ab-620t00) — three instructor-led days, listed as available September 30, 2026 (scheduled; not yet delivered).",
        "replacement_markdown": "- [AB-620T00-A](https://learn.microsoft.com/en-us/training/courses/ab-620t00) — three instructor-led days in the current public listing; actual class availability depends on the provider.",
        "reason": "Remove stale future-date/delivery assertion.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/courses/ab-620t00"
        ]
      },
      {
        "exam_code": "AB-620",
        "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
        "old_text": "The three live paths contain 3 + 4 + 4 = 11 modules. Their earlier recorded total was 8 hours 29 minutes; the current outlines do not expose a verified total runtime. Each currently identifies its modules as classic-experience content. Pair it with the current experience comparison, and do not infer that the future instructor-led course date delays the active exam or the self-paced paths.",
        "replacement_markdown": "The three live paths contain 3 + 4 + 4 = 11 modules. Their earlier recorded total was 8 hours 29 minutes; the October 28 public outlines do not expose a verified total runtime. The [multi-agent design module](https://learn.microsoft.com/en-us/training/modules/design-multi-agent-solutions-copilot-studio/3-design-agent-organization) now compares standard and GitHub Copilot harnesses; the other three modules in that path and all modules in the topics and integration paths retain classic-experience warnings. **VERIFY CURRENT:** match each lesson and implementation to the current harness and product documentation. The course listing does not establish a provider's actual delivery schedule.",
        "reason": "Distinguish current harness-aware design material from classic-only implementation outlines.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/paths/design-agent-conversations-responses-topics-copilot-studio/",
          "https://learn.microsoft.com/en-us/training/paths/design-build-multi-agent-solutions-copilot-studio/",
          "https://learn.microsoft.com/en-us/training/paths/integrate-agents-enterprise-systems-copilot-studio/",
          "https://learn.microsoft.com/en-us/training/modules/design-multi-agent-solutions-copilot-studio/3-design-agent-organization"
        ]
      },
      {
        "exam_code": "AI-901",
        "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
        "old_text": "| [Microsoft Learn — AI applications and agents](https://learn.microsoft.com/en-us/training/paths/get-started-ai-apps-agents/) | Free | Budget 6–10 hours including labs (editorial estimate) | Seven modules; current total runtime not exposed. Implementation path across Foundry, apps/agents, text, speech, vision, extraction, and retrieval |",
        "replacement_markdown": "| [Microsoft Learn — AI applications and agents](https://learn.microsoft.com/en-us/training/paths/get-started-ai-apps-agents/) | Free | Budget 6–10 hours including labs (editorial estimate) | Seven modules; current total runtime not exposed. Implementation path across Foundry, apps/agents, text, speech, vision, extraction, and Foundry IQ knowledge retrieval |",
        "reason": "Current final module is explicitly Foundry IQ; keep resource scope concrete.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/paths/get-started-ai-apps-agents/"
        ]
      },
      {
        "exam_code": "AI-300",
        "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
        "old_text": "| [Foundry samples](https://github.com/azure-ai-foundry/foundry-samples) | Public | 8–20 hours selectively (estimate) | Current evaluation, tracing and GenAIOps examples |",
        "replacement_markdown": "| [Foundry samples](https://github.com/microsoft-foundry/foundry-samples) | Public | 8–20 hours selectively (estimate) | Official sample directory; inspect each sample and distinguish build checks from opt-in live validation |",
        "reason": "Use inspected redirect destination and avoid implying all listed samples have live-service validation.",
        "sources": [
          "https://github.com/microsoft-foundry/foundry-samples"
        ]
      },
      {
        "exam_code": "AZ-900",
        "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
        "old_text": "| [Microsoft Learn AZ-900 learning paths](https://learn.microsoft.com/en-us/credentials/certifications/azure-fundamentals/?practice-assessment-type=certification) | Free | About 8–12 hours | Read modules and use the free sandbox exercises where available |",
        "replacement_markdown": "| [Microsoft Learn AZ-900 learning paths](https://learn.microsoft.com/en-us/credentials/certifications/azure-fundamentals/?practice-assessment-type=certification) | Free | About 8–12 hours | Choose current modules and guided projects; check account requirements and charges before deployment |",
        "reason": "Current paths invite Azure free/pay-as-you-go accounts; no general free-sandbox entitlement was verified.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/",
          "https://learn.microsoft.com/en-us/training/paths/describe-azure-management-governance/"
        ]
      }
    ],
    "practical_learning_routes": [
      {
        "exam_code": "AB-620",
        "markdown": "### Focused harness decision worksheet\n\nRead [Identify implementation options by harness](https://learn.microsoft.com/en-us/training/modules/design-multi-agent-solutions-copilot-studio/3-design-agent-organization) (published **4 minutes**), then use the [multi-agent path](https://learn.microsoft.com/en-us/training/paths/design-build-multi-agent-solutions-copilot-studio/) to design a support agent with an account-management capability owned by another team. Produce a table of owner, independent lifecycle, harness, delegation option, authentication boundary and return contract. Add a failure case for an unavailable connected agent and mark anything needing current feature verification. **About 45–75 minutes** for reading and this original worksheet, estimated from one short unit plus comparison/design work; tenant implementation adds time and may incur charges. **VERIFY CURRENT:** the unit's preview/support table changes as features ship. The reviewed outline supports this route; no agent was executed in this review.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/modules/design-multi-agent-solutions-copilot-studio/3-design-agent-organization",
          "https://learn.microsoft.com/en-us/training/paths/design-build-multi-agent-solutions-copilot-studio/"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AB-731",
        "markdown": "### Focused pilot-investment worksheet\n\nRead [Business strategy](https://learn.microsoft.com/en-us/training/modules/create-business-value/2-business-strategy) (published **3 minutes**) alongside the [Transform your business with AI outline](https://learn.microsoft.com/en-us/training/paths/transform-your-business-with-microsoft-ai/). Compare two candidate processes on business impact, feasibility, time to value, measurability and risk. Select one pilot and record its baseline, two outcome measures, one quality/risk limit, an accountable owner and scale/hold/stop criteria. **About 45–75 minutes**, an editorial estimate for selected reading and an original one-page decision record, rather than the course's runtime. Use evidence you can collect; the unit's uncited industry statistic is not a validated benchmark or a forecast for your organization. No quiz, paid lesson or live pilot was performed in this review.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/modules/create-business-value/2-business-strategy",
          "https://learn.microsoft.com/en-us/training/paths/transform-your-business-with-microsoft-ai/"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AI-300",
        "markdown": "### Focused reproducibility review\n\nUse the [MLOps accelerator structure](https://github.com/Azure/mlops-v2/blob/main/documentation/structure/README.md) and [Azure ML examples README](https://github.com/Azure/azureml-examples) to draw the inner-loop/outer-loop handoff for one model: data/version, environment, run, model registration, test evidence, deployment identity and rollback owner. Add a separate column for GenAIOps evidence still needed. Then inspect the [Foundry samples validation description](https://github.com/microsoft-foundry/foundry-samples) and distinguish build readiness from a sample's opt-in live-service validation. **About 90–150 minutes**, estimated for two short repository documents, the validation section and an original evidence map; sample setup/execution is additional and may cost money. **VERIFY CURRENT:** legacy SDK-v1 choices in accelerator documentation are historical context, not an instruction to use an unsupported SDK. No samples or pipelines were run in this review.",
        "sources": [
          "https://github.com/Azure/mlops-v2/blob/main/documentation/structure/README.md",
          "https://github.com/Azure/azureml-examples",
          "https://github.com/microsoft-foundry/foundry-samples"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AI-901",
        "markdown": "### Focused retrieval learning route\n\nPair the RAG concepts in the [AI concepts path](https://learn.microsoft.com/en-us/training/paths/ai-concepts/) with the current [Foundry IQ module outline](https://learn.microsoft.com/en-us/training/modules/get-started-foundry-iq/). Draw a source-to-answer diagram with knowledge sources, knowledge base, retrieval request, returned evidence and agent response. Write one answerable question, one question whose answer is absent and one case in which a user should not receive a source. State the evidence you would require from a later exercise before accepting the answer or access boundary. **About 60–90 minutes**, estimated for selected module reading and this original diagram/question set; actual exercise provisioning and model usage add time/cost. The seven-module implementation path currently ends in Foundry IQ. This review read outlines, not the exercise or assessment questions, and did not execute a client.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/paths/ai-concepts/",
          "https://learn.microsoft.com/en-us/training/modules/get-started-foundry-iq/",
          "https://learn.microsoft.com/en-us/training/paths/get-started-ai-apps-agents/"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AZ-104",
        "markdown": "### Focused governance evidence route\n\n[Microsoft's Lab 02b](https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/Instructions/Labs/LAB_02b-Manage_Governance_via_Azure_Policy.html) publishes **30 minutes** for tagging, policy and locks. Allow **about 60–90 minutes** for the lab plus evidence and cleanup, an editorial extension of that published estimate; subscription setup and policy propagation may add time. In a disposable resource group, retain the assigned scope/parameters, the denied deployment message, the modify/remediation identity and result, the deletion-lock failure and cleanup evidence. Distinguish the lab's predicted result from what you actually observe. **VERIFY CURRENT:** use the configured tag value (`000` in the example), since one explanatory sentence instead says `Default`; do not adopt the lab's broad pre/post-deployment security shorthand as a rule. Azure resources may incur charges. This review read the lab and did not execute it.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/Instructions/Labs/LAB_02b-Manage_Governance_via_Azure_Policy.html"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AZ-140",
        "markdown": "### Focused monitoring evidence route\n\nChoose the Entra ID branch in the [official lab index](https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/), then read [Implement monitoring with AVD Insights](https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/Instructions/Labs_EntraID/03_LAB_41_01_Implement_monitoring_by_using_Azure_Virtual_Desktop_Insights.html). Its published **25 minutes** assumes the deployment and management labs are complete. For an existing disposable host pool, allow **about 60–90 minutes** for configuration, evidence and review, estimated from the published lab plus checking diagnostics, DCR associations, the monitoring extension and actual generated data. Preserve a before/after warning record and separate connection health from telemetry-collection health. **VERIFY CURRENT:** subscription permissions, agent/UI steps and ingestion costs. Prerequisite environment creation and cleanup are additional; do not expect the entire route in 25 minutes. No host pool, workbook or telemetry was executed/observed in this review.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/Instructions/Labs_EntraID/03_LAB_41_01_Implement_monitoring_by_using_Azure_Virtual_Desktop_Insights.html",
          "https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AZ-305",
        "markdown": "### Focused architecture failure worksheet\n\nUse [Well-Architected failure mode analysis](https://learn.microsoft.com/en-us/azure/well-architected/reliability/failure-mode-analysis) to trace one critical request from ingress through identity, compute, data and an external dependency. For each component, record the user impact, blast radius, strong/weak dependency, detection signal, degraded mode and recovery objective. Compare an identity outage with a regional data outage; state what existing requests and new deployments can still do. **About 75–120 minutes**, estimated for selected article reading and an original flow diagram/failure matrix, rather than a vendor-published duration. This produces a design hypothesis and a future test plan; it does not demonstrate availability, recovery time or successful fault injection. The guidance is relevant to business continuity and infrastructure design; current service documentation still controls individual capabilities.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/well-architected/reliability/failure-mode-analysis"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AZ-400",
        "markdown": "### Focused pipeline evidence and critique route\n\nFollow the Azure DevOps Services YAML sections of [Create your first pipeline](https://learn.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops) for one disposable repository. Retain the commit, YAML, agent selection, run log and test/artifact evidence; deliberately introduce and then repair one build failure. Next, critique the [Azure Developer CLI promotion article](https://devblogs.microsoft.com/devops/azure-developer-cli-from-dev-to-prod-with-azure-devops-pipelines/): identify the same artifact crossing stages and replace its TODO/simulated validation with a written real-check design. **About 2–3 hours**, estimated for one starter pipeline and an original review record; account/agent entitlement and deployment setup add time. **VERIFY CURRENT:** use current agents/authentication. The [older YAML lab](https://www.azuredevopslabs.com/labs/azuredevops/yaml/) is dated January 20, 2022 and contains an obsolete hosted image, so read it as historical illustration only. No pipeline, video or cloud deployment was executed in this review.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops",
          "https://devblogs.microsoft.com/devops/azure-developer-cli-from-dev-to-prod-with-azure-devops-pipelines/",
          "https://www.azuredevopslabs.com/labs/azuredevops/yaml/"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AZ-700",
        "markdown": "### Focused DNS evidence route\n\n[Configure DNS settings in Azure](https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/Instructions/Exercises/M01-Unit%206%20Configure%20DNS%20settings%20in%20Azure.html) publishes **25 minutes** and requires the preceding virtual-network setup. Allow **about 60–90 minutes** after prerequisites for the exercise, evidence and cleanup, estimated from that timing plus validation. Record the private zone, VNet link/registration setting, VM A records and name-resolution output. Explain why a failed ping can coexist with successful DNS resolution, then specify a separate application/port test. The exercise heading says subnet linking, but its actual steps link a VNet; keep that boundary clear. **VERIFY CURRENT:** VM capacity/SKUs, portal and account costs. Provisioning waits and prerequisite resources add time and charges. This review read the procedure without deploying VMs or executing tests.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/Instructions/Exercises/M01-Unit%206%20Configure%20DNS%20settings%20in%20Azure.html"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      },
      {
        "exam_code": "AZ-900",
        "markdown": "### Focused cloud-cost decision worksheet\n\nStart with the [cloud concepts outline](https://learn.microsoft.com/en-us/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/), then read [Cost optimization options](https://learn.microsoft.com/en-us/training/modules/describe-cost-management-azure/7a-describe-cost-optimization-options) (published **4 minutes**) within the [management and governance path](https://learn.microsoft.com/en-us/training/paths/describe-azure-management-governance/). Compare a stable server, a steady but changing compute mix and a restartable batch job. For each, record responsibility boundaries, utilization assumptions, interruption tolerance, a candidate pricing model and a measurement you need before committing spend. **About 45–75 minutes**, estimated for selected reading and this original three-workload worksheet; the four-minute unit time is reading only. **VERIFY CURRENT:** eligibility, term and actual prices in the service's current documentation/calculator. No subscription, commitment purchase or Azure deployment is required for the paper exercise; none was performed in this review.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/",
          "https://learn.microsoft.com/en-us/training/modules/describe-cost-management-azure/7a-describe-cost-optimization-options",
          "https://learn.microsoft.com/en-us/training/paths/describe-azure-management-governance/"
        ],
        "time_basis": "Published unit/lab duration where stated; explicitly editorial estimate for original worksheet/review, excluding account setup and execution unless stated."
      }
    ],
    "new_source_catalog_objects": [
      {
        "id": "g03-learning-identify-implementation-options-by-harness",
        "title": "Identify implementation options by harness",
        "url": "https://learn.microsoft.com/en-us/training/modules/design-multi-agent-solutions-copilot-studio/3-design-agent-organization",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-620"
        ],
        "notes": "October 28, 2026: Entire 4-minute public unit body read, including delegation table, workflow calls and preview note. Provides a concrete comparison worksheet for ownership, lifecycle, harness and supported delegation; building blocks differ by harness. Dates: No separate publication/update date established. Limits: Four minutes is published reading time, not exercise duration. Preview/status table is volatile; recheck current product documentation. No agent run. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-business-strategy-for-ai-value",
        "title": "Business strategy for AI value",
        "url": "https://learn.microsoft.com/en-us/training/modules/create-business-value/2-business-strategy",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-731"
        ],
        "notes": "October 28, 2026: Entire 3-minute public unit body read. Impact, feasibility, time to value, measurability and risk criteria; baseline KPIs and portfolio stage gates support an original pilot worksheet. Dates: No separate publication/update date established. Limits: Do not reproduce the unattributed Gartner statistic as validated independent evidence. Published three minutes is reading only; outcomes are not promised returns. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-get-started-with-microsoft-foundry-iq",
        "title": "Get started with Microsoft Foundry IQ",
        "url": "https://learn.microsoft.com/en-us/training/modules/get-started-foundry-iq/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-901"
        ],
        "notes": "October 28, 2026: Entire seven-unit module overview/objectives read. Knowledge bases, indexed/remote knowledge sources, agentic retrieval and an exercise are listed. Dates: No separate publication/update date established. Limits: Actual exercise body not read or executed; no fixed module runtime established; outline is learning metadata, not a technical control guarantee. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-mlops-solution-accelerator-structure",
        "title": "MLOps solution accelerator structure",
        "url": "https://github.com/Azure/mlops-v2/blob/main/documentation/structure/README.md",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "architecture-guidance",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-300"
        ],
        "notes": "October 28, 2026: Entire 59-line rendered structure document read. Inner/outer loops and three repositories offer a useful artifact ownership map; large-scale DataOps is expressly outside its scope. Dates: No separate publication/update date established. Limits: Includes legacy python-sdk-v1 configuration; treat as historical option and reconcile current SDK support, dependencies and authentication. No sparse-checkout script run. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-mlops-v2-architecture-index",
        "title": "MLOps v2 architecture index",
        "url": "https://github.com/Azure/mlops-v2/blob/main/documentation/architecture/README.md",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "architecture-guidance",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-300"
        ],
        "notes": "October 28, 2026: Entire 21-line rendered architecture document read. Data estate, administration/setup, development and deployment are the four modular elements; classical ML is the base pattern. Dates: No separate publication/update date established. Limits: Architecture diagrams and linked subdocuments not inspected; not a GenAIOps curriculum by itself. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-microsoft-foundry-documentation-samples",
        "title": "Microsoft Foundry documentation samples",
        "url": "https://github.com/microsoft-foundry/foundry-samples",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-300",
          "AI-500"
        ],
        "notes": "October 28, 2026: README overview and Validation section read after old azure-ai-foundry URL redirected. Canonical repository is now microsoft-foundry/foundry-samples. README distinguishes required build-readiness checks from sample-owned opt-in live validation. Dates: No separate publication/update date established. Limits: No sample code run or live-validation dashboard inspected; passing a repository check is not proof every sample received live-service validation. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-az-104-lab-02b-manage-governance-via-azure-policy",
        "title": "AZ-104 Lab 02b Manage Governance via Azure Policy",
        "url": "https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/Instructions/Labs/LAB_02b-Manage_Governance_via_Azure_Policy.html",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-104"
        ],
        "notes": "October 28, 2026: Entire public lab body read: scenario, Tasks 1-4, cleanup and key takeaways. Published 30 minutes; tagging, deny, modify/remediation and delete-lock tasks support inspectable evidence. Dates: No separate publication/update date established. Limits: Subscription required; no lab run. Text says Default in one error explanation despite configured value 000; use actual policy parameters. Its concluding pre/post-deployment shorthand is oversimplified and should not be taught as a technical rule. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-az-140-implement-monitoring-with-azure-virtual-desktop-insights",
        "title": "AZ-140 Implement monitoring with Azure Virtual Desktop Insights",
        "url": "https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/Instructions/Labs_EntraID/03_LAB_41_01_Implement_monitoring_by_using_Azure_Virtual_Desktop_Insights.html",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-140"
        ],
        "notes": "October 28, 2026: Entire public 125-line lab body read. Published 25 minutes after deployment and management prerequisite labs. Resource diagnostics, Log Analytics, DCR association and session-host extension checks lead to generated-data and Insights views. Dates: No separate publication/update date established. Limits: No Azure execution. Subscription/roles/existing host pool needed; Log Analytics ingestion/storage charges apply. Published timing excludes prerequisite environment creation. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-az-700-configure-dns-settings-in-azure",
        "title": "AZ-700 Configure DNS settings in Azure",
        "url": "https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/Instructions/Exercises/M01-Unit%206%20Configure%20DNS%20settings%20in%20Azure.html",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-700"
        ],
        "notes": "October 28, 2026: Entire public 133-line exercise body read. Published 25 minutes; private DNS zone, VNet link, VM auto-registration and nslookup provide a DNS-versus-packet test. Dates: No separate publication/update date established. Limits: No Azure execution; requires prior VNet/template and billable VMs. Heading says subnet but actual operation is a VNet link. Template and VM SKU fallback chain not executed or independently endorsed. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-az-104-official-hosted-lab-index",
        "title": "AZ-104 official hosted lab index",
        "url": "https://microsoftlearning.github.io/AZ-104-MicrosoftAzureAdministrator/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-104"
        ],
        "notes": "October 28, 2026: Entire short public exercise directory read. Lab index covers identity, policy/RBAC, networking, compute, storage, protection and monitoring. Dates: No separate publication/update date established. Limits: Index coverage is not evidence that every lab procedure is current. Only separately recorded lab bodies were reviewed. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-az-140-official-hosted-lab-index",
        "title": "AZ-140 official hosted lab index",
        "url": "https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-140"
        ],
        "notes": "October 28, 2026: Entire short public exercise directory read. Index separates Entra ID, AD DS and Entra DS lab routes; do not concatenate all three identity routes. Dates: No separate publication/update date established. Limits: Index coverage is not evidence that every lab procedure is current. Only separately recorded lab bodies were reviewed. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-az-700-official-hosted-lab-index",
        "title": "AZ-700 official hosted lab index",
        "url": "https://microsoftlearning.github.io/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-700"
        ],
        "notes": "October 28, 2026: Entire short public exercise directory read. Index spans VNets, hybrid connectivity, balancing, protection, private access and monitoring. Dates: No separate publication/update date established. Limits: Index coverage is not evidence that every lab procedure is current. Only separately recorded lab bodies were reviewed. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-azure-devops-yaml-historical-lab",
        "title": "Azure DevOps YAML historical lab",
        "url": "https://www.azuredevopslabs.com/labs/azuredevops/yaml/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-400"
        ],
        "notes": "October 28, 2026: Entire public body read, including build/deploy YAML, artifact transfer and prerequisites. Header gives version 1.37.2 and January 20, 2022 update. Durable lesson is explicit artifact transfer between stages. Dates: Last updated January 20, 2022 Limits: Obsolete vs2017-win2016 image and old UI/authentication/SQL practices require replacement. Use as critique exercise, not copy-and-run production guidance. No linked video watched or project provisioned. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-create-your-first-azure-pipeline",
        "title": "Create your first Azure pipeline",
        "url": "https://learn.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-400"
        ],
        "notes": "October 28, 2026: Azure DevOps Services prerequisites, YAML language routes and run-details sections read; cleanup section inspected. GitHub/account/organization and hosted parallel-job availability are prerequisites; run details expose commit, job, log, artifact and test evidence. Dates: No separate publication/update date established. Limits: Page also renders legacy Server/classic tabs; use Services YAML section for this route. No pipeline run; hosted-agent entitlement may need a grant/purchase. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-describe-cloud-concepts-learning-path",
        "title": "Describe cloud concepts learning path",
        "url": "https://learn.microsoft.com/en-us/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-900"
        ],
        "notes": "October 28, 2026: Entire three-module public outline read. Current series has four parts, including a separate guided-project part; cloud concepts path covers shared responsibility, benefits and service types. Dates: No separate publication/update date established. Limits: No total runtime shown; no module exercise performed. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-describe-azure-management-and-governance-learning-path",
        "title": "Describe Azure management and governance learning path",
        "url": "https://learn.microsoft.com/en-us/training/paths/describe-azure-management-governance/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-900"
        ],
        "notes": "October 28, 2026: Entire four-module public outline read. Cost, governance/compliance, management/deployment and monitoring modules provide targeted gap study. Dates: No separate publication/update date established. Limits: No aggregate runtime exposed; hands-on access/cost depends on account and actual exercise. Links and original synthesis only; no protected lesson text republished."
      },
      {
        "id": "g03-learning-describe-cost-optimization-options-in-azure",
        "title": "Describe cost optimization options in Azure",
        "url": "https://learn.microsoft.com/en-us/training/modules/describe-cost-management-azure/7a-describe-cost-optimization-options",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-900"
        ],
        "notes": "October 28, 2026: Entire four-minute public unit body read. Reservations, savings plan and Spot comparison supports an original workload-choice worksheet. Dates: No separate publication/update date established. Limits: Four minutes is published reading time, not worksheet duration. Pricing/eligibility is volatile; no prices or savings percentages endorsed. Links and original synthesis only; no protected lesson text republished."
      }
    ],
    "source_updates": [
      {
        "id": "ab-620-course",
        "title": "AB-620T00 Design and build integrated AI agent solutions in Copilot Studio",
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-620t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-620"
        ],
        "notes": "Three-day instructor-led course listed as available September 18, 2026; self-paced paths are already live. September 28 AB-620 deep review: Public metadata and outline checked: English three-day course now scheduled September 30, still future; no delivery verified. See docs/research/2026-09-28-ab-620-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 3 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "ab-731-course",
        "title": "AB-731T00-A Drive AI transformation in your organization",
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-731t00",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-731"
        ],
        "notes": "One-day official course; linked self-paced paths total four hours 44 minutes. September 28 AB-731 deep review: Public metadata/outline checked: one day and thirteen course languages; no enrollment or delivery. See docs/research/2026-09-28-ab-731-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 1 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "ai-300-ai-300t00-operationalize-machine-learning-and-generative-ai-solutions",
        "title": "AI-300T00 Operationalize machine learning and generative AI solutions",
        "url": "https://learn.microsoft.com/en-us/training/courses/ai-300t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-300"
        ],
        "notes": "September 28 AI-300 deep review: Full short metadata/overview read: four days, twelve languages; syllabus remained loading and prior two-path/12h24 total not reproduced. See docs/research/2026-09-28-ai-300-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "microsoft-ai-901-course",
        "title": "Microsoft Azure AI Fundamentals",
        "url": "https://learn.microsoft.com/en-us/training/courses/ai-901t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-901"
        ],
        "notes": "Official one-day course for the credential that replaced AI-900. September 28 AI-901 deep review: Main metadata and overview read: one day, 13 languages, useful Python/cloud prerequisites; syllabus loading, no runtime established. See docs/research/2026-09-28-ai-901-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 1 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "az-104-microsoft-learn-course",
        "title": "Course AZ-104T00-A: Microsoft Azure Administrator",
        "url": "https://learn.microsoft.com/en-us/training/courses/az-104t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-104"
        ],
        "notes": "September 28 AZ-104 deep review: Full short metadata/overview read: four days, ten languages; syllabus loading, no exact self-study total established. See docs/research/2026-09-28-az-104-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "az-140-microsoft-learn-course",
        "title": "Course AZ-140T00-A: Configure and Operate Microsoft Azure Virtual Desktop",
        "url": "https://learn.microsoft.com/en-us/training/courses/az-140t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-140"
        ],
        "notes": "Official page lists a four-day instructor-led duration and 11h 57m of linked self-paced paths. September 28 AZ-140 deep review: Short course metadata/overview read: four days, four languages; syllabus loading. Former 11h57 runtime not reproduced. See docs/research/2026-09-28-az-140-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "az-305-microsoft-learn-course",
        "title": "Course AZ-305T00-A: Design Microsoft Azure Infrastructure Solutions",
        "url": "https://learn.microsoft.com/en-us/training/courses/az-305t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-305"
        ],
        "notes": "Microsoft lists a four-day instructor-led duration and links self-directed preparation. September 28 AZ-305 deep review: Short standalone course metadata read: four instructor days and eight languages; runtime not asserted; lessons not executed. See docs/research/2026-09-28-az-305-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "az-400-microsoft-learn-course",
        "title": "Course AZ-400T00-A: Design and Implement Microsoft DevOps solutions",
        "url": "https://learn.microsoft.com/en-us/training/courses/az-400t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-400"
        ],
        "notes": "Official instructor-led duration is four days; the 30–45 hour self-paced planning range in the guide is an estimate including practice. September 28 AZ-400 deep review: Entire short main public course overview/metadata read: four instructor days, eight languages. Lessons not opened or executed. See docs/research/2026-09-28-az-400-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 4 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "az-700-microsoft-learn-course",
        "title": "Course AZ-700T00-A: Design and Implement Microsoft Azure Network Solutions",
        "url": "https://learn.microsoft.com/en-us/training/courses/az-700t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-700"
        ],
        "notes": "Microsoft lists a three-day instructor-led duration and links self-directed preparation. September 28 AZ-700 deep review: Main short course overview, audience, three-day duration and eight-language metadata read; course lessons not completed. See docs/research/2026-09-28-az-700-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 3 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "microsoft-az-900-course",
        "title": "Microsoft Azure Fundamentals",
        "url": "https://learn.microsoft.com/en-us/training/courses/az-900t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-900"
        ],
        "notes": "Official one-day course; the linked self-study paths are the primary free learning route. September 28 AZ-900 deep review: Complete short main course overview/metadata read: renamed Introduction to Cloud Infrastructure, one instructor day, 13 languages. Course lessons not completed. See docs/research/2026-09-28-az-900-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire short public course overview, audience and at-a-glance metadata read. Published instructor-led duration remains 1 day(s). Linked self-study syllabus remained a loading/empty outline; exact self-study runtime was not established. Limits: No enrollment, provider schedule, course lesson, lab or assessment delivery verified. Instructor days are not self-study hours."
      },
      {
        "id": "ab-620-learn-topics-path",
        "title": "Design agent conversations and responses using topics in Microsoft Copilot Studio",
        "url": "https://learn.microsoft.com/en-us/training/paths/design-agent-conversations-responses-topics-copilot-studio/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-620"
        ],
        "notes": "2 hours 17 minutes and three modules; the path identifies its content as classic-experience based. September 28 AB-620 deep review: Entire public three-module outline read; no module/lab execution or current duration verified. See docs/research/2026-09-28-ab-620-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire three-module public path outline read. All three modules carry classic-experience warnings; Adaptive Cards, topics/tools and generative-answer descriptions are visible. Limits: Historical 2h17 total not reproduced; module bodies not read; no tenant execution."
      },
      {
        "id": "ab-620-learn-multi-agent-path",
        "title": "Design and build multi-agent solutions in Microsoft Copilot Studio",
        "url": "https://learn.microsoft.com/en-us/training/paths/design-build-multi-agent-solutions-copilot-studio/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-620"
        ],
        "notes": "2 hours 54 minutes and four modules; the path identifies its content as classic-experience based. September 28 AB-620 deep review: Entire public four-module outline read; classic-experience notes retained; no module/lab execution. See docs/research/2026-09-28-ab-620-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire four-module public path outline read. Design module now explicitly covers standard and GitHub Copilot harnesses; child-agent, connected-agent and A2A modules retain classic-experience warnings. Limits: Historical 2h54 total not reproduced; outline does not establish implementation availability in a particular tenant."
      },
      {
        "id": "ab-620-learn-enterprise-integration-path",
        "title": "Integrate agents with enterprise systems in Microsoft Copilot Studio",
        "url": "https://learn.microsoft.com/en-us/training/paths/integrate-agents-enterprise-systems-copilot-studio/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-620"
        ],
        "notes": "3 hours 18 minutes and four modules; the path identifies its content as classic-experience based. September 28 AB-620 deep review: Entire public four-module outline read; no module/lab execution or current runtime verified. See docs/research/2026-09-28-ab-620-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire four-module public path outline read. Connectors/REST, grounding, integration selection and MCP remain visible; all four modules carry classic-experience warnings. Limits: Historical 3h18 total not reproduced; no connector/server provisioning or execution."
      },
      {
        "id": "ab-731-path-business-value",
        "title": "Explore the business value of generative AI solutions",
        "url": "https://learn.microsoft.com/en-us/training/paths/explore-business-value-generative-ai-solutions/",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-731"
        ],
        "notes": "One hour two minutes across two modules on generative-AI concepts, business needs, costs, value, risks and secure use. September 28 AB-731 deep review: Full two-module public outline read; current runtime absent. No module/quiz execution. See docs/research/2026-09-28-ab-731-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire two-module public outline read. Foundations and effective-solution modules support business use-case and grounding decisions. Limits: No current total runtime established; no quiz/module execution."
      },
      {
        "id": "ab-731-path-drive-value",
        "title": "Drive business value with AI solutions",
        "url": "https://learn.microsoft.com/en-us/training/paths/drive-value-generative-ai-solutions/",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-731"
        ],
        "notes": "One hour eight minutes across two modules on Microsoft Copilot solutions and Foundry Tools. September 28 AB-731 deep review: Full two-module public outline read; current runtime absent. No module/quiz execution. See docs/research/2026-09-28-ab-731-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire two-module public outline read. Copilot and Foundry Tools provide a business product-selection sequence. Limits: No current total runtime established; overview licensing language is not an entitlement contract."
      },
      {
        "id": "ab-731-path-transform",
        "title": "Transform your business with Microsoft AI",
        "url": "https://learn.microsoft.com/en-us/training/paths/transform-your-business-with-microsoft-ai/",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-731"
        ],
        "notes": "Two hours 34 minutes across four modules on tools, business value, responsible AI and organizational scale. September 28 AB-731 deep review: Full four-module public outline read; current title Transform your business with AI. Older duration historical. See docs/research/2026-09-28-ab-731-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire four-module public outline read. Tools, business value, responsible AI and scale form a leadership learning sequence. Limits: Historical aggregate runtime not reproduced; no paid interior or quiz inspected."
      },
      {
        "id": "microsoft-ai-concepts-learning-path-ai901",
        "title": "AI concepts for developers and technology professionals",
        "url": "https://learn.microsoft.com/en-us/training/paths/ai-concepts/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-901"
        ],
        "notes": "Current public page lists seven modules and an estimated duration of 3 hours 51 minutes. September 28 AI-901 deep review: All seven module titles/descriptions read; prior 3h51 total not reproduced. See docs/research/2026-09-28-ai-901-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire seven-module public outline read. Workloads include generative AI/agents, NLP, speech, vision, extraction and RAG. Limits: No aggregate runtime exposed; no unit/quiz execution."
      },
      {
        "id": "microsoft-ai-apps-agents-learning-path-ai901",
        "title": "Get started with AI applications and agents on Azure",
        "url": "https://learn.microsoft.com/en-us/training/paths/get-started-ai-apps-agents/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-901"
        ],
        "notes": "Current public page lists seven modules and an estimated duration of 5 hours 37 minutes. September 28 AI-901 deep review: All seven module titles/descriptions read; prior 5h37 total not reproduced. See docs/research/2026-09-28-ai-901-deep-review.md No live infrastructure execution. October 28 group03 learning review: Entire seven-module public outline read. Final module is now Get started with Microsoft Foundry IQ; public description distinguishes knowledge retrieval from other workloads. Limits: No aggregate runtime exposed; Python prerequisite is visible. No exercises or model calls executed."
      },
      {
        "id": "ai901-pluralsight",
        "title": "Implement AI solutions using Foundry AI-901",
        "url": "https://www.pluralsight.com/courses/implement-ai-solutions-by-using-microsoft-foundry--ai-901",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-901"
        ],
        "notes": "September 28 AI-901 deep review: Public metadata and six-module implementation outline read: Clint Bonnett, September 16, 2026, 1h59. Domain-two course, not full-path coverage; no paid lesson watched. See docs/research/2026-09-28-ai-901-deep-review.md No live infrastructure execution. October 28 group03 learning review: Public landing description and six-part detailed table of contents read. Clint Bonnett; 1h59; Last Updated September 16, 2026. Covers model/chat/agent clients, text/speech, vision and Content Understanding; explicitly targets second exam domain. Limits: Paid lessons, video playback, downloads and lab execution not accessed. Add concepts and current retrieval study separately; no guarantee of full blueprint coverage."
      },
      {
        "id": "ai-300-azure-mlops-v2-solution-accelerator",
        "title": "Azure MLOps v2 solution accelerator",
        "url": "https://github.com/Azure/mlops-v2",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-300"
        ],
        "notes": "September 28 AI-300 deep review: Retained contextual reference fetched; no exhaustive reread of the whole page or linked procedures in this pass. Applied corrections have separately identified targeted sources. See docs/research/2026-09-28-ai-300-deep-review.md No live infrastructure execution. October 28 group03 learning review: README overview, prerequisites and documentation links read. Adaptable templates require organization-specific customization; Azure quotas may block learning subscriptions. Limits: No deployment or dependency audit; repository marketing about enterprise readiness is not proof of production suitability."
      },
      {
        "id": "ai-300-azure-ml-examples",
        "title": "Azure ML examples",
        "url": "https://github.com/Azure/azureml-examples",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-300"
        ],
        "notes": "September 28 AI-300 deep review: Retained contextual reference fetched; no exhaustive reread of the whole page or linked procedures in this pass. Applied corrections have separately identified targeted sources. See docs/research/2026-09-28-ai-300-deep-review.md No live infrastructure execution. October 28 group03 learning review: README About, Getting Started, SDK and CLI sections read. README directs learners to v2 Python SDK tutorials and separate CLI examples. Limits: No notebooks executed or Action run results audited; repository-level test wording does not prove a selected example works for the learner."
      },
      {
        "id": "ai-300-foundry-samples",
        "title": "Foundry samples",
        "url": "https://github.com/azure-ai-foundry/foundry-samples",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-300",
          "AI-500"
        ],
        "notes": "September 28 AI-500 deep review: Fresh public retrieval/link metadata checked. Existing general-concept reference retained; this large source was not independently read in full or its code executed in the September 28 review. See docs/research/2026-09-28-ai-500-deep-review.md No live infrastructure execution. September 28 AI-300 deep review: Retained contextual reference fetched; no exhaustive reread of the whole page or linked procedures in this pass. Applied corrections have separately identified targeted sources. See docs/research/2026-09-28-ai-300-deep-review.md No live infrastructure execution. October 28 group03 learning review: Opened original URL; redirected to https://github.com/microsoft-foundry/foundry-samples. Destination README overview and Validation section read; build-readiness versus opt-in live validation distinguished. No sample executed. Original associations and earlier caveats retained."
      },
      {
        "id": "az305-fma",
        "title": "Well-Architected failure mode analysis",
        "url": "https://learn.microsoft.com/en-us/azure/well-architected/reliability/failure-mode-analysis",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-305"
        ],
        "notes": "September 28 AZ-305 deep review: Initial RE:03 framework, dependency identification, evaluation and mitigation steps read; full implementation practices not audited. See docs/research/2026-09-28-az-305-deep-review.md No live infrastructure execution. October 28 group03 learning review: Article body through Decompose, dependencies, failure points, mitigation, detection and documentation read. Flow-specific dependency and blast-radius analysis supports an original architecture decision worksheet. Limits: Authorization banner did not prevent readable body; no workload tests or fault injection performed. Avoid treating qualitative likelihood labels as measured probabilities."
      },
      {
        "id": "az-400-azure-devops-labs",
        "title": "Azure DevOps Labs",
        "url": "https://azuredevopslabs.com/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-400"
        ],
        "notes": "Select labs by objective and verify each lab's product currency before use. September 28 AZ-400 deep review: Public landing lab index partly read; individual step-by-step labs not executed. See docs/research/2026-09-28-az-400-deep-review.md No live infrastructure execution. October 28 group03 learning review: Full public lab index read. Broad catalog includes YAML, artifacts, testing, security and feedback; individual labs have different ages. Limits: Catalog copyright 2023 does not establish each lab freshness; no lab executed."
      },
      {
        "id": "az400-promotion-blog",
        "title": "Build once with Azure DevOps and Azure Developer CLI",
        "url": "https://devblogs.microsoft.com/devops/azure-developer-cli-from-dev-to-prod-with-azure-devops-pipelines/",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "official-announcement",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-400"
        ],
        "notes": "September 28 AZ-400 deep review: August 13, 2025 intro/artifact rationale and selected stage/package/deploy/validation snippets read; TODO/sleep gate explicitly illustrative. Linked repository and full commands not executed or audited. See docs/research/2026-09-28-az-400-deep-review.md No live infrastructure execution. October 28 group03 learning review: Full article body read via public requests/BeautifulSoup fallback after web tool 403; saved learning-blog-az400.txt (HTTP 200). Build/package, development and production stages promote one artifact; validation code is a TODO and simulated delay, useful as a review exercise. Limits: No linked implementation, video, deployment or scripts executed. Unpinned installation and incomplete checks need design work; authorship/date retained from existing catalog, not newly established by fallback body."
      }
    ],
    "unresolved_questions": [
      "Actual instructor/provider delivery and account-specific lab entitlements were not verified.",
      "Retained commercial metadata outside the one inspected Pluralsight AI-901 outline remains dated prior-review evidence; no claim it was exhaustively rechecked.",
      "No videos watched, paid lessons/questions consumed, notebooks/agents/cloud labs executed or product telemetry observed.",
      "TechCommunity blog bodies were unavailable to this learning researcher. Preserve existing recorded review provenance and let technical researcher handle any current technical claim.",
      "AB-731 currently places Final readiness checklist after Places to learn; coordinator should preserve checklist depth while making Places to learn the final public section per rubric.",
      "Coordinator must compare preliminary hashes with frozen group inputs before applying these exact-text edits."
    ],
    "bounded_recommendation": "Apply the ten specific learning routes and six targeted wording corrections, reconcile official technical/current-blueprint findings with the other researchers, preserve older metadata caveats and source histories, and run the normal sequential coordinator validation. This is public-source AI research, not human review or live lab execution."
  },
  "source_gate_decisions": {
    "passed": [
      "AB-620",
      "AB-731",
      "AI-300",
      "AI-901",
      "AZ-104",
      "AZ-140",
      "AZ-305",
      "AZ-400",
      "AZ-700",
      "AZ-900"
    ],
    "blocked": {},
    "boundary": "Bounded supported models and explicitly labeled upstream/preview/tenant limits; not full semantic audit, human review or live execution. Fresh-context review and shared gate must finish before delivery."
  },
  "catalog": {
    "new_source_ids": [
      "az400-actions-dependency-lockfiles",
      "g03-run-in-a-container",
      "g03-about-insights-for-projects",
      "az400-actions-lockfiles-ga-2026",
      "g03-learning-mlops-solution-accelerator-structure",
      "g03-learning-microsoft-foundry-documentation-samples",
      "ai901-content-understanding-service-limits",
      "g03-exam-a-3",
      "g03-rewrite-http-headers-url",
      "g03-fabric-analytical-data-stores",
      "g03-manage-feature-flags",
      "g03-exam-a-4",
      "g03-exam-a-5",
      "g03-exam-a-6",
      "g03-exam-a-7",
      "g03-exam-a-8",
      "az900-savings-plan-current-overview",
      "g03-manage-ddos-protection",
      "g03-how-to-manage-cloud-security-explorer",
      "g03-quickstart-onboard-devops",
      "g03-quickstart-onboard-github",
      "g03-quickstart-create-access-environments",
      "g03-change-project-level-permissions",
      "g03-add-teams",
      "g03-learning-create-your-first-azure-pipeline",
      "g03-dotnet-core",
      "g03-templates",
      "g03-exam-a-9",
      "g03-expressroute-bfd",
      "g03-expressroute-howto-routing-portal-resource-manager",
      "g03-manage-web-application-firewall-policies",
      "g03-exam-a-12",
      "g03-front-door-rules-engine-actions",
      "g03-remediation-options",
      "g03-exam-a-14",
      "g03-tutorial-create-gateway-load-balancer",
      "g03-exam-a-15",
      "g03-exam-a-16",
      "g03-quickstart-create-route-server-portal",
      "g03-exam-a-17",
      "az104-files-managed-identities",
      "g03-exam-a-18",
      "g03-exam-a-19",
      "g03-configure-host-pool-personal-desktop-assignment-type",
      "g03-licensing",
      "g03-redirection-configure-printers",
      "g03-start-virtual-machine-connect",
      "g03-exam-a-20",
      "g03-create-virtual-network-manager-portal",
      "g03-custom-ip-address-prefix",
      "g03-about-nva-hub",
      "g03-hub-settings",
      "g03-point-to-site-how-to-radius-ps",
      "g03-point-to-site-vpn-client-configuration-radius",
      "g03-azure-developer-retired-credential",
      "g03-configure-endpoints-vdi",
      "g03-auth-kcd",
      "g03-how-to-configure-odfc-containers",
      "g03-tutorial-application-rule-sets",
      "g03-exam-a-21",
      "g03-exam-a-22",
      "g03-exam-a-23",
      "g03-exam-a-24",
      "g03-exam-a-25",
      "g03-exam-a-26",
      "g03-exam-a-27",
      "g03-learning-business-strategy-for-ai-value",
      "g03-learning-describe-cost-optimization-options-in-azure",
      "g03-learning-identify-implementation-options-by-harness",
      "g03-learning-get-started-with-microsoft-foundry-iq",
      "g03-learning-describe-azure-management-and-governance-learning-path",
      "g03-learning-describe-cloud-concepts-learning-path",
      "g03-troubleshoot-management-issues",
      "g03-universal-print-intune-tool",
      "az140-context-based-redirections",
      "g03-learning-az-104-lab-02b-manage-governance-via-azure-policy",
      "g03-learning-az-140-official-hosted-lab-index",
      "g03-learning-az-140-implement-monitoring-with-azure-virtual-desktop-insights",
      "g03-learning-az-700-configure-dns-settings-in-azure",
      "g03-exam-a-28",
      "g03-exam-a-29",
      "g03-learning-azure-devops-yaml-historical-lab"
    ],
    "new_sources": 82,
    "reused_association_updates": [
      {
        "id": "az-800-private-resolver",
        "added_exams": [
          "AZ-700"
        ]
      },
      {
        "id": "ab-410-credential-retirement",
        "added_exams": [
          "AZ-400"
        ]
      },
      {
        "id": "az-800-entra-domain-services",
        "added_exams": [
          "AZ-900"
        ]
      },
      {
        "id": "mb-820-partner-skilling-hub",
        "added_exams": [
          "AB-731"
        ]
      }
    ],
    "evaluated_learning_or_exam_updates": [
      "ab-620-course",
      "ab-620-learn-enterprise-integration-path",
      "ab-620-learn-multi-agent-path",
      "ab-620-learn-topics-path",
      "ab-731-course",
      "ab-731-path-business-value",
      "ab-731-path-drive-value",
      "ab-731-path-transform",
      "ai-300-ai-300t00-operationalize-machine-learning-and-generative-ai-solutions",
      "ai-300-azure-ml-examples",
      "ai-300-azure-mlops-v2-solution-accelerator",
      "ai-300-foundry-samples",
      "ai901-pluralsight",
      "ai901-speech-client",
      "ai901-voice-agent",
      "az-104-microsoft-learn-course",
      "az-140-microsoft-learn-course",
      "az-305-microsoft-learn-course",
      "az-400-azure-devops-labs",
      "az-400-microsoft-learn-course",
      "az-700-microsoft-learn-course",
      "az305-fma",
      "az400-promotion-blog",
      "microsoft-ai-901-course",
      "microsoft-ai-apps-agents-learning-path-ai901",
      "microsoft-ai-concepts-learning-path-ai901",
      "microsoft-az-900-course",
      "microsoft-content-understanding-quickstart-ai103",
      "microsoft-foundry-image-generation-editing-ai103",
      "microsoft-foundry-vision-models-ai103"
    ],
    "technical_body_updates": [
      "ab100-mcp-existing-server",
      "ab731-edp",
      "ai103-content-understanding-whats-new",
      "ai300-network",
      "az-140-rdp-multipath",
      "az-140-rdp-shortpath",
      "az-800-azure-files-identity",
      "az140-news",
      "az305-frontdoor",
      "az700-vpn-skus",
      "az900-budgets",
      "github-actions-retention-expansion-2026"
    ],
    "fresh_health_sources": 87,
    "source_quality_boundary": "Only evaluated sources used by actual final guide links promoted. Exact role read scopes retained; paid interiors, videos and product execution not inferred.",
    "same_team_followup_source_ids": [
      "az-801-doc-33-azure-to-azure-tutorial-enable-replication"
    ],
    "final_new_source_ids": [
      "az400-actions-dependency-lockfiles",
      "g03-run-in-a-container",
      "g03-about-insights-for-projects",
      "az400-actions-lockfiles-ga-2026",
      "g03-learning-mlops-solution-accelerator-structure",
      "g03-learning-microsoft-foundry-documentation-samples",
      "ai901-content-understanding-service-limits",
      "g03-exam-a-3",
      "g03-rewrite-http-headers-url",
      "g03-fabric-analytical-data-stores",
      "g03-manage-feature-flags",
      "g03-exam-a-4",
      "g03-exam-a-5",
      "g03-exam-a-6",
      "g03-exam-a-7",
      "g03-exam-a-8",
      "az900-savings-plan-current-overview",
      "g03-manage-ddos-protection",
      "g03-how-to-manage-cloud-security-explorer",
      "g03-quickstart-onboard-devops",
      "g03-quickstart-onboard-github",
      "g03-quickstart-create-access-environments",
      "g03-change-project-level-permissions",
      "g03-add-teams",
      "g03-learning-create-your-first-azure-pipeline",
      "g03-dotnet-core",
      "g03-templates",
      "g03-exam-a-9",
      "g03-expressroute-bfd",
      "g03-expressroute-howto-routing-portal-resource-manager",
      "g03-manage-web-application-firewall-policies",
      "g03-exam-a-12",
      "g03-front-door-rules-engine-actions",
      "g03-remediation-options",
      "g03-exam-a-14",
      "g03-tutorial-create-gateway-load-balancer",
      "g03-exam-a-15",
      "g03-exam-a-16",
      "g03-quickstart-create-route-server-portal",
      "g03-exam-a-17",
      "az104-files-managed-identities",
      "g03-exam-a-18",
      "g03-exam-a-19",
      "g03-configure-host-pool-personal-desktop-assignment-type",
      "g03-licensing",
      "g03-redirection-configure-printers",
      "g03-start-virtual-machine-connect",
      "g03-exam-a-20",
      "g03-create-virtual-network-manager-portal",
      "g03-custom-ip-address-prefix",
      "g03-about-nva-hub",
      "g03-hub-settings",
      "g03-point-to-site-how-to-radius-ps",
      "g03-point-to-site-vpn-client-configuration-radius",
      "g03-azure-developer-retired-credential",
      "g03-configure-endpoints-vdi",
      "g03-auth-kcd",
      "g03-how-to-configure-odfc-containers",
      "g03-tutorial-application-rule-sets",
      "g03-exam-a-21",
      "g03-exam-a-22",
      "g03-exam-a-23",
      "g03-exam-a-24",
      "g03-exam-a-25",
      "g03-exam-a-26",
      "g03-exam-a-27",
      "g03-learning-business-strategy-for-ai-value",
      "g03-learning-describe-cost-optimization-options-in-azure",
      "g03-learning-identify-implementation-options-by-harness",
      "g03-learning-get-started-with-microsoft-foundry-iq",
      "g03-learning-describe-azure-management-and-governance-learning-path",
      "g03-learning-describe-cloud-concepts-learning-path",
      "g03-troubleshoot-management-issues",
      "g03-universal-print-intune-tool",
      "az140-context-based-redirections",
      "g03-learning-az-104-lab-02b-manage-governance-via-azure-policy",
      "g03-learning-az-140-official-hosted-lab-index",
      "g03-learning-az-140-implement-monitoring-with-azure-virtual-desktop-insights",
      "g03-learning-az-700-configure-dns-settings-in-azure",
      "g03-exam-a-28",
      "g03-exam-a-29",
      "g03-learning-azure-devops-yaml-historical-lab",
      "g03-publish-test-results-contract"
    ],
    "final_new_sources": 83,
    "independent_repair_source_ids": [
      "g03-publish-test-results-contract"
    ]
  },
  "health": {
    "initial": {
      "total": 506,
      "ok": 483,
      "blocked": 23,
      "broken": 0,
      "changed": 11,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": true
    },
    "initial_errors": "None; no retry required or claimed.",
    "additional": {
      "total": 86,
      "ok": 86,
      "blocked": 0,
      "broken": 0,
      "changed": 0,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": false
    },
    "same_team_followup": {
      "total": 1,
      "ok": 1,
      "blocked": 0,
      "broken": 0,
      "changed": 0,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": false
    },
    "independent_review_repair": {
      "total": 1,
      "ok": 1,
      "blocked": 0,
      "broken": 0,
      "changed": 0,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": false
    },
    "final_unique": {
      "total": 581,
      "reachable": 558,
      "access_blocked": 23,
      "missing_or_error": 0
    }
  },
  "validation": {
    "status": "passed before authorized stage/commit/push",
    "unit_tests": {
      "run": 199,
      "passed": true
    },
    "repository_validation": "passed",
    "reviewed_learning_resources_drift": false,
    "strict_site_build": "passed",
    "generated_site_validation": "passed",
    "diff_whitespace_check": "passed",
    "new_service_or_pipeline_execution": false,
    "boundary": "Final Markdown, guides, source/binding records and links were fixed before the website gate. This JSON-only validation metadata is recorded afterward; no rendered Markdown or links changed. Final repository/index checks follow; remote workflows rebuild and validate the final commit after push. No production deployment claimed.",
    "check_output_sha256": {
      "tests.log": "fdeec399ca83ab009a2ed409d4e0d4980c17088507589b233c06c603bcfcae3f",
      "repository-validation.log": "3ac098dae1d09b59c78bfa83456c83a24aa7308b4b1b6f2e899b2284e5b360ea",
      "final-resource-drift.log": "d28016225567fcf09849dc13984ea580d4c45eebb41b86f1a264e4fb4654d7af",
      "final-mkdocs.log": "06d2f4f12cafc442fab693cdc63949744affd9b3962ef83cbe5b120cdb4b23e7",
      "final-site-validation.log": "7c73e2c9af83a76584eb3405bee55b609273f378e966f358455c673c2ee00047"
    }
  },
  "fresh_context_reviews": [
    {
      "schema_version": 1,
      "reviewed_on": "2026-10-28",
      "reviewer": "fresh-context read-only reviewer A",
      "independence": "fresh-context",
      "review_type": "bounded refresh diff/objective/evidence review",
      "rubric_basis": [
        "AGENTS.md",
        "CONTRIBUTING.md",
        "docs/CONTENT-POLICY.md",
        "docs/SOURCE-QUALITY.md",
        "docs/GUIDE-QUALITY-STANDARD.md",
        "docs/AI-AUDIT.md"
      ],
      "base_commit": "e764e0048e320d67fe831051c4275d1694072e27",
      "scope": [
        "AB-620",
        "AB-731",
        "AI-300",
        "AI-901",
        "AZ-104"
      ],
      "complete_guides_and_complete_diffs_read": true,
      "detailed_objectives_reconciled": 252,
      "method": "Read each complete final guide and complete base-to-final diff, the five complete objective snapshots and statuses, all 252 final objective mapping rows and semantic reasons, relevant role observations/proposals/follow-up, current catalog rows and latest dated source reviews. Independently opened 22 critical primary/upstream URLs and inspected the claim-bearing sections recorded separately. Verified final guide/capture/mapping hashes and all span hashes after semantic reading; equality was not used as semantic proof. Checked exact external URL catalog and packet-health matches; reachability was not treated as behavior verification. Final assembly recheck reviewed the repaired AI-901 sentence and complete updated diff, confirmed the other four scoped guide hashes unchanged, reconciled all scoped current matrix/ledger/source/deep-receipt bindings, and verified historical preservation. Source-review finalization and review-status wrap-up do not turn this bounded review into a full rubric-2 audit.",
      "results": [
        {
          "exam_code": "AB-620",
          "guide_path": "guides/AB-620-designing-building-integrated-ai-agent-solutions.md",
          "guide_lf_sha256": "c75b80d4362706956756e8c4f20acbf68525f7275ed84eb39867f71788dd3067",
          "objective_path": "data/objective-snapshots/ab-620-official-objectives.txt",
          "objective_raw_sha256": "8b9f6ca0601cf631a000763ce7a0cca802a0177c66d7a4e3cc29d84d52188dfc",
          "diff_raw_sha256": "16b76b73683162708b7745058d8ed0e399e551b851a27f10cb2df115ab095e2c",
          "guide_read_scope": "Complete current captured guide including front matter, references, all labs/checks/answers and Places to learn",
          "line_range": [
            1,
            810
          ],
          "objective_count": 44,
          "mapping_rows_semantically_reconciled": 44,
          "objective_bytes_unchanged_against_base": true,
          "verdict": "pass",
          "final_assembled_bindings_checked": true
        },
        {
          "exam_code": "AB-731",
          "guide_path": "guides/AB-731-ai-transformation-leader.md",
          "guide_lf_sha256": "f831fcb643c015e9a00ce798264c9431cbd90a867abbe93b1dbeafff936abf9b",
          "objective_path": "data/objective-snapshots/ab-731-official-objectives.txt",
          "objective_raw_sha256": "dbb6d89a150d8e1ca630380839f190f05e89b2688a862c3987f14a1df48ea7e7",
          "diff_raw_sha256": "a33471d7d8c4250bc216a6477b3be4c4b29fac1badb860fe492acb98b1e24220",
          "guide_read_scope": "Complete current captured guide including front matter, references, all labs/checks/answers and Places to learn",
          "line_range": [
            1,
            532
          ],
          "objective_count": 39,
          "mapping_rows_semantically_reconciled": 39,
          "objective_bytes_unchanged_against_base": true,
          "verdict": "pass",
          "final_assembled_bindings_checked": true
        },
        {
          "exam_code": "AI-300",
          "guide_path": "guides/AI-300-operationalizing-machine-learning-generative-ai-solutions.md",
          "guide_lf_sha256": "9d785409540a4c31b4f4214cb4d516d57070a96b0c234997d6342be267588bb9",
          "objective_path": "data/objective-snapshots/ai-300-official-objectives.txt",
          "objective_raw_sha256": "79d7fabcf253e7ac5f5f7629397075867d22c48045c2483c9d03e1b217215f41",
          "diff_raw_sha256": "e2507f86040d1980d0af18f427c205f15cd9175c618a38ae0c59c111c901a75a",
          "guide_read_scope": "Complete current captured guide including front matter, references, all labs/checks/answers and Places to learn",
          "line_range": [
            1,
            704
          ],
          "objective_count": 58,
          "mapping_rows_semantically_reconciled": 58,
          "objective_bytes_unchanged_against_base": true,
          "verdict": "pass",
          "final_assembled_bindings_checked": true
        },
        {
          "exam_code": "AI-901",
          "guide_path": "guides/AI-901-microsoft-azure-ai-fundamentals.md",
          "guide_lf_sha256": "dc9ca5bd238e82ff504dde5e0888608c9644e1a012e07b800abf1366f981e749",
          "objective_path": "data/objective-snapshots/ai-901-official-objectives.txt",
          "objective_raw_sha256": "8b1c05a7a2258d69e43d47d75c0adeae2a5a7660e12e4d46627014d1ff9bedd1",
          "diff_raw_sha256": "1990059e14a3f60bf827040544daa57f83ba2def68aeb468617c5bee849e63cd",
          "guide_read_scope": "Complete current captured guide including front matter, references, all labs/checks/answers and Places to learn",
          "line_range": [
            1,
            896
          ],
          "objective_count": 29,
          "mapping_rows_semantically_reconciled": 29,
          "objective_bytes_unchanged_against_base": true,
          "verdict": "pass",
          "final_assembled_bindings_checked": true,
          "initial_complete_read_guide_lf_sha256": "4b43ada4d11ec9d15b73d1231dab03698699f96bf837f347cf6bec080d32c6e2",
          "final_recheck_scope": "Read complete updated base-to-final AI-901 diff and exact one-line change against the initial complete-guide capture. The repair removes brittle current-version metadata while preserving supported minimum, compatible client interface and resolved-version recording. No other AI-901 line changed."
        },
        {
          "exam_code": "AZ-104",
          "guide_path": "guides/AZ-104-microsoft-azure-administrator.md",
          "guide_lf_sha256": "3899d0d582d439b56747ca10effc793ddd629fae6969c5b12ff9e5a8783bc2f1",
          "objective_path": "data/objective-snapshots/az-104-official-objectives.txt",
          "objective_raw_sha256": "7d2330fbafdd4981b54e6aa8f9ba371f0bbad1edf521fa8d2fa591e2bf8d2ae1",
          "diff_raw_sha256": "9a480e0bd1b65400de8f2047ec4cfcbcecd9d7dd07895c5d3260d5a66845949f",
          "guide_read_scope": "Complete current captured guide including front matter, references, all labs/checks/answers and Places to learn",
          "line_range": [
            1,
            773
          ],
          "objective_count": 82,
          "mapping_rows_semantically_reconciled": 82,
          "objective_bytes_unchanged_against_base": true,
          "verdict": "pass",
          "final_assembled_bindings_checked": true
        }
      ],
      "findings": [
        {
          "id": "g03-review-a-ai901-sdk-reference-version",
          "exam_code": "AI-901",
          "severity": "low",
          "checks": [
            "material-claim-support",
            "volatility-and-lifecycle",
            "review-evidence-accuracy"
          ],
          "location": "guides/AI-901-microsoft-azure-ai-fundamentals.md:258",
          "status": "resolved",
          "observation": "The text says the current Projects SDK reference describes version 2.7.0. Independent reopening of the exact cited Learn page now titles the client library version 2.9.0. Its minimum 2.3.0 guidance and get_openai_client()/Responses pattern remain consistent, so this is local metadata drift rather than a demonstrated request-contract defect.",
          "source_url": "https://learn.microsoft.com/en-us/python/api/overview/azure/ai-projects-readme?view=azure-python",
          "recommendation": "Remove the volatile current-version claim or date it accurately; retain compatible 2.x guidance, the documented minimum for main examples and exact resolved-version recording. Coordinator repair and recheck required before closing.",
          "resolved_on": "2026-10-28",
          "resolution": "Coordinator removed the brittle current 2.7.0 reference label. Fresh-context reviewer reread repaired line 258, the complete updated AI-901 diff and incremental difference against the first reviewed complete guide. It retains the documented 2.3.0 minimum for main examples, compatible 2.x guidance, actual resolved-version recording and preview warning. Final guide hash dc9ca5bd238e82ff504dde5e0888608c9644e1a012e07b800abf1366f981e749."
        }
      ],
      "summary": {
        "guides": 5,
        "pass": 5,
        "pass_with_notes": 0,
        "fix_required": 0,
        "blocked": 0,
        "open_material_findings": 0,
        "open_low_findings": 0,
        "resolved_findings": 1
      },
      "pending_checks": [],
      "limitations": [
        "This is not a full rubric-2 ledger audit, human/community review, exhaustive re-verification of every preexisting source, video/paid-content review or live product/lab/SDK execution.",
        "Commercial blocks and sign-in assessment shells remain explicitly bounded; exact URL catalog matches do not validate inaccessible lesson quality or assessment originality.",
        "Some implementation treatments are intentionally concise; pass means no material unsupported omission found in this bounded refresh review, not that all learners can complete operations without consulting linked documentation.",
        "Upstream Sentence Transformers training is useful embedding-adaptation coverage under its adjacent Corroborated label; selected managed Azure embedding endpoint fine-tuning support remains unverified."
      ],
      "review_state": "final",
      "verdict": "pass-final-bounded-with-retained-limits",
      "final_support_review": {
        "scope": "Complete public group report; operations common header/scope/method/status/preservation/health/catalog sections and all five scoped exam rows, embedded current mappings and source IDs; all five current source-validation records and deep-review receipts; current config/seed/status rows and relevant SOURCE-VALIDATION coverage summaries. Other five guides are outside this reviewer scope.",
        "paths": [
          "docs/research/2026-10-28-microsoft-refresh-group-03.md",
          "ADLC_Docs/operations/2026-10-28-microsoft-refresh-group-03.json",
          "data/reviews.json",
          "data/deep-reviews.json",
          "docs/SOURCE-VALIDATION.md",
          "config/exams.json",
          "config/certification-seeds.json",
          ".maintenance/2026-10-28-remaining-refresh/group-03/exam-final-mapping.json",
          ".maintenance/2026-10-28-remaining-refresh/group-03/review-inputs/manifest.json"
        ],
        "checks": {
          "all_five_current_guide_hashes_match_manifest_capture_matrix_ledger_deep_receipts": true,
          "all_five_raw_objective_hashes_and_source_review_paths_match": true,
          "all_252_wording_and_span_hashes_match_current_guides": true,
          "embedded_ledger_mapping_matches_final_combined_matrix": true,
          "all_scoped_source_ids_match_exact_guide_urls": true,
          "source_gate_link_counts_match_scoped_ledger_and_public_report": true,
          "all_scoped_report_and_evidence_paths_exist": true,
          "only_ai901_single_sentence_changed_since_first_complete_scoped_guide_review": true,
          "all_five_objective_texts_byte_unchanged_against_base": true,
          "undated_ab620_ai300_status_metadata_not_exam_effective_dates": true,
          "earlier_source_review_objects_retained_unchanged": 309,
          "earlier_deep_review_objects_retained_unchanged": 186,
          "ai_audit_ledger_byte_unchanged": true
        },
        "outcome": "passed",
        "validation_boundary": "Coordinator repository/unit/site validation is separate and may still be running. No tests, source collectors or live product operations were run by this reviewer. Public/operations pending-review status wording can be finalized by coordinator after incorporating both independent reviews and actual validation results."
      },
      "open_material_findings": 0
    },
    {
      "review_date": "2026-10-28",
      "scope": [
        "AZ-140",
        "AZ-305",
        "AZ-400",
        "AZ-700",
        "AZ-900"
      ],
      "base_commit": "e764e0048e320d67fe831051c4275d1694072e27",
      "review_type": "fresh-context read-only bounded full-guide plus diff/objective/source evidence review; not full rubric2 audit",
      "initial_bindings": [
        {
          "exam_code": "AZ-900",
          "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
          "guide_lf_sha256": "09dafd7ca0dffee692577828c9efca74232f668469361d83e4a2b081c0d021f0",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-900-microsoft-azure-fundamentals.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-900.diff",
          "diff_raw_sha256": "decd8ae0ddc18337658a998e74089f428231aef84018a58da3f58524fc5617f0",
          "objective_path": "data/objective-snapshots/az-900-official-objectives.txt",
          "objective_raw_sha256": "8b4c89d325b3ce339eb881aa2dc4b251888e6d7a07d6351d81bcc2123b1c4449"
        },
        {
          "exam_code": "AZ-305",
          "guide_path": "guides/AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
          "guide_lf_sha256": "8738024e1a6e730cfbb4417fbb489f37b86ec400ccaf6f573f12301ee4088f59",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-305.diff",
          "diff_raw_sha256": "b624da5894b03cab49c5357758a00268333d2f6c5141d5a4b279b916a942a4ad",
          "objective_path": "data/objective-snapshots/az-305-official-objectives.txt",
          "objective_raw_sha256": "7e5e8671b6ba67938e71f71261f92e0d9798f27ec94f79c75e3ea6310f917df2"
        },
        {
          "exam_code": "AZ-700",
          "guide_path": "guides/AZ-700-designing-implementing-azure-networking-solutions.md",
          "guide_lf_sha256": "7b6ee0b5587cfb3e60d8f7989f0ca323957221a34747fccb84b3d08270975287",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-700-designing-implementing-azure-networking-solutions.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-700.diff",
          "diff_raw_sha256": "ff1d3ef303c0f4c6e8abb91d52d6aded9f051afaa8fe32d436942a187f22ed15",
          "objective_path": "data/objective-snapshots/az-700-official-objectives.txt",
          "objective_raw_sha256": "949dcb2d1b4bbde19b6f41b69fdf59cf33b52391d4b8010e2a46d6a0c94a98dd"
        },
        {
          "exam_code": "AZ-140",
          "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
          "guide_lf_sha256": "5fb48c190decd5339ae74740c1fe70aee93e26ec9e478fbffdbaf5a84dbac5a2",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-140-configuring-operating-azure-virtual-desktop.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-140.diff",
          "diff_raw_sha256": "4b0d999ccbca3977cd6d050b049b9cceb4a7bc943deaf95565b6d4a927156e07",
          "objective_path": "data/objective-snapshots/az-140-official-objectives.txt",
          "objective_raw_sha256": "d40f010042124a6e28c81a7f783b6127e3b7ebf7bb99d9b3ddfccdd40dcede84"
        },
        {
          "exam_code": "AZ-400",
          "guide_path": "guides/AZ-400-designing-implementing-microsoft-devops-solutions.md",
          "guide_lf_sha256": "478a661acf133d18bf92911b35e1379df609622573cf254db32e5400554d8e15",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-400-designing-implementing-microsoft-devops-solutions.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-400.diff",
          "diff_raw_sha256": "177054f71ad12a222d91976aeae234edd5dd59ada4fc6a0e4daaca26bf2aafce",
          "objective_path": "data/objective-snapshots/az-400-official-objectives.txt",
          "objective_raw_sha256": "2daece89f2a2ef131293e7299b41532985afbe955aed913bb86dc42bb8650460"
        }
      ],
      "complete_guide_and_diff_reads": true,
      "objective_mapping_integrity": {
        "objective_count": 406,
        "span_count": 602,
        "raw_candidate_accepted_before_byte_matches": true,
        "all_wording_hashes_and_snapshot_occurrences": true,
        "all_span_hashes": true,
        "scope": "All406 rows semantically compared with complete guide reading; automated identity/hashes are distinct from coverage."
      },
      "verdict": "pass-final-bounded-with-retained-limits",
      "open_material_count": 0,
      "ledger_followup": {
        "status": "completed",
        "public_report": "docs/research/2026-10-28-microsoft-refresh-group-03.md",
        "operations_ledger": "ADLC_Docs/operations/2026-10-28-microsoft-refresh-group-03.json",
        "read_scope": "Complete short public report; scoped five-exam ledger rows, method/limits, source gates, health totals, full scoped objective mapping and repair rebinding; research sections inspected for scoped findings and provenance, not a second full review of other five exams.",
        "checks": [
          "All406 current objective wordings and602 teaching-span hashes valid against recaptured final guides; every final guide/objective/diff hash matches manifest, combined map and operations ledger.",
          "Candidate/accepted/before raw objective bytes identical for all5. Initial before guides LF match base commit.",
          "All346 scoped unique guide links registered (61+54+83+77+71); source-health status counts reproduce source-validation records and ledger. Reachability not treated as technical proof.",
          "Scoped source IDs match actual guide URLs; all5 latest source gates passed with current objective hashes and complete checks, config dates/review states match, current deep-review guide hashes match.",
          "All309 prior source review records,186 prior deep-review records and42 prior AI-audit batches preserved by exact object equality. No historical review dates, verdicts or objective paths rewritten.",
          "Public report explicitly bounds scope and distinguishes proposed workflows, offline syntax/arithmetic, AI source review, live execution, full rubric2 audit and human review. Final local/shared verification remains coordinator-owned and separately pending at time read."
        ],
        "assembly_not_blocked": true
      },
      "disclosure": {
        "human_review": false,
        "live_product_validation": false,
        "full_rubric2_audit": false
      },
      "initial_findings_history": [
        {
          "id": "g03-review-b-001",
          "exam_code": "AZ-400",
          "severity": "medium",
          "check": "material claim support; technical coherence",
          "location": "4.3 September2026 runner/workflow changes, workflow-dependency lockfile paragraph (initial capture line325)",
          "evidence": "Initial paragraph says contract excludes reusable-workflow calls; official concept article says lockfile pins reusable workflow refs, excluding only dependencies inside calls; called repo own lock covers those. GA blog independently confirmed with direct body read; docs badge remains preview.",
          "recommendation": "Separate the call reference from internal dependencies; document GA announcement versus lagging preview doc. Retain SHA pinning as valid explicit trust policy without saying calls unsupported.",
          "disposition": "open"
        },
        {
          "id": "g03-review-b-002",
          "exam_code": "AZ-400",
          "severity": "medium",
          "check": "technical coherence; lab feasibility",
          "location": "Worked YAML graph, PublishTestResults@2 (initial capture lines385-391)",
          "evidence": "failTaskOnFailedTests true does not fail missing files; failTaskOnMissingResultsFile defaults false. Script can exit0 and coverage publish while TRX absent, permitting Package contrary to stated missing-evidence gate.",
          "recommendation": "Set failTaskOnMissingResultsFile:true; optionally failTaskOnFailureToPublishResults:true; cite exact current task contract and retain illustrative/unexecuted scope.",
          "disposition": "open"
        }
      ],
      "findings": [],
      "repair_verification": [
        {
          "finding_id": "g03-review-b-001",
          "coordinator_changed_shared_guide": true,
          "verification": "Separate follow-up after coordinator edit: read complete corrected paragraph and surrounding trust/context section. Reusable workflow reference locking distinguished from called repository internal dependency lock. Dated GA announcement versus stale preview label visible. Both independently opened primary sources support the correction. Original initial finding retained as historical; this is an affirmative current-snapshot repair check."
        },
        {
          "finding_id": "g03-review-b-002",
          "coordinator_changed_shared_guide": true,
          "verification": "Separate follow-up after coordinator edit: read complete corrected YAML fragment and interpretation. failTaskOnMissingResultsFile and failTaskOnFailureToPublishResults both true, PublishTestResults VSTest/TRX inputs and succeededOrFailed publication remain; Package dependsOn Validate with succeeded(). Exact task-contract citation registered. Illustrative/unexecuted preconditions retained. No pipeline execution."
        }
      ],
      "final_bindings": [
        {
          "exam_code": "AZ-900",
          "guide_path": "guides/AZ-900-microsoft-azure-fundamentals.md",
          "guide_lf_sha256": "09dafd7ca0dffee692577828c9efca74232f668469361d83e4a2b081c0d021f0",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-900-microsoft-azure-fundamentals.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-900.diff",
          "diff_raw_sha256": "decd8ae0ddc18337658a998e74089f428231aef84018a58da3f58524fc5617f0",
          "objective_path": "data/objective-snapshots/az-900-official-objectives.txt",
          "objective_raw_sha256": "8b4c89d325b3ce339eb881aa2dc4b251888e6d7a07d6351d81bcc2123b1c4449"
        },
        {
          "exam_code": "AZ-305",
          "guide_path": "guides/AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
          "guide_lf_sha256": "8738024e1a6e730cfbb4417fbb489f37b86ec400ccaf6f573f12301ee4088f59",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-305-designing-microsoft-azure-infrastructure-solutions.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-305.diff",
          "diff_raw_sha256": "b624da5894b03cab49c5357758a00268333d2f6c5141d5a4b279b916a942a4ad",
          "objective_path": "data/objective-snapshots/az-305-official-objectives.txt",
          "objective_raw_sha256": "7e5e8671b6ba67938e71f71261f92e0d9798f27ec94f79c75e3ea6310f917df2"
        },
        {
          "exam_code": "AZ-700",
          "guide_path": "guides/AZ-700-designing-implementing-azure-networking-solutions.md",
          "guide_lf_sha256": "7b6ee0b5587cfb3e60d8f7989f0ca323957221a34747fccb84b3d08270975287",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-700-designing-implementing-azure-networking-solutions.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-700.diff",
          "diff_raw_sha256": "ff1d3ef303c0f4c6e8abb91d52d6aded9f051afaa8fe32d436942a187f22ed15",
          "objective_path": "data/objective-snapshots/az-700-official-objectives.txt",
          "objective_raw_sha256": "949dcb2d1b4bbde19b6f41b69fdf59cf33b52391d4b8010e2a46d6a0c94a98dd"
        },
        {
          "exam_code": "AZ-140",
          "guide_path": "guides/AZ-140-configuring-operating-azure-virtual-desktop.md",
          "guide_lf_sha256": "5fb48c190decd5339ae74740c1fe70aee93e26ec9e478fbffdbaf5a84dbac5a2",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-140-configuring-operating-azure-virtual-desktop.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-140.diff",
          "diff_raw_sha256": "4b0d999ccbca3977cd6d050b049b9cceb4a7bc943deaf95565b6d4a927156e07",
          "objective_path": "data/objective-snapshots/az-140-official-objectives.txt",
          "objective_raw_sha256": "d40f010042124a6e28c81a7f783b6127e3b7ebf7bb99d9b3ddfccdd40dcede84"
        },
        {
          "exam_code": "AZ-400",
          "guide_path": "guides/AZ-400-designing-implementing-microsoft-devops-solutions.md",
          "guide_lf_sha256": "478a661acf133d18bf92911b35e1379df609622573cf254db32e5400554d8e15",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-400-designing-implementing-microsoft-devops-solutions.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-03\\review-inputs\\AZ-400.diff",
          "diff_raw_sha256": "177054f71ad12a222d91976aeae234edd5dd59ada4fc6a0e4daaca26bf2aafce",
          "objective_path": "data/objective-snapshots/az-400-official-objectives.txt",
          "objective_raw_sha256": "2daece89f2a2ef131293e7299b41532985afbe955aed913bb86dc42bb8650460"
        }
      ],
      "semantic_review_notes": {
        "AZ-140": "All78 mapped objective treatments compared to full guide: host/storage/network/image/identity/config/user/app/monitoring/recovery workflows contain decision/failure/evidence boundaries. ANF identity, ODFC policy base, Government transport scopes and elapsed classic lifecycle correctly bounded.",
        "AZ-305": "All49 design-level treatments compared: authorization planes and KCD chain; analytical serving models; migration and resilience decisions; Front Door two dates and DNS/default hostname separation substantive.",
        "AZ-400": "All86 treatments compared: work-to-release traceability, immutable packages, trust-separated execution, YAML graph, templates, flag/guest/self-service, security/telemetry. Corrected exact lockfile and test-publication contracts independently checked. ADE retirement remains distinct from unchanged exam scope; retired Developer prerequisite handling bounded.",
        "AZ-700": "All136 treatments compared: address/name/route/egress path, service chaining, VPN/P2S/RADIUS, ExpressRoute/BFD, WAN units, PLS/service endpoints and policy association. Added workflows name creation/configuration/verification boundaries; VPN lockout supported by direct current main body.",
        "AZ-900": "All57 describe/compare treatments compared: responsibility/service models, hierarchy, compute/network/storage/identity/governance and monitoring distinctions; cost worksheet adds applicability/commitment checks without purchase or guaranteed free-lab claim."
      },
      "actual_read_scopes": {
        "policies": [
          "AGENTS.md",
          "CONTRIBUTING.md",
          "docs/CONTENT-POLICY.md",
          "docs/SOURCE-QUALITY.md",
          "docs/GUIDE-QUALITY-STANDARD.md",
          "docs/AI-AUDIT.md"
        ],
        "complete_guides": [
          "AZ-140",
          "AZ-305",
          "AZ-400",
          "AZ-700",
          "AZ-900"
        ],
        "complete_diffs": [
          "AZ-140",
          "AZ-305",
          "AZ-400",
          "AZ-700",
          "AZ-900"
        ],
        "complete_accepted_objective_snapshots": [
          "AZ-140",
          "AZ-305",
          "AZ-400",
          "AZ-700",
          "AZ-900"
        ],
        "candidate_and_before_objectives": "Raw-byte equality plus all detailed wording/group/domain reading against accepted snapshot.",
        "research_inputs": "Manifest and immutable before bindings; exam-b final mapping all406 rows and602 spans; scoped exam research observations, full semantic finding classifications/final proposals; scoped technical proposals, selected source/learning observations and limitations, catalog summary, health summaries plus all scoped catalog/health records; final combined mapping/rebinding and scoped ledger/current source/deep/config/history records.",
        "critical_source_receipt": "reviewer-b-sources.json",
        "final_AZ400_followup": "Only changed paragraph/YAML and surrounding sections reread after initial complete guide/diff read; final guide capture equals working guide and all scope hashes/spans rechecked."
      },
      "remaining_limits": [
        "Bounded source/objective/diff evidence review, not a complete independent rubric2 audit or human review.",
        "No live cloud/service/identity/storage/endpoint/pipeline execution, paid lesson or assessment interior review, video playback, deployment or fault injection.",
        "Government endpoint/client rollout and exact candidate prerequisite acceptance remain deployment/account-specific as visible in guides.",
        "Commercial-resource metadata retains dated prior-research caveats.",
        "Repository/site shared validation belongs to coordinator and is not claimed as reviewer execution."
      ]
    }
  ],
  "fresh_context_source_observations": [
    {
      "schema_version": 1,
      "reviewed_on": "2026-10-28",
      "reviewer": "fresh-context read-only reviewer A",
      "source_count": 22,
      "method": "Independent public URL opens through web tool, followed by relevant find/section inspection where needed. Learn pages rendered substantive article bodies despite authorization banners. Source support was assessed for named claims, not inferred from HTTP reachability. Short observations are original paraphrases; this receipt is not a mirror of source content.",
      "sources": [
        {
          "affected_exams": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-620",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Identity, audience, undated Skills measured header, domain/objective text and Navigator assessment tip",
          "observation": "No skills-effective date is published; detailed wordings are checked against the complete local accepted snapshot.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AB-731"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-731",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Identity, audience, July 22 skills header and objective text",
          "observation": "Noncoding audience and current three-domain contract align with guide.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-300"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-300",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Identity, audience, undated Skills measured header, domains/objectives and Navigator tip",
          "observation": "Metadata date is not an exam-effective date; technical preparation requirements align.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-901"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-901",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Audience, April 15 skills header, domains/objectives and Navigator tip",
          "observation": "Python/Azure familiarity is explicit; implementation coverage cannot be replaced with AI-900 vocabulary.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AZ-104"
          ],
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-104",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Audience, April 17 skills header and domain/objective text",
          "observation": "Implementation scope includes Site Recovery configuration/failover and backup reporting.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-901"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/foundry/foundry-models/how-to/use-foundry-models-mai-image",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Preview/prerequisites plus generation request, edit request, endpoint, authentication and response-format sections",
          "observation": "MAI generation uses the distinct /mai/v1/images/generations JSON route, deployment name, dimensions and data[].b64_json. Edits use multipart input. Guide preserves preview and no-execution boundaries.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-901"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/quickstart/use-rest-api",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "GA/preview prerequisites, multimodal REST request examples and operation polling/result examples",
          "observation": "GA 2025-11-01 uses inputs URLs and modality-specific analyzers; Operation-Location polling distinguishes Running/NotStarted from Succeeded and the result contents.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-901"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/foundry/agents/quickstarts/prompt-voice-agent",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Purpose, preview notice, project/role/model/region prerequisites, portal creation and interaction-mode section",
          "observation": "Voice agent is preview; browser voice path is distinct from separate Speech SDK pipeline. The guide does not present a hosted Voice Live announcement as GA evidence for this feature.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/power-platform/alm/extend-pipelines",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Gated extensions, events/actions, host subscriber instructions and action-status definitions",
          "observation": "OnDeploymentRequested and UpdatePreExportStepStatus are the pre-export contract; 10 pending, 20 complete, 30 reject. Personal pipelines cannot be extended.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-300"
          ],
          "url": "https://sbert.net/docs/sentence_transformer/training_overview.html",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Training purpose/components, Trainer example and MultipleNegativesRankingLoss/no-duplicate batch passages",
          "observation": "Upstream training supports the named trainer/loss workflow and no-duplicate batches; it does not establish managed Azure embedding endpoint tuning support.",
          "authority": "maintained upstream",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AB-731"
          ],
          "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/copilot-overview",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Experience overview, license comparison and in-app capability sections",
          "observation": "Basic chat, standard app access and Premium work grounding are separate capability/entitlement choices. Guide names tenant rollout and licensing as volatile.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AZ-104"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-tutorial-enable-replication",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Prerequisites, permissions, source-region cache architecture, vault region and enable-replication configuration sections",
          "observation": "Vault must be outside source VM region for this Azure-to-Azure route, unlike Azure Backup. Source cache, target configuration, replication policy and health are distinct prerequisites.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AZ-104"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-tutorial-failover-failback",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Failover, source-shutdown caveat, Commit and reprotection sections",
          "observation": "Commit removes available recovery-point alternatives. Reprotection reverses replication direction and is separate from validating a running target.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AZ-104"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/backup/backup-azure-monitoring-use-azuremonitor",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Common vault job queries and diagnostic update-frequency sections",
          "observation": "AddonAzureBackupJobs latest-record query matches documented failure-query structure; ingestion lag and workload support still limit interpretation.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AZ-104"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/storage/files/files-managed-identities",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Managed identity purpose, prerequisites, SMBOAuth setup and non-domain-joined client passages",
          "observation": "SMBOAuth and SMB Kerberos authentication are separate prerequisites; client join-state restrictions support the guide caution.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-300"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/foundry/how-to/managed-virtual-network",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "CLI prerequisite/preview, network injection creation, managed-network/outbound rules and private-endpoint NIC passages",
          "observation": "CLI 2.86+ rules are preview; account network injection still uses REST/IaC; managed private endpoints have no customer-visible NIC.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-copilot-connectors",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Complete short article including standard-harness, add-source, administrator setup and scope passages",
          "observation": "Indexed connector setup and manual-auth ExternalItem.Read.All guidance support the worked configuration.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-real-time-connectors",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Complete short article including preview, metadata indexing, runtime identity and Ready status",
          "observation": "Real-time connector indexes metadata and queries source under user authentication; connector-specific synonyms and Ready check align.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/agent-extend-action-rest-api",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Preview/standard harness, prerequisites, OpenAPI format, add-tool and publish steps",
          "observation": "OpenAPI v2 is required; v3 is translated. Guide keeps operation/schema review and backend authorization separate.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AB-620"
          ],
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/add-agent-copilot-studio-agent",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Complete short article including prerequisites, connection procedure, history option and local description lifecycle",
          "observation": "Same-environment publication/access prerequisites and locally controlled routing description align with guide.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-901"
          ],
          "url": "https://learn.microsoft.com/en-us/python/api/overview/azure/ai-projects-readme?view=azure-python",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Current header, minimum version, identity/client and Responses examples; preview/version notices",
          "observation": "Current header is 2.9.0, while guide says 2.7.0; minimum 2.3.0 and request/client contract remain supported. Reported as low metadata drift.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        },
        {
          "affected_exams": [
            "AI-300"
          ],
          "url": "https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-foundation-models?view=azureml-api-2",
          "opened_on": "2026-10-28",
          "reviewer_read_scope": "Model-card fine-tune/evaluation and deployment route/settings sections",
          "observation": "Serverless versus Managed Compute is model-specific; use-model route and VM/name/version choices align. This source does not establish a particular managed embedding fine-tuning endpoint.",
          "authority": "official primary documentation",
          "confidence": "high for observed public documentation within stated scope",
          "limitation": "No SDK, cloud, tenant, model, speech, extraction, image generation, failover or pipeline execution."
        }
      ],
      "blocked_attempts": [],
      "source_catalog_and_health_match_check": {
        "AI-901": {
          "unique_urls": 42,
          "missing_catalog": 0,
          "missing_packet_health": 0,
          "packet_blocked": 3
        },
        "AZ-104": {
          "unique_urls": 67,
          "missing_catalog": 0,
          "missing_packet_health": 0,
          "packet_blocked": 3
        },
        "AI-300": {
          "unique_urls": 61,
          "missing_catalog": 0,
          "missing_packet_health": 0,
          "packet_blocked": 2
        },
        "AB-620": {
          "unique_urls": 61,
          "missing_catalog": 0,
          "missing_packet_health": 0,
          "packet_blocked": 2
        },
        "AB-731": {
          "unique_urls": 36,
          "missing_catalog": 0,
          "missing_packet_health": 0,
          "packet_blocked": 2
        }
      },
      "boundary": "Exact URL matches and packet health were mechanically inspected for complete guides; those checks do not establish technical support for every preexisting source. Commercial blocks remain dated limitations in guides.",
      "final_recheck": {
        "state": "final",
        "finding_id": "g03-review-a-ai901-sdk-reference-version",
        "outcome": "resolved",
        "note": "Coordinator repair was reread against the independently inspected source: brittle current version removed, documented minimum/resolved-version and preview boundaries retained. No additional URL open or live execution claimed."
      }
    },
    {
      "reviewed_on": "2026-10-28",
      "reviewer_role": "fresh-context independent bounded reviewer B",
      "sources": [
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-multipath",
          "affected_exams": [
            "AZ-140"
          ],
          "access": "opened",
          "read_scope_and_observation": "Availability matrix, client prerequisites, full cloud endpoint tabs and path verification. GA multiple UDP/redundant TCP in both clouds; endpoint-tab warning specifically Government Shortpath preview/validation rings.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-shortpath",
          "affected_exams": [
            "AZ-140"
          ],
          "access": "opened",
          "read_scope_and_observation": "Mechanism/connection sequence and availability. General Government STUN/TURN says GA; keep Multipath endpoint-tab preview scope local.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/fslogix/reference-configuration-settings",
          "affected_exams": [
            "AZ-140"
          ],
          "access": "opened",
          "read_scope_and_observation": "Base registry tree; ODFC settings and Cloud Cache container-specific keys. ODFC policy surface SOFTWARE\\Policies\\FSLogix\\ODFC explicitly documented.",
          "confidence": "high"
        },
        {
          "url": "https://download.microsoft.com/download/ae6d2014-e692-45fa-a88b-ee552567cdc1/FSLogix_26.08.zip",
          "affected_exams": [
            "AZ-140"
          ],
          "access": "opened",
          "read_scope_and_observation": "Direct HTTP200; in-memory ZIP read of fslogix.admx XML only. SHA256 129e111d4acf8502b9351e1cec0c92212dce8222ae5b8223163fbbea518e857c. All47 Odfc policies, including OdfcODFCEnabled, use Software\\Policies\\FSLogix\\ODFC. No extraction/execution or precedence test.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/frontdoor/migrate-tier",
          "affected_exams": [
            "AZ-305"
          ],
          "access": "opened",
          "read_scope_and_observation": "Complete migration page including prerequisites, workflow and post-migration endpoint cutover. Service retirement Mar31 2027 distinct from migrated endpoint cutover Mar31 2028; hostname replacement vs custom domain DNS separate.",
          "confidence": "high"
        },
        {
          "url": "https://docs.github.com/en/actions/concepts/security/workflow-dependency-lockfiles",
          "affected_exams": [
            "AZ-400"
          ],
          "access": "opened",
          "read_scope_and_observation": "Complete short concept page via browser. Preview badge lags GA announcement. Lock covers action and reusable workflow references, except dependencies inside called reusable workflows, covered by called repository own lock.",
          "confidence": "high"
        },
        {
          "url": "https://docs.github.com/en/actions/how-tos/secure-your-work/lock-workflow-dependencies",
          "affected_exams": [
            "AZ-400"
          ],
          "access": "opened",
          "read_scope_and_observation": "Complete setup article including CLI onboarding, review/commit and regeneration; carries preview badge and Enterprise Cloud access statement.",
          "confidence": "high"
        },
        {
          "url": "https://github.blog/changelog/2026-10-28-github-actions-workflow-lockfiles-are-generally-available/",
          "affected_exams": [
            "AZ-400"
          ],
          "access": "opened",
          "read_scope_and_observation": "Browser open unavailable; direct HTTP200 main article independently read. Oct28 GA on Enterprise Cloud/data residency/Team/Free; action and transitive dependency contract; docs link still preview.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-test-results-v2?view=azure-pipelines",
          "affected_exams": [
            "AZ-400"
          ],
          "access": "opened",
          "read_scope_and_observation": "Syntax and inputs; failTaskOnFailedTests, failTaskOnMissingResultsFile and failTaskOnFailureToPublishResults independently default false; TRX/VSTest mapping.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/deployment-environments/quickstart-create-access-environments",
          "affected_exams": [
            "AZ-400"
          ],
          "access": "opened",
          "read_scope_and_observation": "Complete short quickstart. Retirement22Feb2027; project role/dev center prerequisites and create/access workflow. Still named in unchanged AZ400 blueprint.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/devops-engineer/",
          "affected_exams": [
            "AZ-400"
          ],
          "access": "opened",
          "read_scope_and_observation": "Credential profile scope/prerequisite/retirement field/renewal sections; two prerequisite alternatives still listed.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-developer/",
          "affected_exams": [
            "AZ-400"
          ],
          "access": "opened",
          "read_scope_and_observation": "Credential overview and retirement warning; credential and renewal retired, existing prerequisite recognition not resolved from this page alone.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/vpn-gateway/gateway-sku-consolidation",
          "affected_exams": [
            "AZ-700"
          ],
          "access": "opened",
          "read_scope_and_observation": "Browser version lacked post-rollout FAQ; direct HTTP200 complete main article independently read confirms management/configuration errors until migration, Basic excluded, Gen1 no retirement and regional/AZ distinction.",
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/cost-management-billing/savings-plan/savings-plan-overview",
          "affected_exams": [
            "AZ-900"
          ],
          "access": "direct HTTP200",
          "response_body_sha256": "0df659bd3258d80b9531b372ae44e2fedb717a47e4cd6d8f42e73379607d713a",
          "read_scope": "Main article parsed; selected named keyword sections and adjacent passages inspected, not full article traversal.",
          "inspection_excerpts": [
            "cancel: e appear on your invoice. When you get billed by invoice, you see the charges on your next invoice. Cancellation and refund policy Savings plan purchases can't be canceled or refunded. Determine your savings plan commitment Azure provides commitment recommendations based on your savings plan eligible on-demand usage, your pay-as-you-go rates (inclusive of any discounts) and the 1- and 3-year savings plan rates. The recommendations are found in: Azure Advisor The savings plan purchase experience ",
            "refund: invoice. When you get billed by invoice, you see the charges on your next invoice. Cancellation and refund policy Savings plan purchases can't be canceled or refunded. Determine your savings plan commitment Azure provides commitment recommendations based on your savings plan eligible on-demand usage, your pay-as-you-go rates (inclusive of any discounts) and the 1- and 3-year savings plan rates. The recommendations are found in: Azure Advisor The savings plan purchase experience in the Azure port",
            "change: ting in non-USD currencies, monthly billed amounts will vary, based on the current month's market exchange rate for the customer's local currency. You can pay for a savings plan up front or monthly. The total cost of the up-front and monthly savings plan is the same. How is a savings plan billed? The savings plan is charged to the payment method tied to the subscription. The savings plan cost is deducted from your Azure Prepayment (previously called monetary commitment) balance, if available. Wh",
            "database: ngs plans are available There are two savings plans - Savings plan for compute and Savings plan for databases. Both savings plans are available as 1-year or 3-year commitments. Savings plan for compute applies to infrastructure costs from a broad set of Azure compute services, including: Azure Virtual Machines Azure App Service Azure Functions premium plan Azure Container Instances Azure Dedicated Host Azure Container Apps Azure Spring Apps for Enterprise Note In addition, infrastructure costs f"
          ],
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/windows-365/enterprise/context-based-redirections?tabs=windows-365",
          "affected_exams": [
            "AZ-140"
          ],
          "access": "direct HTTP200",
          "response_body_sha256": "d6dc0bf1ad64c85d748205ba6a5684a09d292f20552fbf8697f454a2bd99f49a",
          "read_scope": "Main article parsed; selected named keyword sections and adjacent passages inspected, not full article traversal.",
          "inspection_excerpts": [
            "preview: ge requires authorization. You can try changing directories . Configure context-based redirections (Preview) Feedback Summarize this article for me In this article Context-based redirection enables you to control redirection behavior based on user and session conditions. By using authentication context, you can define when specific client capabilities are allowed or restricted based on factors such as user role, device compliance, or network location. This control helps ensure that sensitive dat",
            "RemoteApp: s in the host pool. After you configure context-based redirection, connect to a desktop or launch a RemoteApp from the targeted Azure Virtual Desktop host pool and verify that the redirections behave as expected. Context-based redirections support full desktop sessions in Windows App on Windows, web browsers, Android, iOS/iPadOS, and macOS. RemoteApp sessions are also supported in Azure Virtual Desktop. Create the Conditional Access authentication context Authentication contexts are shared ident",
            "authentication context: irection enables you to control redirection behavior based on user and session conditions. By using authentication context, you can define when specific client capabilities are allowed or restricted based on factors such as user role, device compliance, or network location. This control helps ensure that sensitive data is only accessible when the session meets the required level of trust. You can apply authentication context to control the following redirections: Control clipboard redirection. C"
          ],
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/entra/architecture/auth-kcd",
          "affected_exams": [
            "AZ-305"
          ],
          "access": "direct HTTP200",
          "response_body_sha256": "30ab5d31578da8eb975af8ab234275f9724dab154ab3e405651300d80c981e2f",
          "read_scope": "Main article parsed; selected named keyword sections and adjacent passages inspected, not full article traversal.",
          "inspection_excerpts": [
            "connector: on-premises KCD applications that use integrated Windows authentication (IWA), give private network connectors permission to impersonate users in Active Directory. The private network connector uses this permission to send and receive tokens on the users' behalf. When to use KCD Use KCD when there's a need to provide remote access, protect with pre-authentication, and provide SSO to on-premises IWA applications. Components of system User: Accesses legacy application that Application Proxy serves",
            "delegation: res authorization. You can try changing directories . Windows authentication - Kerberos constrained delegation with Microsoft Entra ID Feedback Summarize this article for me In this article Based on service principal Names, Kerberos Constrained Delegation (KCD) provides constrained delegation between resources. It requires domain administrators to create the delegations and is limited to a single domain. You can use resource-based KCD to provide Kerberos authentication for a web application that",
            "SPN: not present"
          ],
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/architecture/data-guide/technology-choices/fabric-analytical-data-stores",
          "affected_exams": [
            "AZ-305"
          ],
          "access": "direct HTTP200",
          "response_body_sha256": "bebdcaaee27f45d206b640977febf4ee627959a937ac62117106c82d13fc4970",
          "read_scope": "Main article parsed; selected named keyword sections and adjacent passages inspected, not full article traversal.",
          "inspection_excerpts": [
            "Eventhouse: data stores in Microsoft Fabric This article covers SQL databases, data warehouses, lakehouses, and eventhouses as the primary analytical data stores in Microsoft Fabric. Microsoft Fabric also has other items that can store or cache data but aren't treated as primary analytical data stores. For example, semantic models, ontologies, and graph models serve as an intelligence layer over enterprise data, but aren't used as a physical data store. Cosmos DB in Microsoft Fabric stores data physically b",
            "Lakehouse: mary analytical data stores in Microsoft Fabric This article covers SQL databases, data warehouses, lakehouses, and eventhouses as the primary analytical data stores in Microsoft Fabric. Microsoft Fabric also has other items that can store or cache data but aren't treated as primary analytical data stores. For example, semantic models, ontologies, and graph models serve as an intelligence layer over enterprise data, but aren't used as a physical data store. Cosmos DB in Microsoft Fabric stores d",
            "Warehouse: rview of primary analytical data stores in Microsoft Fabric This article covers SQL databases, data warehouses, lakehouses, and eventhouses as the primary analytical data stores in Microsoft Fabric. Microsoft Fabric also has other items that can store or cache data but aren't treated as primary analytical data stores. For example, semantic models, ontologies, and graph models serve as an intelligence layer over enterprise data, but aren't used as a physical data store. Cosmos DB in Microsoft Fab"
          ],
          "confidence": "high"
        },
        {
          "url": "https://docs.github.com/en/code-security/tutorials/customize-code-scanning/run-in-a-container",
          "affected_exams": [
            "AZ-400"
          ],
          "access": "direct HTTP200",
          "response_body_sha256": "d22a66bb5a770e4a8c8876b37797327e8bcca8947d089b0513f6899e7f330b3d",
          "read_scope": "Main article parsed; selected named keyword sections and adjacent passages inspected, not full article traversal.",
          "inspection_excerpts": [
            "glibc: r more information, see Example workflow . Note The CodeQL CLI is currently not compatible with non-glibc Linux distributions such as (musl-based) Alpine Linux. Dependencies for CodeQL code scanning You may have difficulty running code scanning if the container you're using is missing certain dependencies (for example, Git must be installed and added to the PATH variable). If you encounter dependency issues, review the list of software typically included on GitHub's runner images. For more infor",
            "container: In this article Running CodeQL code scanning in a container You can run code scanning in a container by ensuring that all processes run in the same container. Copy markdown Who can use this feature? Code scanning is available for the following repository types: Public repositories on GitHub.com Organization-owned repositories on GitHub Team, GitHub Enterprise Cloud, or GitHub Enterprise Server, with GitHub Code Security enabled. In this article A",
            "build: Server, with GitHub Code Security enabled. In this article About code scanning with a containerized build Dependencies for CodeQL code scanning Example workflow About code scanning with a containerized build If you're configuring code scanning for a compiled language, and you're building the code in a containerized environment, the analysis may fail with the error message \"No source code was seen during the build.\" This indicates that CodeQL was unable to monitor your code as it was compiled. Yo"
          ],
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/route-server/quickstart-create-route-server-portal",
          "affected_exams": [
            "AZ-700"
          ],
          "access": "direct HTTP200",
          "response_body_sha256": "0d342afa6991ad5fffdd5a7d9fe03b6ef464e0ae71b7284514eb1f4d08fa5b5b",
          "read_scope": "Main article parsed; selected named keyword sections and adjacent passages inspected, not full article traversal.",
          "inspection_excerpts": [
            "/26:  range , enter 10.0.0.0/16 . In Subnet name and Address range , enter RouteServerSubnet and 10.0.1.0/26 respectively. Select OK . Subnet Once you created the virtual network and subnet, the RouteServerSubnet populates. - The subnet must be named RouteServerSubnet . - The subnet must be a minimum of /26 or larger. Public IP address Public IP address Select Create new or select an existing Standard public IP resource to assign to the Route Server. A public IP address is required to ensure connecti",
            "public IP: nt before you begin. Important Route servers created before November 1, 2021, without an associated public IP address, were deployed with the public preview offering. The public preview offering doesn't include General Availability SLA and support. To deploy a route server with the General Availability offering and qualify for the General Availability SLA and support, delete and recreate your route server. Prerequisites Before you begin, ensure you have the following requirements: An Azure accou",
            "both: ) Peer IP addresses : The virtualRouterIps values shown in the overview Important Peer the NVA with both route server instance IPs to ensure virtual network routes are advertised over the NVA connections and achieve high availability. Clean up resources When you no longer need the Route Server and associated resources, delete the resource group: In the search box at the top of the portal, enter myResourceGroup . Select myResourceGroup from the search results. Select Delete resource group . In De"
          ],
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/vpn-gateway/point-to-site-how-to-radius-ps",
          "affected_exams": [
            "AZ-700"
          ],
          "access": "direct HTTP200",
          "response_body_sha256": "a6a1b62d2d5ebd34daed02b39e9a9ae1cc5af414282ac37532c5a3844cf5a0aa",
          "read_scope": "Main article parsed; selected named keyword sections and adjacent passages inspected, not full article traversal.",
          "inspection_excerpts": [
            "ExpressRoute: P2S. Limitations: If you're using IKEv2 with RADIUS, only EAP-based authentication is supported. An ExpressRoute connection can't be used to connect to an on-premises RADIUS server. About Active Directory (AD) Domain Authentication for P2S VPNs AD Domain authentication allows users to sign in to Azure using their organization domain credentials. It requires a RADIUS server that integrates with the AD server. Organizations can also use their existing RADIUS deployment. The RADIUS server can resid",
            "site-to-site: eway to be able to reach the RADIUS server. If the RADIUS server is located on-premises, then a VPN site-to-site connection from Azure to the on-premises site is required. Apart from Active Directory, a RADIUS server can also integrate with other external identity systems. This opens up plenty of authentication options for P2S VPNs, including MFA options. Check your RADIUS server vendor documentation to get the list of identity systems it integrates with. Before beginning Verify that you have an",
            "RADIUS: uires authorization. You can try changing directories . Configure P2S VPN Gateway server settings - RADIUS authentication Feedback Summarize this article for me In this article This article helps you create a point-to-site (P2S) connection that uses RADIUS authentication. You can create this configuration using either PowerShell, or the Azure portal. If you have an active-active mode VPN gateway, at this time we advise you to use the Azure portal article to configure the RADIUS server settings. "
          ],
          "confidence": "high"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-900",
          "affected_exams": [
            "AZ-900"
          ],
          "access": "direct HTTP200",
          "read_scope_and_observation": "Current skills-effective heading July20 2026, current domain/group heading lists inspected from main article; complete406 blueprint wording verification separately used accepted/raw candidate snapshots. Not recorded as complete live study-page body read.",
          "confidence": "high"
        }
      ],
      "failed_leads": [
        {
          "url": "https://raw.githubusercontent.com/MicrosoftDocs/fslogix-docs/main/fslogix-docs/FSLogixApps.admx",
          "result": "404 guessed lead; not accepted evidence. Used official download ZIP instead."
        }
      ],
      "limitations": [
        "No product, pipeline, cloud, identity, storage, endpoint or lab execution; only direct read-only document/ZIP inspection.",
        "Source health is reachability, not technical verification."
      ],
      "source_count": 21
    }
  ],
  "preservation_verification": {
    "old_source_reviews_retained": 309,
    "old_deep_receipts_retained": 186,
    "old_ai_audit_batches_retained": 42,
    "historical_records": "All original values unchanged; AI-audit file byte-identical. No path migration.",
    "unchanged_objective_files": 10,
    "unchanged_objective_and_status_files": 18,
    "status_metadata_only_updates": 2,
    "current_guide_bindings": 10,
    "current_objectives": 658,
    "current_teaching_spans": 854
  },
  "coordinator_syntax_check": {
    "kind": "YAML parse and explicit validation-flag inspection",
    "status": "passed",
    "service_execution": false,
    "checks": "Current AZ400 illustrative fragment parses; all three independent failure inputs are true. This is not a task/agent/pipeline run."
  },
  "independent_repair_rebinding": {
    "method": "Coordinator translated exact line boundaries for three independently identified small repairs; preserved the previous complete-guide semantic review as prior evidence. Recomputed every affected span hash. Independent reviewers verify changed semantics and all final bindings separately.",
    "changes": [
      {
        "exam_code": "AI-901",
        "old_guide_lf_sha256": "4b43ada4d11ec9d15b73d1231dab03698699f96bf837f347cf6bec080d32c6e2",
        "new_guide_lf_sha256": "dc9ca5bd238e82ff504dde5e0888608c9644e1a012e07b800abf1366f981e749",
        "changed_span_bindings": 1,
        "diff_operations": [
          {
            "kind": "replace",
            "old_lines": [
              258,
              258
            ],
            "new_lines": [
              258,
              258
            ]
          }
        ]
      },
      {
        "exam_code": "AZ-400",
        "old_guide_lf_sha256": "7a2858a0cfed0ecb673152ca65d809afc31e05ffb8a1fe8f710d3de6a2d3c7c3",
        "new_guide_lf_sha256": "478a661acf133d18bf92911b35e1379df609622573cf254db32e5400554d8e15",
        "changed_span_bindings": 9,
        "diff_operations": [
          {
            "kind": "replace",
            "old_lines": [
              325,
              325
            ],
            "new_lines": [
              325,
              325
            ]
          },
          {
            "kind": "insert",
            "old_lines": [
              392,
              391
            ],
            "new_lines": [
              392,
              393
            ]
          },
          {
            "kind": "replace",
            "old_lines": [
              406,
              406
            ],
            "new_lines": [
              408,
              408
            ]
          }
        ]
      }
    ],
    "repair_scope": {
      "repairs": [
        "AI901 current package version removed; documented minimum and exact resolved-version requirement retained.",
        "AZ400 locks reusable workflow references; called workflow internal dependencies use called repo lock. DatedGAannouncement contrasted with laggingpreviewlabel.",
        "AZ400 explicit failTaskOnMissingResultsFile and failTaskOnFailureToPublishResults ensure missing/unpublished evidence fails illustrative validation."
      ],
      "boundary": "Independentsemanticfindings; coordinator edits; no live SDK/cloud/pipeline execution."
    }
  }
}
