{
  "schema_version": 1,
  "reviewed_on": "2026-10-28",
  "group": 1,
  "total_groups": 5,
  "base_commit": "8617499b2edd8705729c49c26a310eb1024181a0",
  "scope": {
    "exams": [
      "AB-210",
      "AB-650",
      "MS-102",
      "PL-400",
      "AI-500",
      "DP-300",
      "DP-420",
      "DP-600",
      "DP-700",
      "DP-750"
    ],
    "guides_in_group": 10,
    "current_objectives": 623,
    "historical_mapped_objectives": 687,
    "current_example_gaps_resolved": 18,
    "remaining_guides_after_group": 38,
    "remaining_groups_after_group": 4,
    "whole_refresh_complete": false
  },
  "method": {
    "roles": [
      "exam/objectives",
      "technical",
      "learning resources"
    ],
    "coordinator_owns_shared_edits": true,
    "complete_input_reading": "Exam researcher read complete immutable guides; final complete diffs and follow-up fixes inspected. Other workers record their narrower semantic reading scope.",
    "research_proposals": "Research reports include proposals; accepted catalog changes and actual final guide/mapping bindings establish applied scope.",
    "fresh_context_review": "Two separate fresh-context read-only subset reviews passed after coordinator repair and independent recheck; no new open material findings. All ten complete guides and complete diffs read; bounded review is not full rubric-2 semantic audit or human review.",
    "full_independent_semantic_audit": false,
    "human_review": false,
    "live_product_labs_executed": false
  },
  "exams": [
    {
      "exam_code": "DP-300",
      "guide_path": "guides/DP-300-administering-microsoft-azure-sql-solutions.md",
      "guide_content_sha256": "b9098c091ca1eca0f96195b5b21bd708eb3339920930eb684c95649e1eb1cb6b",
      "objective_path": "data/objective-snapshots/dp-300-official-objectives.txt",
      "objective_raw_sha256": "f9f0c06f1a6e639035fd75d0db063dd6edcb30f50079e5a5157255ed4408ae57",
      "objective_count": 94,
      "source_validation_id": "dp-300-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 80,
        "reachable": 77,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "az-800-john-savill-github",
        "az-802-doc-automation-runbook-types",
        "dp-300-azure-sql-youtube",
        "dp-300-blueprint",
        "dp-300-credential",
        "dp-300-data-exposed",
        "dp-300-doc-01",
        "dp-300-doc-02",
        "dp-300-doc-03",
        "dp-300-doc-04",
        "dp-300-doc-05",
        "dp-300-doc-06",
        "dp-300-doc-07",
        "dp-300-doc-08",
        "dp-300-doc-09",
        "dp-300-doc-10",
        "dp-300-doc-11",
        "dp-300-doc-12",
        "dp-300-doc-13",
        "dp-300-doc-14",
        "dp-300-doc-15",
        "dp-300-doc-16",
        "dp-300-doc-17",
        "dp-300-doc-18",
        "dp-300-doc-19",
        "dp-300-doc-20",
        "dp-300-doc-21",
        "dp-300-doc-22",
        "dp-300-doc-23",
        "dp-300-doc-24",
        "dp-300-doc-25",
        "dp-300-doc-26",
        "dp-300-doc-27",
        "dp-300-doc-28",
        "dp-300-doc-29",
        "dp-300-doc-30",
        "dp-300-doc-31",
        "dp-300-doc-32",
        "dp-300-doc-33",
        "dp-300-doc-34",
        "dp-300-doc-35",
        "dp-300-doc-36",
        "dp-300-doc-37",
        "dp-300-doc-38",
        "dp-300-doc-39",
        "dp-300-doc-40",
        "dp-300-doc-41",
        "dp-300-doc-42",
        "dp-300-doc-43",
        "dp-300-doc-44",
        "dp-300-doc-45",
        "dp-300-doc-46",
        "dp-300-exam-readiness-zone",
        "dp-300-john-savill-youtube",
        "dp-300-measureup",
        "dp-300-official-course",
        "dp-300-oreilly-study-companion",
        "dp-300-oreilly-video",
        "dp-300-pluralsight-path",
        "dp-300-practice-assessment",
        "dp-300-udemy-phillip-burton",
        "dp-300-whizlabs",
        "dp300-backup-immutable",
        "dp300-compaction",
        "dp300-compaction-blog",
        "dp300-connectivity-tests",
        "dp300-enclave-client",
        "dp300-insights",
        "dp300-mi-release",
        "dp300-querystore-runtime",
        "dp300-sqldb-release",
        "dp300-watcher-blog",
        "g01-20261028-enclave-migration",
        "microsoft-azure-sql-documentation",
        "microsoft-reactor",
        "oreilly-certification-practice-tests",
        "refresh-g01-create-database-user",
        "refresh-g01-dp300-create-user",
        "refresh-g01-dp300-execute-as",
        "refresh-g01-grant-object"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "Compaction GA is established for Azure SQL Database, not inferred for every platform or index. SGX migration requires explicit hardware/client/attestation and security assessment before the October 2027 deadline.",
        "SQL authorization/GUI fixture, encryption, performance, failover, restore and tenant/database actions were not executed. Historical offline calculations are not new SQL engine results.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "DP-420",
      "guide_path": "guides/DP-420-designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db.md",
      "guide_content_sha256": "98a46bb814b934ba8e4ae3081f6bd5a2292eb21b775da4df6203a921dbee7423",
      "objective_path": "data/objective-snapshots/dp-420-official-objectives.txt",
      "objective_raw_sha256": "f796c1974699f0196b5e60e449409ceb3ccf9cf17b99e92206a1913d220ae351",
      "objective_count": 56,
      "source_validation_id": "dp-420-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 92,
        "reachable": 89,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "dp-420-0636920079751",
        "dp-420-0636920986164",
        "dp-420-analytical-store-introduction",
        "dp-420-azure-cosmos-db-limitations",
        "dp-420-azure-cosmos-db-tutorial",
        "dp-420-azure-cosmosdb-database",
        "dp-420-azurecosmosdb",
        "dp-420-best-practice-dotnet",
        "dp-420-blueprint",
        "dp-420-capacitycalculator",
        "dp-420-change-feed",
        "dp-420-change-feed-functions",
        "dp-420-change-feed-processor",
        "dp-420-concepts-limits",
        "dp-420-conflict-resolution-policies",
        "dp-420-continuous-backup-restore-introduction",
        "dp-420-cosmos-db-design-patterns",
        "dp-420-credential",
        "dp-420-database-transactions-optimistic-concurrency",
        "dp-420-designing-and-implementing-cloud-native-applications-using-microsoft-a",
        "dp-420-emulator",
        "dp-420-emulator-linux",
        "dp-420-exam-dp-420-designing-and-implementing-cloud-native-9780137951222",
        "dp-420-exam-sandbox",
        "dp-420-free-tier",
        "dp-420-get-started-change-data-capture",
        "dp-420-global-distribution",
        "dp-420-hierarchical-partition-keys",
        "dp-420-how-to-always-encrypted",
        "dp-420-how-to-configure-firewall",
        "dp-420-how-to-configure-private-endpoints",
        "dp-420-how-to-connect-role-based-access-control",
        "dp-420-how-to-manage-indexing-policy",
        "dp-420-how-to-migrate-from-bulk-executor-library",
        "dp-420-how-to-restore-in-account-continuous-backup",
        "dp-420-how-to-use-change-feed-estimator",
        "dp-420-how-to-write-stored-procedures-triggers-udfs",
        "dp-420-index-metrics",
        "dp-420-index-policy",
        "dp-420-insights-overview",
        "dp-420-integrated-cache",
        "dp-420-manage-with-powershell",
        "dp-420-manage-with-templates",
        "dp-420-microsoft-azure-certification-dp-420",
        "dp-420-microsoft-dp-420",
        "dp-420-microsoft-practice-test-dp-420-designing-and-implementing-cloud-native",
        "dp-420-microsoftreactor-search-cosmos-db-search",
        "dp-420-modeling-data",
        "dp-420-monitor-normalized-request-units",
        "dp-420-nosql-dotnet-samples",
        "dp-420-ntfaqguy-search-cosmos-db-search",
        "dp-420-official-course",
        "dp-420-online-backup-and-restore",
        "dp-420-partial-document-update",
        "dp-420-per-partition-automatic-failover",
        "dp-420-provision-throughput-autoscale",
        "dp-420-query",
        "dp-420-reliability-cosmos-db",
        "dp-420-request-units",
        "dp-420-resource-model",
        "dp-420-search-howto-index-cosmosdb",
        "dp-420-security",
        "dp-420-serverless",
        "dp-420-set-throughput",
        "dp-420-stored-procedures-triggers-udfs",
        "dp-420-subquery",
        "dp-420-synthetic-partition-keys",
        "dp-420-time-to-live",
        "dp-420-time-travel",
        "dp-420-transactional-batch",
        "dp-420-troubleshoot-query-performance",
        "dp-420-troubleshoot-request-rate-too-large",
        "dp-420-unique-keys",
        "dp420-agent-kit",
        "dp420-agent-kit-blog",
        "dp420-agent-memory",
        "dp420-change-feed-modes",
        "dp420-copy-howto",
        "dp420-copy-jobs",
        "dp420-fabric-faq",
        "dp420-fabric-spark",
        "dp420-fleet-pools",
        "dp420-fleets",
        "dp420-full-text",
        "dp420-masking",
        "dp420-query-pagination",
        "dp420-sharded-blog",
        "dp420-sharded-diskann",
        "dp420-vector-search",
        "microsoft-cosmos-db-consistency-levels",
        "microsoft-cosmos-db-documentation",
        "microsoft-cosmos-db-partitioning-overview"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "Vector search with hierarchical partition keys still needs product-team guidance in the current source. Index dimension, data-size and throughput feasibility must be checked independently of successful retrieval.",
        "Current 56-objective AI outline replaces the July 132-objective organization; old sections are labeled foundations. No model embeddings, SDK, RAG, Agent Kit, masking, Fleet, copy job, failover or Fabric service workflow executed.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "DP-750",
      "guide_path": "guides/DP-750-implementing-data-engineering-solutions-using-azure-databricks.md",
      "guide_content_sha256": "2630f8cd68c5d5c204827672becc75265473f066ea363e6a0f155165b8a27d54",
      "objective_path": "data/objective-snapshots/dp-750-official-objectives.txt",
      "objective_raw_sha256": "d44f3f814718f33dd69dd72f48381609f4cde30d0b5c9fe1656380223fb2571e",
      "objective_count": 77,
      "source_validation_id": "dp-750-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 74,
        "reachable": 70,
        "access_blocked": 4,
        "missing_or_error": 0
      },
      "source_ids": [
        "dp-420-exam-sandbox",
        "dp-750-audit-log-system-table",
        "dp-750-azure-diagnostic-log-delivery",
        "dp-750-blueprint",
        "dp-750-bundle-cli",
        "dp-750-bundle-documentation",
        "dp-750-catalog-creation-guide",
        "dp-750-certification-page",
        "dp-750-classic-jobs-compute-guidance",
        "dp-750-cloud-object-ingestion-guidance",
        "dp-750-compute-selection",
        "dp-750-configure-jobs",
        "dp-750-curate-an-ai-bi-genie-space",
        "dp-750-current-abac-requirements",
        "dp-750-databricks-free-training",
        "dp-750-databricks-sample-datasets-and-notebooks",
        "dp-750-databricks-youtube-channel",
        "dp-750-delta-sharing-documentation",
        "dp-750-event-hubs-pipeline-source-guidance",
        "dp-750-expectation-patterns",
        "dp-750-job-notifications",
        "dp-750-job-triggers",
        "dp-750-john-savill-databricks-search",
        "dp-750-lakeflow-connect",
        "dp-750-lakeflow-pipeline-concepts",
        "dp-750-lakehouse-federation",
        "dp-750-libraries-documentation",
        "dp-750-liquid-clustering",
        "dp-750-managed-versus-external-assets",
        "dp-750-microsoft-reactor-databricks-search",
        "dp-750-o-reilly-data-engineering-fundamentals-on-databricks",
        "dp-750-o-reilly-data-engineering-with-azure-databricks",
        "dp-750-o-reilly-data-governance-with-unity-catalog-on-databricks",
        "dp-750-official-course",
        "dp-750-official-development-lifecycle-lab",
        "dp-750-official-labs",
        "dp-750-optimize",
        "dp-750-photon",
        "dp-750-pipeline-unit-testing",
        "dp-750-pluralsight-manage-data-with-azure-databricks-and-azure-data-lake",
        "dp-750-practice-assessment",
        "dp-750-privileges-reference",
        "dp-750-query-profile",
        "dp-750-row-filters-and-column-masks",
        "dp-750-schema-enforcement",
        "dp-750-secret-management",
        "dp-750-structured-streaming",
        "dp-750-tasks",
        "dp-750-udemy-dp-750-topic-search",
        "dp-750-unity-catalog-access-control-overview",
        "dp-750-unity-catalog-lineage",
        "dp-750-vacuum",
        "dp-750-what-is-unity-catalog",
        "dp750-abac-blog",
        "dp750-abac-deny",
        "dp750-abac-evaluation",
        "dp750-abac-metastore",
        "dp750-auto-cdc",
        "dp750-auto-cdf",
        "dp750-auto-schema",
        "dp750-autoloader",
        "dp750-coming",
        "dp750-continuous-updates",
        "dp750-copy-into",
        "dp750-direct-engine",
        "dp750-expectations",
        "dp750-lakeflow-blog",
        "dp750-maintenance-window",
        "dp750-managed-identity",
        "dp750-merge",
        "dp750-row-number",
        "dp750-september",
        "dp750-volumes",
        "microsoft-azure-databricks-documentation-dp900"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "The direct-view ABAC gap is resolved by explicit Beta support, workspace enablement and Runtime 19+; metric views and metadata-replacement constraints remain.",
        "Automatic CDF regional rollout remains a planned end-of-October observation, not assumed complete. Schema boundaries, row filters/masks, bundle placeholders and runtime/CLI support require their own authorized tests. No Databricks workspace, CLI or cloud pipeline executed.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "DP-600",
      "guide_path": "guides/DP-600-implementing-analytics-solutions-microsoft-fabric.md",
      "guide_content_sha256": "373150a74c440a72bb83ebd4ba7a143450c4c8baea1faeed40c43dfa59d7d7ba",
      "objective_path": "data/objective-snapshots/dp-600-official-objectives.txt",
      "objective_raw_sha256": "43cf6ad72e66be7ce72a39c58f1e2fcd40b66f4768ca14a399b2e99846449fff",
      "objective_count": 41,
      "source_validation_id": "dp-600-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 44,
        "reachable": 41,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "dp-600-blueprint",
        "dp-600-course",
        "dp-600-credential",
        "dp-600-oreilly-exam-ref",
        "dp-600-oreilly-study-guide",
        "dp-600-path-ai",
        "dp-600-path-models",
        "dp-600-path-security",
        "dp-600-path-stores",
        "dp-600-path-transform",
        "dp-600-pluralsight",
        "dp-600-practice",
        "dp-600-reactor-accelerated-orientation",
        "dp-600-youtube-fabric",
        "dp-700-cicd",
        "dp600-active-relationships",
        "dp600-adbc",
        "dp600-direct-lake-develop",
        "dp600-direct-lake-how",
        "dp600-direct-lake-security",
        "dp600-dl-blog",
        "dp600-eventhouse-availability",
        "dp600-fabric-whats-new",
        "dp600-incremental-config",
        "dp600-incremental-refresh",
        "dp600-onelake-engines",
        "dp600-onelake-role-model",
        "dp600-onelake-roles",
        "dp600-result-cache",
        "dp600-roleplaying-blog",
        "dp600-semantic-export",
        "dp600-warehouse-constraints",
        "dp900-groupby",
        "fabric-official-prepare-model-ai-lab",
        "fabric-official-secure-data-access-lab",
        "mb-820-partner-skilling-hub",
        "microsoft-mechanics",
        "microsoft-reactor",
        "pl300-calculate",
        "refresh-g01-dp600-dataflow-enrichment",
        "refresh-g01-dp600-summarizecolumns",
        "refresh-g01-dp600-visual-query",
        "refresh-g01-summarize",
        "refresh-g01-visual-query-reference"
      ],
      "outcome": "reviewed",
      "lab_execution": "offline-only",
      "remaining_limits": [
        "Local Python and SQLite checks verify synthetic arithmetic and the two shared SELECT examples only. No Fabric SQL, KQL, DAX, visual editor, Power Query, Direct Lake, security or AI service execution.",
        "Framing, source ingestion, fallback, identity and report execution are separate evidence. Two-persona security and paid AI lab prerequisites cannot be established by a one-account public reading.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AI-500",
      "guide_path": "guides/AI-500-designing-implementing-multi-agent-ai-solutions.md",
      "guide_content_sha256": "bb2b8bf2cac8d52e09212a25308d9f0cf079a3f00a152f5e7a5d1445ec735d24",
      "objective_path": "data/objective-snapshots/ai-500-official-objectives.txt",
      "objective_raw_sha256": "498ed5ca3e5f1ac958dedea4b84cb33a34a8ff0f5aa239540fd7283bc41360e8",
      "objective_count": 55,
      "source_validation_id": "ai-500-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 42,
        "reachable": 40,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab100-ai-agents-beginners",
        "ai-300-agent-monitoring-dashboard",
        "ai-300-foundry-evaluation",
        "ai-300-foundry-fine-tuning-guidance",
        "ai-300-foundry-samples",
        "ai-500-agent-a2a-endpoint",
        "ai-500-agent-framework-human-loop",
        "ai-500-agent-framework-orchestrations",
        "ai-500-agent-identity-concepts",
        "ai-500-agent-obo-flow",
        "ai-500-ai-red-teaming-agent",
        "ai-500-apim-mcp-overview",
        "ai-500-blueprint",
        "ai-500-certification-page",
        "ai-500-course",
        "ai-500-exam-page",
        "ai-500-ga-october-2026-announcement",
        "ai-500-guardrail-intervention-points",
        "ai-500-hosted-agent-migration",
        "ai-500-learn-architect-path",
        "ai-500-learn-build-path",
        "ai-500-learn-govern-path",
        "ai-500-learn-operate-path",
        "ai-500-multiple-agent-architecture",
        "ai-500-oreilly-agentic-ai-foundry",
        "ai-500-pluralsight-building-intelligent-applications",
        "ai-500-udemy-scott-duffy-practice-tests",
        "ai500-langgraph-durable",
        "ai500-langgraph-interrupts",
        "ai500-memory-blog",
        "ai500-resilience-blog",
        "ai500-transformers-pipelines",
        "ai500-vector-filters",
        "dp-800-rag-concepts-documentation",
        "microsoft-foundry-agent-tracing-ai103",
        "microsoft-foundry-classic-migration-ai103",
        "microsoft-foundry-model-benchmarks-ai103",
        "microsoft-foundry-overview-ai103",
        "microsoft-foundry-rbac-ai103",
        "microsoft-foundry-trace-application-ai103",
        "ms-refresh-content-safety-release",
        "oreilly-hands-on-microsoft-foundry"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "Task-specific SDK minimums are separate from API/protocol versions. Incoming A2A needs the documented Responses agent and supported setup route; no package installation or endpoint invocation performed.",
        "Technical research targeted selected claims; earlier memory/guardrail/framework limitations and unexecuted crash, isolation, evaluation and cloud tests remain. No full independent rubric-2 semantic audit claimed.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "MS-102",
      "guide_path": "guides/MS-102-microsoft-365-administrator.md",
      "guide_content_sha256": "fb92093c5de09a0537203f916b380aad910107ad21396dc1a3a143be03b64bc3",
      "objective_path": "data/objective-snapshots/ms-102-official-objectives.txt",
      "objective_raw_sha256": "97ce6b34e98fb43947409e8b7997f3de72e6cae7a62102dfdea849bfb177c92a",
      "objective_count": 54,
      "source_validation_id": "ms-102-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 82,
        "reachable": 79,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab-410-retired-courses",
        "ab900-purview-data-explorer",
        "az-800-connect-health-sync",
        "az-800-entra-cloud-sync",
        "az-800-entra-connect-sync",
        "az-801-doc-12-concept-password-ban-bad-on-premises",
        "mb-820-partner-skilling-hub",
        "md102-app-grant",
        "microsoft-365-copilot-release-notes",
        "microsoft-defender-xdr-docs-sc900",
        "microsoft-entra-conditional-access-overview",
        "microsoft-entra-id-protection-overview-sc900",
        "microsoft-entra-pim-configure-sc900",
        "microsoft-mechanics",
        "microsoft-purview-dlp-overview-sc900",
        "microsoft-purview-retention-sc900",
        "microsoft-purview-sensitivity-labels-sc900",
        "microsoft-reactor",
        "ms-102-activity-reports",
        "ms-102-admin-roles",
        "ms-102-apps-update-management",
        "ms-102-attack-simulation",
        "ms-102-backup-overview",
        "ms-102-blueprint",
        "ms-102-content-explorer",
        "ms-102-credential",
        "ms-102-defender-cloud-apps-discovery",
        "ms-102-defender-cloud-apps-m365",
        "ms-102-defender-endpoint-onboarding",
        "ms-102-defender-office-recommended",
        "ms-102-defender-vulnerability-management",
        "ms-102-defender-xdr-rbac",
        "ms-102-domains-faq",
        "ms-102-endpoint-dlp",
        "ms-102-graph-powershell",
        "ms-102-group-licensing",
        "ms-102-instructor-course",
        "ms-102-measureup",
        "ms-102-network-connectivity",
        "ms-102-oreilly-course",
        "ms-102-oreilly-exam-ref",
        "ms-102-path-configure-tenant",
        "ms-102-path-data-governance",
        "ms-102-path-defender-services",
        "ms-102-path-identity-access",
        "ms-102-path-identity-sync",
        "ms-102-path-implement-compliance",
        "ms-102-path-manage-compliance",
        "ms-102-path-manage-tenant",
        "ms-102-path-threat-protection",
        "ms-102-practice-assessment",
        "ms-102-purview-permissions",
        "ms-102-restricted-entities",
        "ms-102-secure-score",
        "ms-102-sspr",
        "ms-102-udemy-john-christopher",
        "ms-refresh-backup-offboarding",
        "ms-refresh-backup-security",
        "ms102-backup-blog",
        "ms102-backup-new",
        "ms102-backup-policy",
        "ms102-backup-restore",
        "ms102-ca-grants",
        "ms102-cloudapps-block",
        "ms102-defender-xdr-whats-new",
        "ms102-entra-blog",
        "ms102-entra-connect-version-history",
        "ms102-entra-whats-new",
        "ms102-memberof",
        "ms102-pluralsight",
        "ms102-policy-order",
        "ms102-purview-whats-new",
        "ms102-sync-app-auth",
        "ms102-sync-hardening",
        "ms102-teams-dlp",
        "refresh-g01-ms102-entra-user",
        "sc-100-exposure-attack-paths",
        "sc-300-administrative-units",
        "sc-300-authentication-methods",
        "sc-300-conditional-access-sessions",
        "sc900-passkey-transition",
        "sc900-system-preferred"
      ],
      "outcome": "reviewed-with-blockers",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "Backup second-year recovery-point cadence remains undocumented in the inspected table. Credential page lists four prerequisite options; study-guide audience lists three. Source gate remains blocked.",
        "Exam/credential retire November 30. Current Connect build and application authentication are separate checks; April 2027 operational guidance does not revise the retiring exam. No upgrade, bulk write, authentication or restore executed.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AB-650",
      "guide_path": "guides/AB-650-ai-services-administrator-associate.md",
      "guide_content_sha256": "56ceca134b38a51b96fa0b0808ebb276a010731fd976d9b4b4c5a353e04991c6",
      "objective_path": "data/objective-snapshots/ab-650-official-objectives.txt",
      "objective_raw_sha256": "e70d10682f078cb6887f7dde679f56661e63dfeabb221779f6b0ff4ab08bdf1a",
      "objective_count": 58,
      "source_validation_id": "ab-650-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 56,
        "reachable": 54,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab-650-agent-365-docs",
        "ab-650-agent-actions",
        "ab-650-agent-overview",
        "ab-650-agent-tools",
        "ab-650-blueprint",
        "ab-650-control-system-overview",
        "ab-650-copilot-app-settings",
        "ab-650-copilot-control-measurement",
        "ab-650-copilot-search-admin",
        "ab-650-credential",
        "ab-650-john-savill-youtube",
        "ab-650-m365-copilot-docs",
        "ab-650-official-course",
        "ab-650-official-lab-environment",
        "ab-650-official-lab-index",
        "ab-650-path-ai-services",
        "ab-650-path-configure",
        "ab-650-path-govern",
        "ab-650-sharepoint-readiness",
        "ab650-agent-policy-templates",
        "ab650-agent-settings",
        "ab650-ai-provider",
        "ab650-cowork-access",
        "ab650-entra-agent-id-administration",
        "ab650-exam",
        "ab650-insidetrack-blog",
        "ab650-mailboxes",
        "ab650-network-insights",
        "ab650-purview-agent-365",
        "ab650-registry",
        "ab650-spending",
        "ab650-udemy-ellerby",
        "ab650-udemy-khaled",
        "ab730-cowork-admin",
        "az-800-john-savill-github",
        "mb-820-partner-skilling-hub",
        "microsoft-365-copilot-architecture-ab900",
        "microsoft-365-copilot-release-notes",
        "microsoft-agent-365-ga-announcement",
        "microsoft-mechanics",
        "microsoft-purview-dspm-current-ab900",
        "microsoft-reactor",
        "ms-102-backup-overview",
        "ms-refresh-backup-offboarding",
        "ms-refresh-backup-security",
        "ms-refresh-cowork-admin",
        "ms102-backup-new",
        "ms102-backup-policy",
        "ms102-backup-restore",
        "ms700-copilot",
        "ms700-shared",
        "refresh-g01-entra-branding",
        "refresh-g01-organization-theme",
        "sc-100-agent-conditional-access",
        "sc100-agent-targeting",
        "sc300-risk-migration"
      ],
      "outcome": "reviewed-with-blockers",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "The two-year Backup recovery-window option still lacks an explicit second-year cadence in the inspected restore table; source gate remains blocked.",
        "Suite/sign-in branding, tool inventory versus policy administration, agent use and preview controls require separate authorized tenant evidence. Public lab instructions do not include the prepared E7 tenant or prove course delivery before November 13.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "DP-700",
      "guide_path": "guides/DP-700-implementing-data-engineering-solutions-microsoft-fabric.md",
      "guide_content_sha256": "3c67be6db99afc99ba090ba6340af86d09d2ae7f9d7ca082478cd0d60f6cc739",
      "objective_path": "data/objective-snapshots/dp-700-official-objectives.txt",
      "objective_raw_sha256": "536a8f75830b0951502232b8b1a811524d000a7edf7a745613f46462f7dd3fc5",
      "objective_count": 54,
      "source_validation_id": "dp-700-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 53,
        "reachable": 50,
        "access_blocked": 3,
        "missing_or_error": 0
      },
      "source_ids": [
        "dp-600-youtube-fabric",
        "dp-700-blueprint",
        "dp-700-cicd",
        "dp-700-course",
        "dp-700-credential",
        "dp-700-eventhouse-monitoring",
        "dp-700-ingestion-decision",
        "dp-700-measureup",
        "dp-700-microsoft-press-video",
        "dp-700-monitoring-hub",
        "dp-700-onelake-security",
        "dp-700-oreilly-book",
        "dp-700-oreilly-bootcamp",
        "dp-700-path-ingest",
        "dp-700-path-lakehouse",
        "dp-700-path-manage",
        "dp-700-path-rti",
        "dp-700-path-warehouse",
        "dp-700-pluralsight",
        "dp-700-practice",
        "dp-700-query-acceleration",
        "dp-700-query-insights",
        "dp-700-reactor",
        "dp-700-udemy",
        "dp-700-whizlabs",
        "dp-700-workspace-monitoring",
        "dp600-adbc",
        "dp600-fabric-whats-new",
        "dp600-onelake-engines",
        "dp600-onelake-roles",
        "dp600-result-cache",
        "dp700-airflow",
        "dp700-airflow-cicd",
        "dp700-cdc",
        "dp700-cdf",
        "dp700-copy-blog",
        "dp700-copy-connectors",
        "dp700-copy-job",
        "dp700-incremental-copy",
        "dp700-mirror-sql",
        "dp700-runtime-channels",
        "dp700-runtime2",
        "dp700-sql-eventstream",
        "dp700-time-skew",
        "dp700-vacuum",
        "dp700-vorder",
        "dp900-groupby",
        "fabric-official-monitoring-hub-lab",
        "fabric-official-secure-data-access-lab",
        "g01-20261028-external-update-policy",
        "mb-820-partner-skilling-hub",
        "refresh-g01-lakehouse-transformation",
        "refresh-g01-summarize"
      ],
      "outcome": "reviewed",
      "lab_execution": "offline-only",
      "remaining_limits": [
        "The newer accelerated external-Delta update-policy path is a narrow asynchronous preview; it does not propagate source deletes as a maintained current-state replica. Materialized-view and source-RLS limitations remain.",
        "Local Python/SQLite arithmetic does not validate PySpark/KQL/Fabric or streaming late-event correction. Fabric-specific CDF planning options are not transferred to Databricks.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "PL-400",
      "guide_path": "guides/PL-400-microsoft-power-platform-developer.md",
      "guide_content_sha256": "5faa7fee71e3bb0a84e96587464110633aede0b6d8beb1f1abd4c170d5208490",
      "objective_path": "data/objective-snapshots/pl-400-official-objectives.txt",
      "objective_raw_sha256": "facfff59976de5c12e31c20f17ad072c6255f1324c9a55419788d6ee70a825d1",
      "objective_count": 88,
      "source_validation_id": "pl-400-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 57,
        "reachable": 56,
        "access_blocked": 1,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab-400-official-course",
        "ab-400-transition-blueprint",
        "ab410-generative",
        "g01-20261028-agent-mcp-dev",
        "g01-20261028-code-appinsights",
        "g01-20261028-dataverse-ask",
        "g01-20261028-foundry-mcp-auth",
        "g01-20261028-workiq-retrieve",
        "g01-20261028-workiq-settings",
        "mb-820-partner-skilling-hub",
        "microsoft-copilot-studio-agent-flows-overview-pl900",
        "microsoft-power-apps-code-apps-overview-pl900",
        "pl-400-api-limits",
        "pl-400-blueprint",
        "pl-400-course",
        "pl-400-credential",
        "pl-400-event-framework",
        "pl-400-measureup",
        "pl-400-official-labs",
        "pl-400-oreilly-crash-course",
        "pl-400-platform-pipelines",
        "pl-400-plugins",
        "pl-400-pluralsight",
        "pl-400-power-fx-functions",
        "pl-400-practice",
        "pl-400-readiness-zone",
        "pl-400-solution-layers",
        "pl-400-udemy-burton",
        "pl-400-whizlabs",
        "pl-400-youtube-power-platform",
        "pl400-agent-client",
        "pl400-background",
        "pl400-change-tracking",
        "pl400-code-actions",
        "pl400-code-agent",
        "pl400-code-alm",
        "pl400-code-cli-env",
        "pl400-code-csp",
        "pl400-code-dataverse",
        "pl400-code-env",
        "pl400-code-flows",
        "pl400-code-index",
        "pl400-code-publish",
        "pl400-coding-plugin",
        "pl400-dataverse-mcp",
        "pl400-dataverse-skills-blog",
        "pl400-foundry-work-iq",
        "pl400-functions-supported",
        "pl400-openapi",
        "pl400-plugin-managed-identity",
        "pl400-python",
        "pl400-register-plugin",
        "pl400-september-updates",
        "pl400-transactions",
        "pl400-upsert",
        "pl400-work-iq-access",
        "refresh-g01-pl400-monitor-alerts"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "Registration closed October 16; existing appointments may test through October 30. Current PL-400 page publishes the October 16 four-domain outline; this does not publish a separate AB-400 guide or verify an individual appointment delivery.",
        "Code-app clients, standard/GitHub harnesses, Work IQ Business Applications/Ask/generic retrieve, Dataverse SDKs and background-operation previews have distinct supported contracts. Proposed SDK/MCP examples are logical exercises, not invented provider method signatures or live invocation.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AB-210",
      "guide_path": "guides/AB-210-accelerating-sales-pipelines-ai-dynamics-365.md",
      "guide_content_sha256": "ed23bbccbdd159224f0f03c8f1b9c65c046e4346af9bfcda60acef6926c78b76",
      "objective_path": "data/objective-snapshots/ab-210-official-objectives.txt",
      "objective_raw_sha256": "2595badf528595419ed8da12bf5aed577d899ee8772123a0b1e40d1c2eac0f83",
      "objective_count": 46,
      "source_validation_id": "ab-210-2026-10-28-remaining-group01-source-validation",
      "link_evidence": {
        "unique_external_links": 46,
        "reachable": 44,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab-210-blueprint",
        "ab-210-course",
        "ab-210-credential",
        "ab-210-path-configure",
        "ab-210-path-deals",
        "ab-210-path-extend",
        "ab-210-path-leads",
        "ab-210-sales-docs",
        "ab-210-udemy-gordon",
        "ab-210-udemy-khaled",
        "ab-250-partner-transition",
        "ab210-agent-prereqs",
        "ab210-ai-agent-overview",
        "ab210-assignment",
        "ab210-blog-benchmark",
        "ab210-blog-data-entry",
        "ab210-calling",
        "ab210-close",
        "ab210-close-config",
        "ab210-close-manage",
        "ab210-close-workflow",
        "ab210-consumption-billing",
        "ab210-development",
        "ab210-formfill",
        "ab210-knowledge",
        "ab210-licensing",
        "ab210-mobile",
        "ab210-mobile-overview",
        "ab210-opportunity",
        "ab210-opportunity-config",
        "ab210-price",
        "ab210-qualification",
        "ab210-research",
        "ab210-research-config",
        "ab210-research-faq",
        "ab210-sales-deprecations",
        "ab210-scoring",
        "ab210-scoring-usage",
        "ab210-sms",
        "ab210-sqa-config",
        "ab210-sqa-handoff",
        "ab210-sqa-test",
        "ab210-wave1",
        "mb-820-partner-skilling-hub",
        "microsoft-ai-at-work-roadmap",
        "power-platform-important-changes"
      ],
      "outcome": "reviewed-with-blockers",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "Opportunity custom-field support and Close Agent in-flight shutdown remain contradictory in current official sources. Retain the objectives, but do not promise a new Close Agent implementation or universal shutdown behavior.",
        "Beta/delayed-results wording coexists with a sign-in Practice Assessment route. No assessment or tenant action performed.",
        "All new service/tenant/SDK labs are unexecuted; proposed exercises and expected outcomes are separate from observed local arithmetic. Human review and a complete independent semantic audit remain pending."
      ]
    }
  ],
  "objective_mapping_matrix": {
    "schema_version": 1,
    "reviewed_on": "2026-10-28",
    "scope": "Same-context exam researcher final-diff and objective-teaching verification",
    "basis": "Complete original immutable guides plus complete captured final diff and all added examples. Original687 historical matrix unchanged. Final spans rebound by exact authored heading identity after semantic diff review; no old numeric ranges reused.",
    "historical_matrix_path": "exam-mapping.json",
    "historical_matrix_file_raw_sha256": "398481d3b1720a7b31f3beb1406d3564069169dbc56cb9e56f7aa00b83147825",
    "historical_objective_count": 687,
    "current_objective_count": 623,
    "initial_example_gaps": 18,
    "resolved_example_gaps": 18,
    "remaining_substantive_objective_gaps": 0,
    "exams": [
      {
        "exam_code": "DP-300",
        "guide_path": "guides/DP-300-administering-microsoft-azure-sql-solutions.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/DP-300-administering-microsoft-azure-sql-solutions.md",
        "guide_lf_sha256": "b9098c091ca1eca0f96195b5b21bd708eb3339920930eb684c95649e1eb1cb6b",
        "live_matches_captured_final": true,
        "line_count": 1134,
        "immutable_before_guide_lf_sha256": "065ed60b29bbd2f267a7720aa7e49ab439d106d612dbb25d503d96feb64515d4",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/dp-300-official-objectives.txt",
        "objective_raw_sha256": "f9f0c06f1a6e639035fd75d0db063dd6edcb30f50079e5a5157255ed4408ae57",
        "objective_count": 94,
        "group_count": 15,
        "initial_example_gaps": 2,
        "resolved_example_gaps": 2,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Recommend a database offering based on specific requirements",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "ac6298fd4d38c3372c90adf55c02af6a3100cfc31299c3786a5c96c1bc7ac89f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the database offering from workload constraints",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Choose the database offering from workload constraints"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "12262a5c876367c15b46a194c02a918fc456c414d2d9eeb23d58864d8896db52",
                "start_line": 94,
                "end_line": 113,
                "span_lf_sha256": "f86c486e014efbe6c5a8f86abe36d951e76721bd668ace0a7c7d8476eddb0031"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose an automated deployment method",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "ccb77a858dc42f409ce121eb6cbce7bb5191992ccc2bdb2741b472e2216293d4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Plan automated deployment",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Plan automated deployment"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "07f01a5262a11994fa250f2bf2a4aecafbb5432a9aa231b4bd6174d30708427a",
                "start_line": 114,
                "end_line": 130,
                "span_lf_sha256": "259f75546618ab04d5c7f190a56410f6e5223de66a8689e2f8edd11f3bead57f"
              },
              {
                "heading": "Automate resource deployment with ARM and Bicep",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automate resource deployment with ARM and Bicep"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c82f6baa44187c56b769cb4676fee85ed45856d15e96b44d97375a0e8d193458",
                "start_line": 640,
                "end_line": 654,
                "span_lf_sha256": "35290c2e4a1953c542e37be24e161e62da7a1839f76f9a7474178be7bbef703d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify use cases for Azure Arc-enabled SQL services",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "4d6cdb77b7e5fce8a1a7a4b5257d3a9dcdb3e473b40d8e94e8ca1e7567b4d68a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the database offering from workload constraints",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Choose the database offering from workload constraints"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "12262a5c876367c15b46a194c02a918fc456c414d2d9eeb23d58864d8896db52",
                "start_line": 94,
                "end_line": 113,
                "span_lf_sha256": "f86c486e014efbe6c5a8f86abe36d951e76721bd668ace0a7c7d8476eddb0031"
              },
              {
                "heading": "Plan hybrid SQL and patching",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Plan hybrid SQL and patching"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1854b5f7d85aa1e4dfb527d332fdbec730444a3cb567ed0740397fbe4dfb860",
                "start_line": 157,
                "end_line": 164,
                "span_lf_sha256": "ff19a131dc9232a8a1e3b94e506eeae5433435ab8d5e20feab69a85d3c4730f3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify use cases for Azure SQL Database in Microsoft Fabric",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "718b7c39160b3a286ae8f2f9c201faeb96e15bc845ad5f3561edf8cca95de621",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the database offering from workload constraints",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Choose the database offering from workload constraints"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "12262a5c876367c15b46a194c02a918fc456c414d2d9eeb23d58864d8896db52",
                "start_line": 94,
                "end_line": 113,
                "span_lf_sha256": "f86c486e014efbe6c5a8f86abe36d951e76721bd668ace0a7c7d8476eddb0031"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Plan for table partitioning",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "1822d88e525c5e44b98a4dc68183fa86d59fffb297996471945b26e2255da200",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Partition, compress, and shard deliberately",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Partition, compress, and shard deliberately"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "82e5364afdb024c40763fb43f10376c7e7e2ad4033af47533c8c6984cc3f0b16",
                "start_line": 147,
                "end_line": 156,
                "span_lf_sha256": "c307883aad9af5b11ba1f2211aaad609e79962b269096cee41ae8a49de8e0e61"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Recommend a database sharding solution",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 6,
            "objective_wording_sha256": "19618f7b05b78897965e0e284aa16da0bdca14357e70f23df6c00b9e968ed12a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Partition, compress, and shard deliberately",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Partition, compress, and shard deliberately"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "82e5364afdb024c40763fb43f10376c7e7e2ad4033af47533c8c6984cc3f0b16",
                "start_line": 147,
                "end_line": 156,
                "span_lf_sha256": "c307883aad9af5b11ba1f2211aaad609e79962b269096cee41ae8a49de8e0e61"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Deploy database offerings on selected platforms",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 7,
            "objective_wording_sha256": "10fab863a47cde0c85fe453f7b06d94522bc90425909368ed6219c7cb1d2288e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Plan automated deployment",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Plan automated deployment"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "07f01a5262a11994fa250f2bf2a4aecafbb5432a9aa231b4bd6174d30708427a",
                "start_line": 114,
                "end_line": 130,
                "span_lf_sha256": "259f75546618ab04d5c7f190a56410f6e5223de66a8689e2f8edd11f3bead57f"
              },
              {
                "heading": "Lab 1 — Compare and deploy Azure SQL targets",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "8. Hands-on labs",
                  "Lab 1 — Compare and deploy Azure SQL targets"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9cdddf3b0174159b897d82c44ab7867cb1430642bead3e5d7467160f0d114f6a",
                "start_line": 892,
                "end_line": 897,
                "span_lf_sha256": "c84ca94e84898c2497cf51489d635c77efbd345a2afd19c0e0cb16d6209c8d84"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Deploy hybrid SQL Server solutions",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 8,
            "objective_wording_sha256": "725d747584792d89fe5a826b954cb17b4639ffb2536a8590ff43034e626fc6f0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Plan hybrid SQL and patching",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Plan hybrid SQL and patching"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1854b5f7d85aa1e4dfb527d332fdbec730444a3cb567ed0740397fbe4dfb860",
                "start_line": 157,
                "end_line": 164,
                "span_lf_sha256": "ff19a131dc9232a8a1e3b94e506eeae5433435ab8d5e20feab69a85d3c4730f3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Apply patches and updates for hybrid and infrastructure as a service (IaaS) deployment",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and deploy Azure SQL solutions",
            "group_number": 1,
            "objective_number": 9,
            "objective_wording_sha256": "e4b46fb30ebc0e7d1d6a86857071d822620dd369ee55c0a26f0f98e3d83449be",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Plan hybrid SQL and patching",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Plan hybrid SQL and patching"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1854b5f7d85aa1e4dfb527d332fdbec730444a3cb567ed0740397fbe4dfb860",
                "start_line": 157,
                "end_line": 164,
                "span_lf_sha256": "ff19a131dc9232a8a1e3b94e506eeae5433435ab8d5e20feab69a85d3c4730f3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Azure SQL Database for scale and performance",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Configure resources for scale and performance",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "da6f6bb308cf9c4570e2dae33e421b1cd2e3aed2f34f290cf605dd6ea73af631",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure SQL Database",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Configure scale and performance by platform",
                  "Azure SQL Database"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7f747bfc785491f3caebd9fb6d196f9e07a04ced54350e5d454f78a2ab09159b",
                "start_line": 133,
                "end_line": 138,
                "span_lf_sha256": "a2b9605f01cd31ff4485946e104c3f1d31ce96ef39f5a3a3895badf66033b8ae"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Azure SQL Managed Instance for scale and performance",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Configure resources for scale and performance",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "2889e342ac95cbf3552ed4d032fdef029ff44c78e9b4a9db63e164b23a7fcd96",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure SQL Managed Instance",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Configure scale and performance by platform",
                  "Azure SQL Managed Instance"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "b4d4f3d5b76f8af802106c90c2e161430953dc6982fbcc9fb72f774412dfb78d",
                "start_line": 139,
                "end_line": 142,
                "span_lf_sha256": "cce6066c03daa8dd8f45a660bda924e911a61ff7378f0324f74450b6e44a8cde"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure SQL Server on Azure Virtual Machines for scale and performance",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Configure resources for scale and performance",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "25c3a1c1b1a6113d36b6924e47ed7c80fc14dc819a27365002bba58100a85de2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "SQL Server on Azure VMs",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Configure scale and performance by platform",
                  "SQL Server on Azure VMs"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0d9c6e4c09ddf52456166b6a559030e744376f95625e3a5c67099f06914f74e6",
                "start_line": 143,
                "end_line": 146,
                "span_lf_sha256": "e89df7005c8173ea892677310027b2036b631c25399d8fa23b447eef82467537"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure table partitioning",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Configure resources for scale and performance",
            "group_number": 2,
            "objective_number": 4,
            "objective_wording_sha256": "a6bf4d6839d782a3cc01f8ff75b2d965b8eecd841a553aa52a4c4848ac5b977e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Partition, compress, and shard deliberately",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Partition, compress, and shard deliberately"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "82e5364afdb024c40763fb43f10376c7e7e2ad4033af47533c8c6984cc3f0b16",
                "start_line": 147,
                "end_line": 156,
                "span_lf_sha256": "c307883aad9af5b11ba1f2211aaad609e79962b269096cee41ae8a49de8e0e61"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure data compression",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Configure resources for scale and performance",
            "group_number": 2,
            "objective_number": 5,
            "objective_wording_sha256": "7247ae55ddefd096a7d7f22a3a227031e6daf56fe2b2b924cdf7d400b1d02d7a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Partition, compress, and shard deliberately",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Partition, compress, and shard deliberately"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "82e5364afdb024c40763fb43f10376c7e7e2ad4033af47533c8c6984cc3f0b16",
                "start_line": 147,
                "end_line": 156,
                "span_lf_sha256": "c307883aad9af5b11ba1f2211aaad609e79962b269096cee41ae8a49de8e0e61"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate requirements for a migration",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and implement a migration strategy",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "55fc9beeb83029a71fc58cdcf9ef341ff7405a5a1265fc97fffbc4cf575f0ced",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Discover and assess",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Discover and assess"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "3f6c2b2fdb5d24c7976e954d62109cbec0f35440ee3ce0d947ecafa2e68f3314",
                "start_line": 169,
                "end_line": 180,
                "span_lf_sha256": "01977880663d99ced6b6c463a3d5deb4bf34bc496a2b8c86db61bd8706c1972f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate offline or online migration strategies",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and implement a migration strategy",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "b36c24c0e0515426aac664f5c392bdf17afaed92a0c7c96388fed17ad1c200d9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose online versus offline",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Choose online versus offline"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9f7593b28bf967441fac99ae65ff19f92802787b9df8ec418fe687d4725f7f5e",
                "start_line": 181,
                "end_line": 189,
                "span_lf_sha256": "7f6b636ce44573473f6e68d3eb4870cb136cb5f7c6a455ea4dfe1286f2c367c7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement an online migration strategy",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and implement a migration strategy",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "b31a8a0b0f9bed557d2305e7a4688353aecfcc76c342048bfe6c6c63914dcd94",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose online versus offline",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Choose online versus offline"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9f7593b28bf967441fac99ae65ff19f92802787b9df8ec418fe687d4725f7f5e",
                "start_line": 181,
                "end_line": 189,
                "span_lf_sha256": "7f6b636ce44573473f6e68d3eb4870cb136cb5f7c6a455ea4dfe1286f2c367c7"
              },
              {
                "heading": "Execute and validate",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Execute and validate"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "eee5008b0ac06be5b053e9d2a03495c4c1d0e523d548f35f9efa65513b54fdb4",
                "start_line": 190,
                "end_line": 202,
                "span_lf_sha256": "495f538540b60d91b241d51505e650d5720cf60f523c8389df6c635784f21589"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement an offline migration strategy",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and implement a migration strategy",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "6d1de1c07d66a9bdcc26d7325e10d6b1435c21f18eefffe9b96b6a6b651b5711",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose online versus offline",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Choose online versus offline"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9f7593b28bf967441fac99ae65ff19f92802787b9df8ec418fe687d4725f7f5e",
                "start_line": 181,
                "end_line": 189,
                "span_lf_sha256": "7f6b636ce44573473f6e68d3eb4870cb136cb5f7c6a455ea4dfe1286f2c367c7"
              },
              {
                "heading": "Execute and validate",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Execute and validate"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "eee5008b0ac06be5b053e9d2a03495c4c1d0e523d548f35f9efa65513b54fdb4",
                "start_line": 190,
                "end_line": 202,
                "span_lf_sha256": "495f538540b60d91b241d51505e650d5720cf60f523c8389df6c635784f21589"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement a migration to Azure",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and implement a migration strategy",
            "group_number": 3,
            "objective_number": 5,
            "objective_wording_sha256": "98cd6476edaf778857c9aa545bb7dc85ae6fdc3f3e3c31946f69aa2d8c5f82a8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Execute and validate",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Execute and validate"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "eee5008b0ac06be5b053e9d2a03495c4c1d0e523d548f35f9efa65513b54fdb4",
                "start_line": 190,
                "end_line": 202,
                "span_lf_sha256": "495f538540b60d91b241d51505e650d5720cf60f523c8389df6c635784f21589"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement a migration between Azure SQL services",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and implement a migration strategy",
            "group_number": 3,
            "objective_number": 6,
            "objective_wording_sha256": "4d786c2732c01c077a7390c2b8276ef87a61703d58bfbbef1c9ffd61db37ba2d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Execute and validate",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Execute and validate"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "eee5008b0ac06be5b053e9d2a03495c4c1d0e523d548f35f9efa65513b54fdb4",
                "start_line": 190,
                "end_line": 202,
                "span_lf_sha256": "495f538540b60d91b241d51505e650d5720cf60f523c8389df6c635784f21589"
              },
              {
                "heading": "Worked example — completion is a separate migration step",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Worked example — completion is a separate migration step"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c73d518b2abba6d91471b604892c49b62ed7f149dcc875f2d335203c4e6f6aac",
                "start_line": 203,
                "end_line": 208,
                "span_lf_sha256": "03544916a50be846ec9e37ec758bf59185dae08772c571e182ef70264a125de1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement Azure SQL Managed Instance database copy and move",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and implement a migration strategy",
            "group_number": 3,
            "objective_number": 7,
            "objective_wording_sha256": "03ddf80cf3ef0464f3a5f93417dadf8d3c4cd5f6a1f3999754faa6dd96086185",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Worked example — completion is a separate migration step",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Worked example — completion is a separate migration step"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c73d518b2abba6d91471b604892c49b62ed7f149dcc875f2d335203c4e6f6aac",
                "start_line": 203,
                "end_line": 208,
                "span_lf_sha256": "03544916a50be846ec9e37ec758bf59185dae08772c571e182ef70264a125de1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot a migration",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and implement data platform resources (15–20%)",
            "group": "Plan and implement a migration strategy",
            "group_number": 3,
            "objective_number": 8,
            "objective_wording_sha256": "cd2edcce329614db583ed67b4950ec72e400969057b47fa244ee30caed354f61",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Migration failure patterns",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Evaluate and implement migration",
                  "Migration failure patterns"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "b9240c807eada2230272030fd8b61f8e0982043bf421f2f4e4c4515bb419960e",
                "start_line": 209,
                "end_line": 218,
                "span_lf_sha256": "782867a11bbe0c418302f0fbacaecc5167f3f85b41f8d5ec4b995008add4a4ca"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Microsoft Entra ID authentication for Azure SQL Database, Azure SQL Managed Instance, and SQL Server",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Configure database authentication and authorization",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "04bb5602a84763d28659fdefbea760e53034b28fae60ff5a1d33111322ba84f0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure Microsoft Entra authentication",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Configure Microsoft Entra authentication"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c536a1a34fc60f34f00df24c6cd2153012ed2478e1b523cd567f8aadd5ddf1c9",
                "start_line": 249,
                "end_line": 261,
                "span_lf_sha256": "879f3a4c824d9a0a925cc44f2e0e18939d415a65ef38a327dbc9760f43b1c81f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure authentication for SQL on Azure VMs and Azure SQL Managed Instance",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Configure database authentication and authorization",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "fc7a5902660d9fc881968af333b0b9fe7cfd558b43ecab1cba197858d591c523",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure Microsoft Entra authentication",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Configure Microsoft Entra authentication"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c536a1a34fc60f34f00df24c6cd2153012ed2478e1b523cd567f8aadd5ddf1c9",
                "start_line": 249,
                "end_line": 261,
                "span_lf_sha256": "879f3a4c824d9a0a925cc44f2e0e18939d415a65ef38a327dbc9760f43b1c81f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure security principals",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Configure database authentication and authorization",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "0154ed010a36e96d553e944a00c68469ddba3a52e168868704914d2862876378",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model SQL authorization",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Model SQL authorization"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "adb4ff702fcf3f22eaf95310975f05b5b8b7c5f3a3b6a6edbefc43165136976a",
                "start_line": 262,
                "end_line": 277,
                "span_lf_sha256": "d89f1db6895a1d9ce2506bc772bf8d1cfb16df48a814ddb05682c9476110f1ec"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create users from Microsoft Entra identities",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Configure database authentication and authorization",
            "group_number": 4,
            "objective_number": 4,
            "objective_wording_sha256": "931b19f19b040d6f3c537ffb473d0073ecabd6052cb860aa3b36ec544e461b13",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure Microsoft Entra authentication",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Configure Microsoft Entra authentication"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c536a1a34fc60f34f00df24c6cd2153012ed2478e1b523cd567f8aadd5ddf1c9",
                "start_line": 249,
                "end_line": 261,
                "span_lf_sha256": "879f3a4c824d9a0a925cc44f2e0e18939d415a65ef38a327dbc9760f43b1c81f"
              },
              {
                "heading": "Model SQL authorization",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Model SQL authorization"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "adb4ff702fcf3f22eaf95310975f05b5b8b7c5f3a3b6a6edbefc43165136976a",
                "start_line": 262,
                "end_line": 277,
                "span_lf_sha256": "d89f1db6895a1d9ce2506bc772bf8d1cfb16df48a814ddb05682c9476110f1ec"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure database and object-level permissions using graphical tools",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Configure database authentication and authorization",
            "group_number": 4,
            "objective_number": 5,
            "objective_wording_sha256": "e01783f87006457c5b69b009a1c890d8cae98f6fbdaa9ef11a909787ddbd363c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model SQL authorization",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Model SQL authorization"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "adb4ff702fcf3f22eaf95310975f05b5b8b7c5f3a3b6a6edbefc43165136976a",
                "start_line": 262,
                "end_line": 277,
                "span_lf_sha256": "d89f1db6895a1d9ce2506bc772bf8d1cfb16df48a814ddb05682c9476110f1ec"
              },
              {
                "heading": "Lab 3 — Implement layered Azure SQL security",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "8. Hands-on labs",
                  "Lab 3 — Implement layered Azure SQL security"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "425007680f80e69513b3cbc7ef13c708cf2b877058c1bb9223f069e1149972da",
                "start_line": 904,
                "end_line": 909,
                "span_lf_sha256": "dc4ab3a798049da26e143a6fd7fa87d0324ea9728e7d2ec7f14e00adb5a21413"
              },
              {
                "heading": "Worked example — object permissions and actual sign-in are separate",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Worked example — object permissions and actual sign-in are separate"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "416b5ee289a4603045f7218ddb40e419b9c7f39a8f3af2a80b3651dcf8e611d2",
                "start_line": 278,
                "end_line": 308,
                "span_lf_sha256": "817f31c11dc7e76e93991ad2c2811e85fb6dd5e9c18ce004570f6e2f8a330bfc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Permission reasoning is substantive but no worked graphical permission inspection is shown; add a bounded inspect-before/after worksheet.",
            "repair_id": "DP300-permission-fixture"
          },
          {
            "wording": "Apply the principle of least privilege for all securables",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Configure database authentication and authorization",
            "group_number": 4,
            "objective_number": 6,
            "objective_wording_sha256": "db73a9dce12b718d42b0ffe9493352e7496d7711bf7fafa54f766b6286fa27c8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model SQL authorization",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Model SQL authorization"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "adb4ff702fcf3f22eaf95310975f05b5b8b7c5f3a3b6a6edbefc43165136976a",
                "start_line": 262,
                "end_line": 277,
                "span_lf_sha256": "d89f1db6895a1d9ce2506bc772bf8d1cfb16df48a814ddb05682c9476110f1ec"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot authentication and authorization issues",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Configure database authentication and authorization",
            "group_number": 4,
            "objective_number": 7,
            "objective_wording_sha256": "99b47e8bf864c7c4aa0b05becb5b3d32592d1dace221a66c54852b105bc288ad",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Security failure patterns",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Security failure patterns"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "5a15c0535537230bf4c7c3217c64cfa379a0219d2b7749f2cea3c48c3f5c271f",
                "start_line": 392,
                "end_line": 416,
                "span_lf_sha256": "f1184c3efaf09fc96d323ff21e80a398d83249f6ec223b4b2486f4aced3bb187"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage authentication and authorization by using T-SQL",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Configure database authentication and authorization",
            "group_number": 4,
            "objective_number": 8,
            "objective_wording_sha256": "a2a079525900aafcc2194c9c3c1f7da2878bd90bc79f6ae9eab84a983b8c1165",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model SQL authorization",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Model SQL authorization"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "adb4ff702fcf3f22eaf95310975f05b5b8b7c5f3a3b6a6edbefc43165136976a",
                "start_line": 262,
                "end_line": 277,
                "span_lf_sha256": "d89f1db6895a1d9ce2506bc772bf8d1cfb16df48a814ddb05682c9476110f1ec"
              },
              {
                "heading": "Lab 3 — Implement layered Azure SQL security",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "8. Hands-on labs",
                  "Lab 3 — Implement layered Azure SQL security"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "425007680f80e69513b3cbc7ef13c708cf2b877058c1bb9223f069e1149972da",
                "start_line": 904,
                "end_line": 909,
                "span_lf_sha256": "dc4ab3a798049da26e143a6fd7fa87d0324ea9728e7d2ec7f14e00adb5a21413"
              },
              {
                "heading": "Worked example — object permissions and actual sign-in are separate",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Trace identity through two authorization planes",
                  "Worked example — object permissions and actual sign-in are separate"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "416b5ee289a4603045f7218ddb40e419b9c7f39a8f3af2a80b3651dcf8e611d2",
                "start_line": 278,
                "end_line": 308,
                "span_lf_sha256": "817f31c11dc7e76e93991ad2c2811e85fb6dd5e9c18ce004570f6e2f8a330bfc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "T-SQL authorization is named without a minimal CREATE USER/ROLE/GRANT/DENY example and expected allowed/denied results.",
            "repair_id": "DP300-permission-fixture"
          },
          {
            "wording": "Implement transparent data encryption (TDE)",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement security for data at rest and data in transit",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "ccbbf45a9d5fecc459c38049e669edfdcd2d680a7cb91680e8febf9c8a10ecff",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the correct encryption boundary",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Choose the correct encryption boundary"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "245e984d1a5b0773dc4493415040e35da30758909c41af99daec7cd989dddb59",
                "start_line": 327,
                "end_line": 360,
                "span_lf_sha256": "e807670f088ae8a342584baa3865c3d82751e1ed501f16167c72f489ee4ada58"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement object-level encryption",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement security for data at rest and data in transit",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "69f0c63d6bf833ff5067e038e5e52ea3ebc008687e11e3a16af32ba9a5cf783b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the correct encryption boundary",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Choose the correct encryption boundary"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "245e984d1a5b0773dc4493415040e35da30758909c41af99daec7cd989dddb59",
                "start_line": 327,
                "end_line": 360,
                "span_lf_sha256": "e807670f088ae8a342584baa3865c3d82751e1ed501f16167c72f489ee4ada58"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure server- and database-level firewall rules",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement security for data at rest and data in transit",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "ff87dc2890c81e52f0f83aeea4741c7393cdec3ba8d30fe9d65e9b96ac876ef4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Protect network and transport",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Protect network and transport"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "4eaf64ca6f302d7264e585a88b8409e7ee5218eaff9da5b602b0a370a6542c4a",
                "start_line": 309,
                "end_line": 326,
                "span_lf_sha256": "26deec458d8ad3afc5fafcb2e059af1ab474b3cefa7e355f34d237743915ae1a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement Always Encrypted",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement security for data at rest and data in transit",
            "group_number": 5,
            "objective_number": 4,
            "objective_wording_sha256": "1325c22626f47c141e475a34157246dcc117bc4bd2fdb26520dc186db64b87da",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the correct encryption boundary",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Choose the correct encryption boundary"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "245e984d1a5b0773dc4493415040e35da30758909c41af99daec7cd989dddb59",
                "start_line": 327,
                "end_line": 360,
                "span_lf_sha256": "e807670f088ae8a342584baa3865c3d82751e1ed501f16167c72f489ee4ada58"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement Always Encrypted with secure enclaves",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement security for data at rest and data in transit",
            "group_number": 5,
            "objective_number": 5,
            "objective_wording_sha256": "bbe62a8cedeb4800ef5783934cbbd6acf888bdc3a98b383503c4b3ce0829b571",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select the enclave and client together",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Choose the correct encryption boundary",
                  "Select the enclave and client together"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "f95caf5fbec4efa155b8724938dd38cc845b6ae09f5dbee7635b2245e7108280",
                "start_line": 343,
                "end_line": 360,
                "span_lf_sha256": "398eb7f62845b5d30afe756ae4d6c55e147cea608b1197a7451db62be210ef1b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure private links and service endpoints",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement security for data at rest and data in transit",
            "group_number": 5,
            "objective_number": 6,
            "objective_wording_sha256": "547be8a3a4eda083d2a54d03a2faa4629bfa2466ff381045e9b945010776080a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Protect network and transport",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Protect network and transport"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "4eaf64ca6f302d7264e585a88b8409e7ee5218eaff9da5b602b0a370a6542c4a",
                "start_line": 309,
                "end_line": 326,
                "span_lf_sha256": "26deec458d8ad3afc5fafcb2e059af1ab474b3cefa7e355f34d237743915ae1a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Apply a data classification strategy",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement compliance controls for sensitive data",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "2943729460207cd6dc917c266e467b7cc02d6f91317072aa16bd46cde633cea6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Classification and auditing",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Apply compliance controls without confusing their guarantees",
                  "Classification and auditing"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "b35db8ce8740574eb1a030b898d3e31361195fc028f971fd9a91f82fd175a990",
                "start_line": 363,
                "end_line": 368,
                "span_lf_sha256": "f03cb50f72019a490623f69446d97c0e09e6a1041b238b5d20bbdeff826ae11a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure server and database audits",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement compliance controls for sensitive data",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "b71afd3fa7e5affc674b2874752bc07e11327ccb1e6ecea92dde2f5797c0747f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Classification and auditing",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Apply compliance controls without confusing their guarantees",
                  "Classification and auditing"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "b35db8ce8740574eb1a030b898d3e31361195fc028f971fd9a91f82fd175a990",
                "start_line": 363,
                "end_line": 368,
                "span_lf_sha256": "f03cb50f72019a490623f69446d97c0e09e6a1041b238b5d20bbdeff826ae11a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement change data tracking",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement compliance controls for sensitive data",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "f0ea9662134085d1f5bd409b10c77a2b476bce8525c2621086f01280214cdda3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Change tracking and change data capture",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Apply compliance controls without confusing their guarantees",
                  "Change tracking and change data capture"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "6ed349035b97df597b192372c11144d73f626387b3709fdfb2d6935e46a77fad",
                "start_line": 369,
                "end_line": 377,
                "span_lf_sha256": "64a6384d37c7c4c5d4a33c80f9c0ce7efd2ccdcf02b6899ee37fc6988d7a28ce"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement dynamic data masking",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement compliance controls for sensitive data",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "4e1b75ae2949c6a0bcab7bea153ce3407d2759905edf13f69d40ad6a5a2d90da",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dynamic data masking",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Apply compliance controls without confusing their guarantees",
                  "Dynamic data masking"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "f5e85071c2945fabd34d40702dae7be4a9ce6d583759af3ec00db0ed059295fb",
                "start_line": 378,
                "end_line": 381,
                "span_lf_sha256": "5c6a4a8697425e95e717214c64b641b152aaf81ec88fb27759a921dc7548f9ba"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement ledger in Azure SQL",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement compliance controls for sensitive data",
            "group_number": 6,
            "objective_number": 5,
            "objective_wording_sha256": "19fdec8536fc986eaa6071b2c026abb8b8a76ab302bcaacf8e2786a1d308feb9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Ledger",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Apply compliance controls without confusing their guarantees",
                  "Ledger"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4765bc616319177e517b97100c2fde3dfce005c9c8a69a244f4ad8362924d6e1",
                "start_line": 386,
                "end_line": 391,
                "span_lf_sha256": "13ae11a4b98046f9b8462052d103a11c356e18986356dba175b80d2a96a1adc1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement row-level security",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Implement a secure environment (20–25%)",
            "group": "Implement compliance controls for sensitive data",
            "group_number": 6,
            "objective_number": 6,
            "objective_wording_sha256": "364a014b6ea934ff8ad72daa908778a37a9eff2183c3ba9c9ccda593b0c9180d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Row-level security",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "3. Implement a secure environment (20–25%)",
                  "Apply compliance controls without confusing their guarantees",
                  "Row-level security"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "33e9070c3ab0f957485c546fc1a9b1b9d4c6ef56544a4b2b98cae2e719f07498",
                "start_line": 382,
                "end_line": 385,
                "span_lf_sha256": "c41ce4f386f32b06f253f3c44ed0af7cfe4bc45709b6443f45e3238ffeb848b8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Prepare an operational performance baseline",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor resource activity and performance",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "355aa014fcdd3814fb791bbd8b92dc55b571a39018fec48e039b9eaec1e74c90",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Start with an operational baseline",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Start with an operational baseline"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a6c1c5c4f241bef4c2cd89b24a45fb9bb45e00782f43893f19f84bfebbb709ac",
                "start_line": 419,
                "end_line": 432,
                "span_lf_sha256": "c8aa2b2c4b5de881ab395503199d09357e2c0daf5d1f5c96a40a44aff55594ef"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine sources for performance metrics",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor resource activity and performance",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "f57869f1091a94780c707cdc69f275b8bfc8af57791008f3bee0584cb51fb58e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the signal source",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Choose the signal source"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0f849dd0b37a5374b1b05d598c9fb4d8d82d489bdebe8dac18bbc93b347bd548",
                "start_line": 433,
                "end_line": 448,
                "span_lf_sha256": "699c488eff022f021bbb8313109015f96356e480439f41a52df2e6854c9cf5b6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Interpret performance metrics",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor resource activity and performance",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "f169a271d46aebd291a879bc75b9d2c98b877a73985da436e1dae7db969237b4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the signal source",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Choose the signal source"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0f849dd0b37a5374b1b05d598c9fb4d8d82d489bdebe8dac18bbc93b347bd548",
                "start_line": 433,
                "end_line": 448,
                "span_lf_sha256": "699c488eff022f021bbb8313109015f96356e480439f41a52df2e6854c9cf5b6"
              },
              {
                "heading": "Performance failure patterns",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Performance failure patterns"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "03edf232f5360945e2ab92760a6b9742e5807b0fe8ad295a6e93660b06e219e1",
                "start_line": 585,
                "end_line": 608,
                "span_lf_sha256": "ff15828a14aefa3bb4ef54c2c4369a745c8943f1dce1563d60a8faf2ab5df4ca"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and monitor activity and performance",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor resource activity and performance",
            "group_number": 7,
            "objective_number": 4,
            "objective_wording_sha256": "3aad818d52091a084f317410c48aa8127e99cdfe354744d66798b4a37e4170fc",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the signal source",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Choose the signal source"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0f849dd0b37a5374b1b05d598c9fb4d8d82d489bdebe8dac18bbc93b347bd548",
                "start_line": 433,
                "end_line": 448,
                "span_lf_sha256": "699c488eff022f021bbb8313109015f96356e480439f41a52df2e6854c9cf5b6"
              },
              {
                "heading": "Configure database watcher",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure database watcher"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d296338117a05f5f1fe94318ff9fde3a88e6fc0020e1ee76a90e3a66d73273ff",
                "start_line": 449,
                "end_line": 471,
                "span_lf_sha256": "d8f1ba9ecfe620c7a3c60ae6a46795cee82f849efdfa5061b1c8e5cacb002e4e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor by using database watcher",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor resource activity and performance",
            "group_number": 7,
            "objective_number": 5,
            "objective_wording_sha256": "180d6ed01ea25fe416be0e249e209229200428aa2764bb183efb56c0fb1d8574",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure database watcher",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure database watcher"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d296338117a05f5f1fe94318ff9fde3a88e6fc0020e1ee76a90e3a66d73273ff",
                "start_line": 449,
                "end_line": 471,
                "span_lf_sha256": "d8f1ba9ecfe620c7a3c60ae6a46795cee82f849efdfa5061b1c8e5cacb002e4e"
              },
              {
                "heading": "Worked example — count targets and prove collection",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure database watcher",
                  "Worked example — count targets and prove collection"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "418df7caacce4a4abb870c48cc39ff0f119fb553f32e33a351cab5971cac65e1",
                "start_line": 466,
                "end_line": 471,
                "span_lf_sha256": "6fe5dfb408f74a5d99225f5890b00668b4d05e3df1f15d72d9a607889986ccb3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor by using Extended Events",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor resource activity and performance",
            "group_number": 7,
            "objective_number": 6,
            "objective_wording_sha256": "398a3dd3d656a78fe49ce667cc01752179144e997ab871ac33b8ae547f1155e9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Use Extended Events with narrow intent",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Use Extended Events with narrow intent"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "4e14d718cd48cdbf45b1db081aa9482c768dece7c8b508fa4b615c764147b82d",
                "start_line": 478,
                "end_line": 491,
                "span_lf_sha256": "0b5853198c41f1ff7f9c9a733d2cc5cbf38732ec86d212ce25b3956bf77aee1f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Query Store",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor and optimize query performance",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "7448d74bcc248ac7032984fbeccaead8f564675029ab6f739029319e63590a3f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure and interpret Query Store",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure and interpret Query Store"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c29b5ee8fe3ee4db0395dd31f140d718aa4504b277d63e85887f9770bef1b094",
                "start_line": 492,
                "end_line": 518,
                "span_lf_sha256": "d01fbeaba5e0bad676d37d37e551bf60c387b0bdebb8475d7e555b42c1bec1a9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor by using Query Store",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor and optimize query performance",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "47028eeff2e30f4cf2ef854681b3fb439dca163b24354f45c65b8639b4419c52",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure and interpret Query Store",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure and interpret Query Store"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c29b5ee8fe3ee4db0395dd31f140d718aa4504b277d63e85887f9770bef1b094",
                "start_line": 492,
                "end_line": 518,
                "span_lf_sha256": "d01fbeaba5e0bad676d37d37e551bf60c387b0bdebb8475d7e555b42c1bec1a9"
              },
              {
                "heading": "Worked example — an average of averages hides the workload",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure and interpret Query Store",
                  "Worked example — an average of averages hides the workload"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "3e15c94d3a1f84088e27c04351bfbfbed28e5ca484699bf9a42ffa0b3fb5b108",
                "start_line": 513,
                "end_line": 518,
                "span_lf_sha256": "0eec74a697730556dde13773a54651ac506ab3a7ae6e26402ce69f8a079d4876"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve session blocking",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor and optimize query performance",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "87792c4b53dec312ce7614fdfb6c8f3f61b214beb1601fc085b7fa5d82c83de6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Diagnose blocking, deadlocks and waits",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Diagnose blocking, deadlocks and waits"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "43d89dc70aa7646889403136c1b4c195dee85b73220ad90b22234229c05eb163",
                "start_line": 519,
                "end_line": 528,
                "span_lf_sha256": "2a863d8049640d527114dee7fb0d05586c635bb1a7f4f191fb360c93cef9604c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify performance issues using dynamic management views (DMVs)",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor and optimize query performance",
            "group_number": 8,
            "objective_number": 4,
            "objective_wording_sha256": "1fed3ba3484f8be6c338d12aed04ad2f74604d37f2c68b84ebf18923460a8f31",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Diagnose blocking, deadlocks and waits",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Diagnose blocking, deadlocks and waits"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "43d89dc70aa7646889403136c1b4c195dee85b73220ad90b22234229c05eb163",
                "start_line": 519,
                "end_line": 528,
                "span_lf_sha256": "2a863d8049640d527114dee7fb0d05586c635bb1a7f4f191fb360c93cef9604c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and implement index changes for queries",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor and optimize query performance",
            "group_number": 8,
            "objective_number": 5,
            "objective_wording_sha256": "41a929b5b3aa2ef2c334e6f2234c6756d1164da70e247b7fc2145c70e8f7bec3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Index decisions",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Read execution plans and improve query constructs",
                  "Index decisions"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "f7102b5190926fe28fee129d758ca95f6fa02f82d2844c73104005fbf766eb4e",
                "start_line": 543,
                "end_line": 550,
                "span_lf_sha256": "fee5d83b966fa0c08bd2882e382d75c3f4de0bb98c0039c0d0ee9d158f57447f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Recommend query construct modifications based on resource usage",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor and optimize query performance",
            "group_number": 8,
            "objective_number": 6,
            "objective_wording_sha256": "18202ebe99b6fa61ecea852ffcd974a082471f571b374f62fabaed1f1d04643d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Read execution plans and improve query constructs",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Read execution plans and improve query constructs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "662e162b3fdaf489a4b312eabe08b269a710ece43838955b784bd776791f117d",
                "start_line": 529,
                "end_line": 550,
                "span_lf_sha256": "2255c50b610a809d307bba6f09096cae1bbc20cadbd21937f997fa0025a8ff1e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review execution plans",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor and optimize query performance",
            "group_number": 8,
            "objective_number": 7,
            "objective_wording_sha256": "7cec76c1e45c1819de5aeaaa221f5f28ead822bce611d892b078bd0c3081ec11",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Read execution plans and improve query constructs",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Read execution plans and improve query constructs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "662e162b3fdaf489a4b312eabe08b269a710ece43838955b784bd776791f117d",
                "start_line": 529,
                "end_line": 550,
                "span_lf_sha256": "2255c50b610a809d307bba6f09096cae1bbc20cadbd21937f997fa0025a8ff1e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor by using Intelligent Insights",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Monitor and optimize query performance",
            "group_number": 8,
            "objective_number": 8,
            "objective_wording_sha256": "085a2dabc3adceb48cdab2c8998915b8da4b524a10bad726d9159900f292e0a6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor with Intelligent Insights",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Monitor with Intelligent Insights"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e39251f7a16538ec073112d28ada39e3b03a7c9a49629ba6674e888b2a6d08f0",
                "start_line": 472,
                "end_line": 477,
                "span_lf_sha256": "44c199808278d80e4d725c67c3595da05b23c8ef25d683d86dbb4ff1d2b34a6e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement index maintenance tasks",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "0ed39acd20c6e1def9827a5f17e1bf50088542052e2c3d29fee1a2115014afc6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure maintenance and integrity checks",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure maintenance and integrity checks"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8545288555fc5bfd46e63a44700ab1a3b255aafaa745c89e01abf89bcb189892",
                "start_line": 551,
                "end_line": 568,
                "span_lf_sha256": "08b3100da8443208b9c31067007ffdb6f0d9c8dcae2b268a60e8787106a6d402"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement statistics maintenance tasks",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "81c98e284846f1530b09d7b59ca1af4f46f314742e5787b1ef9381213c31e2d7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure maintenance and integrity checks",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure maintenance and integrity checks"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8545288555fc5bfd46e63a44700ab1a3b255aafaa745c89e01abf89bcb189892",
                "start_line": 551,
                "end_line": 568,
                "span_lf_sha256": "08b3100da8443208b9c31067007ffdb6f0d9c8dcae2b268a60e8787106a6d402"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement database integrity checks",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 3,
            "objective_wording_sha256": "ee6a47167e53a132bef8f69402ccd0f0e6f5e2f0454dc495037cc83717c4b202",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure maintenance and integrity checks",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure maintenance and integrity checks"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8545288555fc5bfd46e63a44700ab1a3b255aafaa745c89e01abf89bcb189892",
                "start_line": 551,
                "end_line": 568,
                "span_lf_sha256": "08b3100da8443208b9c31067007ffdb6f0d9c8dcae2b268a60e8787106a6d402"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure database automatic tuning",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 4,
            "objective_wording_sha256": "4f0e5ceca0a7819bffd93990a8a27ed4c03d5eadbda48067298aa67f27289363",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Use automatic tuning and Intelligent Query Processing safely",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Use automatic tuning and Intelligent Query Processing safely"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e7b76903f89f56d76f49494396862923e840e70419f994a9cb3d04443c4034a3",
                "start_line": 569,
                "end_line": 576,
                "span_lf_sha256": "9f5ad7bf4981458c1e1d84c5f53771884dddf913f3e29f868063378f93b91041"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure server settings for performance",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 5,
            "objective_wording_sha256": "f3f1e48f249bbe5268c3f48e163005a2bc6771ed9a47ccf540905334c09ab5b1",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure server and database performance settings",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure server and database performance settings"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b4bc0e86f8638467395a30f4ad242251a7153380d1e67709f3e1a4dbbd8cb241",
                "start_line": 577,
                "end_line": 584,
                "span_lf_sha256": "63d4bb384d1a71e6c8c0f2b44b2c373a96c2f9eab0005f4a7af1e2815605506a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Resource Governor for performance",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 6,
            "objective_wording_sha256": "1bf58f33dc099486c9e797f3893fd23f4f0f5e1ffcd24ef02a43a8dff89b2f7a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure server and database performance settings",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure server and database performance settings"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b4bc0e86f8638467395a30f4ad242251a7153380d1e67709f3e1a4dbbd8cb241",
                "start_line": 577,
                "end_line": 584,
                "span_lf_sha256": "63d4bb384d1a71e6c8c0f2b44b2c373a96c2f9eab0005f4a7af1e2815605506a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement database-scoped configuration",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 7,
            "objective_wording_sha256": "1e382319226b7b5865a505767e9c7c23fafbe7f19fe67c78c3ecc0f86bb86dc8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure server and database performance settings",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Configure server and database performance settings"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b4bc0e86f8638467395a30f4ad242251a7153380d1e67709f3e1a4dbbd8cb241",
                "start_line": 577,
                "end_line": 584,
                "span_lf_sha256": "63d4bb384d1a71e6c8c0f2b44b2c373a96c2f9eab0005f4a7af1e2815605506a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure compute and storage resources for scaling",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 8,
            "objective_wording_sha256": "d01b081d7154b2e1f628ed70640970e5dd6fd32f38aa25c280b7d7a58e7a1bfc",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure scale and performance by platform",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "2. Plan and implement data platform resources (15–20%)",
                  "Configure scale and performance by platform"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "88392b3ae48340561f0fc68b6889bdf384fb326744541cf095bd044e6a8d7e32",
                "start_line": 131,
                "end_line": 146,
                "span_lf_sha256": "19237da53a81f58ecac124ec6a8d8327ecbcdfb3f71a9392bc74ab14ce7b4c0e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify use cases for intelligent query processing (IQP) features",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Monitor, configure, and optimize database resources (20–25%)",
            "group": "Configure database solutions for optimal performance",
            "group_number": 9,
            "objective_number": 9,
            "objective_wording_sha256": "467094a45d7495459c577f2e8d4774d34c0b67317fcf633bf57015018b66483d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Use automatic tuning and Intelligent Query Processing safely",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "4. Monitor, configure, and optimize database resources (20–25%)",
                  "Use automatic tuning and Intelligent Query Processing safely"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e7b76903f89f56d76f49494396862923e840e70419f994a9cb3d04443c4034a3",
                "start_line": 569,
                "end_line": 576,
                "span_lf_sha256": "9f5ad7bf4981458c1e1d84c5f53771884dddf913f3e29f868063378f93b91041"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage schedules for regular maintenance jobs",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Create and manage SQL Server Agent jobs",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "b72432a5905418a5454a54a928a23dba605074f4f9daa4c8624a2a3903a4dd44",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Create and manage SQL Server Agent jobs",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Create and manage SQL Server Agent jobs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6e566645e676272aebe4410c24876e7905e7b044c74bad3fd6c203fe9bb0a81c",
                "start_line": 624,
                "end_line": 639,
                "span_lf_sha256": "67e6aa105ebe648d4edbf1037e59cc05560f3e343ff1904e136a4397e48c6a89"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure job alerts and notifications",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Create and manage SQL Server Agent jobs",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "e8753e3f388261e94d95fc34e9b834589d95b839d3206584296a076bec1812f3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Create and manage SQL Server Agent jobs",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Create and manage SQL Server Agent jobs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6e566645e676272aebe4410c24876e7905e7b044c74bad3fd6c203fe9bb0a81c",
                "start_line": 624,
                "end_line": 639,
                "span_lf_sha256": "67e6aa105ebe648d4edbf1037e59cc05560f3e343ff1904e136a4397e48c6a89"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot SQL Server Agent jobs",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Create and manage SQL Server Agent jobs",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "c8c626d5d0e919d0029731c210936f0eb6284b566414a58f0c2f94563991dcb2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Create and manage SQL Server Agent jobs",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Create and manage SQL Server Agent jobs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6e566645e676272aebe4410c24876e7905e7b044c74bad3fd6c203fe9bb0a81c",
                "start_line": 624,
                "end_line": 639,
                "span_lf_sha256": "67e6aa105ebe648d4edbf1037e59cc05560f3e343ff1904e136a4397e48c6a89"
              },
              {
                "heading": "Automation failure patterns",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automation failure patterns"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "462c2effb8ae5bfedcd7d47ded85bf524d3294a79ad4e269e860af0e1f73a598",
                "start_line": 691,
                "end_line": 711,
                "span_lf_sha256": "9224f2165c961cbb4e6a7e33fb8182922971babae29b4eebc4cd12f82f8d2216"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Automate deployment by using Azure Resource Manager (ARM) and Bicep templates",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Automate deployment of database resources",
            "group_number": 11,
            "objective_number": 1,
            "objective_wording_sha256": "d0cdc32a0646b6d73398b46684b37c84b4fdae2fd720ed9590a0a0b5cc64cc22",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Automate resource deployment with ARM and Bicep",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automate resource deployment with ARM and Bicep"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c82f6baa44187c56b769cb4676fee85ed45856d15e96b44d97375a0e8d193458",
                "start_line": 640,
                "end_line": 654,
                "span_lf_sha256": "35290c2e4a1953c542e37be24e161e62da7a1839f76f9a7474178be7bbef703d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Automate deployment by using Azure PowerShell",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Automate deployment of database resources",
            "group_number": 11,
            "objective_number": 2,
            "objective_wording_sha256": "6d96302691a227f15c8d587988205c3df090feabfd344ca52fd7693d4f9e547a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Automate resource deployment with ARM and Bicep",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automate resource deployment with ARM and Bicep"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c82f6baa44187c56b769cb4676fee85ed45856d15e96b44d97375a0e8d193458",
                "start_line": 640,
                "end_line": 654,
                "span_lf_sha256": "35290c2e4a1953c542e37be24e161e62da7a1839f76f9a7474178be7bbef703d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Automate deployment by using Azure CLI",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Automate deployment of database resources",
            "group_number": 11,
            "objective_number": 3,
            "objective_wording_sha256": "1c48c879251931689881c514ec3173366ae6a66c54c38b04fafdebb9d2f38008",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Automate resource deployment with ARM and Bicep",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automate resource deployment with ARM and Bicep"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c82f6baa44187c56b769cb4676fee85ed45856d15e96b44d97375a0e8d193458",
                "start_line": 640,
                "end_line": 654,
                "span_lf_sha256": "35290c2e4a1953c542e37be24e161e62da7a1839f76f9a7474178be7bbef703d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor and troubleshoot deployments",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Automate deployment of database resources",
            "group_number": 11,
            "objective_number": 4,
            "objective_wording_sha256": "16cc1b3a332fd24fd3b6a443a62eb9ae2db3c41b5ae06bdaab74330d1b71d467",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Automate resource deployment with ARM and Bicep",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automate resource deployment with ARM and Bicep"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c82f6baa44187c56b769cb4676fee85ed45856d15e96b44d97375a0e8d193458",
                "start_line": 640,
                "end_line": 654,
                "span_lf_sha256": "35290c2e4a1953c542e37be24e161e62da7a1839f76f9a7474178be7bbef703d"
              },
              {
                "heading": "Automation failure patterns",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automation failure patterns"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "462c2effb8ae5bfedcd7d47ded85bf524d3294a79ad4e269e860af0e1f73a598",
                "start_line": 691,
                "end_line": 711,
                "span_lf_sha256": "9224f2165c961cbb4e6a7e33fb8182922971babae29b4eebc4cd12f82f8d2216"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and configure elastic jobs",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Create and manage database tasks in Azure",
            "group_number": 12,
            "objective_number": 1,
            "objective_wording_sha256": "905e50177ec5b5d88b84948eb84e174abff671bf7f5cb8042766274a61516d51",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build elastic jobs",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Build elastic jobs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1b3098ff13161723bbcebbc6c8c72d74d782cab272470be517bb87abab7fb2e9",
                "start_line": 655,
                "end_line": 670,
                "span_lf_sha256": "65dc712bfdf200f26f6ec0ddef3bb652c0a0cac790c53af0ffecf38373ccab56"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and configure database tasks by using automation",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Create and manage database tasks in Azure",
            "group_number": 12,
            "objective_number": 2,
            "objective_wording_sha256": "02ed93bd1079100d905c9977146f05b5159867355a14ee5efd23ed0ff4d67774",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Automate database tasks in Azure",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automate database tasks in Azure"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d6ea227a1e9ed36717be13e79ea71de88d247694ecee9bafc81ca86cddbdd2b5",
                "start_line": 671,
                "end_line": 690,
                "span_lf_sha256": "f4f49d07ca91a5db5cd2d16f814bcd63ebdff5c5110b3d0c4b5978d9a4d86621"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure alerts and notifications on database tasks",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Create and manage database tasks in Azure",
            "group_number": 12,
            "objective_number": 3,
            "objective_wording_sha256": "146203c225eb98feb89daf8ca77e1f3a462e85dc2001c624218688e0b7c42988",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Alert on automation",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automate database tasks in Azure",
                  "Alert on automation"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "75d1a1a016293184a824ad38365c07dc08dcd61bf667ddb8c08d9650c32fb06c",
                "start_line": 677,
                "end_line": 690,
                "span_lf_sha256": "45e404a4a117bc17aa0af8a94f7234e35d646c76f3296bff8e20ea08bcb3cc2f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot automated database tasks",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Configure and manage automation of tasks (15–20%)",
            "group": "Create and manage database tasks in Azure",
            "group_number": 12,
            "objective_number": 4,
            "objective_wording_sha256": "0ab1fa7447dda6d201ccff829aacccfa73fef93fab703d9ea28ba8cd333cdbaa",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Automation failure patterns",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "5. Configure and manage automation of tasks (15–20%)",
                  "Automation failure patterns"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "462c2effb8ae5bfedcd7d47ded85bf524d3294a79ad4e269e860af0e1f73a598",
                "start_line": 691,
                "end_line": 711,
                "span_lf_sha256": "9224f2165c961cbb4e6a7e33fb8182922971babae29b4eebc4cd12f82f8d2216"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Recommend HA/DR strategy based on Recovery Point Objective/Recovery Time Objective (RPO/RTO) requirements",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan an HA/DR strategy for database solutions",
            "group_number": 13,
            "objective_number": 1,
            "objective_wording_sha256": "d8818d3a240d31a9e597f4cc4d392ffe73a040cf6afef3e475ae6120a4d21dd8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Translate business objectives into mechanisms",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Translate business objectives into mechanisms"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3ef03dd0fcd1b2e7ee39b3cdf2c952a873f5a7c2dd6ab0346c672148c083e190",
                "start_line": 714,
                "end_line": 725,
                "span_lf_sha256": "d6e02a90fcd46eff0a9cab587162b89496325a55cd2041cb6a9aca5100d70a0b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate HA/DR for hybrid deployments",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan an HA/DR strategy for database solutions",
            "group_number": 13,
            "objective_number": 2,
            "objective_wording_sha256": "f66596945ffc80416e2aca2312b3db267378b79d6fa711d2d2aeaaae45e3905d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Plan SQL Managed Instance and SQL Server HA/DR",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Plan SQL Managed Instance and SQL Server HA/DR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9075e1f6d60937b647349a4622ab16f94e102e1271c747918d563397f0ee2af5",
                "start_line": 741,
                "end_line": 753,
                "span_lf_sha256": "dc0aa3d9acbec98cad4ab5fc8d934cdff9a30fcd4b14687a5249ad2777c982c4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate Azure-specific HA/DR solutions",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan an HA/DR strategy for database solutions",
            "group_number": 13,
            "objective_number": 3,
            "objective_wording_sha256": "d03fa7bdc42aea575934c2766afc8454adee50041f223f8ddf3d48cb199dc0c7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Compare Azure SQL Database continuity options",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Compare Azure SQL Database continuity options"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0d5410381931b2aefc0f10c675d65262ba3ad11de5968503f7bf8d59ff6503f9",
                "start_line": 726,
                "end_line": 740,
                "span_lf_sha256": "3459a1555894621371c79eeb6a88aa464d4f6713e97e7dd2be3c6216fa32d44c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Plan a testing procedure for an HA/DR solution",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan an HA/DR strategy for database solutions",
            "group_number": 13,
            "objective_number": 4,
            "objective_wording_sha256": "eceea6b141e0c75ea0ffc322a1d5f8a8aad4e0b0a5b190738c84f49f7d223a3d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Test the complete recovery path",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Test the complete recovery path"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "35354f225e93388a53a7328a4cfef2545df6f907aff4f45356622b1964192ef0",
                "start_line": 798,
                "end_line": 818,
                "span_lf_sha256": "07b1e9fd18c45d0083be0defe60b2f6698258cd50486fecea8c601530a1081b9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Recommend a database backup and restore strategy",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan and perform backup and restore of a database",
            "group_number": 14,
            "objective_number": 1,
            "objective_wording_sha256": "79ac5f876dfbb2c4e80a8f03929db5ed3ea808360b5aa4cb82150dbdf628ca19",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Back up and restore by platform",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "90ed66651dbd020c1ab7b73018d7a92119053198c5d47394133ebaae13b68399",
                "start_line": 754,
                "end_line": 781,
                "span_lf_sha256": "eb1e1ec8ca533e38dedf37597a31a7e1a4f95783e4b91e6876a020b446069849"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform a database backup by using native tools",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan and perform backup and restore of a database",
            "group_number": 14,
            "objective_number": 2,
            "objective_wording_sha256": "17056c9a071c5019567a47271b24adf86692730869685fbee3bcdb05e2301cc7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "SQL Server native backup",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform",
                  "SQL Server native backup"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "ddcab72548ec90caa7ee2d65af8d864ef94053bf7f79727bc5bd1bebc3d6c803",
                "start_line": 756,
                "end_line": 761,
                "span_lf_sha256": "79ce903f025152d92aacf46331e744856bb39ec32b2dce3edc5983e7e1bcd110"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform a database restore by using native tools",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan and perform backup and restore of a database",
            "group_number": 14,
            "objective_number": 3,
            "objective_wording_sha256": "1c21723b02931d967788bb862160fa621ff6a5e0f58e01b9dcbe805f1d3513ef",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "SQL Server native backup",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform",
                  "SQL Server native backup"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "ddcab72548ec90caa7ee2d65af8d864ef94053bf7f79727bc5bd1bebc3d6c803",
                "start_line": 756,
                "end_line": 761,
                "span_lf_sha256": "79ce903f025152d92aacf46331e744856bb39ec32b2dce3edc5983e7e1bcd110"
              },
              {
                "heading": "Restore validation",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform",
                  "Restore validation"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "1562716a9655dcc7188c155859d5542eee1f81a54f903eb85e56a3b5c885eff2",
                "start_line": 772,
                "end_line": 781,
                "span_lf_sha256": "99d6b14fb3d51e69334b7d0d6e1680d839a4f62333240ecd30ea32000cfc113c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform a database restore to a point in time",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan and perform backup and restore of a database",
            "group_number": 14,
            "objective_number": 4,
            "objective_wording_sha256": "0fc15ad2c99c927c999e6cf2733fbfd922b583519094294d7a9e66c01bb84b6d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure SQL Database and Managed Instance automated backup",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform",
                  "Azure SQL Database and Managed Instance automated backup"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2df97541517db984cc7a3e0eca34b937999ae6feb5653740cd4084d6f7ea2af3",
                "start_line": 762,
                "end_line": 771,
                "span_lf_sha256": "8845dddffc6dde0965a12f3a566b512ab644e3fd22c164daf41758b6564ad4b6"
              },
              {
                "heading": "Restore validation",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform",
                  "Restore validation"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "1562716a9655dcc7188c155859d5542eee1f81a54f903eb85e56a3b5c885eff2",
                "start_line": 772,
                "end_line": 781,
                "span_lf_sha256": "99d6b14fb3d51e69334b7d0d6e1680d839a4f62333240ecd30ea32000cfc113c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure long-term backup retention",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan and perform backup and restore of a database",
            "group_number": 14,
            "objective_number": 5,
            "objective_wording_sha256": "a90adb31e1a354e1a68a26825caa50aedd6c393732793ac08ca3fe0cbc696f45",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure SQL Database and Managed Instance automated backup",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform",
                  "Azure SQL Database and Managed Instance automated backup"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2df97541517db984cc7a3e0eca34b937999ae6feb5653740cd4084d6f7ea2af3",
                "start_line": 762,
                "end_line": 771,
                "span_lf_sha256": "8845dddffc6dde0965a12f3a566b512ab644e3fd22c164daf41758b6564ad4b6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Backup and restore a database by using T-SQL",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan and perform backup and restore of a database",
            "group_number": 14,
            "objective_number": 6,
            "objective_wording_sha256": "b1da215667376da94d2a4ced4b3aa58ff48c6f564ffa59562161e726739f9c8b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "SQL Server native backup",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform",
                  "SQL Server native backup"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "ddcab72548ec90caa7ee2d65af8d864ef94053bf7f79727bc5bd1bebc3d6c803",
                "start_line": 756,
                "end_line": 761,
                "span_lf_sha256": "79ce903f025152d92aacf46331e744856bb39ec32b2dce3edc5983e7e1bcd110"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Backup to and restore from cloud storage",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Plan and perform backup and restore of a database",
            "group_number": 14,
            "objective_number": 7,
            "objective_wording_sha256": "1ae0040b9f7e0b7c4f87568794e35d4333d0c0dc22dbf7e144e584d5b7877e11",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "SQL Server native backup",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Back up and restore by platform",
                  "SQL Server native backup"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "ddcab72548ec90caa7ee2d65af8d864ef94053bf7f79727bc5bd1bebc3d6c803",
                "start_line": 756,
                "end_line": 761,
                "span_lf_sha256": "79ce903f025152d92aacf46331e744856bb39ec32b2dce3edc5983e7e1bcd110"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure active geo-replication",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Configure HA/DR for database solutions",
            "group_number": 15,
            "objective_number": 1,
            "objective_wording_sha256": "b1701cb0ab02508afa30655ea17cca2d09068bfbcd19356b7cee911d1be77ada",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Compare Azure SQL Database continuity options",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Compare Azure SQL Database continuity options"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0d5410381931b2aefc0f10c675d65262ba3ad11de5968503f7bf8d59ff6503f9",
                "start_line": 726,
                "end_line": 740,
                "span_lf_sha256": "3459a1555894621371c79eeb6a88aa464d4f6713e97e7dd2be3c6216fa32d44c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Always On availability groups on SQL Managed Instance and Azure virtual machines",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Configure HA/DR for database solutions",
            "group_number": 15,
            "objective_number": 2,
            "objective_wording_sha256": "738a99e25483953445b77f174016f3a89385b825ffca1d9037a872ce4f11d042",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Plan SQL Managed Instance and SQL Server HA/DR",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Plan SQL Managed Instance and SQL Server HA/DR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9075e1f6d60937b647349a4622ab16f94e102e1271c747918d563397f0ee2af5",
                "start_line": 741,
                "end_line": 753,
                "span_lf_sha256": "dc0aa3d9acbec98cad4ab5fc8d934cdff9a30fcd4b14687a5249ad2777c982c4"
              },
              {
                "heading": "Configure and operate AGs, FCIs, geo-replication and log shipping",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Configure and operate AGs, FCIs, geo-replication and log shipping"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1fd2e24e18609fbf4b15da0732f022aeb897d21612a76bdb5bf99387884ffc75",
                "start_line": 782,
                "end_line": 797,
                "span_lf_sha256": "fef12eb6684c52655e14932f3f93879f1d8fdab3fb99af269fd638fc81a6314e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure failover groups",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Configure HA/DR for database solutions",
            "group_number": 15,
            "objective_number": 3,
            "objective_wording_sha256": "a75ace6df5b599415848a339588cf556995985d454b7032def3b5ad360296b0a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Compare Azure SQL Database continuity options",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Compare Azure SQL Database continuity options"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0d5410381931b2aefc0f10c675d65262ba3ad11de5968503f7bf8d59ff6503f9",
                "start_line": 726,
                "end_line": 740,
                "span_lf_sha256": "3459a1555894621371c79eeb6a88aa464d4f6713e97e7dd2be3c6216fa32d44c"
              },
              {
                "heading": "Plan SQL Managed Instance and SQL Server HA/DR",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Plan SQL Managed Instance and SQL Server HA/DR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9075e1f6d60937b647349a4622ab16f94e102e1271c747918d563397f0ee2af5",
                "start_line": 741,
                "end_line": 753,
                "span_lf_sha256": "dc0aa3d9acbec98cad4ab5fc8d934cdff9a30fcd4b14687a5249ad2777c982c4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Always On Failover Cluster Instances on Azure virtual machines",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Configure HA/DR for database solutions",
            "group_number": 15,
            "objective_number": 4,
            "objective_wording_sha256": "3a0e29c7966291183ba22ed9783df81055f7febeb2a6ab98bb01f1a49f1c09c4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Plan SQL Managed Instance and SQL Server HA/DR",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Plan SQL Managed Instance and SQL Server HA/DR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9075e1f6d60937b647349a4622ab16f94e102e1271c747918d563397f0ee2af5",
                "start_line": 741,
                "end_line": 753,
                "span_lf_sha256": "dc0aa3d9acbec98cad4ab5fc8d934cdff9a30fcd4b14687a5249ad2777c982c4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure log shipping",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Configure HA/DR for database solutions",
            "group_number": 15,
            "objective_number": 5,
            "objective_wording_sha256": "8c4d63ac5a8762b9a20f9c7f10a3c9be56fec0643cb79058c51f1f9be805baa7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Plan SQL Managed Instance and SQL Server HA/DR",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Plan SQL Managed Instance and SQL Server HA/DR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9075e1f6d60937b647349a4622ab16f94e102e1271c747918d563397f0ee2af5",
                "start_line": 741,
                "end_line": 753,
                "span_lf_sha256": "dc0aa3d9acbec98cad4ab5fc8d934cdff9a30fcd4b14687a5249ad2777c982c4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor an HA/DR solution",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Configure HA/DR for database solutions",
            "group_number": 15,
            "objective_number": 6,
            "objective_wording_sha256": "7d261a705f75c7ef7d10977cab6414a080e4a51f3c10fa791b773187602d0a08",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure and operate AGs, FCIs, geo-replication and log shipping",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "Configure and operate AGs, FCIs, geo-replication and log shipping"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1fd2e24e18609fbf4b15da0732f022aeb897d21612a76bdb5bf99387884ffc75",
                "start_line": 782,
                "end_line": 797,
                "span_lf_sha256": "fef12eb6684c52655e14932f3f93879f1d8fdab3fb99af269fd638fc81a6314e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot an HA/DR solution",
            "version": "Skills measured as of October 27, 2026",
            "domain": "Plan and configure a high availability and disaster recovery (HA/DR) environment (20–25%)",
            "group": "Configure HA/DR for database solutions",
            "group_number": 15,
            "objective_number": 7,
            "objective_wording_sha256": "fe0c387995d3b00352b0a904bd7b3c634cb01a6d7addd72ecb36ebc8a161b145",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "HA/DR failure patterns",
                "heading_path": [
                  "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
                  "6. Plan and configure high availability and disaster recovery (20–25%)",
                  "HA/DR failure patterns"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "454d635bf71f3b3b45eb443d2bef6df3e26d6cadab26daeaeffbea3e6252e793",
                "start_line": 819,
                "end_line": 842,
                "span_lf_sha256": "34c64aa667e7feb9b0d5b9304b6e1dce627c48a5832c93f30167a5e782375752"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-dp-300.txt",
        "final_diff_lf_sha256": "96627701c321c79965c967164bbc29302484be6743210ee4dc121eb1a80b65bc"
      },
      {
        "exam_code": "DP-420",
        "guide_path": "guides/DP-420-designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/DP-420-designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db.md",
        "guide_lf_sha256": "98a46bb814b934ba8e4ae3081f6bd5a2292eb21b775da4df6203a921dbee7423",
        "live_matches_captured_final": true,
        "line_count": 1135,
        "immutable_before_guide_lf_sha256": "7494e1a8bd331bcb62a9cd4701c383bb32496d9d5bbfce710972af696347e53b",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/dp-420-official-objectives.txt",
        "objective_raw_sha256": "f796c1974699f0196b5e60e449409ceb3ccf9cf17b99e92206a1913d220ae351",
        "objective_count": 56,
        "group_count": 12,
        "initial_example_gaps": 0,
        "resolved_example_gaps": 0,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Evaluate consistency levels",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Evaluate resource models and SDK solutions",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "0eab91d2c0b571b74e4c16ea56ab26a96b3afd150c2d6e91414589f20ef01243",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose consistency from observable guarantees",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "3. Design and implement data distribution — historical July grouping",
                  "Choose consistency from observable guarantees"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1fd6e1e75b46b598d316d329bf3ad6c9743347b46fbe2baf0e9bff8c21b2e16d",
                "start_line": 440,
                "end_line": 455,
                "span_lf_sha256": "86c5d70a15da3fa4de0bb39646f1c4cd145b4aa03f302795316c2c1f4002311e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate Request Unit (RU) consumption requirements",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Evaluate resource models and SDK solutions",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "bd821675a20fc40be2e6a67b6dc1c67a049d725d2ef1717c5901c4875e7dca05",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Estimate throughput and storage",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Plan sizing and scaling",
                  "Estimate throughput and storage"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0e1d15a2c24aafc1b815eef01b5cf7e1ea59b8014214e23f257194175f030894",
                "start_line": 278,
                "end_line": 290,
                "span_lf_sha256": "84e58dde6d7b270d635f6673f391b099ff9f888721db031807be73fde2fd507d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluating and configuring appropriate throughput",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Evaluate resource models and SDK solutions",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "86ec8bc4624afbedeaad6d0f6da8004bf9b191c71df8ecd3ee7b862f9c0a35f5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Serverless versus provisioned throughput",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Plan sizing and scaling",
                  "Serverless versus provisioned throughput"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8af5c211a15bcc24c4dbf726a23986105e70efc122d9201e003b537cfb8870ad",
                "start_line": 291,
                "end_line": 304,
                "span_lf_sha256": "f4d0b3cbccf5601dd6da77c1e5f61faad9ed8b8c40263a7c92b03532d74fe1e1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure account-level and container-level settings",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Evaluate resource models and SDK solutions",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "158f7885237fa3e43cc5f1d7f87f378b02ca385b2c42b3679f011f57d24b9ccd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Separate the resource, distribution, and request models",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "1. Build the mental model first",
                  "Separate the resource, distribution, and request models"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3f6cf38713f7f01559ee724d58bbb8c9e68030435adae3da205011444c7b5819",
                "start_line": 109,
                "end_line": 123,
                "span_lf_sha256": "da68aaecf7a7a83517be4ce6c079822cc3e6987324f28b7029c7c245314bf747"
              },
              {
                "heading": "Implement DevOps and infrastructure as code",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Implement DevOps and infrastructure as code"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ce0ebbe4f5fcbf14b8b4353b571fc456c30fac495523b303b4cfa252a9b7b387",
                "start_line": 779,
                "end_line": 816,
                "span_lf_sha256": "56775bffdf21c3555e88224a99a46c6a26e4f95eacc16dd09395228540caaaa4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage database and containers",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Evaluate resource models and SDK solutions",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "dbe5eabacca80829ecc507b71302742b2cbef17912e88d15a9b834aaff5f3df6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Separate the resource, distribution, and request models",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "1. Build the mental model first",
                  "Separate the resource, distribution, and request models"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3f6cf38713f7f01559ee724d58bbb8c9e68030435adae3da205011444c7b5819",
                "start_line": 109,
                "end_line": 123,
                "span_lf_sha256": "da68aaecf7a7a83517be4ce6c079822cc3e6987324f28b7029c7c245314bf747"
              },
              {
                "heading": "Implement DevOps and infrastructure as code",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Implement DevOps and infrastructure as code"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ce0ebbe4f5fcbf14b8b4353b571fc456c30fac495523b303b4cfa252a9b7b387",
                "start_line": 779,
                "end_line": 816,
                "span_lf_sha256": "56775bffdf21c3555e88224a99a46c6a26e4f95eacc16dd09395228540caaaa4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Initialize SDK clients and connections",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Evaluate resource models and SDK solutions",
            "group_number": 1,
            "objective_number": 6,
            "objective_wording_sha256": "d7cdc0d47f476dea5ca42147773a94f7281dbbdd5f14f27d474569564e179978",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement SDK connectivity",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Implement SDK connectivity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "170faf92d6a9b304fcb62e9f36d535b49d2ce06471c11d8a3daa85f23f5fae1a",
                "start_line": 309,
                "end_line": 333,
                "span_lf_sha256": "fd3b7416b22fc16cfeb0197e7c318cb5c6abf56ced18e9b25ecea3af37932946"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement queries, parameterized queries, paging, and continuation tokens",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement database operations",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "9f3f2109c03840ec9b65ea1b1c1488f31f266a1bcd7b3e8e88a540665d6e9928",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Query with the NoSQL query language",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Query with the NoSQL query language"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc86077da59275d56f5ae5eef6db98d74b69afbb2880dcbbc34acc721aa7bbe7",
                "start_line": 334,
                "end_line": 362,
                "span_lf_sha256": "241281711b812cf0fa1c1cbe1bae39c9224dd9f17be841d697c336029754e6ac"
              },
              {
                "heading": "Pagination and continuation",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Implement SDK data access",
                  "Pagination and continuation"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "049c2babe4254ca2ea78ca765909a7ab72602db2c507b08149c6b03177ec8a31",
                "start_line": 387,
                "end_line": 390,
                "span_lf_sha256": "60171f78147f54837fe2ad1c1229e5a0ad1bbeb7a0c16dd0bfdabcd89afbac6c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement point read operations",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement database operations",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "3486648f0f05e45a19911bcdb17cfbf4dd2ed7d46adf9368471dac9abd3da9fb",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Point operations and queries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Implement SDK data access",
                  "Point operations and queries"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "091d81ab825a05993512b58245ff662ae841b07f0a1a1af7edd587390f024ba8",
                "start_line": 365,
                "end_line": 376,
                "span_lf_sha256": "7d1b13a43b7724e4e78b3e9dba36ce8290e3405dda2b17369d91a4705a3824bb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement create, replace, update, patch and delete operations",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement database operations",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "e23ef19dc4a87da655b8f7a2b5c4d50b412ecf24c7ed9a01d02c74a194338ae6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Point operations and queries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Implement SDK data access",
                  "Point operations and queries"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "091d81ab825a05993512b58245ff662ae841b07f0a1a1af7edd587390f024ba8",
                "start_line": 365,
                "end_line": 376,
                "span_lf_sha256": "7d1b13a43b7724e4e78b3e9dba36ce8290e3405dda2b17369d91a4705a3824bb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement bulk, batch, and transactional operations",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement database operations",
            "group_number": 2,
            "objective_number": 4,
            "objective_wording_sha256": "20304938d108b2ae386b3708313a87987077d015486768a43504b479ad97e552",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transactional batch versus bulk",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Implement SDK data access",
                  "Transactional batch versus bulk"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4c0e9cc5ce85303eed49e8e3e24464f3c486364c2f8d9ececa96424c72aa76c0",
                "start_line": 381,
                "end_line": 386,
                "span_lf_sha256": "6807e1833403544b63304a665dc75bd26aff7d49f0978f6b2a777e05a95f7af8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Time to Live (TTL)",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement database operations",
            "group_number": 2,
            "objective_number": 5,
            "objective_wording_sha256": "1de2e6a127f5b6bfcd4ab31bc1d92ac8d9480612f9b68250a5a19a8781555bad",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transactional TTL",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Design keys, uniqueness, TTL, and versioning",
                  "Transactional TTL"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4fcff73d444185a0e8e7c0625d5279d1d6730a4cbf62f12deef48ce65fef8be2",
                "start_line": 207,
                "end_line": 220,
                "span_lf_sha256": "2b75b12f88576fd608278c6395941776076ca202bfbe6a2ba7087b7e1d7d0127"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement concurrency control mechanisms",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement database operations",
            "group_number": 2,
            "objective_number": 6,
            "objective_wording_sha256": "18c68d6a34f764b1afdd90bc4f4865d74bf212101cd4f06eb651ff70e9feb749",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Optimistic concurrency",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Implement SDK data access",
                  "Optimistic concurrency"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "3223fb2314e32bd174f4525f789a7fd5afb12e4a85f0ff311f1e5dd1e993b20d",
                "start_line": 377,
                "end_line": 380,
                "span_lf_sha256": "1c0c60e147a84935cf69ca181f64109e6d2c5b3656cbb0f19362a780e4138e06"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design data models for access patterns and operational requirements",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement data models and partitioning strategies",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "08846b58f9f410bb5f135a7dbed2648a1c5c86628b6789712991c354d8d651ec",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model from access patterns, not relational tables",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Model from access patterns, not relational tables"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c7513ceb85c3f893f2795b1f0568e841d7d27df19d72463ced3c4f60987c00b3",
                "start_line": 157,
                "end_line": 195,
                "span_lf_sha256": "d2207ba8133fcff799b6372a503cac48b4bd2bf0996d8677fec4ab5942e68fa8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and select partition keys based on cardinality, access patterns, and write distribution requirements",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement data models and partitioning strategies",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "8c56158233c9d8508a0e333b2f6302020c2937920a9a0358e856dd8492532215",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose a partition-key strategy",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Choose a partition-key strategy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be772e7ca469f95a3bd770ec5720b4bc551188000d72b80aff738223b31e243a",
                "start_line": 232,
                "end_line": 275,
                "span_lf_sha256": "e1cee8a0a24d9010becfdfa0330777d6ef44af7d3b64aba5397a1c55365182c8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine when to embed or reference related data",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement data models and partitioning strategies",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "6a1931abbcf0c1868cced095c9c9b88ac10c93109f51600868cad37b51f57d31",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model from access patterns, not relational tables",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Model from access patterns, not relational tables"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c7513ceb85c3f893f2795b1f0568e841d7d27df19d72463ced3c4f60987c00b3",
                "start_line": 157,
                "end_line": 195,
                "span_lf_sha256": "d2207ba8133fcff799b6372a503cac48b4bd2bf0996d8677fec4ab5942e68fa8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate the impact of partition key selection on scalability and performance",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement data models and partitioning strategies",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "9f4eae10407925517f9ac57808599a41e259412b0df26ab79cf382e2afdcdc43",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose a partition-key strategy",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Choose a partition-key strategy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be772e7ca469f95a3bd770ec5720b4bc551188000d72b80aff738223b31e243a",
                "start_line": 232,
                "end_line": 275,
                "span_lf_sha256": "e1cee8a0a24d9010becfdfa0330777d6ef44af7d3b64aba5397a1c55365182c8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement hierarchical partition keys (HPKs) and multi-tenant partitioning strategies",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement data models and partitioning strategies",
            "group_number": 3,
            "objective_number": 5,
            "objective_wording_sha256": "ad865bd71dcdf87d4a37914d0530a98d2dabc31f9ab551848a826cdf1d1593b2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Natural, synthetic, and hierarchical keys",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Choose a partition-key strategy",
                  "Natural, synthetic, and hierarchical keys"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7e6cddf178b520525d32b6dc2e2154df37985f3dee1e8873665fb42b2c780563",
                "start_line": 247,
                "end_line": 261,
                "span_lf_sha256": "6c56bc34255ee5cc220542bec33e0cda4da05510f81ed92f84de45be23e29c8a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement synthetic partition keys",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement data models and partitioning strategies",
            "group_number": 3,
            "objective_number": 6,
            "objective_wording_sha256": "da00b7587e10be06b81d9f82eec99178edb245883a8940c4fb9ee36cccf6326d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Natural, synthetic, and hierarchical keys",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Choose a partition-key strategy",
                  "Natural, synthetic, and hierarchical keys"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7e6cddf178b520525d32b6dc2e2154df37985f3dee1e8873665fb42b2c780563",
                "start_line": 247,
                "end_line": 261,
                "span_lf_sha256": "6c56bc34255ee5cc220542bec33e0cda4da05510f81ed92f84de45be23e29c8a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify partitioning anti-patterns and partitioning issues during solution reviews",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement data models and partitioning strategies",
            "group_number": 3,
            "objective_number": 7,
            "objective_wording_sha256": "93f860c020eff2a2959d7567868be0649c36e1fbf855a5bd15eb9ea2517cb231",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose a partition-key strategy",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Choose a partition-key strategy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be772e7ca469f95a3bd770ec5720b4bc551188000d72b80aff738223b31e243a",
                "start_line": 232,
                "end_line": 275,
                "span_lf_sha256": "e1cee8a0a24d9010becfdfa0330777d6ef44af7d3b64aba5397a1c55365182c8"
              },
              {
                "heading": "Status-code triage",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Monitor the whole request path",
                  "Status-code triage"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9679312a6b6302d4961cfed51d04b8d6403b21fa341bb27764413c113c296777",
                "start_line": 674,
                "end_line": 686,
                "span_lf_sha256": "363e9031ef26930fee893ee52ab1b874093850b8450cee8e0195d7f5bfeea7a7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Estimate workload cost requirements",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement data models and partitioning strategies",
            "group_number": 3,
            "objective_number": 8,
            "objective_wording_sha256": "53c33def9c24508c5844edd1a4bd5ba2b53f85daf9f00a91fd3652ea3649f03b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Estimate throughput and storage",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Plan sizing and scaling",
                  "Estimate throughput and storage"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0e1d15a2c24aafc1b815eef01b5cf7e1ea59b8014214e23f257194175f030894",
                "start_line": 278,
                "end_line": 290,
                "span_lf_sha256": "84e58dde6d7b270d635f6673f391b099ff9f888721db031807be73fde2fd507d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement change feed operations",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement change feed",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "f6cf1e7c5b0ebec3ef4df61d41691d7b51ddd95048fa2c250fcbeaf5043b62c8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement event-driven derived models",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "4. Integrate an Azure Cosmos DB solution — historical July grouping",
                  "Implement event-driven derived models"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fa9ebfe4e1530b978391d96d4063e08538c6c9a8217c2d0bcd756246f10691c2",
                "start_line": 525,
                "end_line": 561,
                "span_lf_sha256": "2c564576f01b89de9de95527e82508d261de857cb7171739b6e6433236e3e572"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Differentiate between change feed processor and pull mode models",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement change feed",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "5cad1cf77a308227e31b4d532da26e9d36e2b1cf05c4f79d2318246c0ce08543",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Change-feed modes, copy jobs and AI-assisted development",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Change-feed modes, copy jobs and AI-assisted development"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be584ab20b15a6e7d5b6843dd76717d768f238da629b64968ba6fc2bd05fe6e8",
                "start_line": 77,
                "end_line": 84,
                "span_lf_sha256": "b0bdd0c9b75be449eb73e5e4cac0e225a22e6826dcca10aa9652be262e661883"
              },
              {
                "heading": "Change feed processor",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "4. Integrate an Azure Cosmos DB solution — historical July grouping",
                  "Implement event-driven derived models",
                  "Change feed processor"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "032f9856863a70f0d225375b24db4525d2fbed1efe4ba7d463dc5deff5974267",
                "start_line": 537,
                "end_line": 550,
                "span_lf_sha256": "517d1e30d491b113861fc2e3819a0d28e4b18950a5985195416d14ca4f97f9e7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure lease containers",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement change feed",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "d87cbf4ac1422b3d10f94b910bcb3441bda23f0a55ce19a1850d69206ca9f5a7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Change feed processor",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "4. Integrate an Azure Cosmos DB solution — historical July grouping",
                  "Implement event-driven derived models",
                  "Change feed processor"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "032f9856863a70f0d225375b24db4525d2fbed1efe4ba7d463dc5deff5974267",
                "start_line": 537,
                "end_line": 550,
                "span_lf_sha256": "517d1e30d491b113861fc2e3819a0d28e4b18950a5985195416d14ca4f97f9e7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement change feed processing using latest mode or all versions and delete",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement change feed",
            "group_number": 4,
            "objective_number": 4,
            "objective_wording_sha256": "9ffb4539986b0d2abb5d2f6fb2730ec2123113b680519db26942a2dc07eff565",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Change-feed modes, copy jobs and AI-assisted development",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Change-feed modes, copy jobs and AI-assisted development"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be584ab20b15a6e7d5b6843dd76717d768f238da629b64968ba6fc2bd05fe6e8",
                "start_line": 77,
                "end_line": 84,
                "span_lf_sha256": "b0bdd0c9b75be449eb73e5e4cac0e225a22e6826dcca10aa9652be262e661883"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement copy container jobs",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Implement change feed",
            "group_number": 4,
            "objective_number": 5,
            "objective_wording_sha256": "e0faeebca9f188f7e7be05fb119beb04cabb6e3b4bf7e2dd297d7de1a089cb8f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Change-feed modes, copy jobs and AI-assisted development",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Change-feed modes, copy jobs and AI-assisted development"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be584ab20b15a6e7d5b6843dd76717d768f238da629b64968ba6fc2bd05fe6e8",
                "start_line": 77,
                "end_line": 84,
                "span_lf_sha256": "b0bdd0c9b75be449eb73e5e4cac0e225a22e6826dcca10aa9652be262e661883"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement Agent Kit to follow Azure Cosmos DB development recommended solutions",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement Azure Cosmos DB solutions by using AI-assisted tools",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "f4f903091ed9b5d38a7e4f2a83d8601d13130d11ed95bbbe09d78d05a8a9ad2b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Change-feed modes, copy jobs and AI-assisted development",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Change-feed modes, copy jobs and AI-assisted development"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be584ab20b15a6e7d5b6843dd76717d768f238da629b64968ba6fc2bd05fe6e8",
                "start_line": 77,
                "end_line": 84,
                "span_lf_sha256": "b0bdd0c9b75be449eb73e5e4cac0e225a22e6826dcca10aa9652be262e661883"
              },
              {
                "heading": "Lab 10: review generated changes and operational boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 10: review generated changes and operational boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "44e0adadaf3840d7021695bcd95a45a22d3b4831a0c1e527dcad0aa7d56e9f50",
                "start_line": 957,
                "end_line": 965,
                "span_lf_sha256": "b3519c7f8e2ae3302aea1d1d1de397ff0361fb7b059edae988fa2ecaa3505a1d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement Agent Kit to accelerate AI application development",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Design and develop database solutions (40–45%)",
            "group": "Design and implement Azure Cosmos DB solutions by using AI-assisted tools",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "c0c3f9290c6f64e05f3a761e19e4d2a92195cf6a3f261a78b341e3fef4da0a63",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Change-feed modes, copy jobs and AI-assisted development",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Change-feed modes, copy jobs and AI-assisted development"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be584ab20b15a6e7d5b6843dd76717d768f238da629b64968ba6fc2bd05fe6e8",
                "start_line": 77,
                "end_line": 84,
                "span_lf_sha256": "b0bdd0c9b75be449eb73e5e4cac0e225a22e6826dcca10aa9652be262e661883"
              },
              {
                "heading": "Lab 10: review generated changes and operational boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 10: review generated changes and operational boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "44e0adadaf3840d7021695bcd95a45a22d3b4831a0c1e527dcad0aa7d56e9f50",
                "start_line": 957,
                "end_line": 965,
                "span_lf_sha256": "b3519c7f8e2ae3302aea1d1d1de397ff0361fb7b059edae988fa2ecaa3505a1d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure authentication mechanisms",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement database security controls",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "58c1c9e8bfcfe9e3330ee921efd934466eb8d30fdf5cb441ee7d75dd64f1539b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Control plane versus data plane",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Implement layered security",
                  "Control plane versus data plane"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7d332178bfffc91ac220d71c8bb6c8c48f07a97a123c36d5993ecad000409b29",
                "start_line": 717,
                "end_line": 730,
                "span_lf_sha256": "9987e575342359d2a7325570224644645e5b13f52f5454ab5261c89a94f47966"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure authorization controls",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement database security controls",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "70f8994b4732eb32cc9744d73909ff53f613b00446e5e59d2bb7812432e68c46",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Control plane versus data plane",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Implement layered security",
                  "Control plane versus data plane"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7d332178bfffc91ac220d71c8bb6c8c48f07a97a123c36d5993ecad000409b29",
                "start_line": 717,
                "end_line": 730,
                "span_lf_sha256": "9987e575342359d2a7325570224644645e5b13f52f5454ab5261c89a94f47966"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure network security",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement database security controls",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "6fc5973fa5df1a2720b7cc2cb0bcea22578d960214c58bf532e845232d3c7f82",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Network and browser controls",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Implement layered security",
                  "Network and browser controls"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d40facd44fd93f88f0335be17ae254ba1bbc72b4e26a107db33474d825e01032",
                "start_line": 731,
                "end_line": 740,
                "span_lf_sha256": "af0fdd689b947fc44d71930fbade2c9711cad5ae4b35d2d036de1d3e5c7da0cb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure dynamic data masking",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement database security controls",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "6850b4df722c8837cd3b681d1cc1301758a7eb17a721299672ea108cfb085b43",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Masking, Fleet capacity and analytics boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Masking, Fleet capacity and analytics boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e068b4203647a2f7b32515ec891707606b317fd5c59fce30d97b018ffacb5a65",
                "start_line": 85,
                "end_line": 94,
                "span_lf_sha256": "6d826039fb5697a0efb245e919a2c8d234da09f2670f6171ff45136abab47f82"
              },
              {
                "heading": "Lab 10: review generated changes and operational boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 10: review generated changes and operational boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "44e0adadaf3840d7021695bcd95a45a22d3b4831a0c1e527dcad0aa7d56e9f50",
                "start_line": 957,
                "end_line": 965,
                "span_lf_sha256": "b3519c7f8e2ae3302aea1d1d1de397ff0361fb7b059edae988fa2ecaa3505a1d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure backup and restore solutions",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement availability and recovery solutions",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "c03ca84c16860dd1b857aff3907495668b454b9848b7588b203f853cc4195199",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement backup and restore",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Implement backup and restore"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bc0d82f36e44f1b4baebe5268808daf1ce9eaf33bfd0bca48b71ed22dad2bd72",
                "start_line": 687,
                "end_line": 712,
                "span_lf_sha256": "4a50d3ad564f50eeb87c200ceaa28fcab53a1f035329fabca78db4b5801c969c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement multi-region read and write configurations",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement availability and recovery solutions",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "9216912738de3cf541f4a35694532fa116f84954edefd18db45eb4202efdd241",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Derive topology from user and failure requirements",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "3. Design and implement data distribution — historical July grouping",
                  "Derive topology from user and failure requirements"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0da72217bd069fb5edc39315fd1d29cc7f56984c5a889f413d79e23e9a5d27ee",
                "start_line": 426,
                "end_line": 439,
                "span_lf_sha256": "e10deb7fbdc77145b2b3753ed54cc8908f80f9d48ef0764f5bb11eedcfee10cb"
              },
              {
                "heading": "Design multi-region writes and conflict resolution",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "3. Design and implement data distribution — historical July grouping",
                  "Design multi-region writes and conflict resolution"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3da3a7ced4d36ecb21d89408184094908fc98aa7bf30db891674c8b01f447e31",
                "start_line": 474,
                "end_line": 487,
                "span_lf_sha256": "e32139a12022fc42b6da97e820516ec41f2569552dba7bae96691c96fc3165fc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure partition failover solutions",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement availability and recovery solutions",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "3c3eb05750afc11dd73d620e6b2c45410288b48b70c20e5cd527dcf370a311bb",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure failover and application routing",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "3. Design and implement data distribution — historical July grouping",
                  "Configure failover and application routing"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "80f418bda7240611d6bba0f16514389758894785dd531e08c231a4cd30a9e0c6",
                "start_line": 456,
                "end_line": 473,
                "span_lf_sha256": "006bd8553ea4a470674d67c88fee3031d7350a081833257f7e65baae16e114d7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize query performance",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Optimize and remediate database performance",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "a2807038b16f9864de49dbb6836dd46939178625c7991acae6e3d17b8eb037d8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Improve query and operation cost",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "5. Optimize an Azure Cosmos DB solution — historical July grouping",
                  "Improve query and operation cost"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8240346aa298c855380448e843836a9a831999dcaf8694b1b1205ee02e307b8e",
                "start_line": 596,
                "end_line": 610,
                "span_lf_sha256": "247bcf18d658b8b87394163206326e86d61ce16d344ad6c3b97f21b8a1ef3f0a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Analyze query performance metrics",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Optimize and remediate database performance",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "5c030206f54a437a8a1ce198732e3670ce30c59cbcc3664435a40f5f48e28f3a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Optimize from measured request evidence",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "5. Optimize an Azure Cosmos DB solution — historical July grouping",
                  "Optimize from measured request evidence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "dbaef611ceca122823d2926a32d0cf243e8019ca5fd825f8a71cbdb4e21e5097",
                "start_line": 581,
                "end_line": 595,
                "span_lf_sha256": "27ec154e2c3c8f24236ec395e1b6d91f454d161154c435c4aaaec362b863f0af"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Analyze index performance metrics",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Optimize and remediate database performance",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "010c727241091d0326353da75fb0d99045113f022ec6b777c3f67955ab95721f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Define an indexing strategy",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "5. Optimize an Azure Cosmos DB solution — historical July grouping",
                  "Define an indexing strategy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "58dac42d39aca9ba3ee8b866b88f05321c69e4f894644dd8453e22a5dbdfddba",
                "start_line": 611,
                "end_line": 627,
                "span_lf_sha256": "613259a0b74d2edc110363333267e2a59fc030a4d489f11895ece3a539d29216"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor end-to-end latency against service objectives",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Optimize and remediate database performance",
            "group_number": 8,
            "objective_number": 4,
            "objective_wording_sha256": "7a9936a02358f29e8fa2c4a1c2a797f7c509ba2cf9424b9a74531af902cb9f4a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor the whole request path",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Monitor the whole request path"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3e632bcc41001879c8c43261ea56cf1f6fb125830c2acee342ac0f5d1110a5c6",
                "start_line": 659,
                "end_line": 686,
                "span_lf_sha256": "3b2887e8d6bfa2b96d18aed6946b9751f8b9554f632a8d7ac62099997dd48b13"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Azure Monitor alerts",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Optimize and remediate database performance",
            "group_number": 8,
            "objective_number": 5,
            "objective_wording_sha256": "fc4aaadf6c8ab0ea630552aa606bef52e6e8ddb9fd8e01c106a59baefc86ab21",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor the whole request path",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Monitor the whole request path"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3e632bcc41001879c8c43261ea56cf1f6fb125830c2acee342ac0f5d1110a5c6",
                "start_line": 659,
                "end_line": 686,
                "span_lf_sha256": "3b2887e8d6bfa2b96d18aed6946b9751f8b9554f632a8d7ac62099997dd48b13"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Analyze diagnostic logs in Log Analytics",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Optimize and remediate database performance",
            "group_number": 8,
            "objective_number": 6,
            "objective_wording_sha256": "7ef277b26eb08dd6810a0badd0cfde02f4b2039dc8bcde5a452d2c18423c6f72",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor the whole request path",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Monitor the whole request path"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3e632bcc41001879c8c43261ea56cf1f6fb125830c2acee342ac0f5d1110a5c6",
                "start_line": 659,
                "end_line": 686,
                "span_lf_sha256": "3b2887e8d6bfa2b96d18aed6946b9751f8b9554f632a8d7ac62099997dd48b13"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Fleet level throughput management",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement Fleet management and monitoring across multiple accounts and subscriptions",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "5a96666f4ddd048f83fd4e27951f65301987f4a99b07c3ab9f79bba365ee8a63",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Masking, Fleet capacity and analytics boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Masking, Fleet capacity and analytics boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e068b4203647a2f7b32515ec891707606b317fd5c59fce30d97b018ffacb5a65",
                "start_line": 85,
                "end_line": 94,
                "span_lf_sha256": "6d826039fb5697a0efb245e919a2c8d234da09f2670f6171ff45136abab47f82"
              },
              {
                "heading": "Lab 10: review generated changes and operational boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 10: review generated changes and operational boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "44e0adadaf3840d7021695bcd95a45a22d3b4831a0c1e527dcad0aa7d56e9f50",
                "start_line": 957,
                "end_line": 965,
                "span_lf_sha256": "b3519c7f8e2ae3302aea1d1d1de397ff0361fb7b059edae988fa2ecaa3505a1d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Fleet monitoring with fleet analytics",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Secure, optimize, and deploy database solutions (30–35%)",
            "group": "Implement Fleet management and monitoring across multiple accounts and subscriptions",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "9186c59fededbc66a967634d9af6053bc9198f0b9978b99b8ddb8adf25fa786c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Masking, Fleet capacity and analytics boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Masking, Fleet capacity and analytics boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e068b4203647a2f7b32515ec891707606b317fd5c59fce30d97b018ffacb5a65",
                "start_line": 85,
                "end_line": 94,
                "span_lf_sha256": "6d826039fb5697a0efb245e919a2c8d234da09f2670f6171ff45136abab47f82"
              },
              {
                "heading": "Monitor the whole request path",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "6. Maintain an Azure Cosmos DB solution — historical July grouping",
                  "Monitor the whole request path"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3e632bcc41001879c8c43261ea56cf1f6fb125830c2acee342ac0f5d1110a5c6",
                "start_line": 659,
                "end_line": 686,
                "span_lf_sha256": "3b2887e8d6bfa2b96d18aed6946b9751f8b9554f632a8d7ac62099997dd48b13"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement full-text search",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement AI retrieval",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "9889ffdab5f179ff77efc4846f10b309c2578d6fc4be0bd1ec7c1a9a53fc9e02",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Lab 9: tenant-safe retrieval and memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 9: tenant-safe retrieval and memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fa882de214efc7cdfe032efd277e5a1506e3946d76a6b374baea25face78e9a9",
                "start_line": 947,
                "end_line": 956,
                "span_lf_sha256": "215395375c789bc6b13c3c386a36634d1b8d3fdfad39793831e0dac5c36671e9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design for vector data, including vector data type, vector indexes, and size",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement AI retrieval",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "048c30d8c6ec54a0f92316da4913c545b4526da99f0b59a9854bc3a32588a28f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Lab 9: tenant-safe retrieval and memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 9: tenant-safe retrieval and memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fa882de214efc7cdfe032efd277e5a1506e3946d76a6b374baea25face78e9a9",
                "start_line": 947,
                "end_line": 956,
                "span_lf_sha256": "215395375c789bc6b13c3c386a36634d1b8d3fdfad39793831e0dac5c36671e9"
              },
              {
                "heading": "Worked example — a valid embedding can have an invalid index design",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Worked example — a valid embedding can have an invalid index design"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d6ca57c7959ae1ce284614d25f3af260117cf092bd6f675dce45f20cba2f902e",
                "start_line": 69,
                "end_line": 76,
                "span_lf_sha256": "46a4d7d3121fd0ffec9418ff2c437c6d83adc95f2926409409db0c00646a5960"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement vector partitioning and sharded DiskANN implementations",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement AI retrieval",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "3e2c60fe203b0800505e147136f64df47c78360133ace853c2f42b72c647c81d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Choose a partition-key strategy",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Choose a partition-key strategy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "be772e7ca469f95a3bd770ec5720b4bc551188000d72b80aff738223b31e243a",
                "start_line": 232,
                "end_line": 275,
                "span_lf_sha256": "e1cee8a0a24d9010becfdfa0330777d6ef44af7d3b64aba5397a1c55365182c8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement vector search",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement AI retrieval",
            "group_number": 10,
            "objective_number": 4,
            "objective_wording_sha256": "14ef3cb66bd16e0f9de0e8bd3e714773506a67bf355384bc0f1f6d9cb852a9c6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Lab 9: tenant-safe retrieval and memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 9: tenant-safe retrieval and memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fa882de214efc7cdfe032efd277e5a1506e3946d76a6b374baea25face78e9a9",
                "start_line": 947,
                "end_line": 956,
                "span_lf_sha256": "215395375c789bc6b13c3c386a36634d1b8d3fdfad39793831e0dac5c36671e9"
              },
              {
                "heading": "Worked example — a valid embedding can have an invalid index design",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Worked example — a valid embedding can have an invalid index design"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d6ca57c7959ae1ce284614d25f3af260117cf092bd6f675dce45f20cba2f902e",
                "start_line": 69,
                "end_line": 76,
                "span_lf_sha256": "46a4d7d3121fd0ffec9418ff2c437c6d83adc95f2926409409db0c00646a5960"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement hybrid search",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement AI retrieval",
            "group_number": 10,
            "objective_number": 5,
            "objective_wording_sha256": "ef9eff0709e27d7d5af0eac8095112c1034a98dc0babaf810dcce10c3a3f06f8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Lab 9: tenant-safe retrieval and memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 9: tenant-safe retrieval and memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fa882de214efc7cdfe032efd277e5a1506e3946d76a6b374baea25face78e9a9",
                "start_line": 947,
                "end_line": 956,
                "span_lf_sha256": "215395375c789bc6b13c3c386a36634d1b8d3fdfad39793831e0dac5c36671e9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize full-text and vector performance",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement AI retrieval",
            "group_number": 10,
            "objective_number": 6,
            "objective_wording_sha256": "4aff95f6ff67726adc5621d5900bb8b7bb181319c8ea508a96824ad0884eee89",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Improve query and operation cost",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "5. Optimize an Azure Cosmos DB solution — historical July grouping",
                  "Improve query and operation cost"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8240346aa298c855380448e843836a9a831999dcaf8694b1b1205ee02e307b8e",
                "start_line": 596,
                "end_line": 610,
                "span_lf_sha256": "247bcf18d658b8b87394163206326e86d61ce16d344ad6c3b97f21b8a1ef3f0a"
              },
              {
                "heading": "Worked example — a valid embedding can have an invalid index design",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Worked example — a valid embedding can have an invalid index design"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d6ca57c7959ae1ce284614d25f3af260117cf092bd6f675dce45f20cba2f902e",
                "start_line": 69,
                "end_line": 76,
                "span_lf_sha256": "46a4d7d3121fd0ffec9418ff2c437c6d83adc95f2926409409db0c00646a5960"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement Retrieval-Augmented Generation (RAG)",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement AI retrieval",
            "group_number": 10,
            "objective_number": 7,
            "objective_wording_sha256": "5c7eefaac5b2b48b9c4991e92d5811368abe41f87df4cc40eadc4620e7e3c778",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Lab 9: tenant-safe retrieval and memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 9: tenant-safe retrieval and memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fa882de214efc7cdfe032efd277e5a1506e3946d76a6b374baea25face78e9a9",
                "start_line": 947,
                "end_line": 956,
                "span_lf_sha256": "215395375c789bc6b13c3c386a36634d1b8d3fdfad39793831e0dac5c36671e9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design durable memory stores",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement agent memory stores",
            "group_number": 11,
            "objective_number": 1,
            "objective_wording_sha256": "fb01a72ea2b790d310b642d369de11e5f29552b3e00809bd9cfd65813f59d621",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Lab 9: tenant-safe retrieval and memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 9: tenant-safe retrieval and memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fa882de214efc7cdfe032efd277e5a1506e3946d76a6b374baea25face78e9a9",
                "start_line": 947,
                "end_line": 956,
                "span_lf_sha256": "215395375c789bc6b13c3c386a36634d1b8d3fdfad39793831e0dac5c36671e9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement conversation state",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement agent memory stores",
            "group_number": 11,
            "objective_number": 2,
            "objective_wording_sha256": "df4845194932f8a7e4c951d176d278c4c8694d15e6b6597eb92977b3995282fd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Optimistic concurrency",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "2. Data-model foundations — historical July grouping",
                  "Implement SDK data access",
                  "Optimistic concurrency"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "3223fb2314e32bd174f4525f789a7fd5afb12e4a85f0ff311f1e5dd1e993b20d",
                "start_line": 377,
                "end_line": 380,
                "span_lf_sha256": "1c0c60e147a84935cf69ca181f64109e6d2c5b3656cbb0f19362a780e4138e06"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement semantic memory",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement agent memory stores",
            "group_number": 11,
            "objective_number": 3,
            "objective_wording_sha256": "2ddb69f9617d8dded8f058477d50c857d02028752d52c6ba463702e77a03f910",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retrieval, grounding and durable agent memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Retrieval, grounding and durable agent memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b101eff46963b072ab8b73b95d10045a47f29e2354cbc883c977751aac959c39",
                "start_line": 55,
                "end_line": 68,
                "span_lf_sha256": "97dfa5a5a41bb16a8d85750d3a4a3b85205770cee82f801846b4c61303726e20"
              },
              {
                "heading": "Lab 9: tenant-safe retrieval and memory",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "8. Hands-on labs",
                  "Lab 9: tenant-safe retrieval and memory"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fa882de214efc7cdfe032efd277e5a1506e3946d76a6b374baea25face78e9a9",
                "start_line": 947,
                "end_line": 956,
                "span_lf_sha256": "215395375c789bc6b13c3c386a36634d1b8d3fdfad39793831e0dac5c36671e9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between Azure Cosmos DB and Cosmos DB in Microsoft Fabric",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement operational analytics on Azure Cosmos DB",
            "group_number": 12,
            "objective_number": 1,
            "objective_wording_sha256": "57eba9610277527928520da7e1988c515e9cd30c30a12959d62599e7120065ee",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Masking, Fleet capacity and analytics boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Masking, Fleet capacity and analytics boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e068b4203647a2f7b32515ec891707606b317fd5c59fce30d97b018ffacb5a65",
                "start_line": 85,
                "end_line": 94,
                "span_lf_sha256": "6d826039fb5697a0efb245e919a2c8d234da09f2670f6171ff45136abab47f82"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and monitor data mirroring into Microsoft Fabric",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement operational analytics on Azure Cosmos DB",
            "group_number": 12,
            "objective_number": 2,
            "objective_wording_sha256": "3c05fb29270efbb8c63efcc76ca00bbbed1bd588b92d9efff219a5e3fad1e413",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Fabric mirroring and time travel",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "4. Integrate an Azure Cosmos DB solution — historical July grouping",
                  "Choose the analytical path intentionally",
                  "Fabric mirroring and time travel"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "00777d4fdeca2d19b2d63d1a0f250b5e10898ef9fcef2f4f391cfab4ca6af116",
                "start_line": 505,
                "end_line": 518,
                "span_lf_sha256": "41d2ccd77b46776e3a173c0f5e14464a931aedaaa6ea2731b1e9f9be08fe49bf"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Query Azure Cosmos DB mirrored JSON data in Microsoft Fabric with T-SQL and Spark",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement operational analytics on Azure Cosmos DB",
            "group_number": 12,
            "objective_number": 3,
            "objective_wording_sha256": "270f6515dcd45194b54aa5cc441a1b92fdfdac53b5de25537da3c2c1c58f4f16",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Masking, Fleet capacity and analytics boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Masking, Fleet capacity and analytics boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e068b4203647a2f7b32515ec891707606b317fd5c59fce30d97b018ffacb5a65",
                "start_line": 85,
                "end_line": 94,
                "span_lf_sha256": "6d826039fb5697a0efb245e919a2c8d234da09f2670f6171ff45136abab47f82"
              },
              {
                "heading": "Fabric mirroring and time travel",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "4. Integrate an Azure Cosmos DB solution — historical July grouping",
                  "Choose the analytical path intentionally",
                  "Fabric mirroring and time travel"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "00777d4fdeca2d19b2d63d1a0f250b5e10898ef9fcef2f4f391cfab4ca6af116",
                "start_line": 505,
                "end_line": 518,
                "span_lf_sha256": "41d2ccd77b46776e3a173c0f5e14464a931aedaaa6ea2731b1e9f9be08fe49bf"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Read and write data into Azure Cosmos DB from Microsoft Fabric with Cosmos DB Spark connector",
            "version": "Skills measured as of October 6, 2026",
            "domain": "Implement AI and analytics capabilities in database solutions (20–25%)",
            "group": "Design and implement operational analytics on Azure Cosmos DB",
            "group_number": 12,
            "objective_number": 4,
            "objective_wording_sha256": "5df09ac8422de21defc0beaa13fd245632b63f296b8910d980ef753ec660abcf",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Masking, Fleet capacity and analytics boundaries",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "Current October 6 objective map",
                  "Masking, Fleet capacity and analytics boundaries"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e068b4203647a2f7b32515ec891707606b317fd5c59fce30d97b018ffacb5a65",
                "start_line": 85,
                "end_line": 94,
                "span_lf_sha256": "6d826039fb5697a0efb245e919a2c8d234da09f2670f6171ff45136abab47f82"
              },
              {
                "heading": "Existing analytical-store path",
                "heading_path": [
                  "DP-420 Building AI Applications with Azure Cosmos DB Study Guide",
                  "4. Integrate an Azure Cosmos DB solution — historical July grouping",
                  "Choose the analytical path intentionally",
                  "Existing analytical-store path"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2a6981096562f28d0183e7a9ca72b64bfe9e343bb8cffc940b729be9b477f83c",
                "start_line": 519,
                "end_line": 524,
                "span_lf_sha256": "c9963497a763b567278620137f26bf7ec9460d7d440b7f83454f43a69d57a760"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-dp-420.txt",
        "final_diff_lf_sha256": "2866cbdb03e6bfb81f685a307bc2429ac74e04cc26ebbe901f9793e7b96cce01"
      },
      {
        "exam_code": "DP-750",
        "guide_path": "guides/DP-750-implementing-data-engineering-solutions-using-azure-databricks.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/DP-750-implementing-data-engineering-solutions-using-azure-databricks.md",
        "guide_lf_sha256": "2630f8cd68c5d5c204827672becc75265473f066ea363e6a0f155165b8a27d54",
        "live_matches_captured_final": true,
        "line_count": 1017,
        "immutable_before_guide_lf_sha256": "dd3f611324dd93e61b5bc023f88db2bbb8e9e006a20d4d818960c4f62c97fe6d",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/dp-750-official-objectives.txt",
        "objective_raw_sha256": "d44f3f814718f33dd69dd72f48381609f4cde30d0b5c9fe1656380223fb2571e",
        "objective_count": 77,
        "group_count": 12,
        "initial_example_gaps": 0,
        "resolved_example_gaps": 0,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Choose an appropriate compute type, including job compute, serverless, warehouse, classic compute, and shared compute",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Select and configure compute in a workspace",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "593b18b901e88086bf3d45c3ca73e252e0751705a1eb344bcc37be828d9e2e0b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select compute from workload and governance requirements",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Select compute from workload and governance requirements"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "68e5efa7bd115ca615c7c7e60af786908de85b8348d4839871126d680873e4f9",
                "start_line": 89,
                "end_line": 141,
                "span_lf_sha256": "3c1b6cde3440944b75ab1858136f065bde6a5b22aabda8d4ee3604b87041f0d8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure compute performance settings, including CPU, node count, autoscaling, termination, node type, cluster size, and pooling",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Select and configure compute in a workspace",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "efb1e1cfffe5af2cc816594fa88fa4b706fadba3dbc129c4081ce116821910f2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure performance and cost settings",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Select compute from workload and governance requirements",
                  "Configure performance and cost settings"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4b91d6ab1eda18e0ab44031379b362679e17ccfdb73d7d7edeb394ffb45463ba",
                "start_line": 104,
                "end_line": 116,
                "span_lf_sha256": "920530d6b018cf66e3e8b03bbecafb100ba668441ce3feaaceacb8ee5b75c84b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure compute feature settings, including Photon acceleration, Azure Databricks runtime/Spark version, and machine learning",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Select and configure compute in a workspace",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "cb0eb8b6205d0ba4fc6b219e4509f1845e699de26658c2fd9d457aab09453d52",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure performance and cost settings",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Select compute from workload and governance requirements",
                  "Configure performance and cost settings"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4b91d6ab1eda18e0ab44031379b362679e17ccfdb73d7d7edeb394ffb45463ba",
                "start_line": 104,
                "end_line": 116,
                "span_lf_sha256": "920530d6b018cf66e3e8b03bbecafb100ba668441ce3feaaceacb8ee5b75c84b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Install libraries for a compute resource",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Select and configure compute in a workspace",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "386d428095de2a6e882e00977874bd774ae099b3ee23ce6ec883241818568d4a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Install libraries safely",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Select compute from workload and governance requirements",
                  "Install libraries safely"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "769f1de97f523ea302cf9cbbae8618d1a5df54f8840fd2f181ec20acd22bfc9d",
                "start_line": 117,
                "end_line": 129,
                "span_lf_sha256": "20d0a811111ea563c0650b08d71e465de16d7fa4dd56e36614122893a381ff1f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure access permissions to a compute resource",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Select and configure compute in a workspace",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "167dffc70bb532094eb8e3457f4ab55eebe49fff27e2b78ae0eaea1446f30af5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure compute permissions",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Select compute from workload and governance requirements",
                  "Configure compute permissions"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c7e53c25d738abb97eaf41248cfe71264aa309f37b3b09b1cdb0b2cd559e7aa6",
                "start_line": 130,
                "end_line": 141,
                "span_lf_sha256": "7c2616e67cc6dba7b23bc7511537e33c8b89f1ab6943c96ca43db26fad5572ed"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Apply naming conventions based on requirements, including isolation, development environment, and external sharing",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Create and organize objects in Unity Catalog",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "595c39bbd09efbc9b2504c21534864c84becd10af98f1573620e7a9b852b8f56",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Naming and isolation",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Naming and isolation"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "13e6fc41c9b5b2771aa85aefdd5ba8d9dd10d1e109d38040048c746c52487ef1",
                "start_line": 146,
                "end_line": 158,
                "span_lf_sha256": "c857682f6b652dd78b0a2c9711f883e0c8b70857c8bc3c6799628f2c726e4b36"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create a catalog based on requirements",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Create and organize objects in Unity Catalog",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "2d5fb621bfc33422db1f99eefbcd2ff5d1d41522eba2f6d0e38979cae69b8cda",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Create catalogs, schemas and volumes",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Create catalogs, schemas and volumes"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8d4aea917d9c8d1e309c530151217b87353ad78a9f505111addb8f01c7858ed6",
                "start_line": 159,
                "end_line": 164,
                "span_lf_sha256": "33c38eae18ef14d61eeb50f15de058233d9785c9967c585d14e054a4aa91b99e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create a schema based on requirements",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Create and organize objects in Unity Catalog",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "25abdc2b58ead1ac75d491478686c926d3ff4443159581553ee48bff4b994d0f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Create catalogs, schemas and volumes",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Create catalogs, schemas and volumes"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8d4aea917d9c8d1e309c530151217b87353ad78a9f505111addb8f01c7858ed6",
                "start_line": 159,
                "end_line": 164,
                "span_lf_sha256": "33c38eae18ef14d61eeb50f15de058233d9785c9967c585d14e054a4aa91b99e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create volumes based on requirements",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Create and organize objects in Unity Catalog",
            "group_number": 2,
            "objective_number": 4,
            "objective_wording_sha256": "8300e6b580b38f58089a8a123eb33afb49e9b2f23407e70cfbe1e49f1579c0dd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Create catalogs, schemas and volumes",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Create catalogs, schemas and volumes"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8d4aea917d9c8d1e309c530151217b87353ad78a9f505111addb8f01c7858ed6",
                "start_line": 159,
                "end_line": 164,
                "span_lf_sha256": "33c38eae18ef14d61eeb50f15de058233d9785c9967c585d14e054a4aa91b99e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create tables, views, and materialized views",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Create and organize objects in Unity Catalog",
            "group_number": 2,
            "objective_number": 5,
            "objective_wording_sha256": "eb9d6f0e62ac826729e51065d861c338d0e3e837f2edca5b34bc7286345bae0a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Tables, views and materialized views",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Tables, views and materialized views"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "866466876d54c14a16d357d65fbb5d67edda3307007ab62f86f42469a12c7466",
                "start_line": 174,
                "end_line": 182,
                "span_lf_sha256": "27a4c04f98dba328e0bb1ca3861aef572f65d90acce0e10bd66564ff0afb3997"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement a foreign catalog by configuring connections",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Create and organize objects in Unity Catalog",
            "group_number": 2,
            "objective_number": 6,
            "objective_wording_sha256": "b3345c9860d85d8ce077931d38c8df5114ce4c45b51f90172097c07b2ef2a3ce",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Foreign catalogs and connections",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Foreign catalogs and connections"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9ad5a2ab5e5d5fe4eaca09d7b608aba2f5e5ef7cfead9cfd7922df911d2b1ce9",
                "start_line": 183,
                "end_line": 188,
                "span_lf_sha256": "238aac2af4ac51317c6a49d44277fa5db58e79f899a50fd7294ea76dc5ebd0f1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement data definition language (DDL) operations on managed and external tables",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Create and organize objects in Unity Catalog",
            "group_number": 2,
            "objective_number": 7,
            "objective_wording_sha256": "26d9fa863e28664bdd8e98adb22ca726bac8215ae43d361d0b9a1cb2c7316639",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Managed versus external tables",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Managed versus external tables"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "908d96cc109542acb09717a1ac4bdc1407c156cbd0c163570739282d4ff89c2a",
                "start_line": 165,
                "end_line": 173,
                "span_lf_sha256": "f2e2e40f4c59f2eca3d2a8005c4484441cc6144c8c7c8dd95e834dd7ed00328c"
              },
              {
                "heading": "Tables, views and materialized views",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Tables, views and materialized views"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "866466876d54c14a16d357d65fbb5d67edda3307007ab62f86f42469a12c7466",
                "start_line": 174,
                "end_line": 182,
                "span_lf_sha256": "27a4c04f98dba328e0bb1ca3861aef572f65d90acce0e10bd66564ff0afb3997"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure AI/BI Genie instructions for data discovery",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Set up and configure an Azure Databricks environment (15–20%)",
            "group": "Create and organize objects in Unity Catalog",
            "group_number": 2,
            "objective_number": 8,
            "objective_wording_sha256": "266dd3d376bb5eeb0e5a081392644c3c1763cf9d57d9bddfb23c02b776ab9fca",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "AI/BI Genie instructions",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "AI/BI Genie instructions"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "3cc7ca9660a7c5df1368de0b1b7641e5ae047eec93a7cc9aa2b33e03a8c758a0",
                "start_line": 189,
                "end_line": 196,
                "span_lf_sha256": "2cdb93607f55bc8d06a27f76a486184681bb675cd0042dada780d990fdf0ca0d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Grant privileges to a principal (user, service principal, or group) for securable objects in Unity Catalog",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Secure Unity Catalog objects",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "4e51e1c55f40d49535e0cadf994c66f1d04ea0606d41980a936764b3c1722208",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Apply least privilege through the hierarchy",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Apply least privilege through the hierarchy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "31c201112096ff90d11e9796157ae127c8ba06c59ec48dadcedc39a201443725",
                "start_line": 199,
                "end_line": 210,
                "span_lf_sha256": "b2f8df16b47b7f4fde54146011190f3e480ff57a1fda71873cf6bd9fc4bb90ff"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement table- and column-level access control and row-level security",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Secure Unity Catalog objects",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "337227406f6c1a7f137402e78860ac14ae075e60aa00766625f12a3e1e70ac2f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose fine-grained controls",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Choose fine-grained controls"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c39fa42a1a42113f6d938eb665b4d5f0034ae65114d53a524e3eb02ee656d633",
                "start_line": 211,
                "end_line": 257,
                "span_lf_sha256": "74c735dbe9b6b90e8742b9d6938276813ce1f2c985d0486f1da9afd3da71d5f5"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Access Azure Key Vault secrets from within Azure Databricks",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Secure Unity Catalog objects",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "d9edb615cb69a499d189b8ed881edb8ad4a99ca4604684d97147e285190d626d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Key Vault secrets",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Authenticate workloads and resources",
                  "Key Vault secrets"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "149c0d702e71720636ba3d122b2691184afee978f848c944d5ce7b7e152a32d9",
                "start_line": 271,
                "end_line": 276,
                "span_lf_sha256": "f67c6ad8633275d41d890f28272d69f0e26af6d7aeab2313464a182970d8def0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Authenticate data access by using service principals",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Secure Unity Catalog objects",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "4dfd93f3a18a87fc3bf6eaa6ca801b48602a7b46c0cbfdf1c110ef21047f3290",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Authenticate workloads and resources",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Authenticate workloads and resources"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9dec9626a7d65dd0c69d3b58694e3b5d4296b29484764b763b9c21095cbd2400",
                "start_line": 258,
                "end_line": 276,
                "span_lf_sha256": "ed83b7f9465bf05b317d60a26cd8410bfd0f2680c5cbbd8e454563b29ceb21a6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Authenticate resource access by using managed identities",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Secure Unity Catalog objects",
            "group_number": 3,
            "objective_number": 5,
            "objective_wording_sha256": "3d3282a967472d1f588ce7c14e2c11c3931b129b68bc351da9923386e751dbcd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Authenticate workloads and resources",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Authenticate workloads and resources"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9dec9626a7d65dd0c69d3b58694e3b5d4296b29484764b763b9c21095cbd2400",
                "start_line": 258,
                "end_line": 276,
                "span_lf_sha256": "ed83b7f9465bf05b317d60a26cd8410bfd0f2680c5cbbd8e454563b29ceb21a6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create, implement, and preserve table and column definitions and descriptions for data discovery",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Govern Unity Catalog objects",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "2a032e45933d29849ce62640968b6089a0c6cdab26e79fea4e610533c8aea926",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Discovery metadata",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Preserve definitions, descriptions, retention and lineage",
                  "Discovery metadata"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "842e1076c1cd831a40f679311c99975cc7633902fb8f958ebcecece6ca938ef5",
                "start_line": 279,
                "end_line": 284,
                "span_lf_sha256": "dd63bdbaecde1b7aa285e5d142a4bd13c015c38a01e2cc1eb4172c07d5f0f794"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure attribute-based access control (ABAC) by using tags and policies",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Govern Unity Catalog objects",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "f254093b0f60db3ca1614c8ed0b860d5346677a23bd5dfcf5b7f8d5df31b972a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Governed tags and ABAC",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Choose fine-grained controls",
                  "Governed tags and ABAC"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "3cb9d75ef8bfe535a9fb781170feb6678a5717d9403dd4e46a5770e652d9c316",
                "start_line": 225,
                "end_line": 253,
                "span_lf_sha256": "3d057215738c53b089c7f3a935224c9e2bd1c76ae10d1db9043f50e38516c5a3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure row filters and column masks",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Govern Unity Catalog objects",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "80113fdcf12925478d0886d5bbdc83ab72a5d620ff8857a9267a93e74ba5a967",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose fine-grained controls",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Choose fine-grained controls"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c39fa42a1a42113f6d938eb665b4d5f0034ae65114d53a524e3eb02ee656d633",
                "start_line": 211,
                "end_line": 257,
                "span_lf_sha256": "74c735dbe9b6b90e8742b9d6938276813ce1f2c985d0486f1da9afd3da71d5f5"
              },
              {
                "heading": "Governed tags and ABAC",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Choose fine-grained controls",
                  "Governed tags and ABAC"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "3cb9d75ef8bfe535a9fb781170feb6678a5717d9403dd4e46a5770e652d9c316",
                "start_line": 225,
                "end_line": 253,
                "span_lf_sha256": "3d057215738c53b089c7f3a935224c9e2bd1c76ae10d1db9043f50e38516c5a3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Apply data retention policies",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Govern Unity Catalog objects",
            "group_number": 4,
            "objective_number": 4,
            "objective_wording_sha256": "fe309169698ad67a999163ee5578c8d46738a5d8ea27b377d99558c53a0b47c0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Retention",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Preserve definitions, descriptions, retention and lineage",
                  "Retention"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c2130699ecc3ff5005e17dd7f117e22de8df11ca69d206b459f42c65d04a912a",
                "start_line": 285,
                "end_line": 298,
                "span_lf_sha256": "899e0c02decc006d97716152840bd7eb9493685d10707b799d70418093016af0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Set up and manage data lineage tracking by using Catalog Explorer, including owner, history, dependencies, and lineage",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Govern Unity Catalog objects",
            "group_number": 4,
            "objective_number": 5,
            "objective_wording_sha256": "5038bf8ae2f0c2343d4b974f551acdc194f237be6df21a863b4d6e8d6cee1749",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Lineage",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Preserve definitions, descriptions, retention and lineage",
                  "Lineage"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "ecc949ed314fd31f0a858a26ac92703b3e981c032812b228f65449a63f4894f9",
                "start_line": 299,
                "end_line": 302,
                "span_lf_sha256": "ec4b257f0a8fc5cf42a0496c3de2fd7c45e582f29745c930583ae8328f768555"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure audit logging",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Govern Unity Catalog objects",
            "group_number": 4,
            "objective_number": 6,
            "objective_wording_sha256": "c0cf0eaa464e9a0c6618a7207f63a0999968d57df22f8af4390baf9f228cf0e2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Audit activity",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Audit activity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "acdd5301d91d52cce7070c751c60b0b5bcc9239a9d26742bde1113f9b80b88ac",
                "start_line": 303,
                "end_line": 308,
                "span_lf_sha256": "f56685ad975ff52ca91b81ed965d34cd9b6b6e565e1fee6890d3e06816e79721"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a secure strategy for Delta Sharing",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Secure and govern Unity Catalog objects (15–20%)",
            "group": "Govern Unity Catalog objects",
            "group_number": 4,
            "objective_number": 7,
            "objective_wording_sha256": "145c72daeb8c511ff6884425fd2b82d0f6fbfeddfafa462e758144c9b2797ddb",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design secure Delta Sharing",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "3. Secure and govern Unity Catalog objects (15–20%)",
                  "Design secure Delta Sharing"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "249cc951441d4da5b31bdc399e97532bf46d97ee61f04f9d2d96e7f8b761ef38",
                "start_line": 309,
                "end_line": 316,
                "span_lf_sha256": "d0d9da422d08335778c6d786581c32dfbf02e8d4556cd3e9f41471cb880e7ab6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design logic for data ingestion and data source configuration, including extraction type and file type",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "c8852298374637d4994179b8b1be07764a6efef8b58882b50f8cc556520c3d3c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design the model before choosing syntax",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Design the model before choosing syntax"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "06f44bf3afc627b4539ba8045554ec11cc10cf38094c545130a2f21c097afe71",
                "start_line": 319,
                "end_line": 362,
                "span_lf_sha256": "b2eb0b3adbd5b8b837bf5b1c00e8eb84e88e453e72bf69de14b9f43f74d24a7d"
              },
              {
                "heading": "Full, incremental and CDC extraction",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Choose an ingestion tool",
                  "Full, incremental and CDC extraction"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "13c258b7b3ac671f3ebc71103cc6d3200ef6d1dc155805826ec40524126828bc",
                "start_line": 376,
                "end_line": 385,
                "span_lf_sha256": "9482d79369374b7e2999e26f8e0fbd09ad7be3d9b3697707c9439ba88377f1bb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose an appropriate data ingestion tool, including Lakeflow Connect, notebooks, and Azure Data Factory",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "daf8f4557c4c23a9d34a44680f27d38ae6159742b53d009183f97899270bbc7f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose an ingestion tool",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Choose an ingestion tool"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d49a1c5424add7a57046bd9717367af806aead036618faff301f49ee16d6bc27",
                "start_line": 363,
                "end_line": 391,
                "span_lf_sha256": "6fd585b1f9539c038b67cb6e404a2927e3624e26d55225667e1243f2f9838740"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose a data loading method, including batch and streaming",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "1faf5c5c2ef6ed3b1c47e1a468a3548b432d4dccdbd9ec2496441d762050a6a0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Batch versus streaming",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Choose an ingestion tool",
                  "Batch versus streaming"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "6aad651ae0da248904ad0c8a5ed5e5b4826fa279f1e9575300b6f67fd7a3a9b4",
                "start_line": 386,
                "end_line": 391,
                "span_lf_sha256": "6c536ddb0acdb4646448e51a831cedd7a21f753c734b7c89f7cb4d9f1dbceaf0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose a data table format, such as Parquet, Delta, CSV, JSON, or Iceberg",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 4,
            "objective_wording_sha256": "27535a4a6b58f54891ccad81dd171266bf8406f91d212b6d5eebce2c78520ea8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose format",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Design the model before choosing syntax",
                  "Choose format"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "00202ed21749db3e0396f6e232797064c88754575a1139408d169fccde672d6a",
                "start_line": 331,
                "end_line": 342,
                "span_lf_sha256": "ac2ddcd0285b74c90ba9f728ec8768a83a590d86fbb61507c6a6a46ad902be86"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a data partitioning scheme",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 5,
            "objective_wording_sha256": "9c10dc72db1df8560dec9d387e31dec40a5c9d5a7b6de67abefd7ba4e05c6dc2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Partitioning, liquid clustering, Z-order and deletion vectors",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Design the model before choosing syntax",
                  "Partitioning, liquid clustering, Z-order and deletion vectors"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2c06406ee18d714fc06067f2149501814e857bd478da40295f4ae3b41bdeac68",
                "start_line": 353,
                "end_line": 362,
                "span_lf_sha256": "cc564408998222d0190b50d94a709ecd5ece68b93de0ac37e30580078d77907b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose a slowly changing dimension (SCD) type",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 6,
            "objective_wording_sha256": "9bbd1712b5244e0392d2b1999bb7873275c2564538f7e0cbe3bfee8b31bc41f4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model grain, SCD and temporal history",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Design the model before choosing syntax",
                  "Model grain, SCD and temporal history"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0d7d34bdd0b66726a4464d1695eb25eb435c34497569293e36365331d487d67d",
                "start_line": 343,
                "end_line": 352,
                "span_lf_sha256": "d917b111ba29d1f121f3e8b876ead4dbf244b229a3ea0eca6d97afb7a84d0baa"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose granularity on a column or table based on requirements",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 7,
            "objective_wording_sha256": "9bb88ba583b0bbd5f22b1debf3111636aec2a749cf62ddfce4797fa09dd0194b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model grain, SCD and temporal history",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Design the model before choosing syntax",
                  "Model grain, SCD and temporal history"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0d7d34bdd0b66726a4464d1695eb25eb435c34497569293e36365331d487d67d",
                "start_line": 343,
                "end_line": 352,
                "span_lf_sha256": "d917b111ba29d1f121f3e8b876ead4dbf244b229a3ea0eca6d97afb7a84d0baa"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a temporal (history) table to record changes over time",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 8,
            "objective_wording_sha256": "9b1317ab2723609663e1c545ce5b9b28741ff0e14dde3e287247ac569514e500",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model grain, SCD and temporal history",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Design the model before choosing syntax",
                  "Model grain, SCD and temporal history"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0d7d34bdd0b66726a4464d1695eb25eb435c34497569293e36365331d487d67d",
                "start_line": 343,
                "end_line": 352,
                "span_lf_sha256": "d917b111ba29d1f121f3e8b876ead4dbf244b229a3ea0eca6d97afb7a84d0baa"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a clustering strategy, including liquid clustering and Z-ordering",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 9,
            "objective_wording_sha256": "fe293aee9dffaf1341405b8be9af385be1087ac028e0f73bf6ee15199603f719",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Partitioning, liquid clustering, Z-order and deletion vectors",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Design the model before choosing syntax",
                  "Partitioning, liquid clustering, Z-order and deletion vectors"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2c06406ee18d714fc06067f2149501814e857bd478da40295f4ae3b41bdeac68",
                "start_line": 353,
                "end_line": 362,
                "span_lf_sha256": "cc564408998222d0190b50d94a709ecd5ece68b93de0ac37e30580078d77907b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between managed and unmanaged tables",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Design and implement data modeling in Unity Catalog",
            "group_number": 5,
            "objective_number": 10,
            "objective_wording_sha256": "3daa34b82d0609fd177106360c19fa87e1fcf2bfd1df1290a3f975527abc4a91",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Managed versus external tables",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "2. Set up and configure an Azure Databricks environment (15–20%)",
                  "Organize Unity Catalog objects",
                  "Managed versus external tables"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "908d96cc109542acb09717a1ac4bdc1407c156cbd0c163570739282d4ff89c2a",
                "start_line": 165,
                "end_line": 173,
                "span_lf_sha256": "f2e2e40f4c59f2eca3d2a8005c4484441cc6144c8c7c8dd95e834dd7ed00328c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest data by using Lakeflow Connect, including batch and streaming",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Ingest data into Unity Catalog",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "ba1a0a80dfa99c8bd2b7a60b34bf83ecd0937278bd0caf35c9f6963f2991a9fa",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose an ingestion tool",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Choose an ingestion tool"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d49a1c5424add7a57046bd9717367af806aead036618faff301f49ee16d6bc27",
                "start_line": 363,
                "end_line": 391,
                "span_lf_sha256": "6fd585b1f9539c038b67cb6e404a2927e3624e26d55225667e1243f2f9838740"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest data by using notebooks, including batch and streaming",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Ingest data into Unity Catalog",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "7d1c9e3df4aa791f28df277add5fec07b006b714f052e46d411bd04c13043d77",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Ingest with SQL and Spark",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Ingest with SQL and Spark"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f00bc1ee224e042101137ba6d032953b83f94bf828cef9214e00da2e8f9ae7cf",
                "start_line": 392,
                "end_line": 462,
                "span_lf_sha256": "b4cd10cf637f40dba4414abfdca0e8b3e05713bc10f482ba05c75df19c082782"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest data by using SQL methods, including CREATE TABLE … AS (CTAS), CREATE OR REPLACE TABLE, and COPY INTO",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Ingest data into Unity Catalog",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "d70e387c1a70dace42562a4a7d763a780cc6586f5b58a58339eea276500aa10a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "SQL patterns",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Ingest with SQL and Spark",
                  "SQL patterns"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d1042b77373cbc05a119dd6d04d626c606b21422b3c8a61752d88f5282d1ac6d",
                "start_line": 394,
                "end_line": 423,
                "span_lf_sha256": "aad3523489faa408e1710bf78f6c868a8f3a43059b3337ee507f9b0ba5f67dc2"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest data by using a change data capture (CDC) feed",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Ingest data into Unity Catalog",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "1d6d5cbbe0b9477ee8b35fc327edc7d00d8b33dca27dc668647e88f22cfe99f9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Lakeflow pipeline ingestion and AUTO CDC",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Ingest with SQL and Spark",
                  "Lakeflow pipeline ingestion and AUTO CDC"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9c8f8242191f4f99fc842f4561d401f2e35e6ec98c9d16db069f704da9cafb29",
                "start_line": 449,
                "end_line": 456,
                "span_lf_sha256": "e607502de93f0e25196b92a0c6a0b289c68ad0f56bfc2e0ec4c66813859bf029"
              },
              {
                "heading": "Worked example — a schema boundary can invalidate a replay range",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Worked example — a schema boundary can invalidate a replay range"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "009f36c923bf23b314afb903917e9b457c1e32a478f34c7309871fd86c94016c",
                "start_line": 463,
                "end_line": 470,
                "span_lf_sha256": "8fa3b3f7112ecf015e5a236f6f4ea53b108f9a039e9284de0dc8c2adda7bb163"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest data by using Spark Structured Streaming",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Ingest data into Unity Catalog",
            "group_number": 6,
            "objective_number": 5,
            "objective_wording_sha256": "4a0e677d39cd67fee289f9fb32216721386be5788c887d0cf40256adecedaa38",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Batch versus streaming",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Choose an ingestion tool",
                  "Batch versus streaming"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "6aad651ae0da248904ad0c8a5ed5e5b4826fa279f1e9575300b6f67fd7a3a9b4",
                "start_line": 386,
                "end_line": 391,
                "span_lf_sha256": "6c536ddb0acdb4646448e51a831cedd7a21f753c734b7c89f7cb4d9f1dbceaf0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest streaming data from Azure Event Hubs",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Ingest data into Unity Catalog",
            "group_number": 6,
            "objective_number": 6,
            "objective_wording_sha256": "a0811b01af6ec0d51fa3998281924dbda8c577e6548a7d83e1a8c664b53326d4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Batch versus streaming",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Choose an ingestion tool",
                  "Batch versus streaming"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "6aad651ae0da248904ad0c8a5ed5e5b4826fa279f1e9575300b6f67fd7a3a9b4",
                "start_line": 386,
                "end_line": 391,
                "span_lf_sha256": "6c536ddb0acdb4646448e51a831cedd7a21f753c734b7c89f7cb4d9f1dbceaf0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest data by using Lakeflow Spark Declarative Pipelines, including Auto Loader",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Ingest data into Unity Catalog",
            "group_number": 6,
            "objective_number": 7,
            "objective_wording_sha256": "4e0b503f56f25f0806c22ca1afd8055ffc87b6bfbb0567974e32a8f334746697",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Auto Loader",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Ingest with SQL and Spark",
                  "Auto Loader"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e45b8b2e3c71e94cc2ffb1cdb1d8dbcae16e98cd76f77af5cb92beedb3eebb4d",
                "start_line": 428,
                "end_line": 448,
                "span_lf_sha256": "aed3f4fbee156fda6179d53d99eaa7efb18bcb8f18e131f897d9b6de03451e0f"
              },
              {
                "heading": "Lakeflow pipeline ingestion and AUTO CDC",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Ingest with SQL and Spark",
                  "Lakeflow pipeline ingestion and AUTO CDC"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9c8f8242191f4f99fc842f4561d401f2e35e6ec98c9d16db069f704da9cafb29",
                "start_line": 449,
                "end_line": 456,
                "span_lf_sha256": "e607502de93f0e25196b92a0c6a0b289c68ad0f56bfc2e0ec4c66813859bf029"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Profile data to generate summary statistics and assess data distributions",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Cleanse, transform, and load data into Unity Catalog",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "c73145febb876c8e82fe1a62d23eefe5033b2b7f9a3a6a90754dd4be0fac7150",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Profile and type data",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Cleanse, transform and load",
                  "Profile and type data"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e2499ff6d9f82599f42067093df6c43c043e624bb2aa912700950d4d96a408f0",
                "start_line": 473,
                "end_line": 484,
                "span_lf_sha256": "012532593f636ab44a0bbf1a652417901414dc9cae974018ed44e0577f54a9a3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose appropriate column data types",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Cleanse, transform, and load data into Unity Catalog",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "0a929d4b86452c5be9c51d94b66328a2c1253b2fc45700101934608c76f23b25",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Profile and type data",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Cleanse, transform and load",
                  "Profile and type data"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e2499ff6d9f82599f42067093df6c43c043e624bb2aa912700950d4d96a408f0",
                "start_line": 473,
                "end_line": 484,
                "span_lf_sha256": "012532593f636ab44a0bbf1a652417901414dc9cae974018ed44e0577f54a9a3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve duplicate, missing, and null values",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Cleanse, transform, and load data into Unity Catalog",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "e92788d67b6927bb161e860cc1033dea9670f0d8a590e39648d3f6f06f92bfae",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Handle duplicates, missing and null",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Cleanse, transform and load",
                  "Handle duplicates, missing and null"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "cc01db299c1fdd8a907c408c8486a725dee4e95e875a5c190b0adb1f84328f43",
                "start_line": 485,
                "end_line": 488,
                "span_lf_sha256": "09bb22c991a04317ae55805e6173328ffba0af72b9341e60ac40541fcb589d96"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Transform data, including filtering, grouping, and aggregating data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Cleanse, transform, and load data into Unity Catalog",
            "group_number": 7,
            "objective_number": 4,
            "objective_wording_sha256": "97467a683027f7d2d229fc222a27fb9f8b4653e2dde66e41a1b424da7399693c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform correctly",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Cleanse, transform and load",
                  "Transform correctly"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e9b4167a4ba6e5881ae41ab86cf96f8fbd916d41614089637d914187a1524d4a",
                "start_line": 489,
                "end_line": 498,
                "span_lf_sha256": "5d1a01100824fed5b7e66d1400e4cc928bd691894bb1978b52533fb603d73c09"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Transform data by using join, union, intersect, and except operators",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Cleanse, transform, and load data into Unity Catalog",
            "group_number": 7,
            "objective_number": 5,
            "objective_wording_sha256": "c5faf326e525cdc692566127dd48b32539680bbf5f6a17fc9da00de49771d52c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform correctly",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Cleanse, transform and load",
                  "Transform correctly"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e9b4167a4ba6e5881ae41ab86cf96f8fbd916d41614089637d914187a1524d4a",
                "start_line": 489,
                "end_line": 498,
                "span_lf_sha256": "5d1a01100824fed5b7e66d1400e4cc928bd691894bb1978b52533fb603d73c09"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Transform data by denormalizing, pivoting, and unpivoting data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Cleanse, transform, and load data into Unity Catalog",
            "group_number": 7,
            "objective_number": 6,
            "objective_wording_sha256": "7f637450e631cb7a3b4d7becf5caaab530da97db3179d93cb6f4e32e53d759b0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform correctly",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Cleanse, transform and load",
                  "Transform correctly"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e9b4167a4ba6e5881ae41ab86cf96f8fbd916d41614089637d914187a1524d4a",
                "start_line": 489,
                "end_line": 498,
                "span_lf_sha256": "5d1a01100824fed5b7e66d1400e4cc928bd691894bb1978b52533fb603d73c09"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Load data by using merge, insert, and append operations",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Cleanse, transform, and load data into Unity Catalog",
            "group_number": 7,
            "objective_number": 7,
            "objective_wording_sha256": "af4bd477ea2e967b00fbc03a17c524a964cfa101fdb4b6e6099c33cda5e6f691",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Load with append, insert and MERGE",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Cleanse, transform and load",
                  "Load with append, insert and MERGE"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c119a0559e63c01d2c5b6a79cb9675dc8a42385b203dbf33bf0938126d244b3a",
                "start_line": 499,
                "end_line": 507,
                "span_lf_sha256": "6ced4e32d2f72dd38988317303bff181e5409fbaeb916d47783f97cd083d23ae"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement validation checks, including nullability, data cardinality, and range checking",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Implement and manage data quality constraints in Unity Catalog",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "f0bdfed6dc822deda17692b6b65090b72d4d8d8b4aa3e76bbe37790c268a6c54",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Validation mechanisms",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Enforce schema and data quality",
                  "Validation mechanisms"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "905a7ea85d09a680d43496ad836faca92a60088fe3d1df360edfdfe458ac3f87",
                "start_line": 521,
                "end_line": 530,
                "span_lf_sha256": "a63ac05951869df1cd3ef678e8fb4e3bfab7211f72b6242b15aab48f3c044251"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement data type checks",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Implement and manage data quality constraints in Unity Catalog",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "58b9d9f8ce006a1578c85ffc98041af2818a5c02646d266e72abcd079d10e4a4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Profile and type data",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Cleanse, transform and load",
                  "Profile and type data"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e2499ff6d9f82599f42067093df6c43c043e624bb2aa912700950d4d96a408f0",
                "start_line": 473,
                "end_line": 484,
                "span_lf_sha256": "012532593f636ab44a0bbf1a652417901414dc9cae974018ed44e0577f54a9a3"
              },
              {
                "heading": "Validation mechanisms",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Enforce schema and data quality",
                  "Validation mechanisms"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "905a7ea85d09a680d43496ad836faca92a60088fe3d1df360edfdfe458ac3f87",
                "start_line": 521,
                "end_line": 530,
                "span_lf_sha256": "a63ac05951869df1cd3ef678e8fb4e3bfab7211f72b6242b15aab48f3c044251"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement schema enforcement and manage schema drift",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Implement and manage data quality constraints in Unity Catalog",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "44c4e93ade81aac669f959add3648effdce84239dc629e6d1c38d720de57cfc4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Enforce schema and data quality",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Enforce schema and data quality"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0efd1ea0319d84aa0fefad77ab7b4b320a1d49e9e9982e23eabcf6b869d75b54",
                "start_line": 508,
                "end_line": 540,
                "span_lf_sha256": "40621e7480d260b04085bb2a577469ecb363cf3116a20533bbeb0be58b8cec24"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage data quality with pipeline expectations in Lakeflow Spark Declarative Pipelines",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare and process data (30–35%)",
            "group": "Implement and manage data quality constraints in Unity Catalog",
            "group_number": 8,
            "objective_number": 4,
            "objective_wording_sha256": "3cc39b9a67c52b2df57bbf2d210ff6a1375348f89558793b97314bb4b14d73d6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Validation mechanisms",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Enforce schema and data quality",
                  "Validation mechanisms"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "905a7ea85d09a680d43496ad836faca92a60088fe3d1df360edfdfe458ac3f87",
                "start_line": 521,
                "end_line": 530,
                "span_lf_sha256": "a63ac05951869df1cd3ef678e8fb4e3bfab7211f72b6242b15aab48f3c044251"
              },
              {
                "heading": "Worked example: quality counts and commit scope",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Enforce schema and data quality",
                  "Worked example: quality counts and commit scope"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "789062144dd6b22faea7d10d1b5376e83a967feae7f56de9a702e8a930b4de6c",
                "start_line": 531,
                "end_line": 540,
                "span_lf_sha256": "1822b8b1d26f20258c3cf26bf082c0fe9046b3fcb1e7f689e58a95d55dcf58bd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design order of operations for a data pipeline",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Design and implement data pipelines",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "05a58d8e04aa4f58e932fef5ec09a29e4270c35b1ddbd8b21c081982458a4eb9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design the pipeline graph",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Design the pipeline graph"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "642b9593d55bb78e03620109f6600df3dbcadedf892b147200e50c721e49f140",
                "start_line": 543,
                "end_line": 566,
                "span_lf_sha256": "3c178d998b1936f23ba565b9ed68df2ca5bfd986e264801922c7d946354c6d8e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between notebook and Lakeflow Spark Declarative Pipelines",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Design and implement data pipelines",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "28c2fe669b4a692e804f6969bee57b3ecb2f6fc7427a092e44318f0b7764f94a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Notebook versus Lakeflow pipeline",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Design the pipeline graph",
                  "Notebook versus Lakeflow pipeline"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "44a83931e40efb88f22d1e51b3bc221728910a6336035a4f185d774816c83241",
                "start_line": 557,
                "end_line": 566,
                "span_lf_sha256": "de2c8ef706a4f51de7e0328f974a31208abd23751f2fecb235602048b2f8aa44"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design task logic for Lakeflow Jobs",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Design and implement data pipelines",
            "group_number": 9,
            "objective_number": 3,
            "objective_wording_sha256": "d4fd7fc7668a7d40d81f3755c1cbf03ce55f6622aa6de9de09690c7f3434f426",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement Lakeflow Jobs",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement Lakeflow Jobs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd6fc622a33831d3521ea3dbfe8464dec37f0def9bc246768af14ac147b0df2f",
                "start_line": 567,
                "end_line": 590,
                "span_lf_sha256": "9341418449e56b0121ed2aed314fbd24a3952413071033c74d1834a2f40bc1a7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement error handling in data pipelines, notebooks, and jobs",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Design and implement data pipelines",
            "group_number": 9,
            "objective_number": 4,
            "objective_wording_sha256": "db539d9cb6718e694575564393b254005f0de99b3c532ac1f5672f209b1ac95a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Alerts, retries and restart",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement Lakeflow Jobs",
                  "Alerts, retries and restart"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "371e13fae3bc1e3a07caa29c6972d5cc9a0a91bdead565b5c73169a3fb460dd7",
                "start_line": 583,
                "end_line": 590,
                "span_lf_sha256": "bfa54b011fa51b53b4f28d02b2d51e2131f894848b6c1cad50854ca5f0870b4b"
              },
              {
                "heading": "Start with the failure boundary",
                "heading_path": [
                  "test/review evidence",
                  "Monitor and troubleshoot workloads",
                  "Start with the failure boundary"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "f020d8771a637f40af894bf7e9d7f746e3d43772b64453b1f3967a9590298087",
                "start_line": 635,
                "end_line": 647,
                "span_lf_sha256": "b378fdc1282f8c54bedb908e25a254554ca1f6a0308b07f5d984a5e7c5cdb756"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create a data pipeline by using a notebook, including precedence constraints",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Design and implement data pipelines",
            "group_number": 9,
            "objective_number": 5,
            "objective_wording_sha256": "52d23b8c9fa63f73cc90b073aaf489c24783956692709f0fa03bccbf155cc97c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design the pipeline graph",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Design the pipeline graph"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "642b9593d55bb78e03620109f6600df3dbcadedf892b147200e50c721e49f140",
                "start_line": 543,
                "end_line": 566,
                "span_lf_sha256": "3c178d998b1936f23ba565b9ed68df2ca5bfd986e264801922c7d946354c6d8e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create a data pipeline by using Lakeflow Spark Declarative Pipelines",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Design and implement data pipelines",
            "group_number": 9,
            "objective_number": 6,
            "objective_wording_sha256": "2a095b1521f8cba99f8fae96905bfbde6311c178903655cc491c506aab7223e8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Lakeflow pipeline ingestion and AUTO CDC",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "4. Prepare and process data (30–35%)",
                  "Ingest with SQL and Spark",
                  "Lakeflow pipeline ingestion and AUTO CDC"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9c8f8242191f4f99fc842f4561d401f2e35e6ec98c9d16db069f704da9cafb29",
                "start_line": 449,
                "end_line": 456,
                "span_lf_sha256": "e607502de93f0e25196b92a0c6a0b289c68ad0f56bfc2e0ec4c66813859bf029"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create a job, including setup and configuration",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement Lakeflow Jobs",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "4ecdc72ce21b9ca4cdc2c0f7b254c77996450118d79e2963d094bc013317b8f3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement Lakeflow Jobs",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement Lakeflow Jobs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd6fc622a33831d3521ea3dbfe8464dec37f0def9bc246768af14ac147b0df2f",
                "start_line": 567,
                "end_line": 590,
                "span_lf_sha256": "9341418449e56b0121ed2aed314fbd24a3952413071033c74d1834a2f40bc1a7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure job triggers",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement Lakeflow Jobs",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "8885082d255a268844ab567fa04432b2846a72295ec34a2f0790bdbeb4a0ad83",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Triggers and schedules",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement Lakeflow Jobs",
                  "Triggers and schedules"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4d3404326d14e652b1377aee62d11294f2f06d3ef7e6a50842840671157b7399",
                "start_line": 571,
                "end_line": 582,
                "span_lf_sha256": "f565cbfd1365f32be808df37231882deae6935c8824bcd45491737387392bedc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Schedule a job",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement Lakeflow Jobs",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "53f5ca40f0fc251196948791a930b976bcb18679e024e56e720fea8d0e2fd2a2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Triggers and schedules",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement Lakeflow Jobs",
                  "Triggers and schedules"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4d3404326d14e652b1377aee62d11294f2f06d3ef7e6a50842840671157b7399",
                "start_line": 571,
                "end_line": 582,
                "span_lf_sha256": "f565cbfd1365f32be808df37231882deae6935c8824bcd45491737387392bedc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure alerts for a job",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement Lakeflow Jobs",
            "group_number": 10,
            "objective_number": 4,
            "objective_wording_sha256": "c8dcd3bccfe528e2370aa5f1f43ae8f330b1956a2b792fbce58c460dabd3bd35",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Alerts, retries and restart",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement Lakeflow Jobs",
                  "Alerts, retries and restart"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "371e13fae3bc1e3a07caa29c6972d5cc9a0a91bdead565b5c73169a3fb460dd7",
                "start_line": 583,
                "end_line": 590,
                "span_lf_sha256": "bfa54b011fa51b53b4f28d02b2d51e2131f894848b6c1cad50854ca5f0870b4b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure automatic restarts for a job or a data pipeline",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement Lakeflow Jobs",
            "group_number": 10,
            "objective_number": 5,
            "objective_wording_sha256": "a954a0088337d30b9b0cd7be6d55dbb7f69cd771dafe09d309a399cba8df7c1a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Alerts, retries and restart",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement Lakeflow Jobs",
                  "Alerts, retries and restart"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "371e13fae3bc1e3a07caa29c6972d5cc9a0a91bdead565b5c73169a3fb460dd7",
                "start_line": 583,
                "end_line": 590,
                "span_lf_sha256": "bfa54b011fa51b53b4f28d02b2d51e2131f894848b6c1cad50854ca5f0870b4b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Apply version control best practices using Git",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement development lifecycle processes in Azure Databricks",
            "group_number": 11,
            "objective_number": 1,
            "objective_wording_sha256": "d2c777254d0dc51a3ac9b0602cec46a7c7db2b43a73a97fb8cecadc69836cffd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Git workflow",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement development lifecycle processes",
                  "Git workflow"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2e638cf4e9187ffcba2582f2436a5ad93a49334fca28738eb56420804006dcab",
                "start_line": 593,
                "end_line": 598,
                "span_lf_sha256": "675a30271ed2bfeeb5880ab890071e220ecf51ad99531a56bcce1d67b38c6419"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage branching, pull requests, and conflict resolution",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement development lifecycle processes in Azure Databricks",
            "group_number": 11,
            "objective_number": 2,
            "objective_wording_sha256": "2a3532b5008609553a6e7955f5450252e0e43844760663e578bb79c4390e11fd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Git workflow",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement development lifecycle processes",
                  "Git workflow"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2e638cf4e9187ffcba2582f2436a5ad93a49334fca28738eb56420804006dcab",
                "start_line": 593,
                "end_line": 598,
                "span_lf_sha256": "675a30271ed2bfeeb5880ab890071e220ecf51ad99531a56bcce1d67b38c6419"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement a testing strategy, including unit tests, integration tests, end-to-end tests, and user acceptance testing (UAT)",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement development lifecycle processes in Azure Databricks",
            "group_number": 11,
            "objective_number": 3,
            "objective_wording_sha256": "897d4d96e4114bf385f8fe97d69dc77f9c0e7a71378501d51b1fdfe2960f3742",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Testing strategy",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement development lifecycle processes",
                  "Testing strategy"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "836544edb6366503ccd62d1052f8cc225f217fbcf7d8558763594bb8cc4dfbc3",
                "start_line": 599,
                "end_line": 613,
                "span_lf_sha256": "ed06b27f9e151b61b553eea98fd46ac7c6002a7b93116e83afc9c677ea711b36"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and package Declarative Automation Bundles",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement development lifecycle processes in Azure Databricks",
            "group_number": 11,
            "objective_number": 4,
            "objective_wording_sha256": "914948da9a7db659b43898665ed234025d4365154820ee46a25426b592002eae",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Package and deploy bundles",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement development lifecycle processes",
                  "Package and deploy bundles"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0dc2ef792968c18b76aa7d6f4d0fe31a405a966523d9f730ad083c85afc5c95b",
                "start_line": 614,
                "end_line": 621,
                "span_lf_sha256": "d07551a7279b68d1c9ef1e89a3f1db272e19154dfafb629f6ee12d093306a385"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Deploy a bundle by using the Databricks CLI",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement development lifecycle processes in Azure Databricks",
            "group_number": 11,
            "objective_number": 5,
            "objective_wording_sha256": "da5b75d1c201b7ece2e12f32a607f98ba5f1a89e86c5be873d2f5c2ce070a9ef",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Package and deploy bundles",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement development lifecycle processes",
                  "Package and deploy bundles"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0dc2ef792968c18b76aa7d6f4d0fe31a405a966523d9f730ad083c85afc5c95b",
                "start_line": 614,
                "end_line": 621,
                "span_lf_sha256": "d07551a7279b68d1c9ef1e89a3f1db272e19154dfafb629f6ee12d093306a385"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Deploy a bundle by using REST APIs",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Implement development lifecycle processes in Azure Databricks",
            "group_number": 11,
            "objective_number": 6,
            "objective_wording_sha256": "ea12ff4db0eaa14a8e5a64e6e7e6817d600101b8ae2e7fb94f6e6245dc9332e8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Package and deploy bundles",
                "heading_path": [
                  "DP-750 Implementing Data Engineering Solutions Using Azure Databricks Study Guide",
                  "5. Deploy and maintain pipelines and workloads (30–35%)",
                  "Implement development lifecycle processes",
                  "Package and deploy bundles"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0dc2ef792968c18b76aa7d6f4d0fe31a405a966523d9f730ad083c85afc5c95b",
                "start_line": 614,
                "end_line": 621,
                "span_lf_sha256": "d07551a7279b68d1c9ef1e89a3f1db272e19154dfafb629f6ee12d093306a385"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor and manage cluster consumption to optimize performance and cost",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Monitor, troubleshoot, and optimize workloads in Azure Databricks",
            "group_number": 12,
            "objective_number": 1,
            "objective_wording_sha256": "a6fa715cfd9638b0d1afb33f49ac42b3f7131b9190f885618644db4eabb03e11",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor cost and Azure signals",
                "heading_path": [
                  "test/review evidence",
                  "Monitor cost and Azure signals"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "650dfa67fe5c41e338ee6f77ca61a0ffdab32ca1162c3a5b3dff7d6c2b71a476",
                "start_line": 677,
                "end_line": 688,
                "span_lf_sha256": "790efda5c6b6cb29cf99d271fc1fbc3810f7da38849472e6a93f4cb5d6e0531c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot and repair issues in Lakeflow Jobs, including repair, restart, stop, and run functions",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Monitor, troubleshoot, and optimize workloads in Azure Databricks",
            "group_number": 12,
            "objective_number": 2,
            "objective_wording_sha256": "8ea25843625e52489da5577b1694243cdf72d8fb2c1676e71612396fbdddadf9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Start with the failure boundary",
                "heading_path": [
                  "test/review evidence",
                  "Monitor and troubleshoot workloads",
                  "Start with the failure boundary"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "f020d8771a637f40af894bf7e9d7f746e3d43772b64453b1f3967a9590298087",
                "start_line": 635,
                "end_line": 647,
                "span_lf_sha256": "b378fdc1282f8c54bedb908e25a254554ca1f6a0308b07f5d984a5e7c5cdb756"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot and repair issues in Apache Spark jobs and notebooks, including performance tuning, resolving resource bottlenecks, and cluster restart",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Monitor, troubleshoot, and optimize workloads in Azure Databricks",
            "group_number": 12,
            "objective_number": 3,
            "objective_wording_sha256": "057677e88c940c4931477dcf3e37c01a609e40bae36ad8d1c294b1afc5a472f3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Diagnose Spark with DAG and UI",
                "heading_path": [
                  "test/review evidence",
                  "Monitor and troubleshoot workloads",
                  "Diagnose Spark with DAG and UI"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "acc1ca3c68477d2cc172e5ed368ac7cab31905669b6e91a2a88f3d947635fc29",
                "start_line": 648,
                "end_line": 661,
                "span_lf_sha256": "e40a7a2a40059543a6b35820a1aa7e0e9be8bb574e4392eea257fdc5cf6f6d8b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Investigate and resolve caching, skewing, spilling, and shuffle issues by using a Directed Acyclic Graph (DAG), the Spark UI, and query profile",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Monitor, troubleshoot, and optimize workloads in Azure Databricks",
            "group_number": 12,
            "objective_number": 4,
            "objective_wording_sha256": "b5b822e7f2b10b4d23f4d972c81215e7363abce40982ebc103d9b47f95591790",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Diagnose Spark with DAG and UI",
                "heading_path": [
                  "test/review evidence",
                  "Monitor and troubleshoot workloads",
                  "Diagnose Spark with DAG and UI"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "acc1ca3c68477d2cc172e5ed368ac7cab31905669b6e91a2a88f3d947635fc29",
                "start_line": 648,
                "end_line": 661,
                "span_lf_sha256": "e40a7a2a40059543a6b35820a1aa7e0e9be8bb574e4392eea257fdc5cf6f6d8b"
              },
              {
                "heading": "Cache deliberately",
                "heading_path": [
                  "test/review evidence",
                  "Monitor and troubleshoot workloads",
                  "Cache deliberately"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c9eb72189af01a14c79934a2c2bfb435e8d8509b8ff6b7e6a59d148d358cf183",
                "start_line": 662,
                "end_line": 665,
                "span_lf_sha256": "640e4313d366d51a323453c2812dde37d93f017ea3cfb2e1bf1cd6dec6236884"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize Delta tables for performance and cost, including OPTIMIZE and VACUUM commands",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Monitor, troubleshoot, and optimize workloads in Azure Databricks",
            "group_number": 12,
            "objective_number": 5,
            "objective_wording_sha256": "6cd2e81b3f6c9c6d750c274d9dda13068cf400c1b1dd1591e3cb2d0afab5b2c9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Optimize Delta tables",
                "heading_path": [
                  "test/review evidence",
                  "Monitor and troubleshoot workloads",
                  "Optimize Delta tables"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "472c3b68e37defdf8e2c481005b5b00e324ffd7ae81e18ea968829062e501913",
                "start_line": 666,
                "end_line": 676,
                "span_lf_sha256": "21b4e2105030b83e2592bb552b3e59f4bb989b10d997a2296ee75c3078f163f3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement log streaming by using Log Analytics in Azure Monitor",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Monitor, troubleshoot, and optimize workloads in Azure Databricks",
            "group_number": 12,
            "objective_number": 6,
            "objective_wording_sha256": "b9010029d0bf9942a546a31e475b62cee904ab2393977755839532d2c1ef2591",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor cost and Azure signals",
                "heading_path": [
                  "test/review evidence",
                  "Monitor cost and Azure signals"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "650dfa67fe5c41e338ee6f77ca61a0ffdab32ca1162c3a5b3dff7d6c2b71a476",
                "start_line": 677,
                "end_line": 688,
                "span_lf_sha256": "790efda5c6b6cb29cf99d271fc1fbc3810f7da38849472e6a93f4cb5d6e0531c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure alerts by using Azure Monitor",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Deploy and maintain data pipelines and workloads (30–35%)",
            "group": "Monitor, troubleshoot, and optimize workloads in Azure Databricks",
            "group_number": 12,
            "objective_number": 7,
            "objective_wording_sha256": "442647b900afc3e9fb45fa0f1cd56dee9d0b44804328850b8c61ae17602ea437",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor cost and Azure signals",
                "heading_path": [
                  "test/review evidence",
                  "Monitor cost and Azure signals"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "650dfa67fe5c41e338ee6f77ca61a0ffdab32ca1162c3a5b3dff7d6c2b71a476",
                "start_line": 677,
                "end_line": 688,
                "span_lf_sha256": "790efda5c6b6cb29cf99d271fc1fbc3810f7da38849472e6a93f4cb5d6e0531c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-dp-750.txt",
        "final_diff_lf_sha256": "53d9803f2b85ff34a8ea7d6341fbd098d30893f2c3deb0c080b4a8df710a76ab"
      },
      {
        "exam_code": "DP-600",
        "guide_path": "guides/DP-600-implementing-analytics-solutions-microsoft-fabric.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/DP-600-implementing-analytics-solutions-microsoft-fabric.md",
        "guide_lf_sha256": "373150a74c440a72bb83ebd4ba7a143450c4c8baea1faeed40c43dfa59d7d7ba",
        "live_matches_captured_final": true,
        "line_count": 435,
        "immutable_before_guide_lf_sha256": "49098f811ce39e0e10c533e826c533d2aa743e4f1e43f7b0022e2739224ccf0a",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/dp-600-official-objectives.txt",
        "objective_raw_sha256": "43cf6ad72e66be7ce72a39c58f1e2fcd40b66f4768ca14a399b2e99846449fff",
        "objective_count": 41,
        "group_count": 7,
        "initial_example_gaps": 5,
        "resolved_example_gaps": 5,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Implement workspace-level access controls",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Implement security and governance",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "a8ae90ae7cf993c3cdc75c144c6367209ffa0e7f54137cefeebc8b61b9bf6df7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Security and governance layers",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Security and governance layers"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "672244c0e116b01e1d807ae829ae6ab1e80f2c40a41d5412c7973160cfa40ea6",
                "start_line": 51,
                "end_line": 70,
                "span_lf_sha256": "5604dfde8c100c70a471c246f768482e56be8ed5739281725c965719ee102e3e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement item-level access controls",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Implement security and governance",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "bd161f6f5bb002d0c38998d74c40b3d1b0609287370238783d8cdc1eeb7f7384",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Security and governance layers",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Security and governance layers"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "672244c0e116b01e1d807ae829ae6ab1e80f2c40a41d5412c7973160cfa40ea6",
                "start_line": 51,
                "end_line": 70,
                "span_lf_sha256": "5604dfde8c100c70a471c246f768482e56be8ed5739281725c965719ee102e3e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement row-level, column-level, object-level, and file-level access control",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Implement security and governance",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "069db47babebf509a7118f88c65e1463cfc4de037fff4ee6295684545eb29233",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Security and governance layers",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Security and governance layers"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "672244c0e116b01e1d807ae829ae6ab1e80f2c40a41d5412c7973160cfa40ea6",
                "start_line": 51,
                "end_line": 70,
                "span_lf_sha256": "5604dfde8c100c70a471c246f768482e56be8ed5739281725c965719ee102e3e"
              },
              {
                "heading": "Worked example — A narrow OneLake role does not remove a broad grant",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Worked example — A narrow OneLake role does not remove a broad grant"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "84f83098d0d76ab67aa9b01fe72a2d9a5b9f050c276e3091f20520a8724f1dd6",
                "start_line": 71,
                "end_line": 78,
                "span_lf_sha256": "cfbb71c97e5d64e2eb3c671627de4f5aa912f322b92c33d8515cf53fabc6f524"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Apply sensitivity labels to items",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Implement security and governance",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "4e7820b10acd3b984ef3fa0aa46dc1fc183d83ffb5029e6e125dcf5cef0b19a6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Security and governance layers",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Security and governance layers"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "672244c0e116b01e1d807ae829ae6ab1e80f2c40a41d5412c7973160cfa40ea6",
                "start_line": 51,
                "end_line": 70,
                "span_lf_sha256": "5604dfde8c100c70a471c246f768482e56be8ed5739281725c965719ee102e3e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Endorse items",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Implement security and governance",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "13e911204470e433f96370f7bf642d99bc9a936e146144703ed7cf2dd785219d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Security and governance layers",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Security and governance layers"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "672244c0e116b01e1d807ae829ae6ab1e80f2c40a41d5412c7973160cfa40ea6",
                "start_line": 51,
                "end_line": 70,
                "span_lf_sha256": "5604dfde8c100c70a471c246f768482e56be8ed5739281725c965719ee102e3e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure version control for a workspace",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Maintain the analytics development lifecycle",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "1078ecc6a3d432200398f474e378b4d1dcc84e44e2bb0536faea65bd30626807",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Analytics development lifecycle",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Analytics development lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fef829405e360801e67764992c22854f1b3d5d47546e38dfb0170b6c5bf6422b",
                "start_line": 79,
                "end_line": 94,
                "span_lf_sha256": "1795f927dfd458f289d395ed98182cd829295d1fdc53adc7c349cd64814f2d0b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage a Power BI Desktop project (.pbip)",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Maintain the analytics development lifecycle",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "7d7a73c6700747bff95e73af0487ab4bda81056e6b1c431aab2935d8fc0c4e66",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Analytics development lifecycle",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Analytics development lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fef829405e360801e67764992c22854f1b3d5d47546e38dfb0170b6c5bf6422b",
                "start_line": 79,
                "end_line": 94,
                "span_lf_sha256": "1795f927dfd458f289d395ed98182cd829295d1fdc53adc7c349cd64814f2d0b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and configure deployment pipelines",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Maintain the analytics development lifecycle",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "1eb4bbdc5486d227de9093385ac4737828c567930d26da7d04b0ac748963d108",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Analytics development lifecycle",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Analytics development lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fef829405e360801e67764992c22854f1b3d5d47546e38dfb0170b6c5bf6422b",
                "start_line": 79,
                "end_line": 94,
                "span_lf_sha256": "1795f927dfd458f289d395ed98182cd829295d1fdc53adc7c349cd64814f2d0b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform impact analysis of downstream dependencies from lakehouses, warehouses, dataflows, and semantic models",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Maintain the analytics development lifecycle",
            "group_number": 2,
            "objective_number": 4,
            "objective_wording_sha256": "44cd1721b3bca0cae5402d3d8c57c3a5e020655c496b3d7b2aca115899f30ff9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Analytics development lifecycle",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Analytics development lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fef829405e360801e67764992c22854f1b3d5d47546e38dfb0170b6c5bf6422b",
                "start_line": 79,
                "end_line": 94,
                "span_lf_sha256": "1795f927dfd458f289d395ed98182cd829295d1fdc53adc7c349cd64814f2d0b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Deploy and manage semantic models by using the XMLA endpoint",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Maintain the analytics development lifecycle",
            "group_number": 2,
            "objective_number": 5,
            "objective_wording_sha256": "ffeee3fa8050afe51a3d0d833bacfa3813b666b82a7982b68297fb0dc6db62ed",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Analytics development lifecycle",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Analytics development lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fef829405e360801e67764992c22854f1b3d5d47546e38dfb0170b6c5bf6422b",
                "start_line": 79,
                "end_line": 94,
                "span_lf_sha256": "1795f927dfd458f289d395ed98182cd829295d1fdc53adc7c349cd64814f2d0b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and update reusable assets, including Power BI template (.pbit) files, Power BI data source (.pbids) files, and shared semantic models",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Maintain a data analytics solution (25–30%)",
            "group": "Maintain the analytics development lifecycle",
            "group_number": 2,
            "objective_number": 6,
            "objective_wording_sha256": "7e9fb51b4beb27d301d5a6136da366a7541d79764289a23b5cd4553908d2aa93",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Analytics development lifecycle",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "1. Maintain a data analytics solution",
                  "Analytics development lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "fef829405e360801e67764992c22854f1b3d5d47546e38dfb0170b6c5bf6422b",
                "start_line": 79,
                "end_line": 94,
                "span_lf_sha256": "1795f927dfd458f289d395ed98182cd829295d1fdc53adc7c349cd64814f2d0b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create a data connection",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Get data",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "c83100b204f372ac709f417d7656ee4984dcad263081ae10fb9666dfa5a8964b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose and connect to the data store",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Choose and connect to the data store"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9dd99b5e5c66397e0fda6b0d0ae948608f4df140158309322e98d34b0c734489",
                "start_line": 97,
                "end_line": 113,
                "span_lf_sha256": "937fa88c9666be367c4c16340633dba24841eab3213b14c2124d566aeabb78da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Discover data by using OneLake catalog and Real-Time hub",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Get data",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "4bd30e3b15624abb6d677fdcd2f6d59613134e8db0dc85335b76fc91ac9365e7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose and connect to the data store",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Choose and connect to the data store"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9dd99b5e5c66397e0fda6b0d0ae948608f4df140158309322e98d34b0c734489",
                "start_line": 97,
                "end_line": 113,
                "span_lf_sha256": "937fa88c9666be367c4c16340633dba24841eab3213b14c2124d566aeabb78da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest or access data as needed",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Get data",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "20423a728962517b4b37484991f88ecda87f779f9df6d341971f1617346f4c67",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose and connect to the data store",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Choose and connect to the data store"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9dd99b5e5c66397e0fda6b0d0ae948608f4df140158309322e98d34b0c734489",
                "start_line": 97,
                "end_line": 113,
                "span_lf_sha256": "937fa88c9666be367c4c16340633dba24841eab3213b14c2124d566aeabb78da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between different data stores",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Get data",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "0fc40f9d466979ebfb9fb46c57f8145199d06d7ff07e131f209787752aa14f14",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose and connect to the data store",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Choose and connect to the data store"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9dd99b5e5c66397e0fda6b0d0ae948608f4df140158309322e98d34b0c734489",
                "start_line": 97,
                "end_line": 113,
                "span_lf_sha256": "937fa88c9666be367c4c16340633dba24841eab3213b14c2124d566aeabb78da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement OneLake integration for Eventhouse and semantic models",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Get data",
            "group_number": 3,
            "objective_number": 5,
            "objective_wording_sha256": "27e63b73b35ee25c347fc8142d815e9ad601bf4f25da0d5e044e6d7b14075a00",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "OneLake integration has a source-specific freshness contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "OneLake integration has a source-specific freshness contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "98e8a547ac30e28d4adf6d1c59299958f47df4f48426991e9e132d184ff79d5f",
                "start_line": 114,
                "end_line": 119,
                "span_lf_sha256": "d54aab2e99cf506f4f266d9ecff754738ac421b9a6fed5f0dd4b6e1f1d2d877d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create views, functions, and stored procedures",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "6586087dc5d46751a44e46f81633efa17cca1610d76f29bb1329d6429e57a76d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Enrich data by adding new columns or tables",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "af99a53e500b9653059b54db50f69d7f0f38aa335d382f7bf762bbf50bbaa881",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              },
              {
                "heading": "Worked example — one fixture across four query routes",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language",
                  "Worked example — one fixture across four query routes"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
                "start_line": 157,
                "end_line": 209,
                "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Column/table enrichment is implied by transformation steps, without an explicit derived-column/table example.",
            "repair_id": "DP600-query-contract"
          },
          {
            "wording": "Implement a star schema for a lakehouse or warehouse",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "00b131123c43df3b319752d8ebb2267d8d147cc0a019859c4d819d94b82a59a1",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              },
              {
                "heading": "Worked example — A declared key does not repair duplicate dimensions",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Worked example — A declared key does not repair duplicate dimensions"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "dd399429dc3100737133c4f86d950eeb39eef3ecd99757af646c169b8e45a655",
                "start_line": 145,
                "end_line": 148,
                "span_lf_sha256": "56dce054218cce5b8b9536c7d7dbd40028553d5acc8cddf80b1a887c98ca5a80"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Denormalize data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 4,
            "objective_wording_sha256": "7c70ce6490d658344cbd02c83ef770073d77485ff6f784b8dfe7db97bc4b8b4a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Aggregate data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 5,
            "objective_wording_sha256": "62eea0bf3d16282eaae9af36219c956c83d1f01590d26fd46d3631153768f02d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Merge or join data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 6,
            "objective_wording_sha256": "cf7645bdf627a00b8485654ab0777e1a879e84cc9169f4278031c8a74782fe94",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              },
              {
                "heading": "Worked example — A declared key does not repair duplicate dimensions",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Worked example — A declared key does not repair duplicate dimensions"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "dd399429dc3100737133c4f86d950eeb39eef3ecd99757af646c169b8e45a655",
                "start_line": 145,
                "end_line": 148,
                "span_lf_sha256": "56dce054218cce5b8b9536c7d7dbd40028553d5acc8cddf80b1a887c98ca5a80"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve duplicate data, missing data, or null values",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 7,
            "objective_wording_sha256": "8994efe5a64b6b80c950b38301765f864b33004b5398407dd91dc7769f815e68",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Convert column data types",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 8,
            "objective_wording_sha256": "812892a57d8bebc02ed4e352e2a7c516d46c1a0b64b64d2b3fb740d168c1ee9c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Filter data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Transform data",
            "group_number": 4,
            "objective_number": 9,
            "objective_wording_sha256": "995fa7e9601d11856f7efe6ea4e96b212f1535d4499da13bd9b72c1885d55869",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Transform to an analytical contract",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Transform to an analytical contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ef640c04437d519e629482cb7de695b2107eace1a73b1661bb076944f47f461c",
                "start_line": 120,
                "end_line": 144,
                "span_lf_sha256": "8dd9558fca11caeaabfa65fab2383635873ad733541ac20524f4425302dbce20"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Select, filter, and aggregate data by using the Visual query editor",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Query and analyze data",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "cc987508e0472175256a167b39d3927896666e639e0bd9acb097311c0f7272a8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Query and analyze with the right language",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "683ef63f95ae6bd4414cd398c6d6698d741daf5c7d5e94cdbb7fb6f7630491d9",
                "start_line": 149,
                "end_line": 209,
                "span_lf_sha256": "84d507d68c566ecbf97b3b494e5330efcb6bc18150aa961f9077f5feab0572be"
              },
              {
                "heading": "Lab 5 — SQL, KQL and DAX comparison",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "Hands-on labs",
                  "Lab 5 — SQL, KQL and DAX comparison"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7c93f7d13db2bb0d91da072dcc6f6412350fcc6bae82708c406f879726ecb40e",
                "start_line": 320,
                "end_line": 323,
                "span_lf_sha256": "ca94697c9d55345f5b7942af16e667246b93487d56360e20611654c3672ab241"
              },
              {
                "heading": "Worked example — one fixture across four query routes",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language",
                  "Worked example — one fixture across four query routes"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
                "start_line": 157,
                "end_line": 209,
                "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Visual query editor named, but no concrete select/filter/group workflow and expected result.",
            "repair_id": "DP600-query-contract"
          },
          {
            "wording": "Select, filter, and aggregate data by using SQL",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Query and analyze data",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "9d2a2422a0697fdfd013d4ae608ca9d6ec9ad9225be2ba9cdc6dd75eb30cfaf7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Query and analyze with the right language",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "683ef63f95ae6bd4414cd398c6d6698d741daf5c7d5e94cdbb7fb6f7630491d9",
                "start_line": 149,
                "end_line": 209,
                "span_lf_sha256": "84d507d68c566ecbf97b3b494e5330efcb6bc18150aa961f9077f5feab0572be"
              },
              {
                "heading": "Lab 5 — SQL, KQL and DAX comparison",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "Hands-on labs",
                  "Lab 5 — SQL, KQL and DAX comparison"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7c93f7d13db2bb0d91da072dcc6f6412350fcc6bae82708c406f879726ecb40e",
                "start_line": 320,
                "end_line": 323,
                "span_lf_sha256": "ca94697c9d55345f5b7942af16e667246b93487d56360e20611654c3672ab241"
              },
              {
                "heading": "Worked example — one fixture across four query routes",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language",
                  "Worked example — one fixture across four query routes"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
                "start_line": 157,
                "end_line": 209,
                "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "SQL operations explained, but no executable filter/aggregate query and expected result.",
            "repair_id": "DP600-query-contract"
          },
          {
            "wording": "Select, filter, and aggregate data by using KQL",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Query and analyze data",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "3d4e320efd17b59c9fdb6e1a6cefb1de14360502d169fcde870eb667928e697f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Query and analyze with the right language",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "683ef63f95ae6bd4414cd398c6d6698d741daf5c7d5e94cdbb7fb6f7630491d9",
                "start_line": 149,
                "end_line": 209,
                "span_lf_sha256": "84d507d68c566ecbf97b3b494e5330efcb6bc18150aa961f9077f5feab0572be"
              },
              {
                "heading": "Lab 5 — SQL, KQL and DAX comparison",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "Hands-on labs",
                  "Lab 5 — SQL, KQL and DAX comparison"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7c93f7d13db2bb0d91da072dcc6f6412350fcc6bae82708c406f879726ecb40e",
                "start_line": 320,
                "end_line": 323,
                "span_lf_sha256": "ca94697c9d55345f5b7942af16e667246b93487d56360e20611654c3672ab241"
              },
              {
                "heading": "Worked example — one fixture across four query routes",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language",
                  "Worked example — one fixture across four query routes"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
                "start_line": 157,
                "end_line": 209,
                "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "KQL operators listed, but no bounded filter/aggregate query and expected result.",
            "repair_id": "DP600-query-contract"
          },
          {
            "wording": "Select, filter, and aggregate data by using DAX",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Prepare data (45–50%)",
            "group": "Query and analyze data",
            "group_number": 5,
            "objective_number": 4,
            "objective_wording_sha256": "ded4b8c7f65d6fc71c5ff5c377288378009834e45761ad2a8cedee5233f28193",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Query and analyze with the right language",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "683ef63f95ae6bd4414cd398c6d6698d741daf5c7d5e94cdbb7fb6f7630491d9",
                "start_line": 149,
                "end_line": 209,
                "span_lf_sha256": "84d507d68c566ecbf97b3b494e5330efcb6bc18150aa961f9077f5feab0572be"
              },
              {
                "heading": "DAX and reusable calculation design",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "DAX and reusable calculation design"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "85ab72ccbf256f40e3f2445d65359b9f26cad95303fae34b514a1441c0f8f174",
                "start_line": 248,
                "end_line": 255,
                "span_lf_sha256": "8515a25f7515acaf4a4515b1d895cac3fe68e832f2530b1fdc5879490da7bbbb"
              },
              {
                "heading": "Lab 5 — SQL, KQL and DAX comparison",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "Hands-on labs",
                  "Lab 5 — SQL, KQL and DAX comparison"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7c93f7d13db2bb0d91da072dcc6f6412350fcc6bae82708c406f879726ecb40e",
                "start_line": 320,
                "end_line": 323,
                "span_lf_sha256": "ca94697c9d55345f5b7942af16e667246b93487d56360e20611654c3672ab241"
              },
              {
                "heading": "Worked example — one fixture across four query routes",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "2. Prepare data",
                  "Query and analyze with the right language",
                  "Worked example — one fixture across four query routes"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
                "start_line": 157,
                "end_line": 209,
                "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "DAX evaluation context explained, but no filter/aggregate query with expected result.",
            "repair_id": "DP600-query-contract"
          },
          {
            "wording": "Choose a storage mode",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Design and build semantic models",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "a0a8649c4cfd632085a8510f6892f6b40bec6f9595f926d271ccdf2cf95f8d6b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model design and storage mode",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Model design and storage mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e878efb6a1c5b95dee64f0281fd8e2e8aa3b38d577eff13d6942153516a91169",
                "start_line": 212,
                "end_line": 233,
                "span_lf_sha256": "af3f31e3ee4f1dcfc0e2e8dd2ed513a45cf24110b8877603804c7a82c1337ea7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement a star schema for a semantic model",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Design and build semantic models",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "06f1182b134f512e1b64386373d24a6271867f749992c14e93ae9c4fd460bcab",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model design and storage mode",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Model design and storage mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e878efb6a1c5b95dee64f0281fd8e2e8aa3b38d577eff13d6942153516a91169",
                "start_line": 212,
                "end_line": 233,
                "span_lf_sha256": "af3f31e3ee4f1dcfc0e2e8dd2ed513a45cf24110b8877603804c7a82c1337ea7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement relationships, such as bridge tables and many-to-many relationships",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Design and build semantic models",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "387db802b715f42792696da4333391dd241bb44d10d68e5e9666eeee803ea79b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model design and storage mode",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Model design and storage mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e878efb6a1c5b95dee64f0281fd8e2e8aa3b38d577eff13d6942153516a91169",
                "start_line": 212,
                "end_line": 233,
                "span_lf_sha256": "af3f31e3ee4f1dcfc0e2e8dd2ed513a45cf24110b8877603804c7a82c1337ea7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Write calculations that use DAX variables and functions, such as iterators, table filtering, windowing, and information functions",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Design and build semantic models",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "139222799eeba172e0e32c5c50241d91ae05c28c14e8ba89c44662a3e7301b20",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "DAX and reusable calculation design",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "DAX and reusable calculation design"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "85ab72ccbf256f40e3f2445d65359b9f26cad95303fae34b514a1441c0f8f174",
                "start_line": 248,
                "end_line": 255,
                "span_lf_sha256": "8515a25f7515acaf4a4515b1d895cac3fe68e832f2530b1fdc5879490da7bbbb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement calculation groups, dynamic format strings, and field parameters",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Design and build semantic models",
            "group_number": 6,
            "objective_number": 5,
            "objective_wording_sha256": "1e36b7d6e2e76c64ba851a96a4fcc0e1b3ce8d6aadd47e5b0add408563943315",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "DAX and reusable calculation design",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "DAX and reusable calculation design"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "85ab72ccbf256f40e3f2445d65359b9f26cad95303fae34b514a1441c0f8f174",
                "start_line": 248,
                "end_line": 255,
                "span_lf_sha256": "8515a25f7515acaf4a4515b1d895cac3fe68e832f2530b1fdc5879490da7bbbb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify use cases for and configure large semantic model storage format",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Design and build semantic models",
            "group_number": 6,
            "objective_number": 6,
            "objective_wording_sha256": "a35dda478c0870deef1503fd9ad9a3ff3ecca9ad21cc52606fbd04c2428c0aaf",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model design and storage mode",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Model design and storage mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e878efb6a1c5b95dee64f0281fd8e2e8aa3b38d577eff13d6942153516a91169",
                "start_line": 212,
                "end_line": 233,
                "span_lf_sha256": "af3f31e3ee4f1dcfc0e2e8dd2ed513a45cf24110b8877603804c7a82c1337ea7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and build composite models",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Design and build semantic models",
            "group_number": 6,
            "objective_number": 7,
            "objective_wording_sha256": "757dfa15bca8d186b051cf1b565f6dbde82a7b1a5ad1ddf13962c4704ae891af",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model design and storage mode",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Model design and storage mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e878efb6a1c5b95dee64f0281fd8e2e8aa3b38d577eff13d6942153516a91169",
                "start_line": 212,
                "end_line": 233,
                "span_lf_sha256": "af3f31e3ee4f1dcfc0e2e8dd2ed513a45cf24110b8877603804c7a82c1337ea7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement performance improvements in queries and report visuals",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Optimize enterprise-scale semantic models",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "06d630e25d00f465883a783aa4716a330c22faa112966d38bec995a3faf99ace",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Security and performance at enterprise scale",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Security and performance at enterprise scale"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c45ef210df3ebecdef962c2c3e1becbb0109e9607da431b6a8555e6e3bbbda6c",
                "start_line": 260,
                "end_line": 277,
                "span_lf_sha256": "4b9a99287964ed46f94b9a71ea674f755f66fdfe391f884fc5315461fe830503"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Improve DAX performance",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Optimize enterprise-scale semantic models",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "56bf3d24f5aca8a7249f2c08cb816e8d69a3bd9669ba0ce2e65f9d9ad2cf6f92",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Security and performance at enterprise scale",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Security and performance at enterprise scale"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c45ef210df3ebecdef962c2c3e1becbb0109e9607da431b6a8555e6e3bbbda6c",
                "start_line": 260,
                "end_line": 277,
                "span_lf_sha256": "4b9a99287964ed46f94b9a71ea674f755f66fdfe391f884fc5315461fe830503"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Direct Lake, including default fallback and refresh behavior",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Optimize enterprise-scale semantic models",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "0aae9be298a7f780990687c689922bb517fdeaee41012a3a7821248d0eadb3f7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model design and storage mode",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Model design and storage mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e878efb6a1c5b95dee64f0281fd8e2e8aa3b38d577eff13d6942153516a91169",
                "start_line": 212,
                "end_line": 233,
                "span_lf_sha256": "af3f31e3ee4f1dcfc0e2e8dd2ed513a45cf24110b8877603804c7a82c1337ea7"
              },
              {
                "heading": "Worked example — A source write is not a completed model refresh",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Worked example — A source write is not a completed model refresh"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2f7d49e0de2b0ed9f0f72e666a44fef6858a0088906e24c2d302cc023e87cdf2",
                "start_line": 234,
                "end_line": 247,
                "span_lf_sha256": "626afc34da69b9293a18519f5b5126444bdd08b64338b96d2b000a2f898ca942"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between Direct Lake on OneLake and Direct Lake on SQL analytics endpoint",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Optimize enterprise-scale semantic models",
            "group_number": 7,
            "objective_number": 4,
            "objective_wording_sha256": "157abe74fdf8337ad2eacc14d2fab07db9b58920284e3b56959acc872d16509a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Model design and storage mode",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Model design and storage mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e878efb6a1c5b95dee64f0281fd8e2e8aa3b38d577eff13d6942153516a91169",
                "start_line": 212,
                "end_line": 233,
                "span_lf_sha256": "af3f31e3ee4f1dcfc0e2e8dd2ed513a45cf24110b8877603804c7a82c1337ea7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement incremental refresh for semantic models",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage semantic models (25–30%)",
            "group": "Optimize enterprise-scale semantic models",
            "group_number": 7,
            "objective_number": 5,
            "objective_wording_sha256": "2ef1d5b488051eac2728388758c3cdf7a9dc2cc300c6483cc29a041c2696d45c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Worked example — A source write is not a completed model refresh",
                "heading_path": [
                  "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
                  "3. Implement and manage semantic models",
                  "Worked example — A source write is not a completed model refresh"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2f7d49e0de2b0ed9f0f72e666a44fef6858a0088906e24c2d302cc023e87cdf2",
                "start_line": 234,
                "end_line": 247,
                "span_lf_sha256": "626afc34da69b9293a18519f5b5126444bdd08b64338b96d2b000a2f898ca942"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-dp-600.txt",
        "final_diff_lf_sha256": "f82056d6fb391f5db1f284018018fe06f1d70641014b90b848fd0731aa861603"
      },
      {
        "exam_code": "AI-500",
        "guide_path": "guides/AI-500-designing-implementing-multi-agent-ai-solutions.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/AI-500-designing-implementing-multi-agent-ai-solutions.md",
        "guide_lf_sha256": "bb2b8bf2cac8d52e09212a25308d9f0cf079a3f00a152f5e7a5d1445ec735d24",
        "live_matches_captured_final": true,
        "line_count": 919,
        "immutable_before_guide_lf_sha256": "ec362f9caebe568c783fc5c144c7d2aa2d96ef93b650f5517fcc8c4ae0f1af80",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/ai-500-official-objectives.txt",
        "objective_raw_sha256": "498ed5ca3e5f1ac958dedea4b84cb33a34a8ff0f5aa239540fd7283bc41360e8",
        "objective_count": 55,
        "group_count": 12,
        "initial_example_gaps": 0,
        "resolved_example_gaps": 0,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Decompose goals and objectives into workflows, agents, and tools",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Design logical architecture for multi-agent solutions",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "90aede88bca9de717d9d60572f020fb187a6279227efbc22379fdb89ba3c6570",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Decompose goals into observable work",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "1. Start with an architecture contract",
                  "Decompose goals into observable work"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b1face2654680e44232df644c29026939d23536b4c4d2042ebf8f35129444253",
                "start_line": 116,
                "end_line": 132,
                "span_lf_sha256": "ec58edbb8cc629e14b7cc2d1de53709057476da0b2de4dee06739919ffe51971"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design workflows, including agents, subagents, control loops, and human-in-the-loop",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Design logical architecture for multi-agent solutions",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "01da96ac94f51d4c0c17d33caf326811ce7ea8359d3fbbf8b6b9fcf356812242",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select an orchestration topology",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "1. Start with an architecture contract",
                  "Select an orchestration topology"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a4a7f6e4bd3a7de57063aa787ee62c22c81d10dab17f8544de399bc78b16ef48",
                "start_line": 159,
                "end_line": 174,
                "span_lf_sha256": "4f09d9e83075ba09e43b5b04d0c3ccaf94e87238bf098b9a8e680d446b7d8378"
              },
              {
                "heading": "Design control loops and human-in-the-loop",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "1. Start with an architecture contract",
                  "Design control loops and human-in-the-loop"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8d9695770164c0dc3d704bb6a4059bc21de56ebff5cc6f10380e214e521eae39",
                "start_line": 179,
                "end_line": 190,
                "span_lf_sha256": "ea16dffc14f9c2c55c1b42028dcef580c917cf912d730d9510f21186477d77e3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify agent personas, scopes, boundaries, autonomy levels, and behavioral guidelines",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Design logical architecture for multi-agent solutions",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "2b44179dd655a0fa174f5825663e2877244bfe299154df1868690a4ae9194e80",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Define personas, scope, and autonomy",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "1. Start with an architecture contract",
                  "Define personas, scope, and autonomy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "16fbb861ee98040f86e27823d122f01a88458176f699b98dab6cae40bcf9caed",
                "start_line": 133,
                "end_line": 158,
                "span_lf_sha256": "eb9e4574f74c7335bbd395f894cb189ab3715df4d0e2d2b5c0d606baa6d94502"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify tool scopes, permission boundaries, and authentication methods",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Design logical architecture for multi-agent solutions",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "bae667307cce286bc0187a0c538d176251d507a74072e8720531ead445e8c9bd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Apply Zero Trust per agent",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Apply Zero Trust per agent"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "34702ee2c85076128b91e175e4b485b6c826b1155aaf0d4938f8a32e26eec032",
                "start_line": 216,
                "end_line": 231,
                "span_lf_sha256": "7581df96f68875af7c57bf35cb1dd91018b447dc125f9338623da128e35f5674"
              },
              {
                "heading": "Design function tools",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Design function tools"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc030b0082e6b6b812e0664bb7e715b11b9fb29c17cb1f4e865914f1d2e0ceff",
                "start_line": 374,
                "end_line": 389,
                "span_lf_sha256": "87552e7c04f5f947fc1e3e5052021cd8c23d7368df988abe8aed8e7d0fce4b31"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify appropriate protocols for communication, including between multiple agents and between agents and other components",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Design logical architecture for multi-agent solutions",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "2b5f10b6e5871496f2bda00fd3b613ff408baa835e4d6e44227e31582c3eb92a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Separate coordination protocols from tool protocols",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Separate coordination protocols from tool protocols"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "aeab4ebbd1a25bcc519ad6726da7b7520ca50dfaf8d484dc5b2ec490de951dc1",
                "start_line": 193,
                "end_line": 215,
                "span_lf_sha256": "9e18353f1b9878f6dc52f8db5fcebcb5e25b3083a7b7a10565c0db081ebbe175"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design controls and functionality to support human-AI experience (HAX) and to adhere to responsible AI principles",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Design logical architecture for multi-agent solutions",
            "group_number": 1,
            "objective_number": 6,
            "objective_wording_sha256": "85b8ee12cae4c9131bbb90e5aaeb9f800df3e817bf760cdfa134341f5f10286e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Define personas, scope, and autonomy",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "1. Start with an architecture contract",
                  "Define personas, scope, and autonomy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "16fbb861ee98040f86e27823d122f01a88458176f699b98dab6cae40bcf9caed",
                "start_line": 133,
                "end_line": 158,
                "span_lf_sha256": "eb9e4574f74c7335bbd395f894cb189ab3715df4d0e2d2b5c0d606baa6d94502"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design short-term and long-term memory architectures, including context sharing",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Design logical architecture for multi-agent solutions",
            "group_number": 1,
            "objective_number": 7,
            "objective_wording_sha256": "f6a02fd3866efa702019d5a74402b31b7421acf07b93055b541fb868856f233c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Use a multi-tier state and memory model",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Use a multi-tier state and memory model"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6da81e127689ec5351d695efe31c823ee2454c0ab5a5359df917c0fbdf5afd5b",
                "start_line": 240,
                "end_line": 255,
                "span_lf_sha256": "be6dfd88c547b9b1810cbfee373c67b409c2b95893fd82919afa23f39536b8c9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Match task demands to model family capacities",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Design logical architecture for multi-agent solutions",
            "group_number": 1,
            "objective_number": 8,
            "objective_wording_sha256": "57f1405c472408f400c208de3825f952ddf0585019e8904ddd0b7a2217e6ce20",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Match model family to task demand",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Match model family to task demand"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "121a493a4b5fd0c56271d93cc5a8921fad0b98931e203106f8388cb6ad44b6c5",
                "start_line": 256,
                "end_line": 263,
                "span_lf_sha256": "cd6bd558d778e35bd31e40b30f62be57d3be1fdd9d3a469bcdd1c6517e425e8c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify integration components to coordinate agent-to-agent communication, agent-to-tool interactions, and agent-to-knowledge-source routing across a multi-agent production system",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Specify technology components to include in a multi-agent solution",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "cb3d269669f3c90dfc37ac9fe60356ca6ebcb77a24efcdcb1e85eb5c61a6974d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Separate coordination protocols from tool protocols",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Separate coordination protocols from tool protocols"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "aeab4ebbd1a25bcc519ad6726da7b7520ca50dfaf8d484dc5b2ec490de951dc1",
                "start_line": 193,
                "end_line": 215,
                "span_lf_sha256": "9e18353f1b9878f6dc52f8db5fcebcb5e25b3083a7b7a10565c0db081ebbe175"
              },
              {
                "heading": "Engineer multi-agent RAG",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Engineer multi-agent RAG"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c9251a63757d1a3d2e21c66e05465b18ecf93ca8e50d5ef51dff4d714fd702f8",
                "start_line": 353,
                "end_line": 367,
                "span_lf_sha256": "7b26b38b69a158aec340aadb93573dbf009bdfc148d86371ff89dd0b68415590"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify components for Zero Trust multi-agent solutions, including per-agent identity scoping, lateral movement prevention, and compliance control mapping for regulated deployments",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Specify technology components to include in a multi-agent solution",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "db58415c284e24557b1751be3d4ca133054703b793abeb899a8db39d6ddd9bea",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Apply Zero Trust per agent",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Apply Zero Trust per agent"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "34702ee2c85076128b91e175e4b485b6c826b1155aaf0d4938f8a32e26eec032",
                "start_line": 216,
                "end_line": 231,
                "span_lf_sha256": "7581df96f68875af7c57bf35cb1dd91018b447dc125f9338623da128e35f5674"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify multi-tier state persistence components that address session state, shared team state, and long-term semantic memory with lifecycle and tenant-isolation policies",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Specify technology components to include in a multi-agent solution",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "6015279ad14617adcde219093f4693d712bc25a04132084b1471a497f1f80485",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Use a multi-tier state and memory model",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Use a multi-tier state and memory model"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6da81e127689ec5351d695efe31c823ee2454c0ab5a5359df917c0fbdf5afd5b",
                "start_line": 240,
                "end_line": 255,
                "span_lf_sha256": "be6dfd88c547b9b1810cbfee373c67b409c2b95893fd82919afa23f39536b8c9"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify compute components for multi-agent solutions that meet scalability, reliability, operational efficiency, security, and cost requirements",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Specify technology components to include in a multi-agent solution",
            "group_number": 2,
            "objective_number": 4,
            "objective_wording_sha256": "1e46366756cf8a8cf148aa187d3b0c6147f4afb42f29f64834a8eb144b745935",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design compute and developer environments",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Design compute and developer environments"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "21fd65442ce3f5a90337e228a6353bc825e2d58c1f8359f9034146f6b058f429",
                "start_line": 264,
                "end_line": 271,
                "span_lf_sha256": "45f4a1055855cc1287bfccdc6a82bc243551b75fa83e42aa63a1ddb2e3a34c0d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify observability components, including cross-service trace correlation, structured logging of agent reasoning paths, and agent replay capture for reproducible debugging",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Specify technology components to include in a multi-agent solution",
            "group_number": 2,
            "objective_number": 5,
            "objective_wording_sha256": "247f3c56dc17d5011ef7be6a4714ca8b9befe9b058978ae3683674af276339a6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build observability into the design",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Build observability into the design"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0761d6b7a81ab923085cda2e63c67d0d5712c9b404785aaafa52469ba25223f3",
                "start_line": 272,
                "end_line": 286,
                "span_lf_sha256": "56dcc15534e4d1b15bbb26b429f268873a8c1e063a7427d28bf10673a5c9dc02"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify monitoring components, including cross-agent coordination tracking, behavioral drift and quality regression detection, and automated remediation for agent failure patterns",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Specify technology components to include in a multi-agent solution",
            "group_number": 2,
            "objective_number": 6,
            "objective_wording_sha256": "a97f4c4bbef4385ecbf9d0511b976ddf010bfa0d8f0747eed1f356cbc61bcaca",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor reliability, tokens, and cost",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Monitor reliability, tokens, and cost"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3650cc4a3e367cde3b955afd3d6afba7622fe63a506a74c81260b87fa700ed02",
                "start_line": 560,
                "end_line": 569,
                "span_lf_sha256": "db3d0d4a723b062d1125d1c0ac134ef76624c458556514c53e0320b340ad1acd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify developer tools and environment to support the Software Development Lifecycle (SDLC), including dev containers, Visual Studio Code extensions, command-line interface (CLI), dependency management, and AI instructions",
            "version": "Skills measured",
            "domain": "Architect multi-agent solutions (15–20%)",
            "group": "Specify technology components to include in a multi-agent solution",
            "group_number": 2,
            "objective_number": 7,
            "objective_wording_sha256": "43c14c25e89dc904be387e26810b99938d8bf606d682ce162ed1684b8333c550",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design compute and developer environments",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Design compute and developer environments"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "21fd65442ce3f5a90337e228a6353bc825e2d58c1f8359f9034146f6b058f429",
                "start_line": 264,
                "end_line": 271,
                "span_lf_sha256": "45f4a1055855cc1287bfccdc6a82bc243551b75fa83e42aa63a1ddb2e3a34c0d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement advanced prompt engineering techniques, including examples, dynamic context injection, defensive guidelines, and prompt lifecycle management",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Design and implement advanced prompt engineering strategies in multi-agent solutions",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "9c66d1de35d734c8e71e408f668c232be76fa1c675b861dea543ad5afd3ea3ec",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Treat prompts as versioned program inputs",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "3. Engineer prompts, context, and memory",
                  "Treat prompts as versioned program inputs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3d2e8674a8c9bf95c80b9023c7604bffd79eebee462c03a2ffd7fa6c03609a50",
                "start_line": 289,
                "end_line": 301,
                "span_lf_sha256": "f85d261bc677517607cd290c2436fdda795003cd0e276f9e05f764e28f10133f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement context-aware multi-agent behaviors",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Design and implement advanced prompt engineering strategies in multi-agent solutions",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "5a37c3300eef26611c5d89260a73ddfcc19b5742b0085dbc57c39889d31a81a6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build context intentionally",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "3. Engineer prompts, context, and memory",
                  "Build context intentionally"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "91cf85135583740645e1712a5ad5b1951c56013fbad762b1cb3c5b6a5d412b6a",
                "start_line": 302,
                "end_line": 315,
                "span_lf_sha256": "762f4f4bcb710026a0e6b8e314dae51a9305275237bffcb2f3035ffeccc57823"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a strategy for fine-tuning agents and models, including data and frequency",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Design and implement advanced prompt engineering strategies in multi-agent solutions",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "49406a5ca8f086675f9f0d1caa6a27b7f74d5b28bce835f05e9db24098032901",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose prompting, RAG, memory, or fine-tuning",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "3. Engineer prompts, context, and memory",
                  "Choose prompting, RAG, memory, or fine-tuning"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7a0c308b4c7f3b2d809afc33c8d8dcfac2cc8d2f15c0f3e20b9638605dfc0df5",
                "start_line": 320,
                "end_line": 331,
                "span_lf_sha256": "b92503371b8bb43cfdad7ce7510da4304181a6e983d2bbca590ebd1f8ba3de16"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement context management in single agents and between agents, including context accumulation, retrieval, injection, and compaction",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Design and implement agent memory, context management, and knowledge integration",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "4b65ed5015a7846dbd65517f3dcd2edd18eedb337e7c7f40f0f0e102bcf1a09f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build context intentionally",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "3. Engineer prompts, context, and memory",
                  "Build context intentionally"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "91cf85135583740645e1712a5ad5b1951c56013fbad762b1cb3c5b6a5d412b6a",
                "start_line": 302,
                "end_line": 315,
                "span_lf_sha256": "762f4f4bcb710026a0e6b8e314dae51a9305275237bffcb2f3035ffeccc57823"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement single-agent and multi-agent memory strategies, including security, compliance, lifecycle, storage, and session management",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Design and implement agent memory, context management, and knowledge integration",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "cea024868452ec9b3524338ac8934641634b751e56aeff45a31f733587c89321",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design secure memory operations",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "3. Engineer prompts, context, and memory",
                  "Design secure memory operations"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "76cb16b47691145a97b2e6cb49b47c2a32e8b8db7265c23fd7cee113a4f0bdf8",
                "start_line": 332,
                "end_line": 350,
                "span_lf_sha256": "453c0af8c6e29e3e05b47653da8b9c1fa9e2d6e484052ba1ec6dad4f34967476"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a multi-agent RAG architecture, including chunking, embedding quality, and retrieval precision",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Design and implement agent memory, context management, and knowledge integration",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "09422b7786b4d3e59ae205fa6b2e63f502ff29469d1da109c89eb11bc406211e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Engineer multi-agent RAG",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Engineer multi-agent RAG"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c9251a63757d1a3d2e21c66e05465b18ecf93ca8e50d5ef51dff4d714fd702f8",
                "start_line": 353,
                "end_line": 367,
                "span_lf_sha256": "7b26b38b69a158aec340aadb93573dbf009bdfc148d86371ff89dd0b68415590"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement knowledge integration for multi-agent consumption, including search, RAG, MCP-available sources, and semantic search",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Design and implement agent memory, context management, and knowledge integration",
            "group_number": 4,
            "objective_number": 4,
            "objective_wording_sha256": "3dde23dacf31cae5a3317884a5869524498b9529f15e173905f05ecb9665e32b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Engineer multi-agent RAG",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Engineer multi-agent RAG"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c9251a63757d1a3d2e21c66e05465b18ecf93ca8e50d5ef51dff4d714fd702f8",
                "start_line": 353,
                "end_line": 367,
                "span_lf_sha256": "7b26b38b69a158aec340aadb93573dbf009bdfc148d86371ff89dd0b68415590"
              },
              {
                "heading": "Build and govern MCP integrations",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Build and govern MCP integrations"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "64db1b49634cf068e3abd8ef758c98a91d52c24a1d87ee28136c2015bee97b7f",
                "start_line": 390,
                "end_line": 399,
                "span_lf_sha256": "461eeb6fd53f7491b2473e20ae4755638bbe18442a9f8a32dad12f92a7d42f37"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Integrate external resources, including function calling, specified tool use, and dynamic tool use",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Build and integrate tool ecosystems",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "ea906393e41f43974b50ccd154c4d25d22a986c32382ae3d37a92acd359c5d22",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design function tools",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Design function tools"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc030b0082e6b6b812e0664bb7e715b11b9fb29c17cb1f4e865914f1d2e0ceff",
                "start_line": 374,
                "end_line": 389,
                "span_lf_sha256": "87552e7c04f5f947fc1e3e5052021cd8c23d7368df988abe8aed8e7d0fce4b31"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and build MCP servers and clients, including Azure Functions, Azure Logic Apps, and Azure API Management",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Build and integrate tool ecosystems",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "77ff2128d0df366dc11f1469b18ac987481fa806803705dbac32e7c414c025ff",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and govern MCP integrations",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Build and govern MCP integrations"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "64db1b49634cf068e3abd8ef758c98a91d52c24a1d87ee28136c2015bee97b7f",
                "start_line": 390,
                "end_line": 399,
                "span_lf_sha256": "461eeb6fd53f7491b2473e20ae4755638bbe18442a9f8a32dad12f92a7d42f37"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design tool error-handling and fallback mechanisms",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Build and integrate tool ecosystems",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "08f29167c3d9b4260f7c40ad651562613a491393c06f9efa4f8fd14e2655ec23",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design function tools",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Design function tools"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc030b0082e6b6b812e0664bb7e715b11b9fb29c17cb1f4e865914f1d2e0ceff",
                "start_line": 374,
                "end_line": 389,
                "span_lf_sha256": "87552e7c04f5f947fc1e3e5052021cd8c23d7368df988abe8aed8e7d0fce4b31"
              },
              {
                "heading": "Build and govern MCP integrations",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Build and govern MCP integrations"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "64db1b49634cf068e3abd8ef758c98a91d52c24a1d87ee28136c2015bee97b7f",
                "start_line": 390,
                "end_line": 399,
                "span_lf_sha256": "461eeb6fd53f7491b2473e20ae4755638bbe18442a9f8a32dad12f92a7d42f37"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement tool result validation and quality checks",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Build and integrate tool ecosystems",
            "group_number": 5,
            "objective_number": 4,
            "objective_wording_sha256": "daf70b5da89ba5e7e4b706f8500c480acf0f7ee99503960813fbb82aebf926b8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design function tools",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Design function tools"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc030b0082e6b6b812e0664bb7e715b11b9fb29c17cb1f4e865914f1d2e0ceff",
                "start_line": 374,
                "end_line": 389,
                "span_lf_sha256": "87552e7c04f5f947fc1e3e5052021cd8c23d7368df988abe8aed8e7d0fce4b31"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement multi-agent orchestration patterns, including hub-and-spoke, sequential, parallel, peer-to-peer, and orchestrator-subagent",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Implement multi-agent orchestration",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "245c4870d7d27bbd1b09daffcd88e5b17c6b3bbc303be6c874cdbc38c0a2ade1",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select an orchestration topology",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "1. Start with an architecture contract",
                  "Select an orchestration topology"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a4a7f6e4bd3a7de57063aa787ee62c22c81d10dab17f8544de399bc78b16ef48",
                "start_line": 159,
                "end_line": 174,
                "span_lf_sha256": "4f09d9e83075ba09e43b5b04d0c3ccaf94e87238bf098b9a8e680d446b7d8378"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement human-in-the-loop processes, including approval workflows, overrides, and edge case handling",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Implement multi-agent orchestration",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "b6a2c08465235927d7a51e7c9958c6004a9bc55957b1d1a1c73e2c7a439e3146",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Make human intervention a workflow state",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "5. Implement orchestration and reusable code",
                  "Make human intervention a workflow state"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "52e26e8d93b1651d159b58dc7846feed0cf883fbc74cb337b390144e940dabc1",
                "start_line": 425,
                "end_line": 437,
                "span_lf_sha256": "0cf4591f0ce18ca11189883fd48f5533b5369910e185c0d8a90732e10af510ee"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a caching strategy, including prompt caching, semantic caching, and response caching",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Implement multi-agent orchestration",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "a2f364bf61dd2c723d8579c654c3a8bad2050b2ae851a0343cecfe15998f180a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Control caching and concurrency",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "Control caching and concurrency"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f70fe362512e7557b926b646fd746ab2a3e5082fa8590a3d0aec3889066d8fb2",
                "start_line": 479,
                "end_line": 491,
                "span_lf_sha256": "56fdce68047fa8784f622e44177337f3d73e638c9844cf8793e4a7e9bff3d8ac"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement scaling and control of multi-agent spawning, batching, and concurrent execution",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Implement multi-agent orchestration",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "867a9ff18ac3ffd66d9fdd8d46e2d015185c93e3a271864cd59b8d63f836f998",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Control caching and concurrency",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "Control caching and concurrency"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f70fe362512e7557b926b646fd746ab2a3e5082fa8590a3d0aec3889066d8fb2",
                "start_line": 479,
                "end_line": 491,
                "span_lf_sha256": "56fdce68047fa8784f622e44177337f3d73e638c9844cf8793e4a7e9bff3d8ac"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Integrate existing agents into a multi-agent solution securely by using Agent2Agent (A2A) and/or MCP",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Implement multi-agent orchestration",
            "group_number": 6,
            "objective_number": 5,
            "objective_wording_sha256": "3e1395737313e63e156e0bbfe5d41345a450a0744f0531ffcc074f932a98a50f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect existing agents through A2A or MCP",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "4. Build knowledge and tools",
                  "Connect existing agents through A2A or MCP"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "9060cad229acf8f8f8d3a5d3b2294ba2924699b2b5fd0bf9f9fd43157f81991d",
                "start_line": 400,
                "end_line": 403,
                "span_lf_sha256": "a489ae9cf89bc30f02602e093868749075abcef4c559266ef33da4f2f084dd24"
              },
              {
                "heading": "Separate coordination protocols from tool protocols",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Separate coordination protocols from tool protocols"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "aeab4ebbd1a25bcc519ad6726da7b7520ca50dfaf8d484dc5b2ec490de951dc1",
                "start_line": 193,
                "end_line": 215,
                "span_lf_sha256": "9e18353f1b9878f6dc52f8db5fcebcb5e25b3083a7b7a10565c0db081ebbe175"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement multi-agent orchestration frameworks, including Agent Framework, LangChain, and LangGraph",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Implement multi-agent orchestration",
            "group_number": 6,
            "objective_number": 6,
            "objective_wording_sha256": "4de9dab2c632220d89932ce96ce573a7d522fe4ed183b5cdc6b953dd53f2f6a8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select a framework without surrendering architecture",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "5. Implement orchestration and reusable code",
                  "Select a framework without surrendering architecture"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "efefaafc2e7941bd718c240da710d16c2296897761ae657c50af2ba598e09458",
                "start_line": 406,
                "end_line": 418,
                "span_lf_sha256": "71cecc7880fbaa96fd9fb7166f7d333f4a165c8302b8ad92ca9fa01df25511c5"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement advanced multi-agent capabilities by using Hugging Face Transformers",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Implement multi-agent orchestration",
            "group_number": 6,
            "objective_number": 7,
            "objective_wording_sha256": "9b3e3497361abf505781be0638f1ea8d460b9d0b0b908378f751254b0e957021",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement a model component behind the orchestration boundary",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "5. Implement orchestration and reusable code",
                  "Implement a model component behind the orchestration boundary"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2c132bb8c05c0cdca6f1a1b0410771738be4f2251e80f2831948b84209650935",
                "start_line": 419,
                "end_line": 424,
                "span_lf_sha256": "ea64c901065943b56c3ad3fc687573d25cb418e764397858b148f60ebe5dc051"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design middleware for reusable capabilities across the solution, including logging, authorization, and exception handling",
            "version": "Skills measured",
            "domain": "Develop multi-agent solutions in Azure (30–35%)",
            "group": "Implement multi-agent orchestration",
            "group_number": 6,
            "objective_number": 8,
            "objective_wording_sha256": "6a4dd2b0b451bcdd24df608f664ec9773b7eaa09948f75b0880755ff7b1af230",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build middleware for cross-cutting policy",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "Build middleware for cross-cutting policy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "31fed9322b151d0a207641b15d8ee47c9ea09d5adc73101150445c99fb9c98a1",
                "start_line": 492,
                "end_line": 495,
                "span_lf_sha256": "df9bbc4e70f36508412faad3b68f78c5c0cace24985a004f0e7824b0e59b4773"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a human review process to evaluate solutions in Foundry",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Design and implement evaluation and validation strategies for multi-agent solutions",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "9730895a15f5519af4150c36dbebf3e5bbc7acf21ca85ebd43d8360d773cf070",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Evaluate components and the whole workflow",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Evaluate components and the whole workflow"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "43d4fbf3e3746ac113a257a10a54e92b81bd5be2a89b26ec8aeaf0b3b7096ec2",
                "start_line": 498,
                "end_line": 515,
                "span_lf_sha256": "4be37d6a3f08df27f55282a4c460ab358161ace1ee6d4361279174ad06359a88"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement evaluations for memory, knowledge, tools, and prompts",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Design and implement evaluation and validation strategies for multi-agent solutions",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "e06eae09191f83b7adbd0473688589be336bf3243ee533955a6c50a12ce3563c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Evaluate components and the whole workflow",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Evaluate components and the whole workflow"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "43d4fbf3e3746ac113a257a10a54e92b81bd5be2a89b26ec8aeaf0b3b7096ec2",
                "start_line": 498,
                "end_line": 515,
                "span_lf_sha256": "4be37d6a3f08df27f55282a4c460ab358161ace1ee6d4361279174ad06359a88"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize task duration, including parallelism and rate limits",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Optimize prompt and model performance for multi-agent solutions",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "3fd919c3f6f9d3cbd366da6875777f2cad3aaa449b8ba10842369ad2c5f20ef4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Test execution behavior",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Test execution behavior"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "dc6899b6b6e0f1de1abde88ca7d0e99299b9969017b64cf9905b471da470d5e6",
                "start_line": 520,
                "end_line": 532,
                "span_lf_sha256": "37ba8f022e9771f32b77a9bb8f7a7c5520cd05d4f79f352ca99344644efc96d6"
              },
              {
                "heading": "Worked example 1 — Parallel latency still consumes shared capacity",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "1. Start with an architecture contract",
                  "Worked example 1 — Parallel latency still consumes shared capacity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8fb0a071fa37da7672938f81e34e574972ae4870f7df733a129107921397e4f6",
                "start_line": 175,
                "end_line": 178,
                "span_lf_sha256": "09cced87f3d92cd95573f3fa86ed333e7ee9dd92abb57aad4db9bd633fb5a038"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Diagnose context window issues, including sliding-window amnesia, summary drift, vector-only recall, and entity continuity issues",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Optimize prompt and model performance for multi-agent solutions",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "6c1862da8ce5d8e934d9b5ac76ba12dc5fb6ddb11d02495c51b36d666ebdd89e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Diagnose continuity failures",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Diagnose continuity failures"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0086e2a48be97f3e924f43b1ddaab793e2a4fde69d5f5f650e52dad3aa643b26",
                "start_line": 533,
                "end_line": 544,
                "span_lf_sha256": "db09c02a7cb19dfc4a943af0614ff70ef3e05b02c1b7d269ac581a436a00a760"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement continuous improvement, including large language model–as-a-judge (LLM-as-a-judge) frameworks, synthetic data generation, semantic optimization loops, and user feedback loops",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Optimize prompt and model performance for multi-agent solutions",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "43f3a29941319cd7ffd7742c5d479e42e0fb91e2bdf192492689a69ed7c8424e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Create continuous-improvement loops safely",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Create continuous-improvement loops safely"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "033b59c001b1a73dbde13fbbf936384522581e01c7ab90848a8de23b25b7adc6",
                "start_line": 545,
                "end_line": 559,
                "span_lf_sha256": "de2dd7e176e149c37e699f0278bacda7aae617dbc0e269d3425a94df7e7e1047"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design a strategy for monitoring reliability, including agent health, workflow failures, trace correlation, drift detection, quality regression, and remediation",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Design and implement observability and monitoring for multi-agent solutions",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "fb64ba955fde4a8143ca27c994930ef2586b8bdd3402dc5fb29a0fa6f392894c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor reliability, tokens, and cost",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Monitor reliability, tokens, and cost"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3650cc4a3e367cde3b955afd3d6afba7622fe63a506a74c81260b87fa700ed02",
                "start_line": 560,
                "end_line": 569,
                "span_lf_sha256": "db3d0d4a723b062d1125d1c0ac134ef76624c458556514c53e0320b340ad1acd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design a strategy for monitoring solution and platform availability, performance, reliability, and service-level agreement adherence",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Design and implement observability and monitoring for multi-agent solutions",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "24e291b0166aa98e1c298b7d400961ff5d6d5a15aacf1143871fff64c15790e2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor reliability, tokens, and cost",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Monitor reliability, tokens, and cost"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3650cc4a3e367cde3b955afd3d6afba7622fe63a506a74c81260b87fa700ed02",
                "start_line": 560,
                "end_line": 569,
                "span_lf_sha256": "db3d0d4a723b062d1125d1c0ac134ef76624c458556514c53e0320b340ad1acd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a strategy for optimizing token usage, including token limits, loop controls, and tool calls",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Design and implement observability and monitoring for multi-agent solutions",
            "group_number": 9,
            "objective_number": 3,
            "objective_wording_sha256": "f6198d301b269392972add9b20c32971b87cd80b7034c0d8774144b6b30ba6f1",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor reliability, tokens, and cost",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Monitor reliability, tokens, and cost"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3650cc4a3e367cde3b955afd3d6afba7622fe63a506a74c81260b87fa700ed02",
                "start_line": 560,
                "end_line": 569,
                "span_lf_sha256": "db3d0d4a723b062d1125d1c0ac134ef76624c458556514c53e0320b340ad1acd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design a strategy for monitoring and managing cost, including usage, quotas, allocations, and chargebacks",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Design and implement observability and monitoring for multi-agent solutions",
            "group_number": 9,
            "objective_number": 4,
            "objective_wording_sha256": "fc7534dbaa41de4962a902708dd343031526015d1596f196a702e31a7557f19c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor reliability, tokens, and cost",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Monitor reliability, tokens, and cost"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3650cc4a3e367cde3b955afd3d6afba7622fe63a506a74c81260b87fa700ed02",
                "start_line": 560,
                "end_line": 569,
                "span_lf_sha256": "db3d0d4a723b062d1125d1c0ac134ef76624c458556514c53e0320b340ad1acd"
              },
              {
                "heading": "Worked example 6 — Compare cost per valid outcome",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Worked example 6 — Compare cost per valid outcome"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "4b5d25fc98885d8d384c6791c434111bbe205f6b75954c40f95aa90445abab6e",
                "start_line": 570,
                "end_line": 573,
                "span_lf_sha256": "187e832b58a012581f4e2aec89b85697298f2bf53b0683647c6c50991c137ec6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement tracing in Foundry, including tokens, prompts, correlation IDs, alerting, and execution tracking",
            "version": "Skills measured",
            "domain": "Evaluate, optimize, and monitor multi-agent solutions (20–25%)",
            "group": "Design and implement observability and monitoring for multi-agent solutions",
            "group_number": 9,
            "objective_number": 5,
            "objective_wording_sha256": "f7a7b4c999fb8bad98f2545c82c96e3e01dfea2093eecebac4de0592e0168f3c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build observability into the design",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Build observability into the design"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0761d6b7a81ab923085cda2e63c67d0d5712c9b404785aaafa52469ba25223f3",
                "start_line": 272,
                "end_line": 286,
                "span_lf_sha256": "56dcc15534e4d1b15bbb26b429f268873a8c1e063a7427d28bf10673a5c9dc02"
              },
              {
                "heading": "Monitor reliability, tokens, and cost",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "6. Evaluate, optimize, and operate the system",
                  "Monitor reliability, tokens, and cost"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3650cc4a3e367cde3b955afd3d6afba7622fe63a506a74c81260b87fa700ed02",
                "start_line": 560,
                "end_line": 569,
                "span_lf_sha256": "db3d0d4a723b062d1125d1c0ac134ef76624c458556514c53e0320b340ad1acd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify and implement resource access, including identity-based access, network boundaries, access control policies, and role-based access control (RBAC)",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Design and implement security for multi-agent solutions",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "2464b553a2c636a3286f434e9695389f2d8dc2190ad3dc24003a418ca7c91977",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build a resource-access matrix",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Build a resource-access matrix"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "55e2bf5b15a69070335baf481235640fd71665aa175874211162e4fdbfc677b2",
                "start_line": 576,
                "end_line": 581,
                "span_lf_sha256": "b65f3def362d38abb8953cce7d79215a07d512fcc9be474516df7215e5ac9644"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement authentication flows in a multi-agent solution, including user impersonation, on-behalf-of, API keys, and OAuth 2.0",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Design and implement security for multi-agent solutions",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "cba0e0cfb9a9554b4f71baaed43effda2b0e8f689d3c439134e38bd2fc3d7d5e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Apply Zero Trust per agent",
                "heading_path": [
                  "AI-500 Designing and Implementing Multi-Agent AI Solutions Study Guide",
                  "2. Choose protocols, identity, memory, models, and infrastructure",
                  "Apply Zero Trust per agent"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "34702ee2c85076128b91e175e4b485b6c826b1155aaf0d4938f8a32e26eec032",
                "start_line": 216,
                "end_line": 231,
                "span_lf_sha256": "7581df96f68875af7c57bf35cb1dd91018b447dc125f9338623da128e35f5674"
              },
              {
                "heading": "Build a resource-access matrix",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Build a resource-access matrix"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "55e2bf5b15a69070335baf481235640fd71665aa175874211162e4fdbfc677b2",
                "start_line": 576,
                "end_line": 581,
                "span_lf_sha256": "b65f3def362d38abb8953cce7d79215a07d512fcc9be474516df7215e5ac9644"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design the secrets management and retrieval approach for multi-agent solutions by using Azure Key Vault, including secrets, certificates, key rotation, role-based access to secrets, and encryption",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Design and implement security for multi-agent solutions",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "9ba61ef56d7d28a1cf04eee7b7f60ae93f8ef29d36691e853cc6c91a43e6a28a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build a resource-access matrix",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Build a resource-access matrix"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "55e2bf5b15a69070335baf481235640fd71665aa175874211162e4fdbfc677b2",
                "start_line": 576,
                "end_line": 581,
                "span_lf_sha256": "b65f3def362d38abb8953cce7d79215a07d512fcc9be474516df7215e5ac9644"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement shift-left security principles, including the AI Red Teaming Agent in Foundry",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Design and implement security for multi-agent solutions",
            "group_number": 10,
            "objective_number": 4,
            "objective_wording_sha256": "14bbe6302428be1626a8c68dd6941dd988f05a83e9ac012cad22c6cd9f55b438",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Shift left with adversarial testing",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Shift left with adversarial testing"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "18884c258bbc5a7e5ce633499dede249805e1b9ffb96c022a1f100028fa53e63",
                "start_line": 597,
                "end_line": 602,
                "span_lf_sha256": "c0241ad5fbf19b82da138e3f15d6f2e25add57443a9ae16339fc6e2a03d4d1c2"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a multi-intervention guardrail strategy covering user inputs, tool calls, tool responses, and outputs",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Design and implement guardrails for multi-agent solutions",
            "group_number": 11,
            "objective_number": 1,
            "objective_wording_sha256": "f280cca1bb238d1199db0f0ce449f8c34a11b13f97050789d60de530c3b719c9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Place guardrails at four intervention points",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Place guardrails at four intervention points"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ebfb36893665c8000d47dede3c1d7c7d10dbc92cebbb4acca614de1e8cb8d127",
                "start_line": 582,
                "end_line": 596,
                "span_lf_sha256": "789bafc6d1a8e3861f52c3b7e6e0a04908747c00211649831301ca779a0f233a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement custom guardrails for domain-specific constraints",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Design and implement guardrails for multi-agent solutions",
            "group_number": 11,
            "objective_number": 2,
            "objective_wording_sha256": "2787417d1dc09c2503bc4a1384c3b93b1c12065e9535dc2d68fc0a243e2fe4e0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Place guardrails at four intervention points",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Place guardrails at four intervention points"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ebfb36893665c8000d47dede3c1d7c7d10dbc92cebbb4acca614de1e8cb8d127",
                "start_line": 582,
                "end_line": 596,
                "span_lf_sha256": "789bafc6d1a8e3861f52c3b7e6e0a04908747c00211649831301ca779a0f233a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design guardrail testing and validation, including using synthetic data",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Design and implement guardrails for multi-agent solutions",
            "group_number": 11,
            "objective_number": 3,
            "objective_wording_sha256": "54f6b066c0a29205ec728b7bf3877d2fd872ae21f0c12cd087d3b514664179c4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Place guardrails at four intervention points",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Place guardrails at four intervention points"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ebfb36893665c8000d47dede3c1d7c7d10dbc92cebbb4acca614de1e8cb8d127",
                "start_line": 582,
                "end_line": 596,
                "span_lf_sha256": "789bafc6d1a8e3861f52c3b7e6e0a04908747c00211649831301ca779a0f233a"
              },
              {
                "heading": "Shift left with adversarial testing",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Shift left with adversarial testing"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "18884c258bbc5a7e5ce633499dede249805e1b9ffb96c022a1f100028fa53e63",
                "start_line": 597,
                "end_line": 602,
                "span_lf_sha256": "c0241ad5fbf19b82da138e3f15d6f2e25add57443a9ae16339fc6e2a03d4d1c2"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose a release methodology, including Development-Test-Acceptance-Production (DTAP), blue/green, and canary",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Deploy multi-agent solutions to Azure",
            "group_number": 12,
            "objective_number": 1,
            "objective_wording_sha256": "dae61be545287df2decc01f9da8d8758b6d5972f322699ba6f89401a41c4dbd4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design environment promotion and release",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Design environment promotion and release"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6aff084a671ec0e91271fe93e9795b96ad6af4373e4ab3a61e79982dd996b76a",
                "start_line": 603,
                "end_line": 627,
                "span_lf_sha256": "0f355e4673c7403b2a5f4ec87c9a7c2d8ce9c250068d2b1e99fe4ce64981235d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement multi-environment release strategies, including rollback strategies, release management, and rollout",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Deploy multi-agent solutions to Azure",
            "group_number": 12,
            "objective_number": 2,
            "objective_wording_sha256": "b237994517da40dee1c5caabfc22fff344b50799d701cc60f4df69117717e442",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design environment promotion and release",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Design environment promotion and release"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6aff084a671ec0e91271fe93e9795b96ad6af4373e4ab3a61e79982dd996b76a",
                "start_line": 603,
                "end_line": 627,
                "span_lf_sha256": "0f355e4673c7403b2a5f4ec87c9a7c2d8ce9c250068d2b1e99fe4ce64981235d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a strategy for testing, including unit tests, regression tests, integration tests, and automated evaluations",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Deploy multi-agent solutions to Azure",
            "group_number": 12,
            "objective_number": 3,
            "objective_wording_sha256": "c37377c59a8527ad356bc57da206e107ebf704c6ae5b8db920556f719890da9a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design environment promotion and release",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Design environment promotion and release"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6aff084a671ec0e91271fe93e9795b96ad6af4373e4ab3a61e79982dd996b76a",
                "start_line": 603,
                "end_line": 627,
                "span_lf_sha256": "0f355e4673c7403b2a5f4ec87c9a7c2d8ce9c250068d2b1e99fe4ce64981235d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Specify continuous integration and continuous deployment (CI/CD) requirements for integration and release, including infrastructure-as-code deployments and testing",
            "version": "Skills measured",
            "domain": "Secure, govern, and deploy multi-agent solutions (20–25%)",
            "group": "Deploy multi-agent solutions to Azure",
            "group_number": 12,
            "objective_number": 4,
            "objective_wording_sha256": "9eae096b7fa3e9caa4598e4c44d84c9b96beac07ba6ca8c0562ba78976f912c5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design environment promotion and release",
                "heading_path": [
                  "Imagine the caller lost the acknowledgement and retries the same request.",
                  "7. Secure, govern, test, and deploy",
                  "Design environment promotion and release"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6aff084a671ec0e91271fe93e9795b96ad6af4373e4ab3a61e79982dd996b76a",
                "start_line": 603,
                "end_line": 627,
                "span_lf_sha256": "0f355e4673c7403b2a5f4ec87c9a7c2d8ce9c250068d2b1e99fe4ce64981235d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-ai-500.txt",
        "final_diff_lf_sha256": "0b6a368dceb01c23361523660c1ce611d72d94a77125f96833de59e577056588"
      },
      {
        "exam_code": "MS-102",
        "guide_path": "guides/MS-102-microsoft-365-administrator.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/MS-102-microsoft-365-administrator.md",
        "guide_lf_sha256": "fb92093c5de09a0537203f916b380aad910107ad21396dc1a3a143be03b64bc3",
        "live_matches_captured_final": true,
        "line_count": 578,
        "immutable_before_guide_lf_sha256": "5a3823b062cb0c00372014c6e2dbfc7764d5614db3a67688efe8c2a2ab8a2536",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/ms-102-official-objectives.txt",
        "objective_raw_sha256": "97ce6b34e98fb43947409e8b7997f3de72e6cae7a62102dfdea849bfb177c92a",
        "objective_count": 54,
        "group_count": 12,
        "initial_example_gaps": 1,
        "resolved_example_gaps": 1,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Create a tenant",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Implement and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "5bbcbc85bd2f9f3c6d5aa17d792930309972e42b38244eb59cfc18fe5e2020d5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish the tenant boundary before configuring workloads",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Establish the tenant boundary before configuring workloads"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "29023b3b78a8a19b6dddff23a4e575878bbc44dff0bf9fdd400c669bf8dd74b4",
                "start_line": 91,
                "end_line": 111,
                "span_lf_sha256": "fd05164516b4cbb9ad4f5b48b7cd782af1a14a4874694d314c39bbf3966765c7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage domains",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Implement and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "5efd07df81edde1e81c9facea5fd3d51cd8818be7885bdda39e2a6f13c882849",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish the tenant boundary before configuring workloads",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Establish the tenant boundary before configuring workloads"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "29023b3b78a8a19b6dddff23a4e575878bbc44dff0bf9fdd400c669bf8dd74b4",
                "start_line": 91,
                "end_line": 111,
                "span_lf_sha256": "fd05164516b4cbb9ad4f5b48b7cd782af1a14a4874694d314c39bbf3966765c7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure org settings, including Security & privacy and Organization profile",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Implement and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "1e56c9e959ed5e5fcfb70ecd524f015205a5f7aeaf78bfec20fdf802efbed67f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish the tenant boundary before configuring workloads",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Establish the tenant boundary before configuring workloads"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "29023b3b78a8a19b6dddff23a4e575878bbc44dff0bf9fdd400c669bf8dd74b4",
                "start_line": 91,
                "end_line": 111,
                "span_lf_sha256": "fd05164516b4cbb9ad4f5b48b7cd782af1a14a4874694d314c39bbf3966765c7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor the health of Microsoft 365 services by using Service Health, including configuration of notifications",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Implement and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "0081d746ba9243112c6219104a5fd8faed304c30b621e1edf6ee16b452310e18",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish the tenant boundary before configuring workloads",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Establish the tenant boundary before configuring workloads"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "29023b3b78a8a19b6dddff23a4e575878bbc44dff0bf9fdd400c669bf8dd74b4",
                "start_line": 91,
                "end_line": 111,
                "span_lf_sha256": "fd05164516b4cbb9ad4f5b48b7cd782af1a14a4874694d314c39bbf3966765c7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and review Network connectivity insights",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Implement and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "e1a50e0b186d4e40779ccd6addec677121fa84e5c1749dd1573ee2aafa172802",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish the tenant boundary before configuring workloads",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Establish the tenant boundary before configuring workloads"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "29023b3b78a8a19b6dddff23a4e575878bbc44dff0bf9fdd400c669bf8dd74b4",
                "start_line": 91,
                "end_line": 111,
                "span_lf_sha256": "fd05164516b4cbb9ad4f5b48b7cd782af1a14a4874694d314c39bbf3966765c7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and monitor software updates by using the Microsoft 365 admin center",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Implement and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 6,
            "objective_wording_sha256": "ac3224106594fe7c6244b389c3e8b86d51f1f0c8070226edcd355de6d8b1cede",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish the tenant boundary before configuring workloads",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Establish the tenant boundary before configuring workloads"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "29023b3b78a8a19b6dddff23a4e575878bbc44dff0bf9fdd400c669bf8dd74b4",
                "start_line": 91,
                "end_line": 111,
                "span_lf_sha256": "fd05164516b4cbb9ad4f5b48b7cd782af1a14a4874694d314c39bbf3966765c7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor Microsoft 365 adoption and usage",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Implement and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 7,
            "objective_wording_sha256": "b675f58d8dda087ac6c7aedce91cb22a29f0329e496fa0ea30217b973f72224b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish the tenant boundary before configuring workloads",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Establish the tenant boundary before configuring workloads"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "29023b3b78a8a19b6dddff23a4e575878bbc44dff0bf9fdd400c669bf8dd74b4",
                "start_line": 91,
                "end_line": 111,
                "span_lf_sha256": "fd05164516b4cbb9ad4f5b48b7cd782af1a14a4874694d314c39bbf3966765c7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and manage Microsoft 365 Backup",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Implement and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 8,
            "objective_wording_sha256": "56e977f562da76fef520f290044e4f2f303659b1849d47e7d991d0587bce9098",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Worked example 1: choose the recovery operation before promising an RPO",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Worked example 1: choose the recovery operation before promising an RPO"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a6af4150d57a2ef7e69b5e0daa25cfa0d2b4c4b64d4035ed97f03bb66cc8eb5e",
                "start_line": 112,
                "end_line": 125,
                "span_lf_sha256": "e4139d038c48157ff9a32eeeec555283111c0c482fbce63ac53d5354e7d6f01b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage users in Microsoft Entra ID, including external users",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage users and groups",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "e78149a4819198316a400230ab0cc8a04ea8bec09fdfa1714f0ab83cf8a72be8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Manage identities, collaboration objects, and licenses as lifecycles",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Manage identities, collaboration objects, and licenses as lifecycles"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "905ee063d4aa0ea8ad5b2bae14306e621632bb6ee62f7d74a9d0082f29858250",
                "start_line": 126,
                "end_line": 140,
                "span_lf_sha256": "7acb5fb3f231ed0ace195d7ef7bf0a29ad55c8e61395758e5257ae730fe57c32"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage contacts in the Microsoft 365 admin center",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage users and groups",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "66db7b6225c1b30452fc433cdd3c8d900aee703e73f51879df16237c6b6cdba5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Manage identities, collaboration objects, and licenses as lifecycles",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Manage identities, collaboration objects, and licenses as lifecycles"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "905ee063d4aa0ea8ad5b2bae14306e621632bb6ee62f7d74a9d0082f29858250",
                "start_line": 126,
                "end_line": 140,
                "span_lf_sha256": "7acb5fb3f231ed0ace195d7ef7bf0a29ad55c8e61395758e5257ae730fe57c32"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage groups, including Microsoft 365 Groups and manage shared mailboxes",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage users and groups",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "3e750f1178ee01b4249e548e1194ad05c21fab411f84b7b3f2b7e1a6b21b7d40",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Manage identities, collaboration objects, and licenses as lifecycles",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Manage identities, collaboration objects, and licenses as lifecycles"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "905ee063d4aa0ea8ad5b2bae14306e621632bb6ee62f7d74a9d0082f29858250",
                "start_line": 126,
                "end_line": 140,
                "span_lf_sha256": "7acb5fb3f231ed0ace195d7ef7bf0a29ad55c8e61395758e5257ae730fe57c32"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage and monitor Microsoft 365 licenses, including group-based licensing",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage users and groups",
            "group_number": 2,
            "objective_number": 4,
            "objective_wording_sha256": "3d5a22da2f424d0767aa6e6ee3fc83f076b22fa817ed49afc9beec227ef8db7d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Worked example 2: membership is not successful provisioning",
                "heading_path": [
                  "-All only when the approved inventory requires every page.",
                  "Worked example 2: membership is not successful provisioning"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ad46781c77cd2f5ff2e7bb8e934fbc22cfb5565b0e07c992440e306531ac0a15",
                "start_line": 150,
                "end_line": 160,
                "span_lf_sha256": "c427a575564c56fa5ab87789b963a6009eb5a527fdf9a1237179465b6bc6c14d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform bulk user management, including Microsoft Graph PowerShell and Microsoft Entra PowerShell",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage users and groups",
            "group_number": 2,
            "objective_number": 5,
            "objective_wording_sha256": "5114b858075b62ccc52ea7e0758e04e0c91ed9889a6dcb377b93f336b8cdf328",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Worked example 2: membership is not successful provisioning",
                "heading_path": [
                  "-All only when the approved inventory requires every page.",
                  "Worked example 2: membership is not successful provisioning"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ad46781c77cd2f5ff2e7bb8e934fbc22cfb5565b0e07c992440e306531ac0a15",
                "start_line": 150,
                "end_line": 160,
                "span_lf_sha256": "c427a575564c56fa5ab87789b963a6009eb5a527fdf9a1237179465b6bc6c14d"
              },
              {
                "heading": "Worked example — bounded Entra PowerShell inventory",
                "heading_path": [
                  "MS-102 Microsoft 365 Administrator Study Guide",
                  "1. Deploy and manage a Microsoft 365 tenant",
                  "Manage identities, collaboration objects, and licenses as lifecycles",
                  "Worked example — bounded Entra PowerShell inventory"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "84c50a8591ee27ba9edd9276498852175dcfbd2acb50996fd7babe62eefb41ec",
                "start_line": 134,
                "end_line": 140,
                "span_lf_sha256": "7ef1347bbd04f447c8e079334212e670630b7cb410255ce824d0a147f891b6dc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Graph example is present; Entra PowerShell objective is not separately taught. Add explicit alternative inventory command and scope/context check.",
            "repair_id": "MS102-Entra-inventory"
          },
          {
            "wording": "Implement and manage roles in Microsoft 365 and Microsoft Entra ID",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage roles and role groups",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "d6a61362ada6542ff10671470053ac523a687dab920f11d3e4927d1eb84200b7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Delegate control without creating hidden global administrators",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "Delegate control without creating hidden global administrators"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7fea73349a8d12ee9117c9038162185a3b76f7de3e056ed4d68ce6009d01f89d",
                "start_line": 171,
                "end_line": 182,
                "span_lf_sha256": "f33a8e37018db661ae06b1054da000ea0eee203eb7ebb956ca8148f191f8b2da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage permissions for Microsoft Defender XDR, Microsoft Purview and other Microsoft 365 workloads using roles or role groups",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage roles and role groups",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "9648375f9be53481636ea0c39e894ece1f9b340ec57efe5fd14bd76ea54fc749",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Delegate control without creating hidden global administrators",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "Delegate control without creating hidden global administrators"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7fea73349a8d12ee9117c9038162185a3b76f7de3e056ed4d68ce6009d01f89d",
                "start_line": 171,
                "end_line": 182,
                "span_lf_sha256": "f33a8e37018db661ae06b1054da000ea0eee203eb7ebb956ca8148f191f8b2da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage delegation by using administrative units",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage roles and role groups",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "55866ac18e3c52e6f4289309a26604f95dedbd32e6688d78a9c9c6cecce97d2a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Delegate control without creating hidden global administrators",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "Delegate control without creating hidden global administrators"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7fea73349a8d12ee9117c9038162185a3b76f7de3e056ed4d68ce6009d01f89d",
                "start_line": 171,
                "end_line": 182,
                "span_lf_sha256": "f33a8e37018db661ae06b1054da000ea0eee203eb7ebb956ca8148f191f8b2da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage Microsoft Entra ID roles in Microsoft Entra Privileged Identity Management (PIM)",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Deploy and manage a Microsoft 365 tenant (25–30%)",
            "group": "Manage roles and role groups",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "de6a4f1b1b8220a6f16f8b9e092b09179f52e7e02621edece613ceca44a928f7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Delegate control without creating hidden global administrators",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "Delegate control without creating hidden global administrators"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7fea73349a8d12ee9117c9038162185a3b76f7de3e056ed4d68ce6009d01f89d",
                "start_line": 171,
                "end_line": 182,
                "span_lf_sha256": "f33a8e37018db661ae06b1054da000ea0eee203eb7ebb956ca8148f191f8b2da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Prepare for identity synchronization, including IdFix",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage identity synchronization with Microsoft Entra tenant",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "d57ec0ba8033848a42af55a59d7d3c9dadb313cd8ea6fa8737bd6a5fbe54ab5c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Treat synchronization as a data pipeline with authority and recovery",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Treat synchronization as a data pipeline with authority and recovery"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b50146e6331f12e03a085d648317ccff49cffa119575d1840bcbc1796cae3f77",
                "start_line": 185,
                "end_line": 201,
                "span_lf_sha256": "749e8f3e8dc35910ed81ed9050fc016eed6855b14f9a21f6a6d1215accb84d7d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage directory synchronization by using Microsoft Entra Connect Sync or Microsoft Entra Cloud Sync",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage identity synchronization with Microsoft Entra tenant",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "15d1917b6a69c32eb7cc49b137f48b4e620bf461293170b52daea14b0fc6bb8e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Treat synchronization as a data pipeline with authority and recovery",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Treat synchronization as a data pipeline with authority and recovery"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b50146e6331f12e03a085d648317ccff49cffa119575d1840bcbc1796cae3f77",
                "start_line": 185,
                "end_line": 201,
                "span_lf_sha256": "749e8f3e8dc35910ed81ed9050fc016eed6855b14f9a21f6a6d1215accb84d7d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor synchronization by using Microsoft Entra Connect Health",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage identity synchronization with Microsoft Entra tenant",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "878b60ed2dc7a711793b8c64bee000be47e88d0363cb1c8ea6133f32aec29add",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Keep sync version, authentication and monitoring failures separate",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Keep sync version, authentication and monitoring failures separate"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "20eb8289311db7cdf6f86561dcbc1f6c8999627ca04cc995f5a205b6b1b6bb32",
                "start_line": 202,
                "end_line": 215,
                "span_lf_sha256": "e1abf4d0e172175af6222f603e67f16fcebe06f67df26145194f642af692c649"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot synchronization, including Microsoft Entra Connect Sync and Microsoft Entra Cloud Sync",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage identity synchronization with Microsoft Entra tenant",
            "group_number": 4,
            "objective_number": 4,
            "objective_wording_sha256": "3d00cd9481a373514a8e0a616f5a556f8492d24ab44e0e2c367ada64cfedbd42",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Treat synchronization as a data pipeline with authority and recovery",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Treat synchronization as a data pipeline with authority and recovery"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b50146e6331f12e03a085d648317ccff49cffa119575d1840bcbc1796cae3f77",
                "start_line": 185,
                "end_line": 201,
                "span_lf_sha256": "749e8f3e8dc35910ed81ed9050fc016eed6855b14f9a21f6a6d1215accb84d7d"
              },
              {
                "heading": "Keep sync version, authentication and monitoring failures separate",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Keep sync version, authentication and monitoring failures separate"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "20eb8289311db7cdf6f86561dcbc1f6c8999627ca04cc995f5a205b6b1b6bb32",
                "start_line": 202,
                "end_line": 215,
                "span_lf_sha256": "e1abf4d0e172175af6222f603e67f16fcebe06f67df26145194f642af692c649"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage authentication methods",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage authentication",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "edd5aa7691f037f0d6678123cf702f2fb9179413c8de9175e015f1585a9fc5d0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build authentication as registration, policy, recovery, and evidence",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Build authentication as registration, policy, recovery, and evidence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "deafcfd124306bfe694f4e6f0064e20f7f1478cb75b3d72eb2be096a67b9e954",
                "start_line": 216,
                "end_line": 236,
                "span_lf_sha256": "1b6cfe80a7b3744a7f9315ee46c67212c73594e70904c2a0d248598d73249556"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage self-service password reset (SSPR)",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage authentication",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "70f50696aa2e13289b6c654c71a893144316f3260553cca7ee3e4ea39378ec45",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build authentication as registration, policy, recovery, and evidence",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Build authentication as registration, policy, recovery, and evidence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "deafcfd124306bfe694f4e6f0064e20f7f1478cb75b3d72eb2be096a67b9e954",
                "start_line": 216,
                "end_line": 236,
                "span_lf_sha256": "1b6cfe80a7b3744a7f9315ee46c67212c73594e70904c2a0d248598d73249556"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage Microsoft Entra Password Protection",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage authentication",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "309fd09b2469356274398239fcb47f2d2a27ddb49d503733ad5f4bee61ec3a03",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build authentication as registration, policy, recovery, and evidence",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Build authentication as registration, policy, recovery, and evidence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "deafcfd124306bfe694f4e6f0064e20f7f1478cb75b3d72eb2be096a67b9e954",
                "start_line": 216,
                "end_line": 236,
                "span_lf_sha256": "1b6cfe80a7b3744a7f9315ee46c67212c73594e70904c2a0d248598d73249556"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Investigate and resolve authentication issues",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage authentication",
            "group_number": 5,
            "objective_number": 4,
            "objective_wording_sha256": "8ebec43cba73886401a19fefefa0310ca2b70c74ddc776f0edf30840f095af5c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build authentication as registration, policy, recovery, and evidence",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Build authentication as registration, policy, recovery, and evidence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "deafcfd124306bfe694f4e6f0064e20f7f1478cb75b3d72eb2be096a67b9e954",
                "start_line": 216,
                "end_line": 236,
                "span_lf_sha256": "1b6cfe80a7b3744a7f9315ee46c67212c73594e70904c2a0d248598d73249556"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Plan for identity protection",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage secure access",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "102e85b31f100b386c4dd79623e38aa6767a6a9a6fd586993ed5d802b55ccb3f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Convert identity risk into controlled access decisions",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Convert identity risk into controlled access decisions"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a51506a44bb40d58a4f7916ee6b757d31a75c5095d96659f72d1314b0889e258",
                "start_line": 237,
                "end_line": 242,
                "span_lf_sha256": "b615665963dc0978b90876de10a758405980b2930f6cfa5e0c86fddb37199a2c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage Microsoft Entra Identity Protection",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage secure access",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "e8831cadb8fa5386c353dd19fdfc68f4fb17b87c06ef900ff5fcefd28b078fd0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Convert identity risk into controlled access decisions",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Convert identity risk into controlled access decisions"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a51506a44bb40d58a4f7916ee6b757d31a75c5095d96659f72d1314b0889e258",
                "start_line": 237,
                "end_line": 242,
                "span_lf_sha256": "b615665963dc0978b90876de10a758405980b2930f6cfa5e0c86fddb37199a2c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Plan Conditional Access policies",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage secure access",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "0787272e6a993123da4cd52f8167c683ccafb09442afebcc2e9ff12d0c3d19ef",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Convert identity risk into controlled access decisions",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Convert identity risk into controlled access decisions"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a51506a44bb40d58a4f7916ee6b757d31a75c5095d96659f72d1314b0889e258",
                "start_line": 237,
                "end_line": 242,
                "span_lf_sha256": "b615665963dc0978b90876de10a758405980b2930f6cfa5e0c86fddb37199a2c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage Conditional Access policies",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage secure access",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "22bdba823d2917670f0d61a216c204a5d0ada736b19b8398ee62e2e92aa560e4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Convert identity risk into controlled access decisions",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Convert identity risk into controlled access decisions"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a51506a44bb40d58a4f7916ee6b757d31a75c5095d96659f72d1314b0889e258",
                "start_line": 237,
                "end_line": 242,
                "span_lf_sha256": "b615665963dc0978b90876de10a758405980b2930f6cfa5e0c86fddb37199a2c"
              },
              {
                "heading": "Worked example 3: compare Conditional Access with email policy precedence",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Worked example 3: compare Conditional Access with email policy precedence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b05503d90a7a552e4565f88bceb781c5af67b1a475e5abebdb659601cc698093",
                "start_line": 243,
                "end_line": 260,
                "span_lf_sha256": "c3a6c43434892b9140ef2635cc686acde74b829ec7dacf6e8dddf0383f02f1d3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage multifactor authentication (MFA) by using Conditional Access policies",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Implement and manage Microsoft Entra identity and access (25–30%)",
            "group": "Implement and manage secure access",
            "group_number": 6,
            "objective_number": 5,
            "objective_wording_sha256": "8c5e24a81b7ee20a015125ec2ec6c1838b21554d0b942ce3fc67f654b1ff2b45",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Worked example 3: compare Conditional Access with email policy precedence",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "2. Implement and manage Microsoft Entra identity and access",
                  "Worked example 3: compare Conditional Access with email policy precedence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b05503d90a7a552e4565f88bceb781c5af67b1a475e5abebdb659601cc698093",
                "start_line": 243,
                "end_line": 260,
                "span_lf_sha256": "c3a6c43434892b9140ef2635cc686acde74b829ec7dacf6e8dddf0383f02f1d3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review and respond to threats by using Microsoft Security Exposure Management, including the Microsoft Secure Score",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Review and respond to security reports and alerts generated by Microsoft Defender XDR",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "c521bae63b94ff72749f1e50c68c87a5a1d97605898ce5aa47b1406b13208108",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Operate from exposure to incident and verified remediation",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Operate from exposure to incident and verified remediation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b1534f61d932ae9c612cf25f1d5bea3f1242a6e6786a26b6bea98723ed41aff4",
                "start_line": 263,
                "end_line": 272,
                "span_lf_sha256": "ba328ee7f84b80b81009955554bee15f76a617a74e42573bca6255f7b4f9fffb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review and respond to incidents and alerts generated by Microsoft Defender XDR, including advanced hunting",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Review and respond to security reports and alerts generated by Microsoft Defender XDR",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "1a6be3a9b6445bdf60b2049d6954fa8a2763de5c96cbc1c0417746d6e5f5bdbd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Operate from exposure to incident and verified remediation",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Operate from exposure to incident and verified remediation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b1534f61d932ae9c612cf25f1d5bea3f1242a6e6786a26b6bea98723ed41aff4",
                "start_line": 263,
                "end_line": 272,
                "span_lf_sha256": "ba328ee7f84b80b81009955554bee15f76a617a74e42573bca6255f7b4f9fffb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review and respond to issues identified in Microsoft Defender XDR reports",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Review and respond to security reports and alerts generated by Microsoft Defender XDR",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "db4a9c066d492bb2b6bfc6001835935db229cd88efa8daa8df6d16e4bdecbf4a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Operate from exposure to incident and verified remediation",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Operate from exposure to incident and verified remediation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b1534f61d932ae9c612cf25f1d5bea3f1242a6e6786a26b6bea98723ed41aff4",
                "start_line": 263,
                "end_line": 272,
                "span_lf_sha256": "ba328ee7f84b80b81009955554bee15f76a617a74e42573bca6255f7b4f9fffb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review and respond to threats identified by Microsoft Defender Threat Intelligence",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Review and respond to security reports and alerts generated by Microsoft Defender XDR",
            "group_number": 7,
            "objective_number": 4,
            "objective_wording_sha256": "f5519a3bd5d9fba30903195e0d3b09f43a45eb704c02613bad74ec8cf030573c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Operate from exposure to incident and verified remediation",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Operate from exposure to incident and verified remediation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b1534f61d932ae9c612cf25f1d5bea3f1242a6e6786a26b6bea98723ed41aff4",
                "start_line": 263,
                "end_line": 272,
                "span_lf_sha256": "ba328ee7f84b80b81009955554bee15f76a617a74e42573bca6255f7b4f9fffb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement threat policies and rules in Microsoft Defender for Office 365",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage email and collaboration protection by using Microsoft Defender for Office 365",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "5e942d7de761a113599e91472c32b53d40e57f4e3daa218a539b18f68f213a86",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Protect email and collaboration with layered policy",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Protect email and collaboration with layered policy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "853a8ff192ff67523e663a32fc3db30a884593063526e363108192a4e0d3d4a6",
                "start_line": 273,
                "end_line": 284,
                "span_lf_sha256": "c15de6cd080e821bbd02fc914249dc49c20e76ed944283a4876d29501e635c8b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure alert policies in Microsoft Defender for Office 365",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage email and collaboration protection by using Microsoft Defender for Office 365",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "d759e1480803456782d92ebb94656fcb5f99273f7e1c0f6a59f2a4bc5c9f76f3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Protect email and collaboration with layered policy",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Protect email and collaboration with layered policy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "853a8ff192ff67523e663a32fc3db30a884593063526e363108192a4e0d3d4a6",
                "start_line": 273,
                "end_line": 284,
                "span_lf_sha256": "c15de6cd080e821bbd02fc914249dc49c20e76ed944283a4876d29501e635c8b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Investigate and respond to email and collaboration threats by using Microsoft Defender for Office 365",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage email and collaboration protection by using Microsoft Defender for Office 365",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "5651438620f3b3702010ceaf844fab967f9440127aaf98b80352c0a072e71724",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Protect email and collaboration with layered policy",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Protect email and collaboration with layered policy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "853a8ff192ff67523e663a32fc3db30a884593063526e363108192a4e0d3d4a6",
                "start_line": 273,
                "end_line": 284,
                "span_lf_sha256": "c15de6cd080e821bbd02fc914249dc49c20e76ed944283a4876d29501e635c8b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage attack simulations, including training campaigns",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage email and collaboration protection by using Microsoft Defender for Office 365",
            "group_number": 8,
            "objective_number": 4,
            "objective_wording_sha256": "d5f357b6291f9159a0653bba5ef3efee7d693d66862b603a9b364d21f2dd2e78",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Protect email and collaboration with layered policy",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Protect email and collaboration with layered policy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "853a8ff192ff67523e663a32fc3db30a884593063526e363108192a4e0d3d4a6",
                "start_line": 273,
                "end_line": 284,
                "span_lf_sha256": "c15de6cd080e821bbd02fc914249dc49c20e76ed944283a4876d29501e635c8b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage restricted entities, including blocked users",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage email and collaboration protection by using Microsoft Defender for Office 365",
            "group_number": 8,
            "objective_number": 5,
            "objective_wording_sha256": "a0aa256c051fb9591a137b51143b34d21134adb04f7816e821d27ef26910e3fe",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Protect email and collaboration with layered policy",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Protect email and collaboration with layered policy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "853a8ff192ff67523e663a32fc3db30a884593063526e363108192a4e0d3d4a6",
                "start_line": 273,
                "end_line": 284,
                "span_lf_sha256": "c15de6cd080e821bbd02fc914249dc49c20e76ed944283a4876d29501e635c8b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Onboard devices to Microsoft Defender for Endpoint",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage endpoint protection by using Microsoft Defender for Endpoint",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "6816800397ab464941aad518fa6dfddb9a857e3de8c66edcb691291696e094ea",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect endpoint and cloud-app evidence to XDR",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Connect endpoint and cloud-app evidence to XDR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd73e1c404452353c5d56b47fcdd2d063df266b464da67880f6cdaf591ab66fc",
                "start_line": 285,
                "end_line": 296,
                "span_lf_sha256": "eac1e5022176006b64146f62354f859c0c83c42fb7e9767bf7d6fe168e288538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure endpoint settings",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage endpoint protection by using Microsoft Defender for Endpoint",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "d3abe31517c5bbc74289f0b8a0c109bf66a065b3abd2590fca66d54d039df8d9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect endpoint and cloud-app evidence to XDR",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Connect endpoint and cloud-app evidence to XDR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd73e1c404452353c5d56b47fcdd2d063df266b464da67880f6cdaf591ab66fc",
                "start_line": 285,
                "end_line": 296,
                "span_lf_sha256": "eac1e5022176006b64146f62354f859c0c83c42fb7e9767bf7d6fe168e288538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review and respond to vulnerabilities identified in the Microsoft Defender Vulnerability Management dashboard",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage endpoint protection by using Microsoft Defender for Endpoint",
            "group_number": 9,
            "objective_number": 3,
            "objective_wording_sha256": "82784bd5049004c9c3b6bdcee4ab39c2b9bb9ec8fa0e76e8dc2d6a93274c0c12",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect endpoint and cloud-app evidence to XDR",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Connect endpoint and cloud-app evidence to XDR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd73e1c404452353c5d56b47fcdd2d063df266b464da67880f6cdaf591ab66fc",
                "start_line": 285,
                "end_line": 296,
                "span_lf_sha256": "eac1e5022176006b64146f62354f859c0c83c42fb7e9767bf7d6fe168e288538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure the app connector for Microsoft 365",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage Microsoft Defender for Cloud Apps",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "e3560c1fdae02e4cf6cb2c3f381875dd5ebfc8834192c631ecb3079b4fe7129a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect endpoint and cloud-app evidence to XDR",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Connect endpoint and cloud-app evidence to XDR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd73e1c404452353c5d56b47fcdd2d063df266b464da67880f6cdaf591ab66fc",
                "start_line": 285,
                "end_line": 296,
                "span_lf_sha256": "eac1e5022176006b64146f62354f859c0c83c42fb7e9767bf7d6fe168e288538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Microsoft Defender for Cloud Apps policies, including triggering alerts",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage Microsoft Defender for Cloud Apps",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "f31b607c1ffe79ce8b90d8b1b0b26cc8dc8d972062d9ec718b990dd82dce79ef",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect endpoint and cloud-app evidence to XDR",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Connect endpoint and cloud-app evidence to XDR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd73e1c404452353c5d56b47fcdd2d063df266b464da67880f6cdaf591ab66fc",
                "start_line": 285,
                "end_line": 296,
                "span_lf_sha256": "eac1e5022176006b64146f62354f859c0c83c42fb7e9767bf7d6fe168e288538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Interpret activity log",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage Microsoft Defender for Cloud Apps",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "b8031dc91a68329931f27ba3dc7844ab2087f6b0e6014884a87715fdc10c1ff5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect endpoint and cloud-app evidence to XDR",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Connect endpoint and cloud-app evidence to XDR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd73e1c404452353c5d56b47fcdd2d063df266b464da67880f6cdaf591ab66fc",
                "start_line": 285,
                "end_line": 296,
                "span_lf_sha256": "eac1e5022176006b64146f62354f859c0c83c42fb7e9767bf7d6fe168e288538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Cloud App Discovery",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage Microsoft Defender for Cloud Apps",
            "group_number": 10,
            "objective_number": 4,
            "objective_wording_sha256": "af7818a3d7f9c819535ee5fb5f058dad36bd2c777ef3e104e95cc8ee7912ae98",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect endpoint and cloud-app evidence to XDR",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Connect endpoint and cloud-app evidence to XDR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd73e1c404452353c5d56b47fcdd2d063df266b464da67880f6cdaf591ab66fc",
                "start_line": 285,
                "end_line": 296,
                "span_lf_sha256": "eac1e5022176006b64146f62354f859c0c83c42fb7e9767bf7d6fe168e288538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review and respond to issues identified in Cloud App Discovery",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage security and threats by using Microsoft Defender XDR (30–35%)",
            "group": "Implement and manage Microsoft Defender for Cloud Apps",
            "group_number": 10,
            "objective_number": 5,
            "objective_wording_sha256": "2ebcd9d62f28091d86b55ebcdfe76d11e8848defb81dd9020d10288aa30b66fb",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect endpoint and cloud-app evidence to XDR",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Connect endpoint and cloud-app evidence to XDR"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cd73e1c404452353c5d56b47fcdd2d063df266b464da67880f6cdaf591ab66fc",
                "start_line": 285,
                "end_line": 296,
                "span_lf_sha256": "eac1e5022176006b64146f62354f859c0c83c42fb7e9767bf7d6fe168e288538"
              },
              {
                "heading": "Worked example 4: an email policy is not a merged settings collection",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "3. Manage security and threats with Microsoft Defender XDR",
                  "Worked example 4: an email policy is not a merged settings collection"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "55e4bb0670cc3565304be0ea8ac8858c3eee40e0ed2b58e4af1fab9f69884fc0",
                "start_line": 297,
                "end_line": 304,
                "span_lf_sha256": "a55897655cc1eecf11bc093301059e6764f619826a95999a22039170ee83dc48"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage sensitive information types by using keywords, keyword lists, or regular expressions",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage compliance by using Microsoft Purview (10–15%)",
            "group": "Implement Microsoft Purview information protection and data lifecycle management",
            "group_number": 11,
            "objective_number": 1,
            "objective_wording_sha256": "dddebc4288ae5512575c7ca2fae936acdf5f16a96aa43c0f5274e2b654bf9a86",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Separate detection, labeling, protection, retention, and investigation",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "4. Manage compliance with Microsoft Purview",
                  "Separate detection, labeling, protection, retention, and investigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0c08ff5d5d0319fefebd4d8001697a8293b1da06870d49d90ef29fc2d16e20f9",
                "start_line": 307,
                "end_line": 320,
                "span_lf_sha256": "2b9f6ae989ce41b1aa01ba84c966019beb1f7251060e959ec4e3c2dadbad6189"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement retention labels, retention label policies, and retention policies",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage compliance by using Microsoft Purview (10–15%)",
            "group": "Implement Microsoft Purview information protection and data lifecycle management",
            "group_number": 11,
            "objective_number": 2,
            "objective_wording_sha256": "0a42159cba3ff0d99e9a091e80e1ef0c550505fa8475b3513940b8c32b919fc5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Separate detection, labeling, protection, retention, and investigation",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "4. Manage compliance with Microsoft Purview",
                  "Separate detection, labeling, protection, retention, and investigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0c08ff5d5d0319fefebd4d8001697a8293b1da06870d49d90ef29fc2d16e20f9",
                "start_line": 307,
                "end_line": 320,
                "span_lf_sha256": "2b9f6ae989ce41b1aa01ba84c966019beb1f7251060e959ec4e3c2dadbad6189"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement sensitivity labels and sensitivity label policies",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage compliance by using Microsoft Purview (10–15%)",
            "group": "Implement Microsoft Purview information protection and data lifecycle management",
            "group_number": 11,
            "objective_number": 3,
            "objective_wording_sha256": "6030acc5de5c7f5f29aed183e7d7ed7c72e9ae5e5feebea998b00dba80b4e3c0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Separate detection, labeling, protection, retention, and investigation",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "4. Manage compliance with Microsoft Purview",
                  "Separate detection, labeling, protection, retention, and investigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0c08ff5d5d0319fefebd4d8001697a8293b1da06870d49d90ef29fc2d16e20f9",
                "start_line": 307,
                "end_line": 320,
                "span_lf_sha256": "2b9f6ae989ce41b1aa01ba84c966019beb1f7251060e959ec4e3c2dadbad6189"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor label usage by using Content explorer, Activity explorer, and label reports",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage compliance by using Microsoft Purview (10–15%)",
            "group": "Implement Microsoft Purview information protection and data lifecycle management",
            "group_number": 11,
            "objective_number": 4,
            "objective_wording_sha256": "c78ec6e66bdd61dfda25b64c4c6e818e955d4111e958edd593aa4fe3a90b77fc",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Separate detection, labeling, protection, retention, and investigation",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "4. Manage compliance with Microsoft Purview",
                  "Separate detection, labeling, protection, retention, and investigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0c08ff5d5d0319fefebd4d8001697a8293b1da06870d49d90ef29fc2d16e20f9",
                "start_line": 307,
                "end_line": 320,
                "span_lf_sha256": "2b9f6ae989ce41b1aa01ba84c966019beb1f7251060e959ec4e3c2dadbad6189"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure DLP policies for Microsoft 365 workloads, including Exchange Online, SharePoint Online, OneDrive, Teams, Power BI, and Microsoft 365 Copilot",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage compliance by using Microsoft Purview (10–15%)",
            "group": "Implement Microsoft Purview data loss prevention (DLP)",
            "group_number": 12,
            "objective_number": 1,
            "objective_wording_sha256": "0a13cabe17a5d7108aab59a7033a662a87fa6417bc0800ad64eb2aede2063b9a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design DLP from data path to response",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "4. Manage compliance with Microsoft Purview",
                  "Design DLP from data path to response"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6521b49a637e5411a33e279843c3b07495a416b629691a489ef79f8023ad4af3",
                "start_line": 321,
                "end_line": 332,
                "span_lf_sha256": "e6787f699ac3327b5ca802bd5da5e38e775c9932818c0083b5a05f1853018ac1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Endpoint DLP",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage compliance by using Microsoft Purview (10–15%)",
            "group": "Implement Microsoft Purview data loss prevention (DLP)",
            "group_number": 12,
            "objective_number": 2,
            "objective_wording_sha256": "83620a6edeb47ea4d26c9704f6f6c6c8072602d22d216255e2f58a689e703a15",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design DLP from data path to response",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "4. Manage compliance with Microsoft Purview",
                  "Design DLP from data path to response"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6521b49a637e5411a33e279843c3b07495a416b629691a489ef79f8023ad4af3",
                "start_line": 321,
                "end_line": 332,
                "span_lf_sha256": "e6787f699ac3327b5ca802bd5da5e38e775c9932818c0083b5a05f1853018ac1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review and respond to DLP alerts, events, and reports",
            "version": "Skills measured as of April 28, 2026",
            "domain": "Manage compliance by using Microsoft Purview (10–15%)",
            "group": "Implement Microsoft Purview data loss prevention (DLP)",
            "group_number": 12,
            "objective_number": 3,
            "objective_wording_sha256": "4c723e3f62e98920afb16ddc9f31a36c52b623acca01800e51e8023a5f5bf4ce",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design DLP from data path to response",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "4. Manage compliance with Microsoft Purview",
                  "Design DLP from data path to response"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6521b49a637e5411a33e279843c3b07495a416b629691a489ef79f8023ad4af3",
                "start_line": 321,
                "end_line": 332,
                "span_lf_sha256": "e6787f699ac3327b5ca802bd5da5e38e775c9932818c0083b5a05f1853018ac1"
              },
              {
                "heading": "Worked example 5: measure the errors that a DLP simulation misses",
                "heading_path": [
                  "Illustrative inventory pattern; test command names and permissions in a lab.",
                  "4. Manage compliance with Microsoft Purview",
                  "Worked example 5: measure the errors that a DLP simulation misses"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "542cd314d75ccbbb11a6acbc1fa259a5b17996ce51a00b5046bf928b559dc6fa",
                "start_line": 333,
                "end_line": 340,
                "span_lf_sha256": "4c1f7464270e36e2dabd654f79793af466ee973552f23df532bcc94ed83678ad"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-ms-102.txt",
        "final_diff_lf_sha256": "9fd58cc16503c27a46d51e25e66066122eb00bd1fbad9ea4ea9919ba79b1cd57"
      },
      {
        "exam_code": "AB-650",
        "guide_path": "guides/AB-650-ai-services-administrator-associate.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/AB-650-ai-services-administrator-associate.md",
        "guide_lf_sha256": "56ceca134b38a51b96fa0b0808ebb276a010731fd976d9b4b4c5a353e04991c6",
        "live_matches_captured_final": true,
        "line_count": 577,
        "immutable_before_guide_lf_sha256": "450bf5aa602ee58913305c33beaeb19e058522cce1e2fb79afc7bfeb3312b55d",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/ab-650-official-objectives.txt",
        "objective_raw_sha256": "e70d10682f078cb6887f7dde679f56661e63dfeabb221779f6b0ff4ab08bdf1a",
        "objective_count": 58,
        "group_count": 10,
        "initial_example_gaps": 1,
        "resolved_example_gaps": 1,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Configure branding in a Microsoft 365 tenant, including logo, company URL, themes, and backgrounds",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Configure and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "f15ff3f8d0b33bb3aff00c86110f0871dd09202e284cf100b74c32fd9b2d8525",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Tenant foundation, domains, licenses, and operational health",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Tenant foundation, domains, licenses, and operational health"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0a896fd60e5ba65486e1ab0ba7285316b767a564e7fcb21a78ac438e8157afa5",
                "start_line": 67,
                "end_line": 95,
                "span_lf_sha256": "df815c2ac38a0a72f71c2c1c1c4b34020f84b9a14b8325fd5d02a6fa3d9fa2ab"
              },
              {
                "heading": "Worked example — two branding surfaces need two checks",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Tenant foundation, domains, licenses, and operational health",
                  "Worked example — two branding surfaces need two checks"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "83e6eeaabd0927765a1f5043e063624a524f505c3decbb6a11dcddf5fad66861",
                "start_line": 79,
                "end_line": 95,
                "span_lf_sha256": "420cf201c452ca5f898d31d272cc41035138ce95efb90ecbc613759460a09ff3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Branding is mentioned but logo, company URL, theme and background are not individually accounted for; add a task-specific evidence checklist.",
            "repair_id": "AB650-branding-surfaces"
          },
          {
            "wording": "Implement and manage domains",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Configure and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "5efd07df81edde1e81c9facea5fd3d51cd8818be7885bdda39e2a6f13c882849",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Tenant foundation, domains, licenses, and operational health",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Tenant foundation, domains, licenses, and operational health"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0a896fd60e5ba65486e1ab0ba7285316b767a564e7fcb21a78ac438e8157afa5",
                "start_line": 67,
                "end_line": 95,
                "span_lf_sha256": "df815c2ac38a0a72f71c2c1c1c4b34020f84b9a14b8325fd5d02a6fa3d9fa2ab"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and manage organizational settings, including security and privacy settings and the organization profile",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Configure and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "4050f80ed175d804df6ded25f9caed7513a1a3a78be3f5d65d66623574f490e4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Tenant foundation, domains, licenses, and operational health",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Tenant foundation, domains, licenses, and operational health"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0a896fd60e5ba65486e1ab0ba7285316b767a564e7fcb21a78ac438e8157afa5",
                "start_line": 67,
                "end_line": 95,
                "span_lf_sha256": "df815c2ac38a0a72f71c2c1c1c4b34020f84b9a14b8325fd5d02a6fa3d9fa2ab"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage and monitor Microsoft 365 licenses, including group-based licensing and pay-as-you-go",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Configure and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "d31f9b6f678cfe3071c596745032db4db900d7326c6b1e259550b524adff5202",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Tenant foundation, domains, licenses, and operational health",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Tenant foundation, domains, licenses, and operational health"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0a896fd60e5ba65486e1ab0ba7285316b767a564e7fcb21a78ac438e8157afa5",
                "start_line": 67,
                "end_line": 95,
                "span_lf_sha256": "df815c2ac38a0a72f71c2c1c1c4b34020f84b9a14b8325fd5d02a6fa3d9fa2ab"
              },
              {
                "heading": "Cowork access and consumption",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Cowork access and consumption"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "36bb22b4755755ba0ca29537e9b3a8d8f36de8ad93205d0747acf829308cce91",
                "start_line": 226,
                "end_line": 240,
                "span_lf_sha256": "aac89d2bac973c48e9cd3809285c43dd0c7b211409981d5c31dd5eba95d54168"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage and monitor licenses for AI services, including Microsoft 365 Copilot, Microsoft Agent 365, and Microsoft Copilot Studio",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Configure and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "75046b05f0383661addfaf1eb184415de155c6e5c97910fffeb9e5c2368b6ff8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Tenant foundation, domains, licenses, and operational health",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Tenant foundation, domains, licenses, and operational health"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0a896fd60e5ba65486e1ab0ba7285316b767a564e7fcb21a78ac438e8157afa5",
                "start_line": 67,
                "end_line": 95,
                "span_lf_sha256": "df815c2ac38a0a72f71c2c1c1c4b34020f84b9a14b8325fd5d02a6fa3d9fa2ab"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and use Microsoft 365 Backup, including setup, restore, and monitor",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Configure and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 6,
            "objective_wording_sha256": "17b54835b848d4f5df0595a89d2101922774b7c3d6c99ac90c5907768c220319",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Backup scope, recovery points and connectivity evidence",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Backup scope, recovery points and connectivity evidence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "de748707b16d194b0e17b722c57c35764d6bce0faec9d3f99ab438bdf2ca2e2c",
                "start_line": 96,
                "end_line": 109,
                "span_lf_sha256": "2c23435b6d0f5bd2f6b0e347aa9fa7bff1e70064f906f24b5180f3718026200f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and review network connectivity insights",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Configure and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 7,
            "objective_wording_sha256": "1c4e76b7fa684d7bdec3e78c1c7804bee8210022f27551561eefd04d5e40f892",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Backup scope, recovery points and connectivity evidence",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Backup scope, recovery points and connectivity evidence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "de748707b16d194b0e17b722c57c35764d6bce0faec9d3f99ab438bdf2ca2e2c",
                "start_line": 96,
                "end_line": 109,
                "span_lf_sha256": "2c23435b6d0f5bd2f6b0e347aa9fa7bff1e70064f906f24b5180f3718026200f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor the health of Microsoft 365 services by using Service health, including notification configuration",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Configure and manage a Microsoft 365 tenant",
            "group_number": 1,
            "objective_number": 8,
            "objective_wording_sha256": "5b0aaee792ad46893da5343d838fb997a94518cce4ee99d3797758ba78c018bf",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Tenant foundation, domains, licenses, and operational health",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Tenant foundation, domains, licenses, and operational health"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0a896fd60e5ba65486e1ab0ba7285316b767a564e7fcb21a78ac438e8157afa5",
                "start_line": 67,
                "end_line": 95,
                "span_lf_sha256": "df815c2ac38a0a72f71c2c1c1c4b34020f84b9a14b8325fd5d02a6fa3d9fa2ab"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage mailboxes, including shared mailboxes",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Manage Microsoft 365 workloads",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "4cca39284c6dd04a9c75ff77d3125518c085f4ad163ae769021d8b9289636521",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Workload administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Workload administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0dac20f7dbe46727ded8824ba8315a8cbbbb9265a8731aed2183553c36f5d7fe",
                "start_line": 110,
                "end_line": 133,
                "span_lf_sha256": "d11a7612925619088804b379b355f5ed008edd5beacfcaf4070bf89eab230cd3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage teams in Microsoft Teams, including channels, owners, and members",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Manage Microsoft 365 workloads",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "60b1ad877f7a1071e876044369bd9d9a2c5adf3555b7a4fc7111fc7f93649a30",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Workload administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Workload administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0dac20f7dbe46727ded8824ba8315a8cbbbb9265a8731aed2183553c36f5d7fe",
                "start_line": 110,
                "end_line": 133,
                "span_lf_sha256": "d11a7612925619088804b379b355f5ed008edd5beacfcaf4070bf89eab230cd3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure settings for Copilot in Teams meetings, including transcription",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Manage Microsoft 365 workloads",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "f29d28ef1d7f14253f15c2c5cb8736d9a16ce14d21de7436c290c240560b20ae",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Workload administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Workload administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0dac20f7dbe46727ded8824ba8315a8cbbbb9265a8731aed2183553c36f5d7fe",
                "start_line": 110,
                "end_line": 133,
                "span_lf_sha256": "d11a7612925619088804b379b355f5ed008edd5beacfcaf4070bf89eab230cd3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage SharePoint sites, including permissions",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Manage Microsoft 365 workloads",
            "group_number": 2,
            "objective_number": 4,
            "objective_wording_sha256": "394d25394572f6d0cf4fabdf6756ebfd7074885a983c1fb921ff5cf1be04e2d9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Workload administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Workload administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0dac20f7dbe46727ded8824ba8315a8cbbbb9265a8731aed2183553c36f5d7fe",
                "start_line": 110,
                "end_line": 133,
                "span_lf_sha256": "d11a7612925619088804b379b355f5ed008edd5beacfcaf4070bf89eab230cd3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure SharePoint and OneDrive for Copilot, including SharePoint Advanced Management, Microsoft Search in SharePoint, and site exclusions",
            "version": "Skills measured",
            "domain": "Configure and manage Microsoft 365 tenants and workloads (20–25%)",
            "group": "Manage Microsoft 365 workloads",
            "group_number": 2,
            "objective_number": 5,
            "objective_wording_sha256": "cf21c5163a4dbc7e5489cd45978138f17fbd0566c7c7c2f4d1819ec74e66904c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Workload administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Workload administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0dac20f7dbe46727ded8824ba8315a8cbbbb9265a8731aed2183553c36f5d7fe",
                "start_line": 110,
                "end_line": 133,
                "span_lf_sha256": "d11a7612925619088804b379b355f5ed008edd5beacfcaf4070bf89eab230cd3"
              },
              {
                "heading": "An operational troubleshooting sequence",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "An operational troubleshooting sequence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ad4d75aa17ed6f9d47d74e84df943c16af7a69c9e6dbf836f9821984fa4bb503",
                "start_line": 134,
                "end_line": 149,
                "span_lf_sha256": "4b878e6800e43e926eda747b4eba1233a4dd77e620b0b271adbc500a472baa23"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage Microsoft 365 users",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Manage identities in Microsoft Entra",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "3c657aecf634cd0d549b922d6345e2771822c6eb1cad3e98bf1ae353cbb90376",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identity lifecycle and delegated administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Identity lifecycle and delegated administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "51e660d761106168e8e29513eec7a487088b579aa94b5fc05410f3ed6a47482d",
                "start_line": 152,
                "end_line": 163,
                "span_lf_sha256": "b1d8c92cafd6b9317d617395f2e4aedcaf417db259c5768a3b1772b2c0444906"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage guest users and external access settings",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Manage identities in Microsoft Entra",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "24af6cba77692ffc79a6af2f7492e8a79eaf4932d7912b7f6f9f042610e8d8a7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identity lifecycle and delegated administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Identity lifecycle and delegated administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "51e660d761106168e8e29513eec7a487088b579aa94b5fc05410f3ed6a47482d",
                "start_line": 152,
                "end_line": 163,
                "span_lf_sha256": "b1d8c92cafd6b9317d617395f2e4aedcaf417db259c5768a3b1772b2c0444906"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage groups, including Microsoft 365 groups",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Manage identities in Microsoft Entra",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "b851deb93c1f88079fbfb7298406fdb42f2d675f655344d0ab09d82771c8d655",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identity lifecycle and delegated administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Identity lifecycle and delegated administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "51e660d761106168e8e29513eec7a487088b579aa94b5fc05410f3ed6a47482d",
                "start_line": 152,
                "end_line": 163,
                "span_lf_sha256": "b1d8c92cafd6b9317d617395f2e4aedcaf417db259c5768a3b1772b2c0444906"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage roles for Microsoft 365, including Microsoft Entra Privileged Identity Management (PIM)",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Manage identities in Microsoft Entra",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "5fc1e0ef6f492480b47f94526cc4889dfe633e08cd1907947874cbef9ac447c2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identity lifecycle and delegated administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Identity lifecycle and delegated administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "51e660d761106168e8e29513eec7a487088b579aa94b5fc05410f3ed6a47482d",
                "start_line": 152,
                "end_line": 163,
                "span_lf_sha256": "b1d8c92cafd6b9317d617395f2e4aedcaf417db259c5768a3b1772b2c0444906"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage administrative units",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Manage identities in Microsoft Entra",
            "group_number": 3,
            "objective_number": 5,
            "objective_wording_sha256": "a04bc94417bab907406ddf4ffd3458ad55faf4d4a039eaa98057397f4f4f10ac",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identity lifecycle and delegated administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Identity lifecycle and delegated administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "51e660d761106168e8e29513eec7a487088b579aa94b5fc05410f3ed6a47482d",
                "start_line": 152,
                "end_line": 163,
                "span_lf_sha256": "b1d8c92cafd6b9317d617395f2e4aedcaf417db259c5768a3b1772b2c0444906"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage contacts",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Manage identities in Microsoft Entra",
            "group_number": 3,
            "objective_number": 6,
            "objective_wording_sha256": "25343d6b7fa7aa45e8b94c7a236eb380c9e5c04c1641e0bff4484681ae6f46f6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identity lifecycle and delegated administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Identity lifecycle and delegated administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "51e660d761106168e8e29513eec7a487088b579aa94b5fc05410f3ed6a47482d",
                "start_line": 152,
                "end_line": 163,
                "span_lf_sha256": "b1d8c92cafd6b9317d617395f2e4aedcaf417db259c5768a3b1772b2c0444906"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform bulk management, including Microsoft Graph PowerShell",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Manage identities in Microsoft Entra",
            "group_number": 3,
            "objective_number": 7,
            "objective_wording_sha256": "84b54d48d299197db7b8900d4fd892984dea6788f089bff9f0751802a4a83ea1",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identity lifecycle and delegated administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Identity lifecycle and delegated administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "51e660d761106168e8e29513eec7a487088b579aa94b5fc05410f3ed6a47482d",
                "start_line": 152,
                "end_line": 163,
                "span_lf_sha256": "b1d8c92cafd6b9317d617395f2e4aedcaf417db259c5768a3b1772b2c0444906"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and manage authentication methods",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Implement and manage authentication and access in Microsoft Entra",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "8c7769b6866ff69b985e33d4b9410b5db68e7ff7332a46ac6f394151962399a8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Authentication, Conditional Access, and risk",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Authentication, Conditional Access, and risk"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "5b0da19d63eccb619ea75901ff986892fe1c66a91698ab0d06ecd3837b8bc1b6",
                "start_line": 164,
                "end_line": 183,
                "span_lf_sha256": "64e721fa8f4f8a4dfc71f60401a2c06dfc6f03118adb54174b7fff4c9028d551"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage Microsoft Entra Password Protection",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Implement and manage authentication and access in Microsoft Entra",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "309fd09b2469356274398239fcb47f2d2a27ddb49d503733ad5f4bee61ec3a03",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Authentication, Conditional Access, and risk",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Authentication, Conditional Access, and risk"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "5b0da19d63eccb619ea75901ff986892fe1c66a91698ab0d06ecd3837b8bc1b6",
                "start_line": 164,
                "end_line": 183,
                "span_lf_sha256": "64e721fa8f4f8a4dfc71f60401a2c06dfc6f03118adb54174b7fff4c9028d551"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure self-service password reset (SSPR)",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Implement and manage authentication and access in Microsoft Entra",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "28541ae6017febab8551d9e265170901b2905374853d24e109a4f4dc79ade6d0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Authentication, Conditional Access, and risk",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Authentication, Conditional Access, and risk"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "5b0da19d63eccb619ea75901ff986892fe1c66a91698ab0d06ecd3837b8bc1b6",
                "start_line": 164,
                "end_line": 183,
                "span_lf_sha256": "64e721fa8f4f8a4dfc71f60401a2c06dfc6f03118adb54174b7fff4c9028d551"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Investigate and resolve authentication issues",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Implement and manage authentication and access in Microsoft Entra",
            "group_number": 4,
            "objective_number": 4,
            "objective_wording_sha256": "8ebec43cba73886401a19fefefa0310ca2b70c74ddc776f0edf30840f095af5c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Authentication, Conditional Access, and risk",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Authentication, Conditional Access, and risk"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "5b0da19d63eccb619ea75901ff986892fe1c66a91698ab0d06ecd3837b8bc1b6",
                "start_line": 164,
                "end_line": 183,
                "span_lf_sha256": "64e721fa8f4f8a4dfc71f60401a2c06dfc6f03118adb54174b7fff4c9028d551"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and manage Microsoft Entra Conditional Access policies, including Microsoft Entra ID Protection and multifactor authentication",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Implement and manage authentication and access in Microsoft Entra",
            "group_number": 4,
            "objective_number": 5,
            "objective_wording_sha256": "1264e9b058f497cf1047d1c90d5e661e5b8d9e871b395724c327f14946e608e2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Authentication, Conditional Access, and risk",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Authentication, Conditional Access, and risk"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "5b0da19d63eccb619ea75901ff986892fe1c66a91698ab0d06ecd3837b8bc1b6",
                "start_line": 164,
                "end_line": 183,
                "span_lf_sha256": "64e721fa8f4f8a4dfc71f60401a2c06dfc6f03118adb54174b7fff4c9028d551"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage alerts in Microsoft Defender for Office 365",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Secure Microsoft 365 workloads",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "bd4e1bcee0de00042e33c9f25f80909f6ea5e6ca8cf594f58cbbc9c55f7aaec7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Defender for Office 365 and incident response",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Defender for Office 365 and incident response"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f47c88eef740f14cc4666aa9c9e87328f5497b471a8559749a9b2ea9a4008af2",
                "start_line": 184,
                "end_line": 191,
                "span_lf_sha256": "a0677eb65e99c224bb3384e036b24a2d066e5c3e13beef9b7338f2f4f1cd8bc4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure threat policies and rules in Defender for Office 365",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Secure Microsoft 365 workloads",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "96f8cdc1d6dac213cbcee6bb006220717e56bb6d22f06241121ee0ec58d4ed4a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Defender for Office 365 and incident response",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Defender for Office 365 and incident response"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f47c88eef740f14cc4666aa9c9e87328f5497b471a8559749a9b2ea9a4008af2",
                "start_line": 184,
                "end_line": 191,
                "span_lf_sha256": "a0677eb65e99c224bb3384e036b24a2d066e5c3e13beef9b7338f2f4f1cd8bc4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Investigate and respond to email and collaboration threats by using Defender for Office 365",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Secure Microsoft 365 workloads",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "55bc2374e681a3c49596c32681b6685789e5593549c15e48d1dedee9d673a2a0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Defender for Office 365 and incident response",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Defender for Office 365 and incident response"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f47c88eef740f14cc4666aa9c9e87328f5497b471a8559749a9b2ea9a4008af2",
                "start_line": 184,
                "end_line": 191,
                "span_lf_sha256": "a0677eb65e99c224bb3384e036b24a2d066e5c3e13beef9b7338f2f4f1cd8bc4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and manage attack simulations, including training campaigns",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Secure Microsoft 365 workloads",
            "group_number": 5,
            "objective_number": 4,
            "objective_wording_sha256": "1faaf31f419e69ba7c21f28c206a05115ca8bcbcf0f73e52d2250eca4fbc917d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Defender for Office 365 and incident response",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Defender for Office 365 and incident response"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f47c88eef740f14cc4666aa9c9e87328f5497b471a8559749a9b2ea9a4008af2",
                "start_line": 184,
                "end_line": 191,
                "span_lf_sha256": "a0677eb65e99c224bb3384e036b24a2d066e5c3e13beef9b7338f2f4f1cd8bc4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify requirements for Microsoft Purview Data Loss Prevention (DLP) policies, including those for Exchange, SharePoint, OneDrive, Teams, endpoints, and Copilot",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Protect data in Microsoft 365 by using Microsoft Purview",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "8499297934c1a1e1f5cd6bd7cc6e9c3c212524d4e5b660eadd0d240688f183ae",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Purview protection, lifecycle, and AI data security",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Purview protection, lifecycle, and AI data security"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2303479b06784629bcb436fddbf4ff107d81ca09f365119d3029dea2cdee6ffe",
                "start_line": 192,
                "end_line": 213,
                "span_lf_sha256": "f4685593580a6c6f433ab90711072733912a2bc47a2a6db24c025702d4594dc6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify requirements for information protection, including sensitive information types, sensitivity labels, and sensitivity label policies",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Protect data in Microsoft 365 by using Microsoft Purview",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "d4f5fc82b04dc71a89448a1b02c96eaa7da547f34575b6fb744f1f9e88e4c87c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Purview protection, lifecycle, and AI data security",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Purview protection, lifecycle, and AI data security"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2303479b06784629bcb436fddbf4ff107d81ca09f365119d3029dea2cdee6ffe",
                "start_line": 192,
                "end_line": 213,
                "span_lf_sha256": "f4685593580a6c6f433ab90711072733912a2bc47a2a6db24c025702d4594dc6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify requirements for data lifecycle management, including retention labels, retention label policies, and retention policies",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Protect data in Microsoft 365 by using Microsoft Purview",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "8d8229f094c7509d6b0d58e0a2f471c6efb2571bc29b7e3d52f6f3e248f63030",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Purview protection, lifecycle, and AI data security",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Purview protection, lifecycle, and AI data security"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2303479b06784629bcb436fddbf4ff107d81ca09f365119d3029dea2cdee6ffe",
                "start_line": 192,
                "end_line": 213,
                "span_lf_sha256": "f4685593580a6c6f433ab90711072733912a2bc47a2a6db24c025702d4594dc6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review and respond to DLP alerts for Microsoft 365 and AI services",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Protect data in Microsoft 365 by using Microsoft Purview",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "fbaf46fb345598438622363cdca81257ee20294e34e76a7aebaefaf9affd07dc",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Purview protection, lifecycle, and AI data security",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Purview protection, lifecycle, and AI data security"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2303479b06784629bcb436fddbf4ff107d81ca09f365119d3029dea2cdee6ffe",
                "start_line": 192,
                "end_line": 213,
                "span_lf_sha256": "f4685593580a6c6f433ab90711072733912a2bc47a2a6db24c025702d4594dc6"
              },
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor and secure AI activity by using Microsoft Purview Data Security Posture Management (DSPM)",
            "version": "Skills measured",
            "domain": "Govern and secure Microsoft 365 tenants and workloads (40–45%)",
            "group": "Protect data in Microsoft 365 by using Microsoft Purview",
            "group_number": 6,
            "objective_number": 5,
            "objective_wording_sha256": "59c86268e737dffb9cce07e39ee130884079278279a71f7b21db1824c76acefb",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Purview protection, lifecycle, and AI data security",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "2. Govern and secure Microsoft 365 tenants and workloads",
                  "Purview protection, lifecycle, and AI data security"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2303479b06784629bcb436fddbf4ff107d81ca09f365119d3029dea2cdee6ffe",
                "start_line": 192,
                "end_line": 213,
                "span_lf_sha256": "f4685593580a6c6f433ab90711072733912a2bc47a2a6db24c025702d4594dc6"
              },
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Assess tenant readiness for Copilot, including in-app experiences",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "74f68b20ea0e7ae8ccfcba6c084753ef9ed65d272180b4aadfcb05f66e78c124",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Copilot readiness and tenant controls",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Copilot readiness and tenant controls"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c8bbb60702a140d42d4d77a07ab49804c1283394da8d0c8ebe3da751ff32be2f",
                "start_line": 216,
                "end_line": 225,
                "span_lf_sha256": "aeef4c07ee0d63464ac6e2e1d53a2493ab13f42234e110df8e3dc2a1a10be840"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve data readiness issues for Copilot, including data leaks, data oversharing, and data compliance",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "a25f80860808383be800870ce8b6a5f142838eef2b92556efa7a0eb7d48a47f7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Copilot readiness and tenant controls",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Copilot readiness and tenant controls"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c8bbb60702a140d42d4d77a07ab49804c1283394da8d0c8ebe3da751ff32be2f",
                "start_line": 216,
                "end_line": 225,
                "span_lf_sha256": "aeef4c07ee0d63464ac6e2e1d53a2493ab13f42234e110df8e3dc2a1a10be840"
              },
              {
                "heading": "An operational troubleshooting sequence",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "An operational troubleshooting sequence"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "ad4d75aa17ed6f9d47d74e84df943c16af7a69c9e6dbf836f9821984fa4bb503",
                "start_line": 134,
                "end_line": 149,
                "span_lf_sha256": "4b878e6800e43e926eda747b4eba1233a4dd77e620b0b271adbc500a472baa23"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage web search for Copilot and Microsoft 365 Copilot Chat",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "b11e7c2e1d96c3678a923c26de5019742f8cf4c681ecbd3bb5296bb91ffc1738",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Copilot readiness and tenant controls",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Copilot readiness and tenant controls"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c8bbb60702a140d42d4d77a07ab49804c1283394da8d0c8ebe3da751ff32be2f",
                "start_line": 216,
                "end_line": 225,
                "span_lf_sha256": "aeef4c07ee0d63464ac6e2e1d53a2493ab13f42234e110df8e3dc2a1a10be840"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Microsoft 365 Copilot Search",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 4,
            "objective_wording_sha256": "9f33998f391083edd812ea1a9b88aa08993f425f222946bd950989ac77edc971",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Workload administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Workload administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0dac20f7dbe46727ded8824ba8315a8cbbbb9265a8731aed2183553c36f5d7fe",
                "start_line": 110,
                "end_line": 133,
                "span_lf_sha256": "d11a7612925619088804b379b355f5ed008edd5beacfcaf4070bf89eab230cd3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Copilot settings for a tenant, including self-service purchases, Copilot in admin centers, release preferences, AI disclaimer, and video and image generation",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 5,
            "objective_wording_sha256": "db839c58a31e9069365c29cbd1b71e06661cab65096ac484339a78d2a064785e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Copilot readiness and tenant controls",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Copilot readiness and tenant controls"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c8bbb60702a140d42d4d77a07ab49804c1283394da8d0c8ebe3da751ff32be2f",
                "start_line": 216,
                "end_line": 225,
                "span_lf_sha256": "aeef4c07ee0d63464ac6e2e1d53a2493ab13f42234e110df8e3dc2a1a10be840"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage Copilot user experiences",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 6,
            "objective_wording_sha256": "f4fc3ef0e53fd08f6b0e441fc18bf7e3da880c71b58312b7b83d06467785ecf7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Copilot readiness and tenant controls",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Copilot readiness and tenant controls"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c8bbb60702a140d42d4d77a07ab49804c1283394da8d0c8ebe3da751ff32be2f",
                "start_line": 216,
                "end_line": 225,
                "span_lf_sha256": "aeef4c07ee0d63464ac6e2e1d53a2493ab13f42234e110df8e3dc2a1a10be840"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage Microsoft 365 Copilot Cowork",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 7,
            "objective_wording_sha256": "62d2813e4224e9d57563156fe521ecda076582e232ad50f7dbe669b902817e82",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Cowork access and consumption",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Cowork access and consumption"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "36bb22b4755755ba0ca29537e9b3a8d8f36de8ad93205d0747acf829308cce91",
                "start_line": 226,
                "end_line": 240,
                "span_lf_sha256": "aac89d2bac973c48e9cd3809285c43dd0c7b211409981d5c31dd5eba95d54168"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage third-party AI providers",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 8,
            "objective_wording_sha256": "e7a0d08cb120ccf2a60cba2a788407ea4d681bf75e07ca90f65a386176a8bd42",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Cowork access and consumption",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Cowork access and consumption"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "36bb22b4755755ba0ca29537e9b3a8d8f36de8ad93205d0747acf829308cce91",
                "start_line": 226,
                "end_line": 240,
                "span_lf_sha256": "aac89d2bac973c48e9cd3809285c43dd0c7b211409981d5c31dd5eba95d54168"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Copilot connectors",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Enable and manage Microsoft 365 Copilot",
            "group_number": 7,
            "objective_number": 9,
            "objective_wording_sha256": "949d4dee88f285adec88a7925c6b5a543bc7afccbd8e04c08343cf9b406d7045",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Workload administration",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "1. Configure and manage Microsoft 365 tenants and workloads",
                  "Workload administration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0dac20f7dbe46727ded8824ba8315a8cbbbb9265a8731aed2183553c36f5d7fe",
                "start_line": 110,
                "end_line": 133,
                "span_lf_sha256": "d11a7612925619088804b379b355f5ed008edd5beacfcaf4070bf89eab230cd3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage the lifecycle workflows for agent identities by using Microsoft Entra Agent ID",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Implement and manage agents in Microsoft 365 and Agent 365",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "66d786e52a3ebef9f9728b969faab4876af346f304c03943708fb85659b3c15e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent identity and access",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent identity and access"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e6ea3e85ad3801303621f66cc23950f69280b50ecf3861d6e9e99d1572b603cf",
                "start_line": 241,
                "end_line": 274,
                "span_lf_sha256": "b9532518aef10c09e7c8247814a5480e5f60651443eff2a8e93a3e6ca8e32933"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Secure agent access, including access packages and conditional access",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Implement and manage agents in Microsoft 365 and Agent 365",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "377ceec16001f44213c574bd215df4ba02d930c386a65a844e25a86f74dfc2d2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent identity and access",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent identity and access"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e6ea3e85ad3801303621f66cc23950f69280b50ecf3861d6e9e99d1572b603cf",
                "start_line": 241,
                "end_line": 274,
                "span_lf_sha256": "b9532518aef10c09e7c8247814a5480e5f60651443eff2a8e93a3e6ca8e32933"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage agent owners",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Implement and manage agents in Microsoft 365 and Agent 365",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "a482cf8be27d545dbfe914e95c993886cb8d1b46a6cbf8ee1abb0ab06ca54e37",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent identity and access",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent identity and access"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e6ea3e85ad3801303621f66cc23950f69280b50ecf3861d6e9e99d1572b603cf",
                "start_line": 241,
                "end_line": 274,
                "span_lf_sha256": "b9532518aef10c09e7c8247814a5480e5f60651443eff2a8e93a3e6ca8e32933"
              },
              {
                "heading": "Agent registry and lifecycle",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent registry and lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b0df2fe44fe8285be2d702ed433745b454d2a9c2435021dc39fa0bcca2917d9",
                "start_line": 275,
                "end_line": 293,
                "span_lf_sha256": "0c3770034733f528d0ab0a98abcf7d30515ac8f185a2d3900150181cdac8b005"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure agent settings, including allowed agent types, sharing, templates, and user access",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Implement and manage agents in Microsoft 365 and Agent 365",
            "group_number": 8,
            "objective_number": 4,
            "objective_wording_sha256": "f58eb3f4782bdb0f34b62afe7489e797b4f108d1360ff23526d56432f1c1797a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Tenant agent settings and policy templates",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Tenant agent settings and policy templates"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2341e4679d4bc4d0015eb5165635c7d98ffee860626849b36b1194bdb7753008",
                "start_line": 294,
                "end_line": 321,
                "span_lf_sha256": "d31b28917510b6db90a2526bd02b2469f5b481f1686d1eb68df6d4aed994084c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Discover and manage Microsoft and third-party agents in the agent registry",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Implement and manage agents in Microsoft 365 and Agent 365",
            "group_number": 8,
            "objective_number": 5,
            "objective_wording_sha256": "bc9509893c9898a278d7b8e0264ab68b08586776fed437d5063eacaae40008fc",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent registry and lifecycle",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent registry and lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b0df2fe44fe8285be2d702ed433745b454d2a9c2435021dc39fa0bcca2917d9",
                "start_line": 275,
                "end_line": 293,
                "span_lf_sha256": "0c3770034733f528d0ab0a98abcf7d30515ac8f185a2d3900150181cdac8b005"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Review requests and publish or reject agents in the agent registry",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Implement and manage agents in Microsoft 365 and Agent 365",
            "group_number": 8,
            "objective_number": 6,
            "objective_wording_sha256": "5a32181e2fbf1bb997e36f5cece442bbc67eef6f4058ac11bc98e4025233bce7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent registry and lifecycle",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent registry and lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b0df2fe44fe8285be2d702ed433745b454d2a9c2435021dc39fa0bcca2917d9",
                "start_line": 275,
                "end_line": 293,
                "span_lf_sha256": "0c3770034733f528d0ab0a98abcf7d30515ac8f185a2d3900150181cdac8b005"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Install, block, or control access to agents in the agent registry, including uploading custom agents",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Implement and manage agents in Microsoft 365 and Agent 365",
            "group_number": 8,
            "objective_number": 7,
            "objective_wording_sha256": "7545e856df9f666b245d9b5bbb4364a6e49dcc1ef0ab79b471367dad2ce6c351",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent registry and lifecycle",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent registry and lifecycle"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b0df2fe44fe8285be2d702ed433745b454d2a9c2435021dc39fa0bcca2917d9",
                "start_line": 275,
                "end_line": 293,
                "span_lf_sha256": "0c3770034733f528d0ab0a98abcf7d30515ac8f185a2d3900150181cdac8b005"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage tools in Agent 365",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Implement and manage agents in Microsoft 365 and Agent 365",
            "group_number": 8,
            "objective_number": 8,
            "objective_wording_sha256": "f03e5f54370c0d94822c2d917a4cf5d26a3bb296da25be6cf2c0dd15d5513ba5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent tools, MCP servers, plugins, and skills",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent tools, MCP servers, plugins, and skills"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3e25ee96aa8dafff669d52380a864d5b9b72042f40272bc00ef6b6cee1455b1f",
                "start_line": 322,
                "end_line": 348,
                "span_lf_sha256": "31681e1525b2aafbbefb59c5cf9ec06e2f0833faf579996cc6760b3984c59e1e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor agent activity by using Agent 365",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Secure and govern agents by using Agent 365",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "12b62a1ab8ab1543f35398147f8a1d1a0fc8c8acfc9f5e3fe6ada726bbf5b1fe",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Protect sensitive data by using Agent 365",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Secure and govern agents by using Agent 365",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "4b35fc8b2715933bb2c9bc9cf3239cd837789ba7438d2d096430625915be5d0f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate compliance gaps by using Agent 365",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Secure and govern agents by using Agent 365",
            "group_number": 9,
            "objective_number": 3,
            "objective_wording_sha256": "3fa5b2f995956c8790d9f8e706dd8b51dfbd3b7b62ded347f6664acfb8c057a3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage and monitor costs for AI services in Microsoft 365",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Monitor AI services in Microsoft 365",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "1c857bf1ea30a31586cc35ed1197546aa61d1e134a5021ccd0fc7f637f5aecb8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Cowork access and consumption",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Cowork access and consumption"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "36bb22b4755755ba0ca29537e9b3a8d8f36de8ad93205d0747acf829308cce91",
                "start_line": 226,
                "end_line": 240,
                "span_lf_sha256": "aac89d2bac973c48e9cd3809285c43dd0c7b211409981d5c31dd5eba95d54168"
              },
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor usage reports for Copilot in the Microsoft 365 admin center, including workload-level adoption details",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Monitor AI services in Microsoft 365",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "4370802a2df3d9a83d7cc01593e416baee67504710c843d6cd889b04cf4779cd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor usage and adoption for AI services in Microsoft 365 by using the Copilot Control System",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Monitor AI services in Microsoft 365",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "17e21833465df4d876236eb3875b9611b9160a70d6726533b8fbd0d88a59f468",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor service health by using the Copilot Control System",
            "version": "Skills measured",
            "domain": "Manage and secure AI services in Microsoft 365 (35–40%)",
            "group": "Monitor AI services in Microsoft 365",
            "group_number": 10,
            "objective_number": 4,
            "objective_wording_sha256": "41d66e5018aeabe5f5db428d3707cfc5e61b6350e9e9a9ec704fe678238d8294",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Agent 365 security, compliance, cost, and monitoring",
                "heading_path": [
                  "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
                  "3. Manage and secure AI services in Microsoft 365",
                  "Agent 365 security, compliance, cost, and monitoring"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6b35d829007001660a5da64f5a2b7b01a07f6ae39d800f2d3a6b3211065783a0",
                "start_line": 349,
                "end_line": 383,
                "span_lf_sha256": "29a4a88a821a5728ee0122cfadcb884cd7ce4c93014d153d1e15f62f130d8538"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-ab-650.txt",
        "final_diff_lf_sha256": "76a15f08cbed66e6491c1c061490b6abb46cb8da09bf49dfe5cd1ee6c80cd463"
      },
      {
        "exam_code": "DP-700",
        "guide_path": "guides/DP-700-implementing-data-engineering-solutions-microsoft-fabric.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/DP-700-implementing-data-engineering-solutions-microsoft-fabric.md",
        "guide_lf_sha256": "3c67be6db99afc99ba090ba6340af86d09d2ae7f9d7ca082478cd0d60f6cc739",
        "live_matches_captured_final": true,
        "line_count": 546,
        "immutable_before_guide_lf_sha256": "a144c4e76fa45b34d93a97d5cf845bebdda1fc0398e53edcddc2f1c9dc0cea47",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/dp-700-official-objectives.txt",
        "objective_raw_sha256": "536a8f75830b0951502232b8b1a811524d000a7edf7a745613f46462f7dd3fc5",
        "objective_count": 54,
        "group_count": 10,
        "initial_example_gaps": 2,
        "resolved_example_gaps": 2,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Configure Spark workspace settings",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure Microsoft Fabric workspace settings",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "abf9577144a9dc0c7935efc4543a7e49446190fe8593a2eb084327aa58320596",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Spark workspace settings",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure workspace settings",
                  "Spark workspace settings"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8af362524ffcf9e584a299868513f8821841861811cc52b09e3e13157e98476f",
                "start_line": 56,
                "end_line": 65,
                "span_lf_sha256": "3564d72f30f9d8077c1866e0030c7d7b673268b73579fea3fa531034dd53fec6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure domain workspace settings",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure Microsoft Fabric workspace settings",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "acb1c9df7b3a8260c59c2f806190335c7d0d9e45276a224d86ca8e034a0439c6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Domains and OneLake",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure workspace settings",
                  "Domains and OneLake"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8b7cd9e02cb3b9ac62e9bbe04108cd4d7bf56548faf6cfd2a54b05e1cf7f9d5d",
                "start_line": 66,
                "end_line": 71,
                "span_lf_sha256": "6e9a56848d9d6386cb4824e5fff8a1edf3830e1fd86567fad6c371b2e68581c0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure OneLake workspace settings",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure Microsoft Fabric workspace settings",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "b616a98488d1a42cc83d0899f16d1ecb2e9ccf7f0dbb6a67e4bcbe54b08f09e1",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Domains and OneLake",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure workspace settings",
                  "Domains and OneLake"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8b7cd9e02cb3b9ac62e9bbe04108cd4d7bf56548faf6cfd2a54b05e1cf7f9d5d",
                "start_line": 66,
                "end_line": 71,
                "span_lf_sha256": "6e9a56848d9d6386cb4824e5fff8a1edf3830e1fd86567fad6c371b2e68581c0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Apache Airflow workspace settings",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure Microsoft Fabric workspace settings",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "ff6e5bed88eee926cb2b4aea8a6716478ddf8e75b7fad1eebad2c8db67a26463",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Apache Airflow workspace settings",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure workspace settings",
                  "Apache Airflow workspace settings"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9a9bd025632164c4d67823b8ad89223770e770ff8046ec0e7476dbffa8e6aa32",
                "start_line": 72,
                "end_line": 79,
                "span_lf_sha256": "48a2b8df6952e516c334299541ba2c15bf0c9057e90b06079ed4955320bfe434"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure version control",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Implement lifecycle management in Fabric",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "38915b27107f2949625e028facbdbed16c9b99d494b6adcea9da8f0b67da6206",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement lifecycle management",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Implement lifecycle management"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "041ce30373e3bc315e32742473ef0ca76de2098ea0d23a9e5bdd5d156f555cef",
                "start_line": 80,
                "end_line": 100,
                "span_lf_sha256": "815efcdb5e4bf7bc6e8954b2e03f98d0c66752681aa66afd9f6e1b5740613b87"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement database projects",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Implement lifecycle management in Fabric",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "2da260a572c033f8406b16d445ba811649205811b1c4dde4b65d639fc1b4a91f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement lifecycle management",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Implement lifecycle management"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "041ce30373e3bc315e32742473ef0ca76de2098ea0d23a9e5bdd5d156f555cef",
                "start_line": 80,
                "end_line": 100,
                "span_lf_sha256": "815efcdb5e4bf7bc6e8954b2e03f98d0c66752681aa66afd9f6e1b5740613b87"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and configure deployment pipelines",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Implement lifecycle management in Fabric",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "1eb4bbdc5486d227de9093385ac4737828c567930d26da7d04b0ac748963d108",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Implement lifecycle management",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Implement lifecycle management"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "041ce30373e3bc315e32742473ef0ca76de2098ea0d23a9e5bdd5d156f555cef",
                "start_line": 80,
                "end_line": 100,
                "span_lf_sha256": "815efcdb5e4bf7bc6e8954b2e03f98d0c66752681aa66afd9f6e1b5740613b87"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement workspace-level access controls",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure security and governance",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "a8ae90ae7cf993c3cdc75c144c6367209ffa0e7f54137cefeebc8b61b9bf6df7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and governance",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure security and governance"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc1be67602d79b2aceea0862bca4478bb0cda4a9c64a1b448ede9ba7c1f93c08",
                "start_line": 101,
                "end_line": 124,
                "span_lf_sha256": "5a29f85a0e2f0bd9610b74e854211c2e05b4f61c03a033b313cb424ddaac8602"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement item-level access controls",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure security and governance",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "bd161f6f5bb002d0c38998d74c40b3d1b0609287370238783d8cdc1eeb7f7384",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and governance",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure security and governance"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc1be67602d79b2aceea0862bca4478bb0cda4a9c64a1b448ede9ba7c1f93c08",
                "start_line": 101,
                "end_line": 124,
                "span_lf_sha256": "5a29f85a0e2f0bd9610b74e854211c2e05b4f61c03a033b313cb424ddaac8602"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement row-level, column-level, object-level, and folder/file-level access controls",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure security and governance",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "86b3477e211a45cdf5510c1a3a9a14fd81135906e1dc300cffc4a30d941e7718",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and governance",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure security and governance"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc1be67602d79b2aceea0862bca4478bb0cda4a9c64a1b448ede9ba7c1f93c08",
                "start_line": 101,
                "end_line": 124,
                "span_lf_sha256": "5a29f85a0e2f0bd9610b74e854211c2e05b4f61c03a033b313cb424ddaac8602"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement dynamic data masking",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure security and governance",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "4e1b75ae2949c6a0bcab7bea153ce3407d2759905edf13f69d40ad6a5a2d90da",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and governance",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure security and governance"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc1be67602d79b2aceea0862bca4478bb0cda4a9c64a1b448ede9ba7c1f93c08",
                "start_line": 101,
                "end_line": 124,
                "span_lf_sha256": "5a29f85a0e2f0bd9610b74e854211c2e05b4f61c03a033b313cb424ddaac8602"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Apply sensitivity labels to items",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure security and governance",
            "group_number": 3,
            "objective_number": 5,
            "objective_wording_sha256": "4e7820b10acd3b984ef3fa0aa46dc1fc183d83ffb5029e6e125dcf5cef0b19a6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and governance",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure security and governance"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc1be67602d79b2aceea0862bca4478bb0cda4a9c64a1b448ede9ba7c1f93c08",
                "start_line": 101,
                "end_line": 124,
                "span_lf_sha256": "5a29f85a0e2f0bd9610b74e854211c2e05b4f61c03a033b313cb424ddaac8602"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Endorse items",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure security and governance",
            "group_number": 3,
            "objective_number": 6,
            "objective_wording_sha256": "13e911204470e433f96370f7bf642d99bc9a936e146144703ed7cf2dd785219d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and governance",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure security and governance"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc1be67602d79b2aceea0862bca4478bb0cda4a9c64a1b448ede9ba7c1f93c08",
                "start_line": 101,
                "end_line": 124,
                "span_lf_sha256": "5a29f85a0e2f0bd9610b74e854211c2e05b4f61c03a033b313cb424ddaac8602"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and use Microsoft Fabric audit logs",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure security and governance",
            "group_number": 3,
            "objective_number": 7,
            "objective_wording_sha256": "5d7051981804e327f22d046bc02b26209c72a0aae46b244e40afd912af421e1e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and governance",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure security and governance"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc1be67602d79b2aceea0862bca4478bb0cda4a9c64a1b448ede9ba7c1f93c08",
                "start_line": 101,
                "end_line": 124,
                "span_lf_sha256": "5a29f85a0e2f0bd9610b74e854211c2e05b4f61c03a033b313cb424ddaac8602"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and implement OneLake security",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Configure security and governance",
            "group_number": 3,
            "objective_number": 8,
            "objective_wording_sha256": "73cf4d61bb034ffa7e7925d4bba4f05113b6a85fee62110ac771f5e33c697b3c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and governance",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Configure security and governance"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cc1be67602d79b2aceea0862bca4478bb0cda4a9c64a1b448ede9ba7c1f93c08",
                "start_line": 101,
                "end_line": 124,
                "span_lf_sha256": "5a29f85a0e2f0bd9610b74e854211c2e05b4f61c03a033b313cb424ddaac8602"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between Dataflow gen 2, a pipeline and a notebook",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Orchestrate processes",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "64206c12bfb41d16f0694382bc7fc4ab8621478c2a6eaa42e853dd11ef9a1b84",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Orchestrate processes",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Orchestrate processes"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "eb5d8b7ba93c46232973bbc68d11ffa59589be957d46378aa77d4bd1f7c62313",
                "start_line": 125,
                "end_line": 144,
                "span_lf_sha256": "a5b32aec1fae91cd04877aeb3245aa273568f159d692729100846d49ef6c531f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement schedules and event-based triggers",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Orchestrate processes",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "69a16878221510a48a5a0400b94943caf7d3c5a0e6a8638f617b43cfcffff91e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Orchestrate processes",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Orchestrate processes"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "eb5d8b7ba93c46232973bbc68d11ffa59589be957d46378aa77d4bd1f7c62313",
                "start_line": 125,
                "end_line": 144,
                "span_lf_sha256": "a5b32aec1fae91cd04877aeb3245aa273568f159d692729100846d49ef6c531f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement orchestration patterns with notebooks and pipelines, including parameters and dynamic expressions",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Implement and manage an analytics solution (30–35%)",
            "group": "Orchestrate processes",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "e319ec0e71cefd792da5faa16aa8418200c4a375c4cfe51d7fb5c4b76cb8ec51",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Orchestrate processes",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "1. Implement and manage an analytics solution",
                  "Orchestrate processes"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "eb5d8b7ba93c46232973bbc68d11ffa59589be957d46378aa77d4bd1f7c62313",
                "start_line": 125,
                "end_line": 144,
                "span_lf_sha256": "a5b32aec1fae91cd04877aeb3245aa273568f159d692729100846d49ef6c531f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement full and incremental data loads",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Design and implement loading patterns",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "478dc2739745c5ab933c104c262d02be74dbe2583bebe990ce2d8d145a8ba594",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Full and incremental loads",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "2. Ingest and transform data",
                  "Design loading patterns",
                  "Full and incremental loads"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e3a66b4a66ae341832412db2b10d8e64b7e62cd7ff2f54f2054d4afb427c4e14",
                "start_line": 149,
                "end_line": 167,
                "span_lf_sha256": "11a250a93420832329a1e45725d793fc260235338e8f23bf7ee57f12ad8f5539"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Prepare data for loading into a dimensional model",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Design and implement loading patterns",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "0497a2304148e90f2a990037d69484566ebe15db9e6b4e9e0cfa6f6f6734432a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Prepare a dimensional load",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "2. Ingest and transform data",
                  "Design loading patterns",
                  "Prepare a dimensional load"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "9b34409c0ad5fc16a2e6886809180faa9178c2f1337c0d5795206239fe1fbd60",
                "start_line": 168,
                "end_line": 173,
                "span_lf_sha256": "0ffd13554724218eebda264d2264ee04e8c4f938ef4d82dba478fd6cd1ac440e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design and implement a loading pattern for streaming data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Design and implement loading patterns",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "a3394bcf7a7fa2a4da69257bd55675590350d82c38a8ce66610440df1715f669",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Streaming loads",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "2. Ingest and transform data",
                  "Design loading patterns",
                  "Streaming loads"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7fa4d3aa7d67a8dae213cbc6d89c0309c726ef834b470949fbf885e61fb2c0b8",
                "start_line": 174,
                "end_line": 179,
                "span_lf_sha256": "91f69209d75e2c886f2a0df16a7bef70618f6bd41491a51662ed13ec523c59af"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose an appropriate data store",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "fa6e35c9e4a3b2f2f5f7dcaee5366154ae254ead334d82639d9a1e1a669a0c24",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose a data store and access pattern",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "2. Ingest and transform data",
                  "Ingest and transform batch data",
                  "Choose a data store and access pattern"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d0fa0df33eb346ba74042e2c74567bf748f9b0108de58f05185b629b76a949f7",
                "start_line": 182,
                "end_line": 193,
                "span_lf_sha256": "969a00a3250e3d54336ae503dc6b440f79ca790cf81eaf68f764b3c183e637a7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between Dataflows Gen2, notebooks, KQL, and T-SQL for data transformation",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "0d63bb752daf50b22f4e540553a59c0107c2bc30de3ce927eafdea3df57eee12",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select the transformation engine",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "2. Ingest and transform data",
                  "Ingest and transform batch data",
                  "Select the transformation engine"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "ccb32f77b5c7367d1e10d330ad71ff1aa5cda73f4c83dcbca85cf28dcd128647",
                "start_line": 194,
                "end_line": 199,
                "span_lf_sha256": "9be867c19db9212b688223e306e065f9ad0de07a4a592269579003fae7bc65c1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage OneLake shortcuts",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "129cc6d2ea545dad93c689d4216f4964b79ea46d270593d42538d25e22460f55",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Shortcuts, mirroring and pipelines",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Shortcuts, mirroring and pipelines"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "b3d4d1cc4bd274e0717c30e43876be1638f46b3345316d49ca549fe7236e50cc",
                "start_line": 245,
                "end_line": 256,
                "span_lf_sha256": "82125fe18ac87e34250dc6112ab101f0a94d4f7d587d2d2cc2998d56930ceec3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement mirroring",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "91a86aa5507433b500268c10bdf47e0a429a347b0e61181b7e09058a2be0fec9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Shortcuts, mirroring and pipelines",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Shortcuts, mirroring and pipelines"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "b3d4d1cc4bd274e0717c30e43876be1638f46b3345316d49ca549fe7236e50cc",
                "start_line": 245,
                "end_line": 256,
                "span_lf_sha256": "82125fe18ac87e34250dc6112ab101f0a94d4f7d587d2d2cc2998d56930ceec3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Ingest data by using pipelines",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 5,
            "objective_wording_sha256": "fe5de0043ad68f884e9c310ac7ea6bc276b8a8dd6108f556cc5b45382c21ea90",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Shortcuts, mirroring and pipelines",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Shortcuts, mirroring and pipelines"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "b3d4d1cc4bd274e0717c30e43876be1638f46b3345316d49ca549fe7236e50cc",
                "start_line": 245,
                "end_line": 256,
                "span_lf_sha256": "82125fe18ac87e34250dc6112ab101f0a94d4f7d587d2d2cc2998d56930ceec3"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Transform data by using PySpark, SQL, and KQL",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 6,
            "objective_wording_sha256": "ddb30ce42e54f585a289aa9a4bc6f732f27254b81968380b404fef108206e9ab",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select the transformation engine",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "2. Ingest and transform data",
                  "Ingest and transform batch data",
                  "Select the transformation engine"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "ccb32f77b5c7367d1e10d330ad71ff1aa5cda73f4c83dcbca85cf28dcd128647",
                "start_line": 194,
                "end_line": 199,
                "span_lf_sha256": "9be867c19db9212b688223e306e065f9ad0de07a4a592269579003fae7bc65c1"
              },
              {
                "heading": "Worked example — transformation and event-time contracts",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "2. Ingest and transform data",
                  "Ingest and transform batch data",
                  "Worked example — transformation and event-time contracts"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8284b0b9f309aa73d87ecde38700f5228ddbd2dc9ad356c459e80d06541d91fd",
                "start_line": 200,
                "end_line": 212,
                "span_lf_sha256": "2d59ce8f4ffcba3723a757bc0d5ccf4cd456bb95354a6b54ceab5028598beb84"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "SQL/PySpark/KQL equivalence is described without an original transformation example in each language.",
            "repair_id": "DP700-transform-window"
          },
          {
            "wording": "Denormalize data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 7,
            "objective_wording_sha256": "7c70ce6490d658344cbd02c83ef770073d77485ff6f784b8dfe7db97bc4b8b4a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Shape trustworthy data",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Shape trustworthy data"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "73ce3679329620b8e8219f656b33878e26cc860d9a3cf74a7e4a75b82344dbfb",
                "start_line": 257,
                "end_line": 272,
                "span_lf_sha256": "44c102c5f80e1c0a6fdbc5fed996e416d3cdb1933d48b6011f0538e8fbbf9868"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Group and aggregate data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 8,
            "objective_wording_sha256": "4ccd38a060d72b759b17a87c8f6509c68bce1bae7afaa9fcc370c7d6c7fc04fd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Shape trustworthy data",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Shape trustworthy data"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "73ce3679329620b8e8219f656b33878e26cc860d9a3cf74a7e4a75b82344dbfb",
                "start_line": 257,
                "end_line": 272,
                "span_lf_sha256": "44c102c5f80e1c0a6fdbc5fed996e416d3cdb1933d48b6011f0538e8fbbf9868"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Handle duplicate, missing, and late-arriving data",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform batch data",
            "group_number": 6,
            "objective_number": 9,
            "objective_wording_sha256": "a75366e15187b1f060e4d93337235377b6a08aed6996052a58d9badc93123fc1",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Shape trustworthy data",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Shape trustworthy data"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "73ce3679329620b8e8219f656b33878e26cc860d9a3cf74a7e4a75b82344dbfb",
                "start_line": 257,
                "end_line": 272,
                "span_lf_sha256": "44c102c5f80e1c0a6fdbc5fed996e416d3cdb1933d48b6011f0538e8fbbf9868"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose an appropriate streaming engine",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform streaming data",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "d60dcf7a517aaf5a4303e2e8acf0ad36a2fcbea3f357875c7e6dd8330476daea",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the streaming engine",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Ingest and transform streaming data",
                  "Choose the streaming engine"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d3bf672a56e2484333453ed5739a130e263ebdc1ea2dd43728b8ec837386d2b4",
                "start_line": 275,
                "end_line": 284,
                "span_lf_sha256": "9bdae5c5c678201509157b24290408481390e521ff25b064585582aa34782802"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between native tables and OneLake shortcuts in Real-Time Intelligence",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform streaming data",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "a9590d1d7d4c33b4d011682a1a9d837b5f4b564607acc0844b8a489100476698",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Native Eventhouse table versus OneLake shortcut",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Ingest and transform streaming data",
                  "Native Eventhouse table versus OneLake shortcut"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2fc03bf9f1039dd4b23f19ed13b650af122d29e65a50239558bf6aa2daebbe63",
                "start_line": 285,
                "end_line": 294,
                "span_lf_sha256": "a44fc22ba3933e759f4af1661268ba7ff67d438554c97fe3d4db09aaf04bd8a5"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Choose between Query acceleration for OneLake shortcuts and standard OneLake shortcuts in Real-Time Intelligence",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform streaming data",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "6f43a63529f36ab26f26b2bad5e821714b48c38e2596b069b7bc8d92f443f812",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Native Eventhouse table versus OneLake shortcut",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Ingest and transform streaming data",
                  "Native Eventhouse table versus OneLake shortcut"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "2fc03bf9f1039dd4b23f19ed13b650af122d29e65a50239558bf6aa2daebbe63",
                "start_line": 285,
                "end_line": 294,
                "span_lf_sha256": "a44fc22ba3933e759f4af1661268ba7ff67d438554c97fe3d4db09aaf04bd8a5"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Process data by using Eventstream",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform streaming data",
            "group_number": 7,
            "objective_number": 4,
            "objective_wording_sha256": "553d400866a46d02337b469d1ef81e080424bf71a2a0f90f95e3efb35b1f09ab",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the streaming engine",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Ingest and transform streaming data",
                  "Choose the streaming engine"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d3bf672a56e2484333453ed5739a130e263ebdc1ea2dd43728b8ec837386d2b4",
                "start_line": 275,
                "end_line": 284,
                "span_lf_sha256": "9bdae5c5c678201509157b24290408481390e521ff25b064585582aa34782802"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Process data by using Spark structured streaming",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform streaming data",
            "group_number": 7,
            "objective_number": 5,
            "objective_wording_sha256": "f6616eb394c97d50c062eddb793f2fedee948f445d82504ddb11b0dd45871172",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Windows and late events",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Ingest and transform streaming data",
                  "Windows and late events"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c8f55c0ad852c48f2bd5262ffde3d13ab5a02ca1f14be8bc07da18488824c603",
                "start_line": 295,
                "end_line": 308,
                "span_lf_sha256": "e29c66cc533270b4327a11c0a48578aae6b0982038009fd1fefdcb633ccbdc8f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Process data by using KQL",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform streaming data",
            "group_number": 7,
            "objective_number": 6,
            "objective_wording_sha256": "f768b6d8776fd6611118c99fdf16db106c7b6e393803fdbddf1f1e13159a08e5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Windows and late events",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Ingest and transform streaming data",
                  "Windows and late events"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c8f55c0ad852c48f2bd5262ffde3d13ab5a02ca1f14be8bc07da18488824c603",
                "start_line": 295,
                "end_line": 308,
                "span_lf_sha256": "e29c66cc533270b4327a11c0a48578aae6b0982038009fd1fefdcb633ccbdc8f"
              },
              {
                "heading": "Worked example — transformation and event-time contracts",
                "heading_path": [
                  "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
                  "2. Ingest and transform data",
                  "Ingest and transform batch data",
                  "Worked example — transformation and event-time contracts"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8284b0b9f309aa73d87ecde38700f5228ddbd2dc9ad356c459e80d06541d91fd",
                "start_line": 200,
                "end_line": 212,
                "span_lf_sha256": "2d59ce8f4ffcba3723a757bc0d5ccf4cd456bb95354a6b54ceab5028598beb84"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "KQL operators and time policy are described without a concrete bounded time-window query.",
            "repair_id": "DP700-transform-window"
          },
          {
            "wording": "Create windowing functions",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Ingest and transform data (30–35%)",
            "group": "Ingest and transform streaming data",
            "group_number": 7,
            "objective_number": 7,
            "objective_wording_sha256": "9ed7804751044a77faad5db081d1368e21489cd2778f4009e26f4a8c0d80971e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Windows and late events",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "Ingest and transform streaming data",
                  "Windows and late events"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "c8f55c0ad852c48f2bd5262ffde3d13ab5a02ca1f14be8bc07da18488824c603",
                "start_line": 295,
                "end_line": 308,
                "span_lf_sha256": "e29c66cc533270b4327a11c0a48578aae6b0982038009fd1fefdcb633ccbdc8f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor data ingestion",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Monitor Fabric items",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "7c262b95cae88cfe900b4b54a72283ae1ebcebbe5ccdd86ed183c88a553051f2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor Fabric items",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Monitor Fabric items"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "781ba44b9fa2a87affa74799616b35e35257f9b9224f1fe345f8fdce3a135699",
                "start_line": 311,
                "end_line": 327,
                "span_lf_sha256": "42b6cba851b0fda2fc50bccdd2d363500935523f869d50ccae97aacef58f01d7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor data transformation",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Monitor Fabric items",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "76eafb18fdd6f575718bb7005edbaf389aeb6df85d848d5152dc315cc8a74137",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor Fabric items",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Monitor Fabric items"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "781ba44b9fa2a87affa74799616b35e35257f9b9224f1fe345f8fdce3a135699",
                "start_line": 311,
                "end_line": 327,
                "span_lf_sha256": "42b6cba851b0fda2fc50bccdd2d363500935523f869d50ccae97aacef58f01d7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor semantic model refresh",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Monitor Fabric items",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "916a6527562625c078f5890bccd1dacde2ba2169ee58b6e7a46e1ec434597885",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor Fabric items",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Monitor Fabric items"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "781ba44b9fa2a87affa74799616b35e35257f9b9224f1fe345f8fdce3a135699",
                "start_line": 311,
                "end_line": 327,
                "span_lf_sha256": "42b6cba851b0fda2fc50bccdd2d363500935523f869d50ccae97aacef58f01d7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure alerts",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Monitor Fabric items",
            "group_number": 8,
            "objective_number": 4,
            "objective_wording_sha256": "52b7f1b14b36218b8c531a2dacc4037b23897c50570bc47199ccbf20ff1dd510",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Monitor Fabric items",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Monitor Fabric items"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "781ba44b9fa2a87affa74799616b35e35257f9b9224f1fe345f8fdce3a135699",
                "start_line": 311,
                "end_line": 327,
                "span_lf_sha256": "42b6cba851b0fda2fc50bccdd2d363500935523f869d50ccae97aacef58f01d7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve pipeline errors",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Identify and resolve errors",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "92d1a9214eeca31a4257e5c9aa382e68339699d1506c69afdd0038c2cd3eec6a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identify and resolve errors",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Identify and resolve errors"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a785324de9e6fa4bf77f6da112bea89c7e8019b89c96bb6a28bd4b7b0c1801b9",
                "start_line": 328,
                "end_line": 345,
                "span_lf_sha256": "55c1e2f389990e406c3cabbfed1249ac994b482d65e23f40b63bf4dd09390092"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve Dataflow Gen2 errors",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Identify and resolve errors",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "76dc090bd07d67e574bb0964ddc8799f384598b512bcf8a3501f2c0cd299cb0c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identify and resolve errors",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Identify and resolve errors"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a785324de9e6fa4bf77f6da112bea89c7e8019b89c96bb6a28bd4b7b0c1801b9",
                "start_line": 328,
                "end_line": 345,
                "span_lf_sha256": "55c1e2f389990e406c3cabbfed1249ac994b482d65e23f40b63bf4dd09390092"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve notebook errors",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Identify and resolve errors",
            "group_number": 9,
            "objective_number": 3,
            "objective_wording_sha256": "1d9bddc050fef022d697f579572c52a32c0c043debbdd116ff6e6226895ce57d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identify and resolve errors",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Identify and resolve errors"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a785324de9e6fa4bf77f6da112bea89c7e8019b89c96bb6a28bd4b7b0c1801b9",
                "start_line": 328,
                "end_line": 345,
                "span_lf_sha256": "55c1e2f389990e406c3cabbfed1249ac994b482d65e23f40b63bf4dd09390092"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve Eventhouse errors",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Identify and resolve errors",
            "group_number": 9,
            "objective_number": 4,
            "objective_wording_sha256": "d083de63179eee4cf14cb365a432aa817187371a69abfa2df8dc0ff55c1eebbe",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identify and resolve errors",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Identify and resolve errors"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a785324de9e6fa4bf77f6da112bea89c7e8019b89c96bb6a28bd4b7b0c1801b9",
                "start_line": 328,
                "end_line": 345,
                "span_lf_sha256": "55c1e2f389990e406c3cabbfed1249ac994b482d65e23f40b63bf4dd09390092"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve Eventstream errors",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Identify and resolve errors",
            "group_number": 9,
            "objective_number": 5,
            "objective_wording_sha256": "b6c9345e01f75c9ce8a59d12be9bc44816f99044fdc286f918b107dabe8d0fd4",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identify and resolve errors",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Identify and resolve errors"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a785324de9e6fa4bf77f6da112bea89c7e8019b89c96bb6a28bd4b7b0c1801b9",
                "start_line": 328,
                "end_line": 345,
                "span_lf_sha256": "55c1e2f389990e406c3cabbfed1249ac994b482d65e23f40b63bf4dd09390092"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve T-SQL errors",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Identify and resolve errors",
            "group_number": 9,
            "objective_number": 6,
            "objective_wording_sha256": "388a503a318b3236ade606024909a1e231239b7bd023f3558e3ef81bb21527ff",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identify and resolve errors",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Identify and resolve errors"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a785324de9e6fa4bf77f6da112bea89c7e8019b89c96bb6a28bd4b7b0c1801b9",
                "start_line": 328,
                "end_line": 345,
                "span_lf_sha256": "55c1e2f389990e406c3cabbfed1249ac994b482d65e23f40b63bf4dd09390092"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Identify and resolve OneLake shortcut errors",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Identify and resolve errors",
            "group_number": 9,
            "objective_number": 7,
            "objective_wording_sha256": "d92b3b6d1383ec6b04f88ed73074c3a718635521111fbbdd8e285bf73d13ebef",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Identify and resolve errors",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Identify and resolve errors"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a785324de9e6fa4bf77f6da112bea89c7e8019b89c96bb6a28bd4b7b0c1801b9",
                "start_line": 328,
                "end_line": 345,
                "span_lf_sha256": "55c1e2f389990e406c3cabbfed1249ac994b482d65e23f40b63bf4dd09390092"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize a Lakehouse table",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Optimize performance",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "e3a61e0645ddb4fb4e0278c4635a42947dcddb9e40e1055bdb92230a506880d8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Lakehouse tables",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Optimize performance",
                  "Lakehouse tables"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "b95d2c19eb3b7f2a550f3f45d3fa2fb5221383bd2224bf906d70e232fe4d6422",
                "start_line": 350,
                "end_line": 357,
                "span_lf_sha256": "9a734fac202e0fdaa6d2239936ec193f47a07be63cfd09637cebdc811d9f2c80"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize a pipeline",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Optimize performance",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "04f04f409974b851c8b4d7da437d53fd8ff571c44ccda93208bba66a32316ee6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Pipelines",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Optimize performance",
                  "Pipelines"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d2470c04d0ced6a2099f9a6346a82862fb987c704a5d8dbf7d143d09caa3b4d1",
                "start_line": 358,
                "end_line": 361,
                "span_lf_sha256": "37a564cb764f867869f8eda8d56638d47d5325ab5c4f365f1969fb64c4b9a971"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize a data warehouse",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Optimize performance",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "1b79f9cfdb2685b384cca82a12550f4c1f38ee4fa1d45d7f390fcc684561d24a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Warehouse and query performance",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Optimize performance",
                  "Warehouse and query performance"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "a4bf32bed4543def8312e8208a508d29c11ffa196c88ba5e5500e19dabf0be43",
                "start_line": 362,
                "end_line": 367,
                "span_lf_sha256": "4cca47b13d920ef55615e0f85bdac9db82a799abbf1490623312bfd199fc98e6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize Eventstream and Eventhouse",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Optimize performance",
            "group_number": 10,
            "objective_number": 4,
            "objective_wording_sha256": "87c9aa4f4a7312da2cd0dbe9ed818afe6f045c6fa86de8e3de838d55a418e149",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Eventstreams and Eventhouses",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Optimize performance",
                  "Eventstreams and Eventhouses"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0c52cf675c88a81bfccb783223f51ebc5864769e4b7fbe1ef00a98468521ae78",
                "start_line": 374,
                "end_line": 379,
                "span_lf_sha256": "0de6aa456cdfab328c4e594016bd7e59b53d306234349f9e20b0b565ce46338b"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize Spark performance",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Optimize performance",
            "group_number": 10,
            "objective_number": 5,
            "objective_wording_sha256": "7aec0bf71271bcaaa8d7954b15fa3b4b2b94a63a211fd7fba4b9aa4d553f2975",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Spark",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Optimize performance",
                  "Spark"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "e1db3cb37aa2f5674d45749c82311618af226b314eadc4d10719a27c7ecf7653",
                "start_line": 368,
                "end_line": 373,
                "span_lf_sha256": "5d9268b3409fbff8b64ecf726434ca7f37798c3cd6d5ca4fc0c136f496bf2a6c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize query performance",
            "version": "Skills measured as of October 19, 2026",
            "domain": "Monitor and optimize an analytics solution (30–35%)",
            "group": "Optimize performance",
            "group_number": 10,
            "objective_number": 6,
            "objective_wording_sha256": "a2807038b16f9864de49dbb6836dd46939178625c7991acae6e3d17b8eb037d8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Query optimization across languages",
                "heading_path": [
                  "sales is the approved, typed four-row fixture DataFrame.",
                  "3. Monitor and optimize an analytics solution",
                  "Optimize performance",
                  "Query optimization across languages"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "856a0786b6ca2607f1719b57c1352b8bac0b1b3ff2001210c5f6ac2430e16c0c",
                "start_line": 380,
                "end_line": 385,
                "span_lf_sha256": "d1a9521511cd6efafd3cd79b3a2c24c7d89e45df8e00ec140b08c0702ee3669e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-dp-700.txt",
        "final_diff_lf_sha256": "d3168998df5260e0a9fb443271fefc67336edad3ea404578e6b6b1789ade9d52"
      },
      {
        "exam_code": "PL-400",
        "guide_path": "guides/PL-400-microsoft-power-platform-developer.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/PL-400-microsoft-power-platform-developer.md",
        "guide_lf_sha256": "5faa7fee71e3bb0a84e96587464110633aede0b6d8beb1f1abd4c170d5208490",
        "live_matches_captured_final": true,
        "line_count": 661,
        "immutable_before_guide_lf_sha256": "fc2245581a0f3ae0e94b51d36e836b6c2c5762941daf5a2eb083387340f300e3",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/pl-400-official-objectives.txt",
        "objective_raw_sha256": "facfff59976de5c12e31c20f17ad072c6255f1324c9a55419788d6ee70a825d1",
        "objective_count": 88,
        "group_count": 15,
        "initial_example_gaps": 7,
        "resolved_example_gaps": 7,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Analyze the technical architecture to identify solution components and their implementation approach",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "f1acdedf67630c0b4d9697973c3e1dac6b2b47cb46d1244422148f14eeae2365",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Start with requirements and the smallest sufficient extension",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "1. Create a technical design",
                  "Start with requirements and the smallest sufficient extension"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e4cb48f1eecc27e21ef9f29920ff1d55d8c68a465ea0e0f20e2264047c453349",
                "start_line": 69,
                "end_line": 86,
                "span_lf_sha256": "620de79482ef65eb8411ccd76f6defba8381fde5a4bf843a26f43ae9133dfe18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design authentication and authorization for solution components",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "4180582e6276ff3bb77fbf248258df363a9aa7e8b8a9076d0c79b6bbcb840ff9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design identity, authorization, and governance together",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "1. Create a technical design",
                  "Design identity, authorization, and governance together"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "91c7884a7365664b81f521ee513d4d46224eb97727eb3d66730391576559bb85",
                "start_line": 93,
                "end_line": 100,
                "span_lf_sha256": "3a3aaf0b55429580841f7f5712a45d842d9860653b4d6e46c938b8aeedd0ba1d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine whether requirements can be met with out-of-the-box functionality",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "5f33c505c8cfefd139b98fca686c06862dd18059d422d774f528a0f5b8b9f4f2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Start with requirements and the smallest sufficient extension",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "1. Create a technical design",
                  "Start with requirements and the smallest sufficient extension"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e4cb48f1eecc27e21ef9f29920ff1d55d8c68a465ea0e0f20e2264047c453349",
                "start_line": 69,
                "end_line": 86,
                "span_lf_sha256": "620de79482ef65eb8411ccd76f6defba8381fde5a4bf843a26f43ae9133dfe18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine where to implement business logic including cloud services, client-side processing, business rules, plug-ins, and automation",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "4ba4faefbc5306cc89b0f7daffb56e54cec01df60b6d056e83c6ea2bb475533a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Start with requirements and the smallest sufficient extension",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "1. Create a technical design",
                  "Start with requirements and the smallest sufficient extension"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e4cb48f1eecc27e21ef9f29920ff1d55d8c68a465ea0e0f20e2264047c453349",
                "start_line": 69,
                "end_line": 86,
                "span_lf_sha256": "620de79482ef65eb8411ccd76f6defba8381fde5a4bf843a26f43ae9133dfe18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine when to use standard tables, virtual tables, elastic tables, or connectors",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "f317b7ac1372910ec4d730c86405a028fff962b80160eacb4af40e11a272d700",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the data access shape",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "1. Create a technical design",
                  "Choose the data access shape"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "4bcbe21f484538d8015ce1564b1358fb4b82e5cb0da102b9708efdb054c78f48",
                "start_line": 87,
                "end_line": 92,
                "span_lf_sha256": "2f447f7fdac5eac52a8dfb35d5bcbe1c207f72834a97340f9933d13b02459a9f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Assess the impact of Microsoft Power Platform security features on solution components, including managed environments, data policies, security roles, teams, business units, and row sharing",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 6,
            "objective_wording_sha256": "a88aece5a64a3c241fdc366615575a7c8873125609b601658b3fb16a3a10019d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design identity, authorization, and governance together",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "1. Create a technical design",
                  "Design identity, authorization, and governance together"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "91c7884a7365664b81f521ee513d4d46224eb97727eb3d66730391576559bb85",
                "start_line": 93,
                "end_line": 100,
                "span_lf_sha256": "3a3aaf0b55429580841f7f5712a45d842d9860653b4d6e46c938b8aeedd0ba1d"
              },
              {
                "heading": "Environments and operational security",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "2. Build Power Platform solutions",
                  "Environments and operational security"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b4ab41768a1cdf1e9c8dc115d54d2fbc3268d91eb4b436e8116c261750ed17ec",
                "start_line": 120,
                "end_line": 125,
                "span_lf_sha256": "44021f5037d1bd5fd043969e9ef89e421b5b1b4b337eaddd8363197091d409d8"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine when to use deterministic or non-deterministic methods to implement business logic",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 7,
            "objective_wording_sha256": "841d6b66aec0697df9517ab711a8abb9b6a6698d4e17e9db9a54e756b5f1b61a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the experience and the execution contract",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Choose the experience and the execution contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c58ee869f062cb3a0f02c10c0aed7e260a6a7a8ad6ba225a734acce728c395ff",
                "start_line": 305,
                "end_line": 318,
                "span_lf_sha256": "49c62fc909d78ccf9c593962db74de35da3f96f7a7e1c901f8d16f955b8333c0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine when to use code apps, generative pages, Power Apps component frameworks (PCFs), web resources, interactive agents, and Model Context Protocol (MCP) app widgets to implement the user experience",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 8,
            "objective_wording_sha256": "58cc90154587836883db4d53dcbedd25a366358df9538af16ea584258591d52e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the experience and the execution contract",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Choose the experience and the execution contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c58ee869f062cb3a0f02c10c0aed7e260a6a7a8ad6ba225a734acce728c395ff",
                "start_line": 305,
                "end_line": 318,
                "span_lf_sha256": "49c62fc909d78ccf9c593962db74de35da3f96f7a7e1c901f8d16f955b8333c0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine when to use Microsoft Foundry or Microsoft Copilot Studio to build agents",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design the technical architecture",
            "group_number": 1,
            "objective_number": 9,
            "objective_wording_sha256": "a74689863d2394d87c1db01508e8788383dd1ade2801c001c046505326987ee5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the experience and the execution contract",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Choose the experience and the execution contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c58ee869f062cb3a0f02c10c0aed7e260a6a7a8ad6ba225a734acce728c395ff",
                "start_line": 305,
                "end_line": 318,
                "span_lf_sha256": "49c62fc909d78ccf9c593962db74de35da3f96f7a7e1c901f8d16f955b8333c0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design Power Apps reusable components including generative pages, code components (PCF), and client scripting",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design solution components",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "38350edab7de1ad8d9f6b2c28862b7ab365b40d3f0b36ebbe1b5f3eb4034be0d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design reusable components and integrations",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "1. Create a technical design",
                  "Design reusable components and integrations"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "eb7563d4d87ad48d9d864ea7634b9a5e9d07b7ae3e08bcf7ab67821538e551e5",
                "start_line": 101,
                "end_line": 117,
                "span_lf_sha256": "989c203f17c88d1a69e1eaf6ea4f3c2b251bb1559f9ee600ee683e416be4e7b1"
              },
              {
                "heading": "Choose the experience and the execution contract",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Choose the experience and the execution contract"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c58ee869f062cb3a0f02c10c0aed7e260a6a7a8ad6ba225a734acce728c395ff",
                "start_line": 305,
                "end_line": 318,
                "span_lf_sha256": "49c62fc909d78ccf9c593962db74de35da3f96f7a7e1c901f8d16f955b8333c0"
              },
              {
                "heading": "Worked example — generative reuse and flow",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Choose the experience and the execution contract",
                  "Worked example — generative reuse and flow"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "817b7f379629ef799d5c9b7a53a33299a1d6edc79dfdf69f24a4141a620cb228",
                "start_line": 309,
                "end_line": 318,
                "span_lf_sha256": "e57edf119291817c39b17c973a880bdf4e3c3a9b4ecd52b964ffe81cb3f6689c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Reusable PCF/scripts are substantive; generative-page reuse receives only selection-level discussion.",
            "repair_id": "PL400-generative-reuse-and-flow"
          },
          {
            "wording": "Design custom connectors and MCP servers for use with Microsoft Power Platform solutions",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design solution components",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "37042487d9899e60021829081db674f2954465dc3001610b26b71070779f80bd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Custom connectors and OpenAPI",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Custom connectors and OpenAPI"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b58c4c51386efae361971bcbabf296b51b17610429a3aa96d855a764dd465154",
                "start_line": 229,
                "end_line": 236,
                "span_lf_sha256": "ba49f679cbcdb68e84e525ceb59135d076fa12fa8a0a0693706bb4b5e42a0c34"
              },
              {
                "heading": "Connect agents through the correct protocol and identity",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1deb92b9cb125142298d5e854b00fd142e1a47f5820cac48845f16a626fdec44",
                "start_line": 411,
                "end_line": 496,
                "span_lf_sha256": "3ebf9c06166bf2c7d612a22658970075a4afc41f67603cd7b71374ca933a32bf"
              },
              {
                "heading": "Worked example — a proposed update is not a committed update",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Worked example — a proposed update is not a committed update"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4d0ebd1c4e111c189945a0cef81bdbf68790651fe7915e02b7ba6afea61cd155",
                "start_line": 449,
                "end_line": 496,
                "span_lf_sha256": "6b92dd7aa086cfbae2a98b8ecd039623e6a29bd7e17826baa872ee88832e701a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Custom connector is substantive; custom MCP server design has only policy/identity requirements, without a tool schema and request/result example.",
            "repair_id": "PL400-tool-agent-contract"
          },
          {
            "wording": "Design Dataverse code components, including plug-ins and custom APIs",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design solution components",
            "group_number": 2,
            "objective_number": 3,
            "objective_wording_sha256": "80fcab85dae682945af9eca91da3da5746e4a0b9611a31d3ee1e7c21c1adc22c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dataverse plug-ins and custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Dataverse plug-ins and custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "045298c95bbb99c0b2c87ac7af3ea5c1c4134d892f29022ad8d36962f76354a8",
                "start_line": 200,
                "end_line": 216,
                "span_lf_sha256": "5e3d4f57dcc212bb075dd607bcceedb8b68d24b18bb293838ceb4452e77e92f0"
              },
              {
                "heading": "Define custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Define custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "88db36ae78efc7d676a4a243b8b8fad437a8cdc0f5516a90466f1711259087cb",
                "start_line": 225,
                "end_line": 228,
                "span_lf_sha256": "e60b0afb1152c2307dff67981443db261c3534f1921c4f11e40c00590e301250"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design automations, including Power Automate cloud flows and Copilot Studio workflows",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design solution components",
            "group_number": 2,
            "objective_number": 4,
            "objective_wording_sha256": "25ef39bd0ff3abcb9cfe478ab5f8b2de3de2f007a43b1935061102b97e8be5fe",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              },
              {
                "heading": "Worked example — generative reuse and flow",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Choose the experience and the execution contract",
                  "Worked example — generative reuse and flow"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "817b7f379629ef799d5c9b7a53a33299a1d6edc79dfdf69f24a4141a620cb228",
                "start_line": 309,
                "end_line": 318,
                "span_lf_sha256": "e57edf119291817c39b17c973a880bdf4e3c3a9b4ecd52b964ffe81cb3f6689c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Cloud-flow design is substantive; Copilot Studio workflow-specific boundary is not developed.",
            "repair_id": "PL400-generative-reuse-and-flow"
          },
          {
            "wording": "Design inbound and outbound integrations using Dataverse and Microsoft Azure",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design solution components",
            "group_number": 2,
            "objective_number": 5,
            "objective_wording_sha256": "91f3fbb61df8ddd165f8fbd84c5d09c4617441e0e5ad2faf913d6314ae1ac1e6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Publish and consume Dataverse events",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Publish and consume Dataverse events"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7532c7c91d23023c4fd8953ff31d2add4232c45cfca65204ab5e00d33a3db5b6",
                "start_line": 269,
                "end_line": 280,
                "span_lf_sha256": "a940c8964e74c96880fbbc5b5de63a9532fa9ab547c9d710660ff0d1274183bd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design custom interfaces by using Power Apps code apps",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design solution components",
            "group_number": 2,
            "objective_number": 6,
            "objective_wording_sha256": "7758f6dc604bf219d580f19638c8b3dc4dfb0d36d2ee9d88bcf80ff96d7f6b45",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design custom agents that integrate with Microsoft Power Platform",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design solution components",
            "group_number": 2,
            "objective_number": 7,
            "objective_wording_sha256": "6800c1de3bba8e0754854a0760fa0549cf2a995f64cfc6f8c296a27ad5631e6a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect agents through the correct protocol and identity",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1deb92b9cb125142298d5e854b00fd142e1a47f5820cac48845f16a626fdec44",
                "start_line": 411,
                "end_line": 496,
                "span_lf_sha256": "3ebf9c06166bf2c7d612a22658970075a4afc41f67603cd7b71374ca933a32bf"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design monitoring and alerting, including Azure Monitor Application Insights and Microsoft Power Platform monitor alerts",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Design solution components",
            "group_number": 2,
            "objective_number": 8,
            "objective_wording_sha256": "6f1fe182b37d458308ae18bea9ee49e5c5a70b7b13b7bd717281c5c571d4b76c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Diagnose and optimize from measurements",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "3. Implement Power Apps improvements",
                  "Diagnose and optimize from measurements"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "5f948fed17372a1e1e3b27690f84c07bc502d7f3918bb661d18d8e399fe72e6a",
                "start_line": 161,
                "end_line": 172,
                "span_lf_sha256": "84adf0ffa9f64397739485bb8e0da98903f7caaa0c2f1d8c05510aaad2e62db9"
              },
              {
                "heading": "Worked example — choose an alert that can meet the response time",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Worked example — choose an alert that can meet the response time"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0ca71f26ac4148d3834630549147d6fc6da1265ac02bffc1dac4cd3963274de1",
                "start_line": 361,
                "end_line": 372,
                "span_lf_sha256": "2df69900ba2aa55daf4bfe9bf8bc1974ff5ec05cdf59fe80de13f791cf6166e7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Application Insights is discussed; Power Platform Monitor alert trigger/owner/response example is absent.",
            "repair_id": "PL400-monitor-alert"
          },
          {
            "wording": "Manage solution dependencies",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Implement application lifecycle management (ALM)",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "dcd4fa78a8c026ec475d91b1ba01a69ee5b26237baea16dc94fd0c6c25d2b4f2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Solutions, configuration, dependencies, and layers",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "2. Build Power Platform solutions",
                  "Solutions, configuration, dependencies, and layers"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f2f1c676b04181ca424f806a020787ec83f8b9c66f3be93ce8d2935b37b314ef",
                "start_line": 126,
                "end_line": 133,
                "span_lf_sha256": "a616e10fcfc0f498138c40f3bc221aaf7bc208541370a6e04aeb6a73626769e7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and use environment variables",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Implement application lifecycle management (ALM)",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "13df3e9a7d7b04f0e136e2c39126dd0a4b4c2fde987a517dc2f2bae5764deefa",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Solutions, configuration, dependencies, and layers",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "2. Build Power Platform solutions",
                  "Solutions, configuration, dependencies, and layers"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f2f1c676b04181ca424f806a020787ec83f8b9c66f3be93ce8d2935b37b314ef",
                "start_line": 126,
                "end_line": 133,
                "span_lf_sha256": "a616e10fcfc0f498138c40f3bc221aaf7bc208541370a6e04aeb6a73626769e7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Manage solution layers",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Implement application lifecycle management (ALM)",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "f1f6b756b80e29a7445cd5091b2038b2782e6d33771d8057f96b4ddc619415ec",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Solutions, configuration, dependencies, and layers",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "2. Build Power Platform solutions",
                  "Solutions, configuration, dependencies, and layers"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "f2f1c676b04181ca424f806a020787ec83f8b9c66f3be93ce8d2935b37b314ef",
                "start_line": 126,
                "end_line": 133,
                "span_lf_sha256": "a616e10fcfc0f498138c40f3bc221aaf7bc208541370a6e04aeb6a73626769e7"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and extend Microsoft Power Platform Pipelines",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Implement application lifecycle management (ALM)",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "d6b7789637ed7e28c16d3319271f0a4ab8ddf6cdf1928d8084c8880cd2c2e58a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Pipelines and CI/CD",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "2. Build Power Platform solutions",
                  "Pipelines and CI/CD"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cbcb56450a734b6f0e3904b0e0caf2754cac929eb67352ee972847d1ed8a34e9",
                "start_line": 134,
                "end_line": 150,
                "span_lf_sha256": "dff0e94dff044203db561a848726c2c0be2b39e2f0b73e35f1dc1a91ae5d6945"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create Continuous Integration/Continuous Deployment (CI/CD) automations using Microsoft Power Platform Build Tools",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Build Microsoft Power Platform solutions (15–20%)",
            "group": "Implement application lifecycle management (ALM)",
            "group_number": 3,
            "objective_number": 5,
            "objective_wording_sha256": "40c8e72569e0b4824473769697255986c81bc3a5208475c7a27edf33d2eda42d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Pipelines and CI/CD",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "2. Build Power Platform solutions",
                  "Pipelines and CI/CD"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "cbcb56450a734b6f0e3904b0e0caf2754cac929eb67352ee972847d1ed8a34e9",
                "start_line": 134,
                "end_line": 150,
                "span_lf_sha256": "dff0e94dff044203db561a848726c2c0be2b39e2f0b73e35f1dc1a91ae5d6945"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Build code that targets the Client API object model",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Apply business logic in model-driven apps by using client scripting",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "368d55a3f2e21c8eb0c9ff8c67e1a690f3df99eec028ff554ccd82d1e011ca44",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Client API, events, Web API, commands, and navigation",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Client API, events, Web API, commands, and navigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3f7a03b4034eb0fb546b309f8134e14c28e8e4c4ee2521d2b9a5c705fc173147",
                "start_line": 175,
                "end_line": 182,
                "span_lf_sha256": "2d50d195d65a807bf02b9ed889c9dff35718524251223ccdaf98aab3c80e2587"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Determine an event handler registration approach",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Apply business logic in model-driven apps by using client scripting",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "5e6e7452cf6fae6e198918788aab062cdb43bf3b509d7382b55b17506b917b1a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Client API, events, Web API, commands, and navigation",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Client API, events, Web API, commands, and navigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3f7a03b4034eb0fb546b309f8134e14c28e8e4c4ee2521d2b9a5c705fc173147",
                "start_line": 175,
                "end_line": 182,
                "span_lf_sha256": "2d50d195d65a807bf02b9ed889c9dff35718524251223ccdaf98aab3c80e2587"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create client scripting that targets the Dataverse Web API",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Apply business logic in model-driven apps by using client scripting",
            "group_number": 4,
            "objective_number": 3,
            "objective_wording_sha256": "3bf29bab7acef95d065683b7ae5a9c640adea2a6991794bb2f1a2562fc4c21bf",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Client API, events, Web API, commands, and navigation",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Client API, events, Web API, commands, and navigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3f7a03b4034eb0fb546b309f8134e14c28e8e4c4ee2521d2b9a5c705fc173147",
                "start_line": 175,
                "end_line": 182,
                "span_lf_sha256": "2d50d195d65a807bf02b9ed889c9dff35718524251223ccdaf98aab3c80e2587"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure commands and buttons by using Power Fx and JavaScript",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Apply business logic in model-driven apps by using client scripting",
            "group_number": 4,
            "objective_number": 4,
            "objective_wording_sha256": "77ce0fd4784e7f2b3e368c68e3b256c6594f70bdd7b53d387210396dc42e5196",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Client API, events, Web API, commands, and navigation",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Client API, events, Web API, commands, and navigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3f7a03b4034eb0fb546b309f8134e14c28e8e4c4ee2521d2b9a5c705fc173147",
                "start_line": 175,
                "end_line": 182,
                "span_lf_sha256": "2d50d195d65a807bf02b9ed889c9dff35718524251223ccdaf98aab3c80e2587"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement navigation, dialogs, and notifications by using the Client API",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Apply business logic in model-driven apps by using client scripting",
            "group_number": 4,
            "objective_number": 5,
            "objective_wording_sha256": "6cb85cd6d7b78e926f1ed3b740dc3b2cdcdfba71a80cf7c1d77f6627165df08f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Client API, events, Web API, commands, and navigation",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Client API, events, Web API, commands, and navigation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3f7a03b4034eb0fb546b309f8134e14c28e8e4c4ee2521d2b9a5c705fc173147",
                "start_line": 175,
                "end_line": 182,
                "span_lf_sha256": "2d50d195d65a807bf02b9ed889c9dff35718524251223ccdaf98aab3c80e2587"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Demonstrate the use of the different lifecycle events",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Create PCF code components",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "4d47d87660a49622a25d70ab723185102eee2e8d954a3801debf082b1098572d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Power Apps component framework",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Power Apps component framework"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2485a2870bda43d08efcb18eaf7b9368ff641eaf9178c8e5c446d28afb616417",
                "start_line": 183,
                "end_line": 197,
                "span_lf_sha256": "8ba401c3641dad7ad2e63a33cce9d07ac71e273fc0115530952440f5323068df"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure a code component manifest",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Create PCF code components",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "d56588e17833da9ba4f1c455500412e7b16e58b9ab14d477f836f3532908a2af",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Power Apps component framework",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Power Apps component framework"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2485a2870bda43d08efcb18eaf7b9368ff641eaf9178c8e5c446d28afb616417",
                "start_line": 183,
                "end_line": 197,
                "span_lf_sha256": "8ba401c3641dad7ad2e63a33cce9d07ac71e273fc0115530952440f5323068df"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement component interfaces",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Create PCF code components",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "76fe2c2cb50b03a836050f7e2725e7c0e30156af07f414b965b86b174bd6d55c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Power Apps component framework",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Power Apps component framework"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2485a2870bda43d08efcb18eaf7b9368ff641eaf9178c8e5c446d28afb616417",
                "start_line": 183,
                "end_line": 197,
                "span_lf_sha256": "8ba401c3641dad7ad2e63a33cce9d07ac71e273fc0115530952440f5323068df"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Package, deploy, and consume a component",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Create PCF code components",
            "group_number": 5,
            "objective_number": 4,
            "objective_wording_sha256": "98f3bab03bc8f092589ff20639f46766feae02518ef6fec98739e12ec78e4caf",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Power Apps component framework",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Power Apps component framework"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2485a2870bda43d08efcb18eaf7b9368ff641eaf9178c8e5c446d28afb616417",
                "start_line": 183,
                "end_line": 197,
                "span_lf_sha256": "8ba401c3641dad7ad2e63a33cce9d07ac71e273fc0115530952440f5323068df"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and use Device, Utility, and Web API features in component logic",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Create PCF code components",
            "group_number": 5,
            "objective_number": 5,
            "objective_wording_sha256": "a81289e051223484127ade758842363fcdd6ed09f44c0952f7da6f7e1526d495",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Power Apps component framework",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "4. Extend the user experience",
                  "Power Apps component framework"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2485a2870bda43d08efcb18eaf7b9368ff641eaf9178c8e5c446d28afb616417",
                "start_line": 183,
                "end_line": 197,
                "span_lf_sha256": "8ba401c3641dad7ad2e63a33cce9d07ac71e273fc0115530952440f5323068df"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure code apps to use Microsoft Power Platform connections",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Build Power Apps code apps",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "c1358575d77d62733c46c37df09654384ec3d34dee03dbd2a05b0ddf3048a7bf",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Build code apps against explicit data contracts",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Build code apps against explicit data contracts"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7c6b31725f38b8ca67c5a8b48f879b8c6fae3e972d2a94f45d7457fde0961a10",
                "start_line": 333,
                "end_line": 342,
                "span_lf_sha256": "fb1e54877f234fe0918b8a73def7163a44b749487df6535ed92e8cab2069eb99"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure code apps to use Dataverse tables",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Build Power Apps code apps",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "eb381ce2cd8c761dbcfc71b2caafb4a2d8bc055c1fbf49d2c4b1dbe65ea98774",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Build code apps against explicit data contracts",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Build code apps against explicit data contracts"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7c6b31725f38b8ca67c5a8b48f879b8c6fae3e972d2a94f45d7457fde0961a10",
                "start_line": 333,
                "end_line": 342,
                "span_lf_sha256": "fb1e54877f234fe0918b8a73def7163a44b749487df6535ed92e8cab2069eb99"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform table and metadata operations on Dataverse data",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Build Power Apps code apps",
            "group_number": 6,
            "objective_number": 3,
            "objective_wording_sha256": "4df750dc1ac5a82a0fc875a572c0ba9b19c921b43f1ab5f3a143eb7faf1632d2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Build code apps against explicit data contracts",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Build code apps against explicit data contracts"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7c6b31725f38b8ca67c5a8b48f879b8c6fae3e972d2a94f45d7457fde0961a10",
                "start_line": 333,
                "end_line": 342,
                "span_lf_sha256": "fb1e54877f234fe0918b8a73def7163a44b749487df6535ed92e8cab2069eb99"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform Dataverse actions and functions",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Build Power Apps code apps",
            "group_number": 6,
            "objective_number": 4,
            "objective_wording_sha256": "70e63fb7a19d474d3168984847b1b981053bba41b5af7d042abddbd321870ac8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Build code apps against explicit data contracts",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Build code apps against explicit data contracts"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "7c6b31725f38b8ca67c5a8b48f879b8c6fae3e972d2a94f45d7457fde0961a10",
                "start_line": 333,
                "end_line": 342,
                "span_lf_sha256": "fb1e54877f234fe0918b8a73def7163a44b749487df6535ed92e8cab2069eb99"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure code apps to use Power Automate cloud flows",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Build Power Apps code apps",
            "group_number": 6,
            "objective_number": 5,
            "objective_wording_sha256": "ed68ce9036463f810dad43a40950467c6b760c76b0b2e990b9c9b430274bb904",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Choose the supported agent client",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Choose the supported agent client"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d8fb5af8c34aee08db4eb59447f525d0c1e125f3ff9c658c977dc5027969f26c",
                "start_line": 419,
                "end_line": 426,
                "span_lf_sha256": "bde20c83725f578aaacb2408bf6b777f530fb3c41620ea60ec950650eed91447"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure code apps to use agents built in Copilot Studio",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Build Power Apps code apps",
            "group_number": 6,
            "objective_number": 6,
            "objective_wording_sha256": "560d3133a85f3e2f30efca0a14cd04cac78f72ebe5955cd48d4ecda562636f14",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Choose the supported agent client",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Choose the supported agent client"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d8fb5af8c34aee08db4eb59447f525d0c1e125f3ff9c658c977dc5027969f26c",
                "start_line": 419,
                "end_line": 426,
                "span_lf_sha256": "bde20c83725f578aaacb2408bf6b777f530fb3c41620ea60ec950650eed91447"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure code apps to use environment variables",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Build Power Apps code apps",
            "group_number": 6,
            "objective_number": 7,
            "objective_wording_sha256": "9c896e0b368c85efa4ed3f8f2777cc0957dbe40b399fcdf347ee0bf9ea60649e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Move configuration and code together",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Move configuration and code together"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "798f0c97cb5a3bb25ce4bfd970fe244c7a4e77d516a794ab62256a3b2cb12fba",
                "start_line": 343,
                "end_line": 350,
                "span_lf_sha256": "00a1d69476879587c0521bb982d64724ede2bb13af66f9adcd5f331dd0c7f788"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Content Security Policy (CSP) settings",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Deploy and manage Power Apps code apps",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "da4b6b40bc9db19e4a88d15752f83e81f4cc40ec9a0f24e03e6e542b83f703fd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Worked example — An empty CSP source list is not a deny-all rule",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Worked example — An empty CSP source list is not a deny-all rule"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "5b95ace2f55ebaf0227c1f28b7cae22f9a4ace22b061dde77c792d70daa24bd0",
                "start_line": 373,
                "end_line": 376,
                "span_lf_sha256": "c6964b44641471d41d37031bdb37f647f51b751c845045a5a80495d096519eb0"
              },
              {
                "heading": "Diagnose the browser and telemetry boundaries",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Diagnose the browser and telemetry boundaries"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "cc3092f5e0e1b93c8ea17dfcbc0f627a5194e52814f6076dd1902973cd9ceef1",
                "start_line": 351,
                "end_line": 360,
                "span_lf_sha256": "bfba8ce37c40438d680216e99d4f4824934af05f844f7a769dcbb84c0b383fcc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement monitoring by using Azure Application Insights",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Deploy and manage Power Apps code apps",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "514dff5418de69f8904037a64913949e7069145829bf7e21a48002cbf76db737",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Diagnose the browser and telemetry boundaries",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Diagnose the browser and telemetry boundaries"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "cc3092f5e0e1b93c8ea17dfcbc0f627a5194e52814f6076dd1902973cd9ceef1",
                "start_line": 351,
                "end_line": 360,
                "span_lf_sha256": "bfba8ce37c40438d680216e99d4f4824934af05f844f7a769dcbb84c0b383fcc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Package, deploy, and share code apps",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Deploy and manage Power Apps code apps",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "e17b4a127e9b3ae3fd9b392aa0c8bff27c32f1119a299935f1a299a5e29ec196",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Move configuration and code together",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Move configuration and code together"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "798f0c97cb5a3bb25ce4bfd970fe244c7a4e77d516a794ab62256a3b2cb12fba",
                "start_line": 343,
                "end_line": 350,
                "span_lf_sha256": "00a1d69476879587c0521bb982d64724ede2bb13af66f9adcd5f331dd0c7f788"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Troubleshoot code apps by using Monitor and other browser-based debugging tools",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Deploy and manage Power Apps code apps",
            "group_number": 7,
            "objective_number": 4,
            "objective_wording_sha256": "3b479c33edebf07a6085ae5b886c854178bc7ea8009ec4aa9c219d04fc650b35",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Diagnose the browser and telemetry boundaries",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Diagnose the browser and telemetry boundaries"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "cc3092f5e0e1b93c8ea17dfcbc0f627a5194e52814f6076dd1902973cd9ceef1",
                "start_line": 351,
                "end_line": 360,
                "span_lf_sha256": "bfba8ce37c40438d680216e99d4f4824934af05f844f7a769dcbb84c0b383fcc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize code app performance and resource usage",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend the user experience (25–30%)",
            "group": "Deploy and manage Power Apps code apps",
            "group_number": 7,
            "objective_number": 5,
            "objective_wording_sha256": "0f1070a00386b3a9ec0200970ce0afc1a381340befecdf88337841b487864fdd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build and promote a code app",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d1f2261b30a802f1e82e2e8ce121b8d8a6f99c08f2ae84fbc339701dc2ff93c8",
                "start_line": 319,
                "end_line": 372,
                "span_lf_sha256": "49ff91742148838467d5766d28ec591a1f7401991630f5a6bd1351b6b34fe802"
              },
              {
                "heading": "Diagnose the browser and telemetry boundaries",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Build and promote a code app",
                  "Diagnose the browser and telemetry boundaries"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "cc3092f5e0e1b93c8ea17dfcbc0f627a5194e52814f6076dd1902973cd9ceef1",
                "start_line": 351,
                "end_line": 360,
                "span_lf_sha256": "bfba8ce37c40438d680216e99d4f4824934af05f844f7a769dcbb84c0b383fcc"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Demonstrate the use of the different event execution pipeline stages",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "d710bab935d0ea118e8f4e9287192dfb77a0ea185695b35250e1c4d9cfc5ce6c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dataverse plug-ins and custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Dataverse plug-ins and custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "045298c95bbb99c0b2c87ac7af3ea5c1c4134d892f29022ad8d36962f76354a8",
                "start_line": 200,
                "end_line": 216,
                "span_lf_sha256": "5e3d4f57dcc212bb075dd607bcceedb8b68d24b18bb293838ceb4452e77e92f0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Develop a plug-in that uses the execution context",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "9f62e35969aeba07ef0ce4cb9ae3894fafe3130c29041dfcb40ceab7619e4466",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dataverse plug-ins and custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Dataverse plug-ins and custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "045298c95bbb99c0b2c87ac7af3ea5c1c4134d892f29022ad8d36962f76354a8",
                "start_line": 200,
                "end_line": 216,
                "span_lf_sha256": "5e3d4f57dcc212bb075dd607bcceedb8b68d24b18bb293838ceb4452e77e92f0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Develop a plug-in that implements business logic",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "0067f4b5955907e0bd200622050a2722585f2311ea2092f13a5565d7c2f885fc",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dataverse plug-ins and custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Dataverse plug-ins and custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "045298c95bbb99c0b2c87ac7af3ea5c1c4134d892f29022ad8d36962f76354a8",
                "start_line": 200,
                "end_line": 216,
                "span_lf_sha256": "5e3d4f57dcc212bb075dd607bcceedb8b68d24b18bb293838ceb4452e77e92f0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement images to support plug-in logic",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 4,
            "objective_wording_sha256": "1f7fce54cedfcdbb103ecfc68b2809dd0c7f33151103a49b151a8c60bc230a46",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dataverse plug-ins and custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Dataverse plug-ins and custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "045298c95bbb99c0b2c87ac7af3ea5c1c4134d892f29022ad8d36962f76354a8",
                "start_line": 200,
                "end_line": 216,
                "span_lf_sha256": "5e3d4f57dcc212bb075dd607bcceedb8b68d24b18bb293838ceb4452e77e92f0"
              },
              {
                "heading": "Worked example — A filtering attribute was supplied but did not change",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Worked example — A filtering attribute was supplied but did not change"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d7b98cff27511785051c580824e163ce05227480e30d082b79ff489ba1e6073b",
                "start_line": 217,
                "end_line": 220,
                "span_lf_sha256": "afbcc31f2a4eb6e0f2d687cb94ceceed51d29ed5d5ceb73ea8ab15c03a2645bb"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform operations in plug-ins by using the Organization service",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 5,
            "objective_wording_sha256": "20f215dfd07cbdd97c6eb0fe7962f113d2cbbda5c4c554880064401a0241c511",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dataverse plug-ins and custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Dataverse plug-ins and custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "045298c95bbb99c0b2c87ac7af3ea5c1c4134d892f29022ad8d36962f76354a8",
                "start_line": 200,
                "end_line": 216,
                "span_lf_sha256": "5e3d4f57dcc212bb075dd607bcceedb8b68d24b18bb293838ceb4452e77e92f0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize plug-in performance",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 6,
            "objective_wording_sha256": "1479429e897b10f49e22c81fb6664d60fad17cb9e826ad04d088dd6c80b7875a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dataverse plug-ins and custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Dataverse plug-ins and custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "045298c95bbb99c0b2c87ac7af3ea5c1c4134d892f29022ad8d36962f76354a8",
                "start_line": 200,
                "end_line": 216,
                "span_lf_sha256": "5e3d4f57dcc212bb075dd607bcceedb8b68d24b18bb293838ceb4452e77e92f0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure a Dataverse custom API message",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 7,
            "objective_wording_sha256": "b81b05fa6af95c98e94dc5bcefcbb8ec87d4017824b2b88013cc9060635cd8d3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Define custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Define custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "88db36ae78efc7d676a4a243b8b8fad437a8cdc0f5516a90466f1711259087cb",
                "start_line": 225,
                "end_line": 228,
                "span_lf_sha256": "e60b0afb1152c2307dff67981443db261c3534f1921c4f11e40c00590e301250"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Register plug-in components by using the Plug-in Registration Tool",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 8,
            "objective_wording_sha256": "0e8615ae3a7832fa276199cc06b2e020b6561581dc559cb76f97d9d8930db85e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Dataverse plug-ins and custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Dataverse plug-ins and custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "045298c95bbb99c0b2c87ac7af3ea5c1c4134d892f29022ad8d36962f76354a8",
                "start_line": 200,
                "end_line": 216,
                "span_lf_sha256": "5e3d4f57dcc212bb075dd607bcceedb8b68d24b18bb293838ceb4452e77e92f0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Develop a plug-in that implements a custom API",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 9,
            "objective_wording_sha256": "46a16d3bbcc1a0fe0717c72fc312a97afea1a7ef393b8e4361be9ebc9a69d9cb",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Define custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Define custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "88db36ae78efc7d676a4a243b8b8fad437a8cdc0f5516a90466f1711259087cb",
                "start_line": 225,
                "end_line": 228,
                "span_lf_sha256": "e60b0afb1152c2307dff67981443db261c3534f1921c4f11e40c00590e301250"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Dataverse business events",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 10,
            "objective_wording_sha256": "75756c47fdb194d9787ae3e0828b97b0c4391f28036e476c32a64885a5b31cce",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Define custom APIs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Define custom APIs"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "88db36ae78efc7d676a4a243b8b8fad437a8cdc0f5516a90466f1711259087cb",
                "start_line": 225,
                "end_line": 228,
                "span_lf_sha256": "e60b0afb1152c2307dff67981443db261c3534f1921c4f11e40c00590e301250"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Microsoft Power Platform managed identity for plug-ins",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Create a Dataverse plug-in",
            "group_number": 8,
            "objective_number": 11,
            "objective_wording_sha256": "b2c2f5b54f2cb3c6a631ba25d5b700efdb443d3bd976aacb87ad132c89f5a665",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Platform APIs, performance, and reliability",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Platform APIs, performance, and reliability"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "229dddd8df347d8b34e899976278e020f5e0f4499d5db809f864e47f71fabf4e",
                "start_line": 237,
                "end_line": 246,
                "span_lf_sha256": "36792481e4df1e68ae5d6e553f3833bd17ea7bf3c69782e2cbaeec7053d1d5a4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform operations by using the Dataverse Web API",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Perform operations by using platform APIs",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "26433e8770501fdd6ece0f1fd5beb60ece255f5c5c83996883f30f5f9c0b3313",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Platform APIs, performance, and reliability",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Platform APIs, performance, and reliability"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "229dddd8df347d8b34e899976278e020f5e0f4499d5db809f864e47f71fabf4e",
                "start_line": 237,
                "end_line": 246,
                "span_lf_sha256": "36792481e4df1e68ae5d6e553f3833bd17ea7bf3c69782e2cbaeec7053d1d5a4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform operations by using the Organization service",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Perform operations by using platform APIs",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "31c7479c542a31ca1d8eb5712a51aa7d5bdd3d5ee5e57c5659d27e504df5978b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Platform APIs, performance, and reliability",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Platform APIs, performance, and reliability"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "229dddd8df347d8b34e899976278e020f5e0f4499d5db809f864e47f71fabf4e",
                "start_line": 237,
                "end_line": 246,
                "span_lf_sha256": "36792481e4df1e68ae5d6e553f3833bd17ea7bf3c69782e2cbaeec7053d1d5a4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement API limit retry policies",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Perform operations by using platform APIs",
            "group_number": 9,
            "objective_number": 3,
            "objective_wording_sha256": "82108392c26373698b7e9bf1f11111653b1e620e2abe3b24d466c84485ecb3d8",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Platform APIs, performance, and reliability",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Platform APIs, performance, and reliability"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "229dddd8df347d8b34e899976278e020f5e0f4499d5db809f864e47f71fabf4e",
                "start_line": 237,
                "end_line": 246,
                "span_lf_sha256": "36792481e4df1e68ae5d6e553f3833bd17ea7bf3c69782e2cbaeec7053d1d5a4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Optimize solution components for performance, concurrency, transactions, and bulk operations",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Perform operations by using platform APIs",
            "group_number": 9,
            "objective_number": 4,
            "objective_wording_sha256": "e445ec7a0b948b7e5e6958c94c96b7f9c92385f2a1e477a07be35d34e5d194c0",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Platform APIs, performance, and reliability",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Platform APIs, performance, and reliability"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "229dddd8df347d8b34e899976278e020f5e0f4499d5db809f864e47f71fabf4e",
                "start_line": 237,
                "end_line": 246,
                "span_lf_sha256": "36792481e4df1e68ae5d6e553f3833bd17ea7bf3c69782e2cbaeec7053d1d5a4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement and troubleshoot authentication by using OAuth",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Perform operations by using platform APIs",
            "group_number": 9,
            "objective_number": 5,
            "objective_wording_sha256": "b85e2226e2a959e88aca036deaf60bba106d9ac0963201891cf5ee2d3dca1c97",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Platform APIs, performance, and reliability",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Platform APIs, performance, and reliability"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "229dddd8df347d8b34e899976278e020f5e0f4499d5db809f864e47f71fabf4e",
                "start_line": 237,
                "end_line": 246,
                "span_lf_sha256": "36792481e4df1e68ae5d6e553f3833bd17ea7bf3c69782e2cbaeec7053d1d5a4"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform asynchronous logic by using background operations",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Perform operations by using platform APIs",
            "group_number": 9,
            "objective_number": 6,
            "objective_wording_sha256": "f03b097247b58a5c20cde0318dd0cd781328b6a96cb255226e88c9cb25a8e612",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Extend APIs without losing execution limits",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Extend APIs without losing execution limits"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e1397fc92dc6e3e6a517400b59fa5e903103857e2aff67546f6f0b2fa8826e8c",
                "start_line": 377,
                "end_line": 410,
                "span_lf_sha256": "372188586d9dd68ff0dbb7540a2445285fb1b2d17323c9ddaf9e4d0601df15bc"
              },
              {
                "heading": "Background processing changes connection lifetime",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Extend APIs without losing execution limits",
                  "Background processing changes connection lifetime"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "dcb9b1dcd6c8e4853bbc5e48258a843ec0973c0c900e073feb86c96c73101c4e",
                "start_line": 389,
                "end_line": 398,
                "span_lf_sha256": "64e9f30b7359f3d37ba7459ad0785f8e1920d2c732a090d2dc24d5e0343aa53d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform operations by using Dataverse SDKs for .NET and Python",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Perform operations by using platform APIs",
            "group_number": 9,
            "objective_number": 7,
            "objective_wording_sha256": "84d266d9f5f9c3fe1f0658ba473de20fa8c477efc219bb20a16f6cd00c58b14b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Extend APIs without losing execution limits",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Extend APIs without losing execution limits"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e1397fc92dc6e3e6a517400b59fa5e903103857e2aff67546f6f0b2fa8826e8c",
                "start_line": 377,
                "end_line": 410,
                "span_lf_sha256": "372188586d9dd68ff0dbb7540a2445285fb1b2d17323c9ddaf9e4d0601df15bc"
              },
              {
                "heading": "Worked example — compare the same operation across two SDKs",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Extend APIs without losing execution limits",
                  "Worked example — compare the same operation across two SDKs"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "0a4ed7c876c4e2fe9de6cc012c9bcaf94f03c5106bcca2ff93aac82eca678726",
                "start_line": 399,
                "end_line": 410,
                "span_lf_sha256": "1a2804c672aee551dedfd73cb96f288c872c45b9610987a3bb035b87c441d30a"
              },
              {
                "heading": "Use the Dataverse SDK for Python deliberately",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Extend APIs without losing execution limits",
                  "Use the Dataverse SDK for Python deliberately"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "6265363d3d9e3c9c569505b9f028b18bc0205e9dfeb417fd2aeb714b670b380c",
                "start_line": 383,
                "end_line": 388,
                "span_lf_sha256": "e5c1791f318f1c5a0dad39a0f2268db0a8c4533aa10df2b2b7c0f6cb6b22457e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "SDK Python/.NET roles named, but no side-by-side API operation and failure example.",
            "repair_id": "PL400-sdk-contract"
          },
          {
            "wording": "Process long-running operations by using Azure Functions for Microsoft Power Platform solutions",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Process workloads by using Microsoft Azure Functions",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "8333e901013d84e953f0f0ffaa33163f29eb6d486254429b6c5e2c096c9f7c23",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement scheduled and event-driven triggers in Azure Functions for Microsoft Power Platform solutions",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Process workloads by using Microsoft Azure Functions",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "9dfcedc64517cabd2cee7adb69799a4ea896fe8ef701b22cd482c1a15846c06c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Authenticate to Microsoft Power Platform by using managed identities",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Process workloads by using Microsoft Azure Functions",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "70a29a11f69090d56c9d7d03a533d537cbab0c492f0a536f660b4adc8d04dc3a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement complex expressions in flow steps",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Configure Power Automate cloud flows and Copilot Studio workflows",
            "group_number": 11,
            "objective_number": 1,
            "objective_wording_sha256": "ac084fd8ae420db689e0f5c2266f4459746be00ada4342c453594b98ed64988c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement flow control actions including error handling",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Configure Power Automate cloud flows and Copilot Studio workflows",
            "group_number": 11,
            "objective_number": 2,
            "objective_wording_sha256": "66fe42f3774fd931e84a5e4761861bd52af109f2be5d39447ccfab5dddbb6cb6",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure trigger filter and retry policies",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Configure Power Automate cloud flows and Copilot Studio workflows",
            "group_number": 11,
            "objective_number": 3,
            "objective_wording_sha256": "11612155b95305a1ee7aec50135eb0a27e89be6de42c7b14dd12ebea7edea721",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Develop reuseable logic by using child flows",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Configure Power Automate cloud flows and Copilot Studio workflows",
            "group_number": 11,
            "objective_number": 4,
            "objective_wording_sha256": "7ce597e1136ca653b791bdb5bb6c51bcdd4dcdf972f775768e07a4a7d20ec09c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement authentication for the Dataverse connector by using service principals",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Configure Power Automate cloud flows and Copilot Studio workflows",
            "group_number": 11,
            "objective_number": 5,
            "objective_wording_sha256": "ceb063d09b68b5b35fe21a0754d537692c8886c6c78861ca2c5622736627a1d5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Azure Functions and cloud flows",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Azure Functions and cloud flows"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb161355be8457e3d62259a48f8c569278c009426b2ef5a4014d9833a46a9188",
                "start_line": 247,
                "end_line": 266,
                "span_lf_sha256": "a05f576dd8ae7ff5eccc9d4a3f1d40083a753517223f866ec834ad6d56e67f18"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Integrate custom agents by using Microsoft Power Platform MCP servers",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Build Microsoft Foundry agents by using code that integrates with the Microsoft Power Platform",
            "group_number": 12,
            "objective_number": 1,
            "objective_wording_sha256": "d50b547de0c4db66ea08625a0c53eda5df674059939b1b17afa69633ebf16403",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect agents through the correct protocol and identity",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1deb92b9cb125142298d5e854b00fd142e1a47f5820cac48845f16a626fdec44",
                "start_line": 411,
                "end_line": 496,
                "span_lf_sha256": "3ebf9c06166bf2c7d612a22658970075a4afc41f67603cd7b71374ca933a32bf"
              },
              {
                "heading": "Worked example — a proposed update is not a committed update",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Worked example — a proposed update is not a committed update"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4d0ebd1c4e111c189945a0cef81bdbf68790651fe7915e02b7ba6afea61cd155",
                "start_line": 449,
                "end_line": 496,
                "span_lf_sha256": "6b92dd7aa086cfbae2a98b8ecd039623e6a29bd7e17826baa872ee88832e701a"
              },
              {
                "heading": "Integrate custom agents through governed tools",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Integrate custom agents through governed tools"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "915cf537482d2788b7bc2fabf2ac933041583381cee0707410b030c0a787a769",
                "start_line": 427,
                "end_line": 436,
                "span_lf_sha256": "856398ebd98d5834a5bd3cb109d10aadebd6cb32bd6ec450a37ca39244b160da"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "MCP route and privilege distinctions are present, but no concrete tool request/result or denied mutation scenario with expected artifact.",
            "repair_id": "PL400-tool-agent-contract"
          },
          {
            "wording": "Connect custom agents to Copilot Studio agents",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Build Microsoft Foundry agents by using code that integrates with the Microsoft Power Platform",
            "group_number": 12,
            "objective_number": 2,
            "objective_wording_sha256": "019e9d8f3dfdc4b87428a37c2f1355a5a87a4f2c9f86b343e0d665ddc8c2b581",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect agents through the correct protocol and identity",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1deb92b9cb125142298d5e854b00fd142e1a47f5820cac48845f16a626fdec44",
                "start_line": 411,
                "end_line": 496,
                "span_lf_sha256": "3ebf9c06166bf2c7d612a22658970075a4afc41f67603cd7b71374ca933a32bf"
              },
              {
                "heading": "Worked example — a proposed update is not a committed update",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Worked example — a proposed update is not a committed update"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "4d0ebd1c4e111c189945a0cef81bdbf68790651fe7915e02b7ba6afea61cd155",
                "start_line": 449,
                "end_line": 496,
                "span_lf_sha256": "6b92dd7aa086cfbae2a98b8ecd039623e6a29bd7e17826baa872ee88832e701a"
              },
              {
                "heading": "Choose the supported agent client",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Choose the supported agent client"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d8fb5af8c34aee08db4eb59447f525d0c1e125f3ff9c658c977dc5027969f26c",
                "start_line": 419,
                "end_line": 426,
                "span_lf_sha256": "bde20c83725f578aaacb2408bf6b777f530fb3c41620ea60ec950650eed91447"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": "Connection alternatives are named, but no concrete custom-agent handoff message/output example.",
            "repair_id": "PL400-tool-agent-contract"
          },
          {
            "wording": "Integrate custom agents with Dataverse data by using Work IQ",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Build Microsoft Foundry agents by using code that integrates with the Microsoft Power Platform",
            "group_number": 12,
            "objective_number": 3,
            "objective_wording_sha256": "3eea6b879191186ba36bbb08f521b880467fff7c4548febde99bc1ee95fb3ff2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect agents through the correct protocol and identity",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1deb92b9cb125142298d5e854b00fd142e1a47f5820cac48845f16a626fdec44",
                "start_line": 411,
                "end_line": 496,
                "span_lf_sha256": "3ebf9c06166bf2c7d612a22658970075a4afc41f67603cd7b71374ca933a32bf"
              },
              {
                "heading": "Distinguish the Work IQ integration surfaces",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Distinguish the Work IQ integration surfaces"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "8dd0e5e684a884e8f7f2cbc8d2542191f5960d56c9c2d93fc1e421be769467f0",
                "start_line": 437,
                "end_line": 448,
                "span_lf_sha256": "b5c109517a323598a4b913b9299789183390bdcfb9277b61959b885869abd081"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Consume Copilot Studio agents by using the Copilot Studio client library",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Extend Microsoft Power Platform (35–40%)",
            "group": "Build Microsoft Foundry agents by using code that integrates with the Microsoft Power Platform",
            "group_number": 12,
            "objective_number": 4,
            "objective_wording_sha256": "906edbc26ce76b4b116db02efaa34b15fea6744d25ba248d0619e81dd209b11a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Connect agents through the correct protocol and identity",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "1deb92b9cb125142298d5e854b00fd142e1a47f5820cac48845f16a626fdec44",
                "start_line": 411,
                "end_line": 496,
                "span_lf_sha256": "3ebf9c06166bf2c7d612a22658970075a4afc41f67603cd7b71374ca933a32bf"
              },
              {
                "heading": "Choose the supported agent client",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "7. Implement the current published code and AI scope",
                  "Connect agents through the correct protocol and identity",
                  "Choose the supported agent client"
                ],
                "heading_level": 4,
                "heading_lf_sha256": "d8fb5af8c34aee08db4eb59447f525d0c1e125f3ff9c658c977dc5027969f26c",
                "start_line": 419,
                "end_line": 426,
                "span_lf_sha256": "bde20c83725f578aaacb2408bf6b777f530fb3c41620ea60ec950650eed91447"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Publish a Dataverse event by using the IServiceEndpointNotificationService",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Publish and consume Dataverse events",
            "group_number": 13,
            "objective_number": 1,
            "objective_wording_sha256": "0860d295f24ffb6e6564a97b9650a01297599b05f836cf64f435e23cbf14a466",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Publish and consume Dataverse events",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Publish and consume Dataverse events"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7532c7c91d23023c4fd8953ff31d2add4232c45cfca65204ab5e00d33a3db5b6",
                "start_line": 269,
                "end_line": 280,
                "span_lf_sha256": "a940c8964e74c96880fbbc5b5de63a9532fa9ab547c9d710660ff0d1274183bd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Publish a Dataverse event by using the Plug-in Registration Tool",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Publish and consume Dataverse events",
            "group_number": 13,
            "objective_number": 2,
            "objective_wording_sha256": "c9e3668206035eba4cdad7d2b15da03e177bc943324b7ebd661b44e7608d7012",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Publish and consume Dataverse events",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Publish and consume Dataverse events"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7532c7c91d23023c4fd8953ff31d2add4232c45cfca65204ab5e00d33a3db5b6",
                "start_line": 269,
                "end_line": 280,
                "span_lf_sha256": "a940c8964e74c96880fbbc5b5de63a9532fa9ab547c9d710660ff0d1274183bd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Register service endpoints including webhooks, Azure Service Bus, and Azure Event Hub",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Publish and consume Dataverse events",
            "group_number": 13,
            "objective_number": 3,
            "objective_wording_sha256": "bb25314ac60715dc3da48137164e986bbf27f3f583628f8e77ac7fd54d99df7c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Publish and consume Dataverse events",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Publish and consume Dataverse events"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7532c7c91d23023c4fd8953ff31d2add4232c45cfca65204ab5e00d33a3db5b6",
                "start_line": 269,
                "end_line": 280,
                "span_lf_sha256": "a940c8964e74c96880fbbc5b5de63a9532fa9ab547c9d710660ff0d1274183bd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Recommend options for listening to Dataverse events",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Publish and consume Dataverse events",
            "group_number": 13,
            "objective_number": 4,
            "objective_wording_sha256": "ba35793b994d80c752812da942e49fd63f25333d5790f9a91e19042ea168cdb7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Publish and consume Dataverse events",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Publish and consume Dataverse events"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7532c7c91d23023c4fd8953ff31d2add4232c45cfca65204ab5e00d33a3db5b6",
                "start_line": 269,
                "end_line": 280,
                "span_lf_sha256": "a940c8964e74c96880fbbc5b5de63a9532fa9ab547c9d710660ff0d1274183bd"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Perform data synchronization by using change tracking",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Implement synchronization for Dataverse data",
            "group_number": 14,
            "objective_number": 1,
            "objective_wording_sha256": "95a4ef755736de4d54451035fe0ea7c0910b4953a057d08f62e7a0b27759e9b3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Synchronize Dataverse data",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Synchronize Dataverse data"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a0531c2e3a7c7f678408c8b0b4b26f16e3e11b2c35e21999d13d26c4903f04df",
                "start_line": 281,
                "end_line": 284,
                "span_lf_sha256": "a917f915a3732bfae80363bed3e5aa4f7049ef128dc7b38cecb2830e6925b798"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Develop code that uses alternate keys",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Implement synchronization for Dataverse data",
            "group_number": 14,
            "objective_number": 2,
            "objective_wording_sha256": "dcf2e599172c31d027785fb8fba7356665e803880562a5fc88945e8dd5fd7f96",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Synchronize Dataverse data",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Synchronize Dataverse data"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a0531c2e3a7c7f678408c8b0b4b26f16e3e11b2c35e21999d13d26c4903f04df",
                "start_line": 281,
                "end_line": 284,
                "span_lf_sha256": "a917f915a3732bfae80363bed3e5aa4f7049ef128dc7b38cecb2830e6925b798"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Synchronize data by using the UpsertRequest message",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Implement synchronization for Dataverse data",
            "group_number": 14,
            "objective_number": 3,
            "objective_wording_sha256": "b292b5881b06fb32d381ef6b626a4e875a4a2efb507aec7b1982b79f3da5c2c7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Synchronize Dataverse data",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Synchronize Dataverse data"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "a0531c2e3a7c7f678408c8b0b4b26f16e3e11b2c35e21999d13d26c4903f04df",
                "start_line": 281,
                "end_line": 284,
                "span_lf_sha256": "a917f915a3732bfae80363bed3e5aa4f7049ef128dc7b38cecb2830e6925b798"
              },
              {
                "heading": "Worked example — An expired delta token needs reconciliation",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "6. Develop integrations",
                  "Worked example — An expired delta token needs reconciliation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "c1605727edaf10d5e64d4398ef52430e1879f0b0f1cfafd99e726aa0047680c0",
                "start_line": 285,
                "end_line": 300,
                "span_lf_sha256": "ee239eba974af79e267dc505c0e4e01ac273a5016af5b392c7c80500d5a738b6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Implement authentication for custom connectors",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Create custom connectors",
            "group_number": 15,
            "objective_number": 1,
            "objective_wording_sha256": "07ca3254b86114ef2acbf2f43d5d27d527374d064591dfe6965874742cebcdc2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Custom connectors and OpenAPI",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Custom connectors and OpenAPI"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b58c4c51386efae361971bcbabf296b51b17610429a3aa96d855a764dd465154",
                "start_line": 229,
                "end_line": 236,
                "span_lf_sha256": "ba49f679cbcdb68e84e525ceb59135d076fa12fa8a0a0693706bb4b5e42a0c34"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure policy templates to modify connector behavior at runtime",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Create custom connectors",
            "group_number": 15,
            "objective_number": 2,
            "objective_wording_sha256": "10ec2d809e062558ae76b58847e55658d031f35818cd01ba17d0335190e15ede",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Custom connectors and OpenAPI",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Custom connectors and OpenAPI"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b58c4c51386efae361971bcbabf296b51b17610429a3aa96d855a764dd465154",
                "start_line": 229,
                "end_line": 236,
                "span_lf_sha256": "ba49f679cbcdb68e84e525ceb59135d076fa12fa8a0a0693706bb4b5e42a0c34"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Import definitions from existing APIs including Open API definitions, Azure services, and GitHub",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Create custom connectors",
            "group_number": 15,
            "objective_number": 3,
            "objective_wording_sha256": "747d1850835fc5ae27538617b1e10fdef6d981cae7afd4b2e5ae1ccd82f9f414",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Custom connectors and OpenAPI",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Custom connectors and OpenAPI"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b58c4c51386efae361971bcbabf296b51b17610429a3aa96d855a764dd465154",
                "start_line": 229,
                "end_line": 236,
                "span_lf_sha256": "ba49f679cbcdb68e84e525ceb59135d076fa12fa8a0a0693706bb4b5e42a0c34"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create a custom connector for an Azure service",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Create custom connectors",
            "group_number": 15,
            "objective_number": 4,
            "objective_wording_sha256": "600156f1f2c9d494fe24003b542252888e4f06431c1cb48efb914be4f6c00f03",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Custom connectors and OpenAPI",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Custom connectors and OpenAPI"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b58c4c51386efae361971bcbabf296b51b17610429a3aa96d855a764dd465154",
                "start_line": 229,
                "end_line": 236,
                "span_lf_sha256": "ba49f679cbcdb68e84e525ceb59135d076fa12fa8a0a0693706bb4b5e42a0c34"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Develop an Azure Function to be used in a custom connector",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Create custom connectors",
            "group_number": 15,
            "objective_number": 5,
            "objective_wording_sha256": "1ebe3d8fb08d19899922b26ff0db5e154427bb50cd2bdf084597667627fd6e2e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Custom connectors and OpenAPI",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Custom connectors and OpenAPI"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b58c4c51386efae361971bcbabf296b51b17610429a3aa96d855a764dd465154",
                "start_line": 229,
                "end_line": 236,
                "span_lf_sha256": "ba49f679cbcdb68e84e525ceb59135d076fa12fa8a0a0693706bb4b5e42a0c34"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Extend the Open API definition for a custom connector",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Create custom connectors",
            "group_number": 15,
            "objective_number": 6,
            "objective_wording_sha256": "98f630b585cd192ca3d90887426f39d77aba92839a3d7a1d7081268cc308c9f2",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Custom connectors and OpenAPI",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Custom connectors and OpenAPI"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b58c4c51386efae361971bcbabf296b51b17610429a3aa96d855a764dd465154",
                "start_line": 229,
                "end_line": 236,
                "span_lf_sha256": "ba49f679cbcdb68e84e525ceb59135d076fa12fa8a0a0693706bb4b5e42a0c34"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Develop code for a custom connector to transform data",
            "version": "Skills measured as of October 16, 2026",
            "domain": "Develop integrations (10–15%)",
            "group": "Create custom connectors",
            "group_number": 15,
            "objective_number": 7,
            "objective_wording_sha256": "5ac6095c5938971b8c1c1904e45ae17fc6527dbbd0808660d2c96d63ddb22c82",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Custom connectors and OpenAPI",
                "heading_path": [
                  "PL-400 Microsoft Power Platform Developer Study Guide",
                  "5. Extend the platform",
                  "Custom connectors and OpenAPI"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b58c4c51386efae361971bcbabf296b51b17610429a3aa96d855a764dd465154",
                "start_line": 229,
                "end_line": 236,
                "span_lf_sha256": "ba49f679cbcdb68e84e525ceb59135d076fa12fa8a0a0693706bb4b5e42a0c34"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-pl-400.txt",
        "final_diff_lf_sha256": "483073f8e90502a11006376d1f971501b7b4b5c7a57f4314ff8f7e1b98649d32"
      },
      {
        "exam_code": "AB-210",
        "guide_path": "guides/AB-210-accelerating-sales-pipelines-ai-dynamics-365.md",
        "captured_final_guide_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-guides/AB-210-accelerating-sales-pipelines-ai-dynamics-365.md",
        "guide_lf_sha256": "ed23bbccbdd159224f0f03c8f1b9c65c046e4346af9bfcda60acef6926c78b76",
        "live_matches_captured_final": true,
        "line_count": 462,
        "immutable_before_guide_lf_sha256": "e666ce5f85d97391a2caee589f7f59c8be512479fc545513e1aac45fb446671f",
        "chosen_current_candidate_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/objective-snapshots/ab-210-official-objectives.txt",
        "objective_raw_sha256": "2595badf528595419ed8da12bf5aed577d899ee8772123a0b1e40d1c2eac0f83",
        "objective_count": 46,
        "group_count": 12,
        "initial_example_gaps": 0,
        "resolved_example_gaps": 0,
        "remaining_substantive_objective_gaps": [],
        "current_mapping": [
          {
            "wording": "Evaluate prerequisites for deploying Sales",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Configure Sales",
            "group_number": 1,
            "objective_number": 1,
            "objective_wording_sha256": "42b64f532df70485eec750881541e22f91bf1ab9dcf4de67d6fe9ef61f475a9a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish deployment prerequisites",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Establish deployment prerequisites"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "4d6cfc5492d07af0315c673683e40083a088dbd61e33230f8d111ba2f5c5c225",
                "start_line": 60,
                "end_line": 69,
                "span_lf_sha256": "cbd5cd76972f50d8d1d26b15b331b2ba02167453f025f06fa3b9779869fb3ab0"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure mailboxes",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Configure Sales",
            "group_number": 1,
            "objective_number": 2,
            "objective_wording_sha256": "deacad95bf866b19909783e1e3e7438e72b73557ce3f457cde1b34b1d5d3dfa3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure mailboxes and collaboration",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Configure mailboxes and collaboration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7e9556ccabe362b5b19b9f310c42cfecd541cb78a70bf12321fa74520d044426",
                "start_line": 70,
                "end_line": 83,
                "span_lf_sha256": "5761d198fd1daf73987ad37799dd6632a1b886145d000dac4d67b52e72779290"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Set up and configure business process flows",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Configure Sales",
            "group_number": 1,
            "objective_number": 3,
            "objective_wording_sha256": "6dadaa2e0c0eef0a5a090fa1fa10b0a767ec87f538b5348111d36e4dffd71c67",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and seller processes",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Configure security and seller processes"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e8a84b72c23443d0d23e039ac1a3726570be6b464d1550d3eb9bcddcf4bf789c",
                "start_line": 84,
                "end_line": 91,
                "span_lf_sha256": "ce98ff39d0693cacddf006276cba8716846e875b92a055080fff636b99f40833"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure the timeline",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Configure Sales",
            "group_number": 1,
            "objective_number": 4,
            "objective_wording_sha256": "90b68e7faa9d1b35baf0f83f3d7afad2a340359f416bcd7356d816f154db8203",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure mailboxes and collaboration",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Configure mailboxes and collaboration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7e9556ccabe362b5b19b9f310c42cfecd541cb78a70bf12321fa74520d044426",
                "start_line": 70,
                "end_line": 83,
                "span_lf_sha256": "5761d198fd1daf73987ad37799dd6632a1b886145d000dac4d67b52e72779290"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate options for importing and exporting data",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Configure Sales",
            "group_number": 1,
            "objective_number": 5,
            "objective_wording_sha256": "9f5f17f17b3a62123dd9ace46fc22f17146bef01f0090ca56a2361d2b35bfc12",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and seller processes",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Configure security and seller processes"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e8a84b72c23443d0d23e039ac1a3726570be6b464d1550d3eb9bcddcf4bf789c",
                "start_line": 84,
                "end_line": 91,
                "span_lf_sha256": "ce98ff39d0693cacddf006276cba8716846e875b92a055080fff636b99f40833"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Examine the Sales security model",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Configure Sales",
            "group_number": 1,
            "objective_number": 6,
            "objective_wording_sha256": "29c27f4d532f5da4738f4e4f98cbf9b42cc05eff1c7f1d8a9a2a0b4588718787",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure security and seller processes",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Configure security and seller processes"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "e8a84b72c23443d0d23e039ac1a3726570be6b464d1550d3eb9bcddcf4bf789c",
                "start_line": 84,
                "end_line": 91,
                "span_lf_sha256": "ce98ff39d0693cacddf006276cba8716846e875b92a055080fff636b99f40833"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Microsoft 365 functionality, including Microsoft Teams, SharePoint, Outlook, and OneDrive",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Configure Sales",
            "group_number": 1,
            "objective_number": 7,
            "objective_wording_sha256": "08f4c52c50cbb3b730aa6b7144a5fd1264ebbf50a17913c036190315e1b26a7f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure mailboxes and collaboration",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Configure mailboxes and collaboration"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "7e9556ccabe362b5b19b9f310c42cfecd541cb78a70bf12321fa74520d044426",
                "start_line": 70,
                "end_line": 83,
                "span_lf_sha256": "5761d198fd1daf73987ad37799dd6632a1b886145d000dac4d67b52e72779290"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure products and product families",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Create and manage the product catalog",
            "group_number": 2,
            "objective_number": 1,
            "objective_wording_sha256": "1d755fca689851004cee2442ac370f750398db71b28b98fe4ad3d158841a6e0e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build the product and pricing foundation",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Build the product and pricing foundation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0ebddc7229551f87d7afb7c8a340240021fe08c60e2b9e29698d78ba0edd3d3e",
                "start_line": 92,
                "end_line": 99,
                "span_lf_sha256": "7a50959043827561e9ea714a62d7faa10f67da5751ddd78871cc7c5bfb6b30ad"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create and manage price lists, including currencies",
            "version": "Skills measured",
            "domain": "Configure Dynamics 365 Sales core features for AI (15–20%)",
            "group": "Create and manage the product catalog",
            "group_number": 2,
            "objective_number": 2,
            "objective_wording_sha256": "1be395e5b148b582b279c88732f2062c719d822bd50749ae7db91cd00cd5e9fd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Build the product and pricing foundation",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Build the product and pricing foundation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0ebddc7229551f87d7afb7c8a340240021fe08c60e2b9e29698d78ba0edd3d3e",
                "start_line": 92,
                "end_line": 99,
                "span_lf_sha256": "7a50959043827561e9ea714a62d7faa10f67da5751ddd78871cc7c5bfb6b30ad"
              },
              {
                "heading": "Worked example 1: markup and margin are different prices",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Worked example 1: markup and margin are different prices"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bdf8a137974cf228bca7eed56950f986ce8202dbc0d6f6eeb4803835b800bb98",
                "start_line": 100,
                "end_line": 105,
                "span_lf_sha256": "6225f167d54fba3ac8e0527148a954c156eba35296a4a9cc1fd64da9c700fb5a"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Augment seller workflows by using Copilot and agents",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Design an AI-first sales strategy",
            "group_number": 3,
            "objective_number": 1,
            "objective_wording_sha256": "106a3f1865f1afdd9c04d8538658786d2ab40b88094fc6d2203439608d09c352",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design an AI-first sales strategy",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Design an AI-first sales strategy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "65b32d92eabdfd53f33972091c97f5288cf7f0f36788d19305a4c2480b20302a",
                "start_line": 108,
                "end_line": 115,
                "span_lf_sha256": "fd5bfcda955e86dbab3a1642d49589c13a17dbaedae9a5108fbedc5f3cf07aee"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Design the sales data model in Dataverse",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Design an AI-first sales strategy",
            "group_number": 3,
            "objective_number": 2,
            "objective_wording_sha256": "3cf388df92bbd6ca425d03b2cfbd10092db9c37b7a3b24afb4400e4e300cae6d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design an AI-first sales strategy",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Design an AI-first sales strategy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "65b32d92eabdfd53f33972091c97f5288cf7f0f36788d19305a4c2480b20302a",
                "start_line": 108,
                "end_line": 115,
                "span_lf_sha256": "fd5bfcda955e86dbab3a1642d49589c13a17dbaedae9a5108fbedc5f3cf07aee"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate options for reporting and visualization",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Design an AI-first sales strategy",
            "group_number": 3,
            "objective_number": 3,
            "objective_wording_sha256": "45a52f573ddd143e7bbe7c4df55819928541902281fa4ab4415a46d547724b8b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Design an AI-first sales strategy",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Design an AI-first sales strategy"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "65b32d92eabdfd53f33972091c97f5288cf7f0f36788d19305a4c2480b20302a",
                "start_line": 108,
                "end_line": 115,
                "span_lf_sha256": "fd5bfcda955e86dbab3a1642d49589c13a17dbaedae9a5108fbedc5f3cf07aee"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Differentiate features in Sales plans",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Design an AI-first sales strategy",
            "group_number": 3,
            "objective_number": 4,
            "objective_wording_sha256": "5b41fc4cb0046c7b032337168e71d454fdc7ba6e06076a51f6efe25ccca2f87e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Establish deployment prerequisites",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Establish deployment prerequisites"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "4d6cfc5492d07af0315c673683e40083a088dbd61e33230f8d111ba2f5c5c225",
                "start_line": 60,
                "end_line": 69,
                "span_lf_sha256": "cbd5cd76972f50d8d1d26b15b331b2ba02167453f025f06fa3b9779869fb3ab0"
              },
              {
                "heading": "Prepare Copilot and agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Prepare Copilot and agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6d0c1fa0550abadb04baac02c30723b3abd6a09ecc5a3aa1aeaa2f6bafe42638",
                "start_line": 116,
                "end_line": 123,
                "span_lf_sha256": "4593efc347d2b1314c2958654978272dae2b76f6f5763b8b364f392749fab80f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure prerequisites for deploying agents",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Prepare to deploy agents",
            "group_number": 4,
            "objective_number": 1,
            "objective_wording_sha256": "14c2a0bcbcf3d3c79bd421b4011b7d23467b233f5bbf2bbcdf8153ee46971d3d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Prepare Copilot and agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Prepare Copilot and agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6d0c1fa0550abadb04baac02c30723b3abd6a09ecc5a3aa1aeaa2f6bafe42638",
                "start_line": 116,
                "end_line": 123,
                "span_lf_sha256": "4593efc347d2b1314c2958654978272dae2b76f6f5763b8b364f392749fab80f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure capacity, billing, and credits",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Prepare to deploy agents",
            "group_number": 4,
            "objective_number": 2,
            "objective_wording_sha256": "66aa7d806e912871ce0adbebb8ce12df3ccfc3d189b7a2385870576479339f1c",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Prepare Copilot and agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Prepare Copilot and agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6d0c1fa0550abadb04baac02c30723b3abd6a09ecc5a3aa1aeaa2f6bafe42638",
                "start_line": 116,
                "end_line": 123,
                "span_lf_sha256": "4593efc347d2b1314c2958654978272dae2b76f6f5763b8b364f392749fab80f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure the Sales accelerator",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Configure AI-powered intelligence and insights features",
            "group_number": 5,
            "objective_number": 1,
            "objective_wording_sha256": "d3866de9bb1a8844a6ab41bc6149b7547b91b6c126f1f0a400dba99dc613fa9f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure the Sales accelerator",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Configure the Sales accelerator"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3d7567318f57200c17bd5fbbc14ba21f3a4517b8d8b89857d1710b1b427ba72f",
                "start_line": 124,
                "end_line": 131,
                "span_lf_sha256": "52a650a737ec895f21cece8f9ddfb8efda7f814bb048a202a9f558cac57bbcd2"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure work assignment and distribution",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Configure AI-powered intelligence and insights features",
            "group_number": 5,
            "objective_number": 2,
            "objective_wording_sha256": "4cdbcf9c73ad9dc707d3ffe46ae32e8b749e3b483dbd7dda1019467be6bb8e6b",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure the Sales accelerator",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Configure the Sales accelerator"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3d7567318f57200c17bd5fbbc14ba21f3a4517b8d8b89857d1710b1b427ba72f",
                "start_line": 124,
                "end_line": 131,
                "span_lf_sha256": "52a650a737ec895f21cece8f9ddfb8efda7f814bb048a202a9f558cac57bbcd2"
              },
              {
                "heading": "Worked example 2: capacity and rule order",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Worked example 2: capacity and rule order"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b710c836e90c37787b66cf0a5c5bef492220fb898a1f35a2a3586e8536d7ad3",
                "start_line": 132,
                "end_line": 135,
                "span_lf_sha256": "1dd1522752a3a80f2f9427d881d1cbb2e83a852507d0f1f48f46317294628c5e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Set up conversational intelligence",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Configure AI-powered intelligence and insights features",
            "group_number": 5,
            "objective_number": 3,
            "objective_wording_sha256": "60400817878957775a373ba6cc5ae0e589af297a39998a1d4424e7760ed248da",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure intelligence and insights",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Configure intelligence and insights"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6f83b526075e1aebed2fb1b477dc04977d37af10a39cae1b96289c7e8790f2d0",
                "start_line": 136,
                "end_line": 152,
                "span_lf_sha256": "546668447d0722865fe8c8679c791ef50cb7d6d66b4898ebd9436faaf6ca1322"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure predictive scoring",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Configure AI-powered intelligence and insights features",
            "group_number": 5,
            "objective_number": 4,
            "objective_wording_sha256": "9aec1c0f49cd04d0c2118579ca32d2df7be5b7a91c9f900137f271edf361a0d1",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure intelligence and insights",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Configure intelligence and insights"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6f83b526075e1aebed2fb1b477dc04977d37af10a39cae1b96289c7e8790f2d0",
                "start_line": 136,
                "end_line": 152,
                "span_lf_sha256": "546668447d0722865fe8c8679c791ef50cb7d6d66b4898ebd9436faaf6ca1322"
              },
              {
                "heading": "Configure the lead-to-opportunity experience",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Configure the lead-to-opportunity experience"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3661af5b313633e6b670fb15e0a624743d676bfb17ecf3cadbfcc6f879df97f8",
                "start_line": 155,
                "end_line": 164,
                "span_lf_sha256": "987da96c93fe86387d999ed01900e4e5643e9e3dffad987813a12bdc0686bce6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Set up relationship intelligence",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Configure AI-powered intelligence and insights features",
            "group_number": 5,
            "objective_number": 5,
            "objective_wording_sha256": "c0fe0e94c49491342e07799f4149e7cef26848ce25677b89585ae0bf83bfefd7",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure intelligence and insights",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Configure intelligence and insights"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6f83b526075e1aebed2fb1b477dc04977d37af10a39cae1b96289c7e8790f2d0",
                "start_line": 136,
                "end_line": 152,
                "span_lf_sha256": "546668447d0722865fe8c8679c791ef50cb7d6d66b4898ebd9436faaf6ca1322"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure Copilot features, including record summarization",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Configure AI-powered intelligence and insights features",
            "group_number": 5,
            "objective_number": 6,
            "objective_wording_sha256": "ab89dc13b49c133f060c1883121be97b8373eefc96aea3fe00a9401ffb6c74f3",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Prepare Copilot and agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Prepare Copilot and agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6d0c1fa0550abadb04baac02c30723b3abd6a09ecc5a3aa1aeaa2f6bafe42638",
                "start_line": 116,
                "end_line": 123,
                "span_lf_sha256": "4593efc347d2b1314c2958654978272dae2b76f6f5763b8b364f392749fab80f"
              },
              {
                "heading": "Configure intelligence and insights",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Configure intelligence and insights"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6f83b526075e1aebed2fb1b477dc04977d37af10a39cae1b96289c7e8790f2d0",
                "start_line": 136,
                "end_line": 152,
                "span_lf_sha256": "546668447d0722865fe8c8679c791ef50cb7d6d66b4898ebd9436faaf6ca1322"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure and use forecasts to help improve sales performance",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Configure AI-powered intelligence and insights features",
            "group_number": 5,
            "objective_number": 7,
            "objective_wording_sha256": "9ea40270f5e469ac098bd03974091bc7556a551c48c62da9c589d0d55a697638",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure intelligence and insights",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Configure intelligence and insights"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6f83b526075e1aebed2fb1b477dc04977d37af10a39cae1b96289c7e8790f2d0",
                "start_line": 136,
                "end_line": 152,
                "span_lf_sha256": "546668447d0722865fe8c8679c791ef50cb7d6d66b4898ebd9436faaf6ca1322"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Set up goals and goal metrics",
            "version": "Skills measured",
            "domain": "Optimize AI-driven sales (20–25%)",
            "group": "Configure AI-powered intelligence and insights features",
            "group_number": 5,
            "objective_number": 8,
            "objective_wording_sha256": "9edbe85847c3403417e834d540f2c91bec07ae570211921f00204e075548760a",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure intelligence and insights",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "2. Optimize AI-driven sales",
                  "Configure intelligence and insights"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "6f83b526075e1aebed2fb1b477dc04977d37af10a39cae1b96289c7e8790f2d0",
                "start_line": 136,
                "end_line": 152,
                "span_lf_sha256": "546668447d0722865fe8c8679c791ef50cb7d6d66b4898ebd9436faaf6ca1322"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure the lead and opportunity experience",
            "version": "Skills measured",
            "domain": "Qualify and prioritize leads by using AI (15–20%)",
            "group": "Generate and nurture leads",
            "group_number": 6,
            "objective_number": 1,
            "objective_wording_sha256": "c1eab8f50771cd6f56caae9d9df9ccf44c4616f9115711118781f2dcd1bf4b6d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure the lead-to-opportunity experience",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Configure the lead-to-opportunity experience"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3661af5b313633e6b670fb15e0a624743d676bfb17ecf3cadbfcc6f879df97f8",
                "start_line": 155,
                "end_line": 164,
                "span_lf_sha256": "987da96c93fe86387d999ed01900e4e5643e9e3dffad987813a12bdc0686bce6"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Fine-tune the predictive scoring model",
            "version": "Skills measured",
            "domain": "Qualify and prioritize leads by using AI (15–20%)",
            "group": "Generate and nurture leads",
            "group_number": 6,
            "objective_number": 2,
            "objective_wording_sha256": "dc8cfec3f27b59bc34d8d85b13ad4b1188cf2c14180f8395f2eced87e7fd98fd",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Configure the lead-to-opportunity experience",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Configure the lead-to-opportunity experience"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3661af5b313633e6b670fb15e0a624743d676bfb17ecf3cadbfcc6f879df97f8",
                "start_line": 155,
                "end_line": 164,
                "span_lf_sha256": "987da96c93fe86387d999ed01900e4e5643e9e3dffad987813a12bdc0686bce6"
              },
              {
                "heading": "Worked example 3: enough records is not enough eligible records",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Worked example 3: enough records is not enough eligible records"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "881e2b6d906a965f3e7310a4a531ae86d40fb9103555ee850e23917ee848dba5",
                "start_line": 165,
                "end_line": 168,
                "span_lf_sha256": "56a22a9c328cf96d68a63aeac15ff217c3b5255b97d9b969e28c3b5ac1914546"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate use cases for Research-only mode configuration versus Research and engage mode configuration",
            "version": "Skills measured",
            "domain": "Qualify and prioritize leads by using AI (15–20%)",
            "group": "Automate lead qualification by using the Sales Qualification Agent",
            "group_number": 7,
            "objective_number": 1,
            "objective_wording_sha256": "23acec66fd6bb9b341a78c0ad8b4aae83568137be11a059941973c2ed4044623",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the Sales Qualification Agent mode",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Choose the Sales Qualification Agent mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d598e36db4f151f49b4ec5b8bd9682eb9f8ce5c8d0febe6a60a390819c783218",
                "start_line": 169,
                "end_line": 183,
                "span_lf_sha256": "da67a09491a333a1436baeda737a7ed14d53a8a069326788d5fa28c3ed911d19"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure the Sales Qualification Agent",
            "version": "Skills measured",
            "domain": "Qualify and prioritize leads by using AI (15–20%)",
            "group": "Automate lead qualification by using the Sales Qualification Agent",
            "group_number": 7,
            "objective_number": 2,
            "objective_wording_sha256": "1b5c00bf94a4c3fb1d19bcb83502955c4a57d7f5b7f8be97bc1db21b432fe48e",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the Sales Qualification Agent mode",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Choose the Sales Qualification Agent mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d598e36db4f151f49b4ec5b8bd9682eb9f8ce5c8d0febe6a60a390819c783218",
                "start_line": 169,
                "end_line": 183,
                "span_lf_sha256": "da67a09491a333a1436baeda737a7ed14d53a8a069326788d5fa28c3ed911d19"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Interpret the actions of the Sales Qualification Agent",
            "version": "Skills measured",
            "domain": "Qualify and prioritize leads by using AI (15–20%)",
            "group": "Automate lead qualification by using the Sales Qualification Agent",
            "group_number": 7,
            "objective_number": 3,
            "objective_wording_sha256": "640370139a2303a6916c65056e0cdc9094d7955faf2c2c47fcffc7bc3c6c7a2d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the Sales Qualification Agent mode",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Choose the Sales Qualification Agent mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d598e36db4f151f49b4ec5b8bd9682eb9f8ce5c8d0febe6a60a390819c783218",
                "start_line": 169,
                "end_line": 183,
                "span_lf_sha256": "da67a09491a333a1436baeda737a7ed14d53a8a069326788d5fa28c3ed911d19"
              },
              {
                "heading": "Worked example 4: handoff measures depend on mode",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Worked example 4: handoff measures depend on mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3f9ffced2a93eece5634b9b559a3c668665e0d8f09af4e12ebcee405bc40da3a",
                "start_line": 184,
                "end_line": 191,
                "span_lf_sha256": "35523b80f19523e5ed2806760137773d362aeaaaf18f7fed9f1d877830614b91"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor the Sales Qualification Agent",
            "version": "Skills measured",
            "domain": "Qualify and prioritize leads by using AI (15–20%)",
            "group": "Automate lead qualification by using the Sales Qualification Agent",
            "group_number": 7,
            "objective_number": 4,
            "objective_wording_sha256": "8ef6c875fb3535b6f9089c857e5c60cc4c4c8a4e2c5d6af4c6d16cf22ad978d9",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Choose the Sales Qualification Agent mode",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "3. Qualify and prioritize leads by using AI",
                  "Choose the Sales Qualification Agent mode"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "d598e36db4f151f49b4ec5b8bd9682eb9f8ce5c8d0febe6a60a390819c783218",
                "start_line": 169,
                "end_line": 183,
                "span_lf_sha256": "da67a09491a333a1436baeda737a7ed14d53a8a069326788d5fa28c3ed911d19"
              },
              {
                "heading": "Govern agent operations",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Govern agent operations"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3af1bb9e452a56b8cff57e9fb13770ad372825e970d7d7942f997d1972add09d",
                "start_line": 242,
                "end_line": 258,
                "span_lf_sha256": "5b622e9f1b8725941e761633eefc4a122d4ea2d43c25a05ca56555c338da409d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Coordinate opportunity management with the Sales Close Agent",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Optimize opportunity management",
            "group_number": 8,
            "objective_number": 1,
            "objective_wording_sha256": "5f0dfa08efdfd4ef3cac92897f3d1ca7d3e0a4eaa629a1c2ac84ee553dc5030d",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Optimize opportunity management",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Optimize opportunity management"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "655c40a80833c5d9893224b241a7893fb1e083fe3590d66da646af105aea9d72",
                "start_line": 194,
                "end_line": 199,
                "span_lf_sha256": "d3c8c578539167dca6126963b2ebdda4e67c118b3660169621157f125c1d940d"
              },
              {
                "heading": "Distinguish opportunity agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Distinguish opportunity agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b0bd305232be309f54f376e9eba38ee92c3d8fc452de02b99b9a45b4908fa08",
                "start_line": 200,
                "end_line": 215,
                "span_lf_sha256": "f0d428f15e6a1b33633bf6671c6cf74945699952e0a3aa5c095e373079e969d1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Add Opportunity Products, and configure pricing",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Optimize opportunity management",
            "group_number": 8,
            "objective_number": 2,
            "objective_wording_sha256": "1892f0aacaa6be08b669963bab77a33fd2c4bb5b98efcc7980623784241c7e2f",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Optimize opportunity management",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Optimize opportunity management"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "655c40a80833c5d9893224b241a7893fb1e083fe3590d66da646af105aea9d72",
                "start_line": 194,
                "end_line": 199,
                "span_lf_sha256": "d3c8c578539167dca6126963b2ebdda4e67c118b3660169621157f125c1d940d"
              },
              {
                "heading": "Build the product and pricing foundation",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "1. Configure Dynamics 365 Sales core features for AI",
                  "Build the product and pricing foundation"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "0ebddc7229551f87d7afb7c8a340240021fe08c60e2b9e29698d78ba0edd3d3e",
                "start_line": 92,
                "end_line": 99,
                "span_lf_sha256": "7a50959043827561e9ea714a62d7faa10f67da5751ddd78871cc7c5bfb6b30ad"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure the opportunity pipeline view",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Optimize opportunity management",
            "group_number": 8,
            "objective_number": 3,
            "objective_wording_sha256": "6f34cf321aea5e3c483e0e8f08a9c94f3c34bce412694b71da8c5a00fd3471b5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Optimize opportunity management",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Optimize opportunity management"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "655c40a80833c5d9893224b241a7893fb1e083fe3590d66da646af105aea9d72",
                "start_line": 194,
                "end_line": 199,
                "span_lf_sha256": "d3c8c578539167dca6126963b2ebdda4e67c118b3660169621157f125c1d940d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Set up and configure the Sales Opportunity Agent",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Optimize opportunity management",
            "group_number": 8,
            "objective_number": 4,
            "objective_wording_sha256": "4a1c5afd8dd625d34847cbbc383fd000e9ce033a57b525818463dcc9f4997e38",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Distinguish opportunity agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Distinguish opportunity agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b0bd305232be309f54f376e9eba38ee92c3d8fc452de02b99b9a45b4908fa08",
                "start_line": 200,
                "end_line": 215,
                "span_lf_sha256": "f0d428f15e6a1b33633bf6671c6cf74945699952e0a3aa5c095e373079e969d1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Set up and configure the Sales Close Agent",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Automate deal closing by using the Sales Close Agent",
            "group_number": 9,
            "objective_number": 1,
            "objective_wording_sha256": "b9fdc756597ee9a2f9a4604ad73451dae386165fcfc719ac8ec1ed767a669bcc",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Distinguish opportunity agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Distinguish opportunity agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b0bd305232be309f54f376e9eba38ee92c3d8fc452de02b99b9a45b4908fa08",
                "start_line": 200,
                "end_line": 215,
                "span_lf_sha256": "f0d428f15e6a1b33633bf6671c6cf74945699952e0a3aa5c095e373079e969d1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Interpret the actions of the Sales Close Agent",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Automate deal closing by using the Sales Close Agent",
            "group_number": 9,
            "objective_number": 2,
            "objective_wording_sha256": "782f0ee664c3d3624c55be9c19cfe3b316c61462f5ae0cf58254b77402e9bd86",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Distinguish opportunity agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Distinguish opportunity agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b0bd305232be309f54f376e9eba38ee92c3d8fc452de02b99b9a45b4908fa08",
                "start_line": 200,
                "end_line": 215,
                "span_lf_sha256": "f0d428f15e6a1b33633bf6671c6cf74945699952e0a3aa5c095e373079e969d1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Monitor the Sales Close Agent",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Automate deal closing by using the Sales Close Agent",
            "group_number": 9,
            "objective_number": 3,
            "objective_wording_sha256": "310ca01964d79bc0243b5751e7a734e9451b9ff0571429fe2a977dde240c6d09",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Distinguish opportunity agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Distinguish opportunity agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b0bd305232be309f54f376e9eba38ee92c3d8fc452de02b99b9a45b4908fa08",
                "start_line": 200,
                "end_line": 215,
                "span_lf_sha256": "f0d428f15e6a1b33633bf6671c6cf74945699952e0a3aa5c095e373079e969d1"
              },
              {
                "heading": "Govern agent operations",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Govern agent operations"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "3af1bb9e452a56b8cff57e9fb13770ad372825e970d7d7942f997d1972add09d",
                "start_line": 242,
                "end_line": 258,
                "span_lf_sha256": "5b622e9f1b8725941e761633eefc4a122d4ea2d43c25a05ca56555c338da409d"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Collaborate with the Sales Close Agent",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Automate deal closing by using the Sales Close Agent",
            "group_number": 9,
            "objective_number": 4,
            "objective_wording_sha256": "02c6d0cc9d6699a3d11e1f97bad44d67b3ab133cd21530a15ae1d22d33c2d908",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Distinguish opportunity agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Distinguish opportunity agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b0bd305232be309f54f376e9eba38ee92c3d8fc452de02b99b9a45b4908fa08",
                "start_line": 200,
                "end_line": 215,
                "span_lf_sha256": "f0d428f15e6a1b33633bf6671c6cf74945699952e0a3aa5c095e373079e969d1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Evaluate use cases for the Sales Research Agent",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Gather intelligence on sales deals by using the Sales Research Agent",
            "group_number": 10,
            "objective_number": 1,
            "objective_wording_sha256": "14ef11580f06beef1ea283eb8070c606c9bbf3b97d1978bc1221e5c05ebd7b04",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Distinguish opportunity agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Distinguish opportunity agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b0bd305232be309f54f376e9eba38ee92c3d8fc452de02b99b9a45b4908fa08",
                "start_line": 200,
                "end_line": 215,
                "span_lf_sha256": "f0d428f15e6a1b33633bf6671c6cf74945699952e0a3aa5c095e373079e969d1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure the Sales Research Agent",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Gather intelligence on sales deals by using the Sales Research Agent",
            "group_number": 10,
            "objective_number": 2,
            "objective_wording_sha256": "8784a1357203b8ae72f6f9516a20cb2007b9dccc0163f88125ca341b10bc6c37",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Distinguish opportunity agents",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Distinguish opportunity agents"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "8b0bd305232be309f54f376e9eba38ee92c3d8fc452de02b99b9a45b4908fa08",
                "start_line": 200,
                "end_line": 215,
                "span_lf_sha256": "f0d428f15e6a1b33633bf6671c6cf74945699952e0a3aa5c095e373079e969d1"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Analyze sales performance by using research canvas",
            "version": "Skills measured",
            "domain": "Develop deals by using intelligent opportunity research (25–30%)",
            "group": "Gather intelligence on sales deals by using the Sales Research Agent",
            "group_number": 10,
            "objective_number": 3,
            "objective_wording_sha256": "cc2956f7ac568d6796502bef6f06eae2647e6f69fd10328ab856fc55cc9fb240",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Worked example 6: reconcile currency before accepting a chart",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "4. Develop deals by using intelligent opportunity research",
                  "Worked example 6: reconcile currency before accepting a chart"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "b8773f32d0f62d8ec9e3d58997c47a4677f61449314c67ebedac8f8481214df2",
                "start_line": 238,
                "end_line": 241,
                "span_lf_sha256": "c2add8f8edcbeb803c74a14df132becc7d671602c835226a05ed682d007deb1e"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Deploy and configure the Sales mobile app",
            "version": "Skills measured",
            "domain": "Extend and enhance Sales (10–15%)",
            "group": "Configure supporting apps and services",
            "group_number": 11,
            "objective_number": 1,
            "objective_wording_sha256": "0c54d1307843d9d108fb5626e45810c57f78be33bc2a276c902c1b3587030999",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select supporting apps and channels",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "5. Extend and enhance Sales",
                  "Select supporting apps and channels"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb64e202a88305ca940a509f3662850ba7e63401d5421d339542277efb82cb2c",
                "start_line": 261,
                "end_line": 274,
                "span_lf_sha256": "5adcd0aa06cc9adfc3b899c08d55101400e08c4604c64a26a104f2d8000acc2c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Set up Teams calling",
            "version": "Skills measured",
            "domain": "Extend and enhance Sales (10–15%)",
            "group": "Configure supporting apps and services",
            "group_number": 11,
            "objective_number": 2,
            "objective_wording_sha256": "caf94f5954128a4a4e96dda6ab9257ba4f8db4eee63c0f1dd84dee9796883747",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select supporting apps and channels",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "5. Extend and enhance Sales",
                  "Select supporting apps and channels"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb64e202a88305ca940a509f3662850ba7e63401d5421d339542277efb82cb2c",
                "start_line": 261,
                "end_line": 274,
                "span_lf_sha256": "5adcd0aa06cc9adfc3b899c08d55101400e08c4604c64a26a104f2d8000acc2c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Configure an SMS channel",
            "version": "Skills measured",
            "domain": "Extend and enhance Sales (10–15%)",
            "group": "Configure supporting apps and services",
            "group_number": 11,
            "objective_number": 3,
            "objective_wording_sha256": "723259a7cb6803df3771b445f9af41a620679d821a960b36977d97c7f6778e62",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Select supporting apps and channels",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "5. Extend and enhance Sales",
                  "Select supporting apps and channels"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "bb64e202a88305ca940a509f3662850ba7e63401d5421d339542277efb82cb2c",
                "start_line": 261,
                "end_line": 274,
                "span_lf_sha256": "5adcd0aa06cc9adfc3b899c08d55101400e08c4604c64a26a104f2d8000acc2c"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Create Power Automate flows",
            "version": "Skills measured",
            "domain": "Extend and enhance Sales (10–15%)",
            "group": "Expand the sales footprint by using Microsoft Power Platform",
            "group_number": 12,
            "objective_number": 1,
            "objective_wording_sha256": "d7c96456f2c4eb4d50458f51f53f1c182f15554cafabec19b6e47c29bec55199",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Extend with Power Platform",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "5. Extend and enhance Sales",
                  "Extend with Power Platform"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2d70c7a6f77b792adc8ebc892a816ed11c265984d3ce3bdc69002859a6a58ca4",
                "start_line": 275,
                "end_line": 286,
                "span_lf_sha256": "ba8f838fe9b895bda35c6bc3b4193a48e814f6795e4f151b8a98763c9377db4f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Embed Power Apps components and controls",
            "version": "Skills measured",
            "domain": "Extend and enhance Sales (10–15%)",
            "group": "Expand the sales footprint by using Microsoft Power Platform",
            "group_number": 12,
            "objective_number": 2,
            "objective_wording_sha256": "7f0a377d13c09ea413b54bcfc123f4c9b975ee8c8e3b149594da6a9ff20656c5",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Extend with Power Platform",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "5. Extend and enhance Sales",
                  "Extend with Power Platform"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2d70c7a6f77b792adc8ebc892a816ed11c265984d3ce3bdc69002859a6a58ca4",
                "start_line": 275,
                "end_line": 286,
                "span_lf_sha256": "ba8f838fe9b895bda35c6bc3b4193a48e814f6795e4f151b8a98763c9377db4f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          },
          {
            "wording": "Embed Power BI reports",
            "version": "Skills measured",
            "domain": "Extend and enhance Sales (10–15%)",
            "group": "Expand the sales footprint by using Microsoft Power Platform",
            "group_number": 12,
            "objective_number": 3,
            "objective_wording_sha256": "0da1e2bb93a7b450f046ffb020225430ed51942321056f6fa3682e1169fcf073",
            "execution": "not-executed; textual teaching and proposed learner exercises only",
            "evidence_spans": [
              {
                "heading": "Extend with Power Platform",
                "heading_path": [
                  "AB-210 Accelerating Sales Pipelines with AI in Dynamics 365 Study Guide",
                  "5. Extend and enhance Sales",
                  "Extend with Power Platform"
                ],
                "heading_level": 3,
                "heading_lf_sha256": "2d70c7a6f77b792adc8ebc892a816ed11c265984d3ce3bdc69002859a6a58ca4",
                "start_line": 275,
                "end_line": 286,
                "span_lf_sha256": "ba8f838fe9b895bda35c6bc3b4193a48e814f6795e4f151b8a98763c9377db4f"
              }
            ],
            "depth": "substantive-teaching-with-bounded-examples-and-learner-exercises",
            "gap": null,
            "initial_gap": null,
            "repair_id": null
          }
        ],
        "future_mapping": [],
        "final_diff_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/exam-final-diff-ab-210.txt",
        "final_diff_lf_sha256": "1a796fa058f8da4d499bbf5a1c843a9b7b5e1001c929a46e9c1603047724e896"
      }
    ],
    "resolved_gap_evidence": [
      {
        "exam_code": "DP-300",
        "group_number": 4,
        "objective_number": 5,
        "repair_id": "DP300-permission-fixture",
        "old_gap": "Permission reasoning is substantive but no worked graphical permission inspection is shown; add a bounded inspect-before/after worksheet.",
        "final_evidence": {
          "heading": "Worked example — object permissions and actual sign-in are separate",
          "heading_path": [
            "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
            "3. Implement a secure environment (20–25%)",
            "Trace identity through two authorization planes",
            "Worked example — object permissions and actual sign-in are separate"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "416b5ee289a4603045f7218ddb40e419b9c7f39a8f3af2a80b3651dcf8e611d2",
          "start_line": 278,
          "end_line": 308,
          "span_lf_sha256": "817f31c11dc7e76e93991ad2c2811e85fb6dd5e9c18ce004570f6e2f8a330bfc"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "DP-300",
        "group_number": 4,
        "objective_number": 8,
        "repair_id": "DP300-permission-fixture",
        "old_gap": "T-SQL authorization is named without a minimal CREATE USER/ROLE/GRANT/DENY example and expected allowed/denied results.",
        "final_evidence": {
          "heading": "Worked example — object permissions and actual sign-in are separate",
          "heading_path": [
            "DP-300 Administering Microsoft Azure SQL Solutions Study Guide",
            "3. Implement a secure environment (20–25%)",
            "Trace identity through two authorization planes",
            "Worked example — object permissions and actual sign-in are separate"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "416b5ee289a4603045f7218ddb40e419b9c7f39a8f3af2a80b3651dcf8e611d2",
          "start_line": 278,
          "end_line": 308,
          "span_lf_sha256": "817f31c11dc7e76e93991ad2c2811e85fb6dd5e9c18ce004570f6e2f8a330bfc"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "DP-600",
        "group_number": 4,
        "objective_number": 2,
        "repair_id": "DP600-query-contract",
        "old_gap": "Column/table enrichment is implied by transformation steps, without an explicit derived-column/table example.",
        "final_evidence": {
          "heading": "Worked example — one fixture across four query routes",
          "heading_path": [
            "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
            "2. Prepare data",
            "Query and analyze with the right language",
            "Worked example — one fixture across four query routes"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
          "start_line": 157,
          "end_line": 209,
          "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "DP-600",
        "group_number": 5,
        "objective_number": 1,
        "repair_id": "DP600-query-contract",
        "old_gap": "Visual query editor named, but no concrete select/filter/group workflow and expected result.",
        "final_evidence": {
          "heading": "Worked example — one fixture across four query routes",
          "heading_path": [
            "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
            "2. Prepare data",
            "Query and analyze with the right language",
            "Worked example — one fixture across four query routes"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
          "start_line": 157,
          "end_line": 209,
          "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "DP-600",
        "group_number": 5,
        "objective_number": 2,
        "repair_id": "DP600-query-contract",
        "old_gap": "SQL operations explained, but no executable filter/aggregate query and expected result.",
        "final_evidence": {
          "heading": "Worked example — one fixture across four query routes",
          "heading_path": [
            "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
            "2. Prepare data",
            "Query and analyze with the right language",
            "Worked example — one fixture across four query routes"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
          "start_line": 157,
          "end_line": 209,
          "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "DP-600",
        "group_number": 5,
        "objective_number": 3,
        "repair_id": "DP600-query-contract",
        "old_gap": "KQL operators listed, but no bounded filter/aggregate query and expected result.",
        "final_evidence": {
          "heading": "Worked example — one fixture across four query routes",
          "heading_path": [
            "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
            "2. Prepare data",
            "Query and analyze with the right language",
            "Worked example — one fixture across four query routes"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
          "start_line": 157,
          "end_line": 209,
          "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "DP-600",
        "group_number": 5,
        "objective_number": 4,
        "repair_id": "DP600-query-contract",
        "old_gap": "DAX evaluation context explained, but no filter/aggregate query with expected result.",
        "final_evidence": {
          "heading": "Worked example — one fixture across four query routes",
          "heading_path": [
            "DP-600 Implementing Analytics Solutions Using Microsoft Fabric Study Guide",
            "2. Prepare data",
            "Query and analyze with the right language",
            "Worked example — one fixture across four query routes"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "1723e66880daef6715f120f56b02ce0d81ae27c542c1591a0ee2e12c84e71df7",
          "start_line": 157,
          "end_line": 209,
          "span_lf_sha256": "94181a8cddb4ef6ea29417b69bb3f51fc2b26e6ed5ad900668fbb365c458818f"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "MS-102",
        "group_number": 2,
        "objective_number": 5,
        "repair_id": "MS102-Entra-inventory",
        "old_gap": "Graph example is present; Entra PowerShell objective is not separately taught. Add explicit alternative inventory command and scope/context check.",
        "final_evidence": {
          "heading": "Worked example — bounded Entra PowerShell inventory",
          "heading_path": [
            "MS-102 Microsoft 365 Administrator Study Guide",
            "1. Deploy and manage a Microsoft 365 tenant",
            "Manage identities, collaboration objects, and licenses as lifecycles",
            "Worked example — bounded Entra PowerShell inventory"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "84c50a8591ee27ba9edd9276498852175dcfbd2acb50996fd7babe62eefb41ec",
          "start_line": 134,
          "end_line": 140,
          "span_lf_sha256": "7ef1347bbd04f447c8e079334212e670630b7cb410255ce824d0a147f891b6dc"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "AB-650",
        "group_number": 1,
        "objective_number": 1,
        "repair_id": "AB650-branding-surfaces",
        "old_gap": "Branding is mentioned but logo, company URL, theme and background are not individually accounted for; add a task-specific evidence checklist.",
        "final_evidence": {
          "heading": "Worked example — two branding surfaces need two checks",
          "heading_path": [
            "AB-650 Microsoft 365 and AI Services Administrator Associate Study Guide",
            "1. Configure and manage Microsoft 365 tenants and workloads",
            "Tenant foundation, domains, licenses, and operational health",
            "Worked example — two branding surfaces need two checks"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "83e6eeaabd0927765a1f5043e063624a524f505c3decbb6a11dcddf5fad66861",
          "start_line": 79,
          "end_line": 95,
          "span_lf_sha256": "420cf201c452ca5f898d31d272cc41035138ce95efb90ecbc613759460a09ff3"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "DP-700",
        "group_number": 6,
        "objective_number": 6,
        "repair_id": "DP700-transform-window",
        "old_gap": "SQL/PySpark/KQL equivalence is described without an original transformation example in each language.",
        "final_evidence": {
          "heading": "Worked example — transformation and event-time contracts",
          "heading_path": [
            "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
            "2. Ingest and transform data",
            "Ingest and transform batch data",
            "Worked example — transformation and event-time contracts"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "8284b0b9f309aa73d87ecde38700f5228ddbd2dc9ad356c459e80d06541d91fd",
          "start_line": 200,
          "end_line": 212,
          "span_lf_sha256": "2d59ce8f4ffcba3723a757bc0d5ccf4cd456bb95354a6b54ceab5028598beb84"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "DP-700",
        "group_number": 7,
        "objective_number": 6,
        "repair_id": "DP700-transform-window",
        "old_gap": "KQL operators and time policy are described without a concrete bounded time-window query.",
        "final_evidence": {
          "heading": "Worked example — transformation and event-time contracts",
          "heading_path": [
            "DP-700 Implementing Data Engineering Solutions Using Microsoft Fabric Study Guide",
            "2. Ingest and transform data",
            "Ingest and transform batch data",
            "Worked example — transformation and event-time contracts"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "8284b0b9f309aa73d87ecde38700f5228ddbd2dc9ad356c459e80d06541d91fd",
          "start_line": 200,
          "end_line": 212,
          "span_lf_sha256": "2d59ce8f4ffcba3723a757bc0d5ccf4cd456bb95354a6b54ceab5028598beb84"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "PL-400",
        "group_number": 2,
        "objective_number": 1,
        "repair_id": "PL400-generative-reuse-and-flow",
        "old_gap": "Reusable PCF/scripts are substantive; generative-page reuse receives only selection-level discussion.",
        "final_evidence": {
          "heading": "Worked example — generative reuse and flow",
          "heading_path": [
            "PL-400 Microsoft Power Platform Developer Study Guide",
            "7. Implement the current published code and AI scope",
            "Choose the experience and the execution contract",
            "Worked example — generative reuse and flow"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "817b7f379629ef799d5c9b7a53a33299a1d6edc79dfdf69f24a4141a620cb228",
          "start_line": 309,
          "end_line": 318,
          "span_lf_sha256": "e57edf119291817c39b17c973a880bdf4e3c3a9b4ecd52b964ffe81cb3f6689c"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "PL-400",
        "group_number": 2,
        "objective_number": 2,
        "repair_id": "PL400-tool-agent-contract",
        "old_gap": "Custom connector is substantive; custom MCP server design has only policy/identity requirements, without a tool schema and request/result example.",
        "final_evidence": {
          "heading": "Worked example — a proposed update is not a committed update",
          "heading_path": [
            "PL-400 Microsoft Power Platform Developer Study Guide",
            "7. Implement the current published code and AI scope",
            "Connect agents through the correct protocol and identity",
            "Worked example — a proposed update is not a committed update"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "4d0ebd1c4e111c189945a0cef81bdbf68790651fe7915e02b7ba6afea61cd155",
          "start_line": 449,
          "end_line": 496,
          "span_lf_sha256": "6b92dd7aa086cfbae2a98b8ecd039623e6a29bd7e17826baa872ee88832e701a"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "PL-400",
        "group_number": 2,
        "objective_number": 4,
        "repair_id": "PL400-generative-reuse-and-flow",
        "old_gap": "Cloud-flow design is substantive; Copilot Studio workflow-specific boundary is not developed.",
        "final_evidence": {
          "heading": "Worked example — generative reuse and flow",
          "heading_path": [
            "PL-400 Microsoft Power Platform Developer Study Guide",
            "7. Implement the current published code and AI scope",
            "Choose the experience and the execution contract",
            "Worked example — generative reuse and flow"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "817b7f379629ef799d5c9b7a53a33299a1d6edc79dfdf69f24a4141a620cb228",
          "start_line": 309,
          "end_line": 318,
          "span_lf_sha256": "e57edf119291817c39b17c973a880bdf4e3c3a9b4ecd52b964ffe81cb3f6689c"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "PL-400",
        "group_number": 2,
        "objective_number": 8,
        "repair_id": "PL400-monitor-alert",
        "old_gap": "Application Insights is discussed; Power Platform Monitor alert trigger/owner/response example is absent.",
        "final_evidence": {
          "heading": "Worked example — choose an alert that can meet the response time",
          "heading_path": [
            "PL-400 Microsoft Power Platform Developer Study Guide",
            "7. Implement the current published code and AI scope",
            "Build and promote a code app",
            "Worked example — choose an alert that can meet the response time"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "0ca71f26ac4148d3834630549147d6fc6da1265ac02bffc1dac4cd3963274de1",
          "start_line": 361,
          "end_line": 372,
          "span_lf_sha256": "2df69900ba2aa55daf4bfe9bf8bc1974ff5ec05cdf59fe80de13f791cf6166e7"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "PL-400",
        "group_number": 9,
        "objective_number": 7,
        "repair_id": "PL400-sdk-contract",
        "old_gap": "SDK Python/.NET roles named, but no side-by-side API operation and failure example.",
        "final_evidence": {
          "heading": "Worked example — compare the same operation across two SDKs",
          "heading_path": [
            "PL-400 Microsoft Power Platform Developer Study Guide",
            "7. Implement the current published code and AI scope",
            "Extend APIs without losing execution limits",
            "Worked example — compare the same operation across two SDKs"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "0a4ed7c876c4e2fe9de6cc012c9bcaf94f03c5106bcca2ff93aac82eca678726",
          "start_line": 399,
          "end_line": 410,
          "span_lf_sha256": "1a2804c672aee551dedfd73cb96f288c872c45b9610987a3bb035b87c441d30a"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "PL-400",
        "group_number": 12,
        "objective_number": 1,
        "repair_id": "PL400-tool-agent-contract",
        "old_gap": "MCP route and privilege distinctions are present, but no concrete tool request/result or denied mutation scenario with expected artifact.",
        "final_evidence": {
          "heading": "Worked example — a proposed update is not a committed update",
          "heading_path": [
            "PL-400 Microsoft Power Platform Developer Study Guide",
            "7. Implement the current published code and AI scope",
            "Connect agents through the correct protocol and identity",
            "Worked example — a proposed update is not a committed update"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "4d0ebd1c4e111c189945a0cef81bdbf68790651fe7915e02b7ba6afea61cd155",
          "start_line": 449,
          "end_line": 496,
          "span_lf_sha256": "6b92dd7aa086cfbae2a98b8ecd039623e6a29bd7e17826baa872ee88832e701a"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      },
      {
        "exam_code": "PL-400",
        "group_number": 12,
        "objective_number": 2,
        "repair_id": "PL400-tool-agent-contract",
        "old_gap": "Connection alternatives are named, but no concrete custom-agent handoff message/output example.",
        "final_evidence": {
          "heading": "Worked example — a proposed update is not a committed update",
          "heading_path": [
            "PL-400 Microsoft Power Platform Developer Study Guide",
            "7. Implement the current published code and AI scope",
            "Connect agents through the correct protocol and identity",
            "Worked example — a proposed update is not a committed update"
          ],
          "heading_level": 4,
          "heading_lf_sha256": "4d0ebd1c4e111c189945a0cef81bdbf68790651fe7915e02b7ba6afea61cd155",
          "start_line": 449,
          "end_line": 496,
          "span_lf_sha256": "6b92dd7aa086cfbae2a98b8ecd039623e6a29bd7e17826baa872ee88832e701a"
        },
        "status": "substantive-example-gap-resolved; unexecuted learner exercise"
      }
    ],
    "bounded_content_findings": [
      {
        "id": "DP600-row-removal-example",
        "exam_code": "DP-600",
        "severity": "bounded-content-correction",
        "line": 199,
        "finding": "Dropping an unspecified West row can leave10 or20, not always20. Specify dropping the West/1/10 row or state both outcomes.",
        "status": "resolved-by-coordinator; incremental diff read and captured final text checked",
        "initial_capture_evidence": "exam-final-revision-01/exam-final-mapping.json"
      },
      {
        "id": "MS102-command-spacing",
        "exam_code": "MS-102",
        "severity": "small-text-correction",
        "line": 136,
        "finding": "Prose says Get-EntraUser -Top3; use -Top 3 as the correct code block already does.",
        "status": "resolved-by-coordinator; incremental diff read and captured final text checked",
        "initial_capture_evidence": "exam-final-revision-01/exam-final-mapping.json"
      },
      {
        "id": "DP700-update-policy-exception",
        "exam_code": "DP-700",
        "severity": "bounded-content-correction",
        "line": 377,
        "finding": "Later optimization paragraph retains absolute no-update-policy statement despite newly documented narrow preview accelerated-external-Delta exception. Qualify this recap and preserve materialized-view limitation.",
        "status": "resolved-by-coordinator; incremental diff read and captured final text checked",
        "initial_capture_evidence": "exam-final-revision-01/exam-final-mapping.json"
      },
      {
        "id": "current-readiness-date-guidance",
        "exam_code": "DP-300,DP-420,DP-600,DP-700,DP-750",
        "severity": "scope-wording-correction",
        "finding": "Current readiness/resource recommendations retain old baseline wording:DP3001039 April24;DP4201049 July21 and1053 C#/Java;DP750931 March11 and964 March mapping;DP600413 andDP700519 July21. Update current recommendations while preserving explicitly historical catalog facts.",
        "status": "resolved-by-coordinator; incremental diff read and captured final text checked",
        "initial_capture_evidence": "exam-final-revision-01/exam-final-mapping.json"
      },
      {
        "id": "MS102-prerequisite-source-discrepancy",
        "exam_code": "MS-102",
        "severity": "evidence-clarification",
        "line": 49,
        "finding": "Four-option prerequisite is correctly retained from credential; explicitly note study-guide audience still lists three to preserve source discrepancy.",
        "status": "resolved-by-coordinator; incremental diff read and captured final text checked",
        "initial_capture_evidence": "exam-final-revision-01/exam-final-mapping.json"
      }
    ],
    "objective_coverage_outcome": "All 623 current detailed objectives have substantive teaching with bounded decision, failure and learner-exercise treatment. All 18 initial example gaps and five bounded final-diff findings were resolved. No further substantive objective gap identified in this bounded textual review; technical evidence blockers remain separate.",
    "limitations": [
      "Not fresh-context or human review.",
      "No SQL/KQL/DAX/Spark/SDK/tenant/cloud execution by this reviewer.",
      "Exact candidate RAW hashes chosen for current mapping; root may still hold historical accepted snapshots until gated acceptance.",
      "No future AB650 outline inferred from generic boilerplate.",
      "Source conflicts for AB210 and Backup remain separately documented; coverage does not resolve technical evidence blockers.",
      "Any subsequent guide edit requires recapture and rebinding."
    ],
    "verification": {
      "original_matrix_unchanged": true,
      "all_623_objective_wording_hashes_checked": true,
      "all_evidence_span_heading_and_LF_hashes_recomputed": true,
      "all_final_public_sections_places_to_learn": true,
      "five_bounded_findings_resolved": true,
      "all_live_files_match_captured_final": true
    }
  },
  "snapshot_acceptance": {
    "accepted_on": "2026-10-28",
    "changes": {
      "DP-300": {
        "old_raw_sha256": "08cba3368c07be28f4abeea90be94256a0cd0fc247ed53f2561fd340c0df3e4b",
        "new_raw_sha256": "f9f0c06f1a6e639035fd75d0db063dd6edcb30f50079e5a5157255ed4408ae57",
        "archive_path": "data/objective-snapshots/archive/dp-300-08cba3368c07be28f4abeea90be94256a0cd0fc247ed53f2561fd340c0df3e4b.txt",
        "current_path": "data/objective-snapshots/dp-300-official-objectives.txt",
        "old_status_raw_sha256": "74610ff56b280a6c327f1ab3fe585d24ca5f4bfed081b7db9d97fc2e312c511d",
        "new_status_raw_sha256": "6fb682a49f28a788a089159a5e1ccc7bbb3e51a48d1515282421aa0a92d0d20f",
        "reason": "Current effective published English outline fully mapped and substantive examples reconciled; historical path-only migrations preserve exact prior evidence."
      },
      "DP-420": {
        "old_raw_sha256": "7966ceca9589ef574018cacb35f5bcd02a55b148a34107310b5e7c9e1e52de7a",
        "new_raw_sha256": "f796c1974699f0196b5e60e449409ceb3ccf9cf17b99e92206a1913d220ae351",
        "archive_path": "data/objective-snapshots/archive/dp-420-7966ceca9589ef574018cacb35f5bcd02a55b148a34107310b5e7c9e1e52de7a.txt",
        "current_path": "data/objective-snapshots/dp-420-official-objectives.txt",
        "old_status_raw_sha256": "ef35a98bc74c2cf998b4c131ec8c9936b80c4b42997b9bd708c48ad0bb9e38e5",
        "new_status_raw_sha256": "c4b33b38a0c7f9488439122b3c5a14c365a6cc52e4ff0b25710561f0369dd5bc",
        "reason": "Current effective published English outline fully mapped and substantive examples reconciled; historical path-only migrations preserve exact prior evidence."
      },
      "DP-750": {
        "old_raw_sha256": "eba786118a9e5129571b0a9505b8849bd82f3cdf84e2da759d735f354f27fb84",
        "new_raw_sha256": "d44f3f814718f33dd69dd72f48381609f4cde30d0b5c9fe1656380223fb2571e",
        "archive_path": "data/objective-snapshots/archive/dp-750-eba786118a9e5129571b0a9505b8849bd82f3cdf84e2da759d735f354f27fb84.txt",
        "current_path": "data/objective-snapshots/dp-750-official-objectives.txt",
        "old_status_raw_sha256": "4cf37ffbb9684b28047947f6cc9464d0e6c5ecef7e09d2dacd47be0e087c9c57",
        "new_status_raw_sha256": "10ef32f740b30f922754046da34e4338a0d2a0b697049d30b94ace8949226237",
        "reason": "Current effective published English outline fully mapped and substantive examples reconciled; historical path-only migrations preserve exact prior evidence."
      },
      "DP-600": {
        "old_raw_sha256": "2b7d8452085a3503eaa3c72d3b5afd25ccb6dd2b42177e876d4c5d373051e3ec",
        "new_raw_sha256": "43cf6ad72e66be7ce72a39c58f1e2fcd40b66f4768ca14a399b2e99846449fff",
        "archive_path": "data/objective-snapshots/archive/dp-600-2b7d8452085a3503eaa3c72d3b5afd25ccb6dd2b42177e876d4c5d373051e3ec.txt",
        "current_path": "data/objective-snapshots/dp-600-official-objectives.txt",
        "old_status_raw_sha256": "ef35a98bc74c2cf998b4c131ec8c9936b80c4b42997b9bd708c48ad0bb9e38e5",
        "new_status_raw_sha256": "10ef32f740b30f922754046da34e4338a0d2a0b697049d30b94ace8949226237",
        "reason": "Current effective published English outline fully mapped and substantive examples reconciled; historical path-only migrations preserve exact prior evidence."
      },
      "DP-700": {
        "old_raw_sha256": "b250753e6f60be9e2a9625e9849d575999dc56fc6afe43788a85ce43db5e25a8",
        "new_raw_sha256": "536a8f75830b0951502232b8b1a811524d000a7edf7a745613f46462f7dd3fc5",
        "archive_path": "data/objective-snapshots/archive/dp-700-b250753e6f60be9e2a9625e9849d575999dc56fc6afe43788a85ce43db5e25a8.txt",
        "current_path": "data/objective-snapshots/dp-700-official-objectives.txt",
        "old_status_raw_sha256": "ef35a98bc74c2cf998b4c131ec8c9936b80c4b42997b9bd708c48ad0bb9e38e5",
        "new_status_raw_sha256": "10ef32f740b30f922754046da34e4338a0d2a0b697049d30b94ace8949226237",
        "reason": "Current effective published English outline fully mapped and substantive examples reconciled; historical path-only migrations preserve exact prior evidence."
      },
      "PL-400": {
        "old_raw_sha256": "4867995d075161ae07190d54a25c84872deb9efc388a7629743ee6bc49b8f468",
        "new_raw_sha256": "facfff59976de5c12e31c20f17ad072c6255f1324c9a55419788d6ee70a825d1",
        "archive_path": "data/objective-snapshots/archive/pl-400-4867995d075161ae07190d54a25c84872deb9efc388a7629743ee6bc49b8f468.txt",
        "current_path": "data/objective-snapshots/pl-400-official-objectives.txt",
        "old_status_raw_sha256": "241d4e2dae60722c68e866697d284ea587371074d7f35ae5e30547b1127ca98f",
        "new_status_raw_sha256": "9e1d961c3f6764951800d2c6a690387f154cd0394579a28d759a88a5dee6bf75",
        "reason": "Current effective published English outline fully mapped and substantive examples reconciled; historical path-only migrations preserve exact prior evidence."
      }
    },
    "historical_migration": "Only objective paths moved to byte-identical archives; original dates, hashes, outcomes, counts, findings and checks retained. No audit renewed. Old status bytes are retained in immutable before copies and base commit; no current/future date inferred."
  },
  "exam_research": {
    "schema_version": 1,
    "reviewed_on": "2026-10-28",
    "role": "read-only exam/objective researcher",
    "mapping_path": "exam-mapping.json",
    "immutable_manifest": "manifest.json",
    "counts": {
      "accepted_historical_detailed_objectives": 687,
      "current_published_detailed_objectives": 623,
      "current_partial_example_gaps": 18
    },
    "exams": [
      {
        "exam_code": "DP-300",
        "guide_lf_sha256": "065ed60b29bbd2f267a7720aa7e49ab439d106d612dbb25d503d96feb64515d4",
        "accepted_objective_raw_sha256": "08cba3368c07be28f4abeea90be94256a0cd0fc247ed53f2561fd340c0df3e4b",
        "current_objective_raw_sha256": "f9f0c06f1a6e639035fd75d0db063dd6edcb30f50079e5a5157255ed4408ae57",
        "accepted_detailed_objective_count": 94,
        "current_detailed_objective_count": 94,
        "current_partial_count": 2,
        "accepted_status": {
          "skills_versions": [
            "Skills measured as of April 24, 2026"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "74610ff56b280a6c327f1ab3fe585d24ca5f4bfed081b7db9d97fc2e312c511d",
        "proposed_current_effective_on": "2026-10-27",
        "metadata_snapshot_recommendation": "94 retained objectives; secure enclaves replaces VBS enclaves. Existing platform/client matrix is substantive. Accept candidate after permissions-example repair and review; retain April24 raw bytes as historical. Credential still uses future-tense October27 notice; do not keep scheduled status solely from stale prose.",
        "future_outline_observed": false,
        "raw_snapshot_diff": "--- dp-300-official-objectives.txt\n+++ candidate/dp-300-official-objectives.txt\n@@ -1,4 +1,4 @@\n-Skills measured as of April 24, 2026\n+Skills measured as of October 27, 2026\n Audience profile\n As a candidate for this exam, you should have subject matter expertise\n in building database solutions that are designed to support multiple\n@@ -80,7 +80,7 @@\n Implement object-level encryption\n Configure server- and database-level firewall rules\n Implement Always Encrypted\n-Implement Always Encrypted with VBS enclaves\n+Implement Always Encrypted with secure enclaves\n Configure private links and service endpoints\n Implement compliance controls for sensitive data\n Apply a data classification strategy\n"
      },
      {
        "exam_code": "DP-420",
        "guide_lf_sha256": "7494e1a8bd331bcb62a9cd4701c383bb32496d9d5bbfce710972af696347e53b",
        "accepted_objective_raw_sha256": "7966ceca9589ef574018cacb35f5bcd02a55b148a34107310b5e7c9e1e52de7a",
        "current_objective_raw_sha256": "f796c1974699f0196b5e60e449409ceb3ccf9cf17b99e92206a1913d220ae351",
        "accepted_detailed_objective_count": 132,
        "current_detailed_objective_count": 56,
        "current_partial_count": 0,
        "accepted_status": {
          "skills_versions": [
            "Skills measured as of July 21, 2026"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "ef35a98bc74c2cf998b4c131ec8c9936b80c4b42997b9bd708c48ad0bb9e38e5",
        "proposed_current_effective_on": "2026-10-06",
        "metadata_snapshot_recommendation": "Current three weighted domains/56 detailed objectives replace five old domains/132 detailed objectives. Existing transition material substantively teaches retrieval,memory,masking,Fleet,copy jobs,Agent Kit and Fabric. Accept reviewed candidate; label July scope historical and update C#/Python prerequisites. Preserve former credential alias.",
        "future_outline_observed": false,
        "raw_snapshot_diff": "--- dp-420-official-objectives.txt\n+++ candidate/dp-420-official-objectives.txt\n@@ -1,213 +1,110 @@\n-Skills measured as of July 21, 2026\n+Skills measured as of October 6, 2026\n Audience profile\n-As a candidate for this exam, you should have subject matter expertise\n-designing, implementing, and monitoring cloud-native applications that\n-store and manage data.\n-Your responsibilities for this role include:\n-Designing and implementing data models and data distribution.\n-Loading data into an Azure Cosmos DB database.\n-Optimizing and maintaining the solution.\n-As a professional in this role, you integrate the solution with other\n-Azure services. You also design, implement, and monitor solutions that\n-consider security, availability, resilience, and performance\n-requirements.\n-As a candidate for this exam, you must have solid knowledge and\n-experience with:\n-Developing apps for Azure.\n-Working with Azure Cosmos DB database technologies.\n-Creating server-side objects with JavaScript.\n-You should be proficient at developing applications that use Azure\n-Cosmos DB for NoSQL. You should be able to:\n-Write efficient SQL queries for the API.\n-Create appropriate indexing policies.\n-Interpret JSON.\n-Read C# or Java code.\n-Use PowerShell.\n-Additionally, you should be familiar with provisioning and managing\n-resources in Azure.\n+As an Azure Cosmos DB Developer Associate, you design, build, and\n+optimize cost effective high-performance scalable applications that use\n+Azure Cosmos DB including system of record for agent memory,\n+conversation state, retrieval indexes, grounding data, and application\n+data.\n+Your responsibilities include:\n+Designing and implementing data models and data distribution\n+Ingesting and querying data with Azure Cosmos DB database\n+Optimizing application performance, scalability, and cost\n+Implementing secure and production-ready applications\n+Building AI retrieval and RAG solutions\n+Designing and implementing agent memory systems\n+Integration of Azure Cosmos DB with Microsoft Fabric for analytical\n+querying and operational insights\n+In this role, you collaborate with AI engineers, application developers,\n+solution architects, data engineers, and security professionals to\n+design and implement cost effective high-performance scalable\n+applications.\n+You should have experience developing applications by using C# or\n+Python. You should be familiar with Azure services, generative AI\n+concepts, retrieval-based systems, and application development\n+practices.\n Skills at a glance\n-Design and implement data models (35–40%)\n-Design and implement data distribution (5–10%)\n-Integrate an Azure Cosmos DB solution (5–10%)\n-Optimize an Azure Cosmos DB solution (15–20%)\n-Maintain an Azure Cosmos DB solution (25–30%)\n-Design and implement data models (35–40%)\n-Design and implement a non-relational data model for Azure Cosmos DB for NoSQL\n-Develop a design by storing multiple entity types in the same\n-container\n-Develop a design by storing multiple related entities in the same\n-document\n-Develop a model that denormalizes data across documents\n-Develop a design by referencing between documents\n-Identify partition key, id, and unique keys\n-Identify data and associated access patterns\n-Specify a default time to live (TTL) on a container for a\n-transactional store\n-Develop a design for versioning documents\n-Develop a design for document schema versioning\n-Design a data partitioning strategy for Azure Cosmos DB for NoSQL\n-Choose a partitioning strategy based on a specific workload\n-Choose a partition key\n-Plan for transactions when choosing a partition key\n-Evaluate the cost of using a cross-partition query\n-Calculate and evaluate data distribution based on partition key\n-selection\n-Calculate and evaluate throughput distribution based on partition key\n-selection\n-Construct and implement a synthetic partition key\n-Design and implement a hierarchical partition key\n-Design partitioning for workloads that require multiple partition keys\n-Plan and implement sizing and scaling for a database created with Azure Cosmos DB\n-Evaluate the throughput and data storage requirements for a specific\n-workload\n-Choose between serverless and provisioned throughput; determine when\n-free tier is applicable\n-Choose when to use database-level provisioned throughput\n-Design for granular scale units and resource governance\n-Evaluate the cost of the global distribution of data\n-Configure throughput for Azure Cosmos DB by using the Azure portal\n-Implement client connectivity options in the Azure Cosmos DB SDK\n-Choose a connectivity mode (gateway versus direct)\n-Implement a connectivity mode\n-Create a connection to a database\n-Enable offline development by using the Azure Cosmos DB emulator\n-Handle connection errors\n-Implement a singleton for the client\n-Specify a region for global distribution\n-Configure client-side threading and parallelism options\n-Enable SDK logging\n-Implement data access by using the SQL language for Azure Cosmos DB for NoSQL\n-Implement queries that use arrays, nested objects, aggregation, and\n-ordering\n-Implement a correlated subquery\n-Implement queries that use array and type-checking functions\n-Implement queries that use mathematical, string, and date functions\n-Implement queries based on variable data\n-Implement data access by using Azure Cosmos DB for NoSQL SDKs\n-Choose when to use a point operation versus a query operation\n-Implement a point operation that creates, updates, and deletes items\n-Implement an update by using a patch operation\n-Manage multi-item transactions using SDK Transactional Batch\n-Perform a multi-item load using Bulk Support in the SDK\n-Implement optimistic concurrency control using ETags\n-Override default consistency by using query request options\n-Implement session consistency by using session tokens\n-Implement a query operation that includes pagination\n-Implement a query operation by using a continuation token\n-Handle transient errors and 429s\n-Specify TTL for an item\n-Retrieve and use query metrics\n-Implement server-side programming in Azure Cosmos DB for NoSQL by using JavaScript\n-Write, deploy, and call a stored procedure\n-Design stored procedures to work with multiple items within the same\n-logical partition transactionally\n-Implement and call triggers\n-Implement a user-defined function\n-Design and implement data distribution (5–10%)\n-Design and implement a replication strategy for Azure Cosmos DB\n-Choose when to distribute data\n-Define automatic failover policies for regional failure for Azure\n-Cosmos DB for NoSQL\n-Perform manual failovers to move single-write regions\n-Choose a consistency model\n-Identify use cases for different consistency models\n-Evaluate the impact of consistency model choices on availability and\n-associated request unit (RU) cost\n-Evaluate the impact of consistency model choices on performance and\n-latency\n-Specify application connections to replicated data\n-Design and implement multi-region writes\n-Choose when to use multi-region writes\n-Implement multi-region writes\n-Implement a custom conflict resolution policy for Azure Cosmos DB for\n-NoSQL\n-Integrate an Azure Cosmos DB solution (5–10%)\n-Enable Azure Cosmos DB analytical workloads\n-Configure Azure Cosmos DB Mirroring for Microsoft Fabric\n-Choose between Azure Cosmos DB Mirroring and the Azure Cosmos DB Spark\n-connector\n-Enable the analytical store on a container\n-Enable a connection to an analytical store and query from Azure\n-Synapse Spark or Azure Synapse SQL serverless\n-Perform a query against the transactional store from Spark\n-Write data back to the transactional store from Spark\n-Implement Change Data Capture in the Azure Cosmos DB analytical store\n-Implement time travel in Warehouse in Microsoft Fabric\n-Implement solutions across services\n-Integrate events with other applications by using Azure Functions and\n-Azure Event Hubs\n-Denormalize data by using Change Feed and Azure Functions\n-Enforce referential integrity by using Change Feed and Azure Functions\n-Aggregate data by using Change Feed and Azure Functions, including\n-reporting\n-Archive data by using Change Feed and Azure Functions\n-Implement Azure AI Search for an Azure Cosmos DB solution\n-Optimize an Azure Cosmos DB solution (15–20%)\n-Optimize query performance when using the API for Azure Cosmos DB for NoSQL\n-Adjust indexes on the database\n-Calculate the cost of the query\n-Retrieve request unit cost of a point operation or query\n-Implement Azure Cosmos DB integrated cache\n-Design and implement change feeds for Azure Cosmos DB for NoSQL\n-Develop an Azure Functions trigger to process a change feed\n-Consume a change feed from within an application by using the SDK\n-Manage the number of change feed instances by using the change feed\n-estimator\n-Implement denormalization by using a change feed\n-Implement referential enforcement by using a change feed\n-Implement aggregation persistence by using a change feed\n-Implement data archiving by using a change feed\n-Define and implement an indexing strategy for Azure Cosmos DB for NoSQL\n-Choose when to use a read-heavy versus write-heavy index strategy\n-Choose an appropriate index type\n-Configure a custom indexing policy by using the Azure portal\n-Implement a composite index\n-Optimize index performance\n-Maintain an Azure Cosmos DB solution (25–30%)\n-Monitor and troubleshoot an Azure Cosmos DB solution\n-Evaluate response status code and failure metrics\n-Monitor the Normalized RU Consumption metric by using Azure Monitor\n-Monitor server-side latency metrics by using Azure Monitor\n-Monitor data replication in relation to latency and availability\n-Configure Azure Monitor alerts for Azure Cosmos DB\n-Implement and query Azure Monitor resource logs for Azure Cosmos DB\n-Monitor throughput across partitions\n-Monitor distribution of data across partitions\n-Monitor security by using logging and auditing\n-Implement backup and restore for an Azure Cosmos DB solution\n-Choose between periodic and continuous backup\n-Configure periodic backup\n-Configure continuous backup and point-in-time restore\n-Locate a restore point for a point-in-time restore\n-Restore a database or container from a restore point\n-Implement security for an Azure Cosmos DB solution\n-Choose between platform-managed and customer-managed encryption keys\n-Configure network-level access control for Azure Cosmos DB\n-Configure data encryption for Azure Cosmos DB\n-Manage control plane access to Azure Cosmos DB by using Azure\n-role-based access control (RBAC)\n-Manage control plane access to Azure Cosmos DB Data Explorer by using\n-Azure role-based access control (RBAC)\n-Manage data plane access to Azure Cosmos DB by using Microsoft Entra\n-ID\n-Configure cross-origin resource sharing (CORS) settings\n-Manage account keys by using Azure Key Vault\n-Implement customer-managed keys for encryption\n-Implement Always Encrypted\n-Implement data movement for an Azure Cosmos DB solution\n-Choose a data movement strategy\n-Move data by using client SDK bulk operations\n-Move data by using Azure Data Factory and Azure Synapse pipelines\n-Move data by using a Kafka connector\n-Move data by using Azure Stream Analytics\n-Move data by using the Azure Cosmos DB Spark connector\n-Configure Azure Cosmos DB as a custom endpoint for an Azure IoT Hub\n-Implement a DevOps process for an Azure Cosmos DB solution\n-Choose when to use declarative versus imperative operations\n-Provision and manage Azure Cosmos DB resources by using Azure Resource\n-Manager templates\n-Migrate between standard and autoscale throughput by using PowerShell\n-or Azure CLI\n-Initiate a regional failover by using PowerShell or Azure CLI\n-Maintain indexing policies in production by using Azure Resource\n-Manager templates\n+Design and develop database solutions (40–45%)\n+Secure, optimize, and deploy database solutions (30–35%)\n+Implement AI and Analytics capabilities in database solutions (20–25%)\n+Design and develop database solutions (40–45%)\n+Evaluate resource models and SDK solutions\n+Evaluate consistency levels\n+Evaluate Request Unit (RU) consumption requirements\n+Evaluating and configuring appropriate throughput\n+Configure account-level and container-level settings\n+Create and manage database and containers\n+Initialize SDK clients and connections\n+Implement database operations\n+Implement queries, parameterized queries, paging, and continuation\n+tokens\n+Implement point read operations\n+Implement create, replace, update, patch and delete operations\n+Implement bulk, batch, and transactional operations\n+Configure Time to Live (TTL)\n+Implement concurrency control mechanisms\n+Design and implement data models and partitioning strategies\n+Design data models for access patterns and operational requirements\n+Design and select partition keys based on cardinality, access\n+patterns, and write distribution requirements\n+Determine when to embed or reference related data\n+Evaluate the impact of partition key selection on scalability and\n+performance\n+Implement hierarchical partition keys (HPKs) and multi-tenant\n+partitioning strategies\n+Implement synthetic partition keys\n+Identify partitioning anti-patterns and partitioning issues during\n+solution reviews\n+Estimate workload cost requirements\n+Implement change feed\n+Implement change feed operations\n+Differentiate between change feed processor and pull mode models\n+Configure lease containers\n+Implement change feed processing using latest mode or all versions and\n+delete\n+Implement copy container jobs\n+Design and implement Azure Cosmos DB solutions by using AI-assisted tools\n+Implement Agent Kit to follow Azure Cosmos DB development recommended\n+solutions\n+Implement Agent Kit to accelerate AI application development\n+Secure, optimize, and deploy database solutions (30–35%)\n+Implement database security controls\n+Configure authentication mechanisms\n+Configure authorization controls\n+Configure network security\n+Configure dynamic data masking\n+Implement availability and recovery solutions\n+Configure backup and restore solutions\n+Implement multi-region read and write configurations\n+Configure partition failover solutions\n+Optimize and remediate database performance\n+Optimize query performance\n+Analyze query performance metrics\n+Analyze index performance metrics\n+Monitor end-to-end latency against service objectives\n+Configure Azure Monitor alerts\n+Analyze diagnostic logs in Log Analytics\n+Implement Fleet management and monitoring across multiple accounts and subscriptions\n+Configure Fleet level throughput management\n+Configure Fleet monitoring with fleet analytics\n+Implement AI and analytics capabilities in database solutions (20–25%)\n+Design and implement AI retrieval\n+Design and implement full-text search\n+Design for vector data, including vector data type, vector indexes,\n+and size\n+Design and implement vector partitioning and sharded DiskANN\n+implementations\n+Implement vector search\n+Design and implement hybrid search\n+Optimize full-text and vector performance\n+Design and implement Retrieval-Augmented Generation (RAG)\n+Design and implement agent memory stores\n+Design durable memory stores\n+Implement conversation state\n+Implement semantic memory\n+Design and implement operational analytics on Azure Cosmos DB\n+Choose between Azure Cosmos DB and Cosmos DB in Microsoft Fabric\n+Configure and monitor data mirroring into Microsoft Fabric\n+Query Azure Cosmos DB mirrored JSON data in Microsoft Fabric with\n+T-SQL and Spark\n+Read and write data into Azure Cosmos DB from Microsoft Fabric with\n+Cosmos DB Spark connector\n"
      },
      {
        "exam_code": "DP-750",
        "guide_lf_sha256": "dd3f611324dd93e61b5bc023f88db2bbb8e9e006a20d4d818960c4f62c97fe6d",
        "accepted_objective_raw_sha256": "eba786118a9e5129571b0a9505b8849bd82f3cdf84e2da759d735f354f27fb84",
        "current_objective_raw_sha256": "d44f3f814718f33dd69dd72f48381609f4cde30d0b5c9fe1656380223fb2571e",
        "accepted_detailed_objective_count": 77,
        "current_detailed_objective_count": 77,
        "current_partial_count": 0,
        "accepted_status": {
          "skills_versions": [
            "Skills measured as of March 11, 2026"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "4cf37ffbb9684b28047947f6cc9464d0e6c5ecef7e09d2dacd47be0e087c9c57",
        "proposed_current_effective_on": "2026-10-19",
        "metadata_snapshot_recommendation": "77 retained detailed objectives; Declarative Automation Bundles/Databricks CLI naming and removal of deletion vectors from clustering bullet. Accept candidate after content reconciliation; retain March snapshot. Deletion vectors are related implementation context.",
        "future_outline_observed": false,
        "raw_snapshot_diff": "--- dp-750-official-objectives.txt\n+++ candidate/dp-750-official-objectives.txt\n@@ -1,4 +1,4 @@\n-Skills measured as of March 11, 2026\n+Skills measured as of October 19, 2026\n Audience profile\n As a candidate for this Microsoft Certification, you should have subject\n matter expertise in integrating and modeling data, building and\n@@ -79,7 +79,7 @@\n Design and implement a temporal (history) table to record changes over\n time\n Design and implement a clustering strategy, including liquid\n-clustering, Z-ordering, and deletion vectors\n+clustering and Z-ordering\n Choose between managed and unmanaged tables\n Ingest data into Unity Catalog\n Ingest data by using Lakeflow Connect, including batch and streaming\n@@ -128,9 +128,8 @@\n Manage branching, pull requests, and conflict resolution\n Implement a testing strategy, including unit tests, integration tests,\n end-to-end tests, and user acceptance testing (UAT)\n-Configure and package Databricks Asset Bundles\n-Deploy a bundle by using the Azure Databricks command-line interface\n-(CLI)\n+Configure and package Declarative Automation Bundles\n+Deploy a bundle by using the Databricks CLI\n Deploy a bundle by using REST APIs\n Monitor, troubleshoot, and optimize workloads in Azure Databricks\n Monitor and manage cluster consumption to optimize performance and\n"
      },
      {
        "exam_code": "DP-600",
        "guide_lf_sha256": "49098f811ce39e0e10c533e826c533d2aa743e4f1e43f7b0022e2739224ccf0a",
        "accepted_objective_raw_sha256": "2b7d8452085a3503eaa3c72d3b5afd25ccb6dd2b42177e876d4c5d373051e3ec",
        "current_objective_raw_sha256": "43cf6ad72e66be7ce72a39c58f1e2fcd40b66f4768ca14a399b2e99846449fff",
        "accepted_detailed_objective_count": 41,
        "current_detailed_objective_count": 41,
        "current_partial_count": 5,
        "accepted_status": {
          "skills_versions": [
            "Skills measured as of July 21, 2026"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "ef35a98bc74c2cf998b4c131ec8c9936b80c4b42997b9bd708c48ad0bb9e38e5",
        "proposed_current_effective_on": "2026-10-19",
        "metadata_snapshot_recommendation": "41 retained objectives; Visual query editor capitalization only. Accept after small-query/enrichment-example repair; retain July snapshot.",
        "future_outline_observed": false,
        "raw_snapshot_diff": "--- dp-600-official-objectives.txt\n+++ candidate/dp-600-official-objectives.txt\n@@ -1,4 +1,4 @@\n-Skills measured as of July 21, 2026\n+Skills measured as of October 19, 2026\n Audience profile\n As a candidate for this exam, you should have subject matter expertise\n in designing, creating, and managing analytical assets, such as semantic\n@@ -51,7 +51,7 @@\n Convert column data types\n Filter data\n Query and analyze data\n-Select, filter, and aggregate data by using the Visual Query Editor\n+Select, filter, and aggregate data by using the Visual query editor\n Select, filter, and aggregate data by using SQL\n Select, filter, and aggregate data by using KQL\n Select, filter, and aggregate data by using DAX\n"
      },
      {
        "exam_code": "AI-500",
        "guide_lf_sha256": "ec362f9caebe568c783fc5c144c7d2aa2d96ef93b650f5517fcc8c4ae0f1af80",
        "accepted_objective_raw_sha256": "498ed5ca3e5f1ac958dedea4b84cb33a34a8ff0f5aa239540fd7283bc41360e8",
        "current_objective_raw_sha256": "498ed5ca3e5f1ac958dedea4b84cb33a34a8ff0f5aa239540fd7283bc41360e8",
        "accepted_detailed_objective_count": 55,
        "current_detailed_objective_count": 55,
        "current_partial_count": 0,
        "accepted_status": {
          "skills_versions": [
            "Skills measured (official page last updated 2026-07-16; no skills effective date published)"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "3a4cab19e6ab36b3cdf6e1ee4e089c2b08b2b10ce713149a7177b6087673599b",
        "proposed_current_effective_on": null,
        "metadata_snapshot_recommendation": "55 unchanged detailed objectives; July16 is page-update date, not separate skills-effective date. Headings omit beta, but no exact GA date established. AI Apps and Agents Developer Associate prerequisite remains. Credential says no current courses while exam links course; preserve page-specific observation.",
        "future_outline_observed": false,
        "raw_snapshot_diff": ""
      },
      {
        "exam_code": "MS-102",
        "guide_lf_sha256": "5a3823b062cb0c00372014c6e2dbfc7764d5614db3a67688efe8c2a2ab8a2536",
        "accepted_objective_raw_sha256": "97ce6b34e98fb43947409e8b7997f3de72e6cae7a62102dfdea849bfb177c92a",
        "current_objective_raw_sha256": "97ce6b34e98fb43947409e8b7997f3de72e6cae7a62102dfdea849bfb177c92a",
        "accepted_detailed_objective_count": 54,
        "current_detailed_objective_count": 54,
        "current_partial_count": 1,
        "accepted_status": {
          "skills_versions": [
            "Skills measured as of April 28, 2026"
          ],
          "upcoming_announcements": [
            "This exam will retire on November 30, 2026, at 11:59 PM Central Standard Time. Learn more."
          ]
        },
        "accepted_status_raw_sha256": "774becfc67b7184d9d8e0868e20d03dc74c7f38a3b1edcfc2983bb8a920cca09",
        "proposed_current_effective_on": "2026-04-28",
        "metadata_snapshot_recommendation": "54 unchanged detailed objectives; keep accepted snapshot. Credential lists four qualifying associate prerequisites while study-guide audience lists three; retain Information Security Administrator from credential plus explicit discrepancy. Retirement November30 11:59PM CST, no earn/renew afterward. Course AB650 mapping does not establish a replacement expert credential.",
        "future_outline_observed": false,
        "raw_snapshot_diff": ""
      },
      {
        "exam_code": "AB-650",
        "guide_lf_sha256": "450bf5aa602ee58913305c33beaeb19e058522cce1e2fb79afc7bfeb3312b55d",
        "accepted_objective_raw_sha256": "e70d10682f078cb6887f7dde679f56661e63dfeabb221779f6b0ff4ab08bdf1a",
        "current_objective_raw_sha256": "e70d10682f078cb6887f7dde679f56661e63dfeabb221779f6b0ff4ab08bdf1a",
        "accepted_detailed_objective_count": 58,
        "current_detailed_objective_count": 58,
        "current_partial_count": 1,
        "accepted_status": {
          "skills_versions": [
            "Skills measured (official page last updated 2026-07-27; no skills effective date published)"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "adf167a50022621b43a5b7e187535fb33957fa98dec398432b8ec76cddcddfbc",
        "proposed_current_effective_on": null,
        "metadata_snapshot_recommendation": "58 unchanged detailed objectives; July27 is page-update date, not skills-effective date. Despite generic two-version boilerplate, actual body has one undated outline and no future objective section. Beta,English,delayed results,no Practice Assessment. Repair branding surfaces.",
        "future_outline_observed": false,
        "raw_snapshot_diff": ""
      },
      {
        "exam_code": "DP-700",
        "guide_lf_sha256": "a144c4e76fa45b34d93a97d5cf845bebdda1fc0398e53edcddc2f1c9dc0cea47",
        "accepted_objective_raw_sha256": "b250753e6f60be9e2a9625e9849d575999dc56fc6afe43788a85ce43db5e25a8",
        "current_objective_raw_sha256": "536a8f75830b0951502232b8b1a811524d000a7edf7a745613f46462f7dd3fc5",
        "accepted_detailed_objective_count": 54,
        "current_detailed_objective_count": 54,
        "current_partial_count": 2,
        "accepted_status": {
          "skills_versions": [
            "Skills measured as of July 21, 2026"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "ef35a98bc74c2cf998b4c131ec8c9936b80c4b42997b9bd708c48ad0bb9e38e5",
        "proposed_current_effective_on": "2026-10-19",
        "metadata_snapshot_recommendation": "54 retained objectives; singular Eventstream/Eventhouse terminology. Accept after transform/window-example repair; retain July snapshot.",
        "future_outline_observed": false,
        "raw_snapshot_diff": "--- dp-700-official-objectives.txt\n+++ candidate/dp-700-official-objectives.txt\n@@ -1,4 +1,4 @@\n-Skills measured as of July 21, 2026\n+Skills measured as of October 19, 2026\n Audience profile\n As a candidate for this exam, you should have subject matter expertise\n with data loading patterns, data architectures, and orchestration\n@@ -63,7 +63,7 @@\n Intelligence\n Choose between Query acceleration for OneLake shortcuts and standard\n OneLake shortcuts in Real-Time Intelligence\n-Process data by using Eventstreams\n+Process data by using Eventstream\n Process data by using Spark structured streaming\n Process data by using KQL\n Create windowing functions\n@@ -85,6 +85,6 @@\n Optimize a Lakehouse table\n Optimize a pipeline\n Optimize a data warehouse\n-Optimize Eventstreams and Eventhouses\n+Optimize Eventstream and Eventhouse\n Optimize Spark performance\n Optimize query performance\n"
      },
      {
        "exam_code": "PL-400",
        "guide_lf_sha256": "fc2245581a0f3ae0e94b51d36e836b6c2c5762941daf5a2eb083387340f300e3",
        "accepted_objective_raw_sha256": "4867995d075161ae07190d54a25c84872deb9efc388a7629743ee6bc49b8f468",
        "current_objective_raw_sha256": "facfff59976de5c12e31c20f17ad072c6255f1324c9a55419788d6ee70a825d1",
        "accepted_detailed_objective_count": 76,
        "current_detailed_objective_count": 88,
        "current_partial_count": 7,
        "accepted_status": {
          "skills_versions": [
            "Skills measured as of March 19, 2026"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "241d4e2dae60722c68e866697d284ea587371074d7f35ae5e30547b1127ca98f",
        "proposed_current_effective_on": "2026-10-16",
        "metadata_snapshot_recommendation": "Current published page contains four domains/88 detailed objectives and transition to AB400; old March scope has76 detailed objectives. Registration closed October16; existing registrations test through October30. Accept current published snapshot only with explicit transition/identity limits and repaired new-scope gaps; archive March snapshot. Do not relabel this historical PL400 guide as complete AB400 preparation.",
        "future_outline_observed": false,
        "raw_snapshot_diff": "--- pl-400-official-objectives.txt\n+++ candidate/pl-400-official-objectives.txt\n@@ -1,111 +1,165 @@\n-Skills measured as of March 19, 2026\n+Skills measured as of October 16, 2026\n Audience profile\n As a candidate for this exam, you design, develop, test, and\n-troubleshoot solution components using the extension points of Microsoft\n-Power Platform. Your expertise encompasses implementing:\n+troubleshoot solution components by using the extension points of\n+Microsoft Power Platform and generative AI. You implement:\n custom user experiences and business logic.\n system integrations.\n data conversions.\n custom process automation.\n-complex Power Fx logic.\n Power Automate workflow expressions.\n-AI as part of your solution logic.\n+agentic AI as part of your solution logic.\n You must have applied knowledge of:\n-Microsoft Power Platform services, including in-depth understanding of\n-its capabilities, boundaries, and constraints.\n+Microsoft Power Platform services, including an in-depth understanding\n+of its capabilities, boundaries, and constraints.\n authentication, security, and application lifecycle management (ALM)\n practices for the Microsoft Power Platform.\n-Microsoft Power Platform developer tools including Power Platform CLI\n-as part of the developer workflow.\n-AI tools, including agents, to improve development and troubleshooting\n-solutions.\n-As a candidate, you should have development experience that includes\n-Microsoft Power Platform services, JavaScript, JSON, TypeScript, C#,\n-HTML, RESTful Web APIs, Visual Studio, Visual Studio Code, and Microsoft\n-Azure.\n+Microsoft Power Platform developer tools, including Microsoft Power\n+Platform CLI as part of the development workflow.\n+AI assisted tools and agents to enhance solution development and\n+troubleshooting.\n+modern IDE and developer productivity tools, such as Microsoft Visual\n+Studio and Visual Studio Code.\n+You have development experience with:\n+Microsoft Power Platform services\n+JavaScript, JSON, TypeScript, and Power Fx\n+C#, Python, HTML, and YAML\n+RESTful Web APIs\n+Microsoft Azure\n+Microsoft Foundry\n+Microsoft Copilot Studio\n Skills at a glance\n-Create a technical design (10–15%)\n-Build Power Platform solutions (10–15%)\n-Implement Power Apps improvements (10–15%)\n-Extend the user experience (10–15%)\n-Extend the platform (30–35%)\n+Build Microsoft Power Platform solutions (15–20%)\n+Extend the user experience (25–30%)\n+Extend Microsoft Power Platform (35–40%)\n Develop integrations (10–15%)\n-Create a technical design (10–15%)\n-Design technical architecture\n+Build Microsoft Power Platform solutions (15–20%)\n+Design the technical architecture\n Analyze the technical architecture to identify solution components and\n their implementation approach\n-Design the authentication and authorization strategy for solution\n-components\n+Design authentication and authorization for solution components\n Determine whether requirements can be met with out-of-the-box\n functionality\n-Determine where to implement business logic including cloud computing,\n-client-side processing, business rules, plug-ins, and Power Automate\n+Determine where to implement business logic including cloud services,\n+client-side processing, business rules, plug-ins, and automation\n Determine when to use standard tables, virtual tables, elastic tables,\n or connectors\n Assess the impact of Microsoft Power Platform security features on\n-solution components including data loss prevention (DLP) policies,\n+solution components, including managed environments, data policies,\n security roles, teams, business units, and row sharing\n+Determine when to use deterministic or non-deterministic methods to\n+implement business logic\n+Determine when to use code apps, generative pages, Power Apps\n+component frameworks (PCFs), web resources, interactive agents, and\n+Model Context Protocol (MCP) app widgets to implement the user\n+experience\n+Determine when to use Microsoft Foundry or Microsoft Copilot Studio to\n+build agents\n Design solution components\n-Design Power Apps reusable components including canvas components,\n-code components (Power Apps component framework), and client scripting\n-Design custom connectors\n-Design Dataverse code components including Power Fx functions,\n-plug-ins, and custom APIs\n-Design automations including Power Automate cloud flows\n-Design inbound and outbound integrations using Dataverse and Azure\n-Build Power Platform Solutions (10–15%)\n-Configure and troubleshoot Microsoft Power Platform\n-Troubleshoot operational security issues\n-Configure Dataverse security roles to support code components\n-including the principle of least privilege\n-Manage Microsoft Power Platform environments for development\n+Design Power Apps reusable components including generative pages, code\n+components (PCF), and client scripting\n+Design custom connectors and MCP servers for use with Microsoft Power\n+Platform solutions\n+Design Dataverse code components, including plug-ins and custom APIs\n+Design automations, including Power Automate cloud flows and Copilot\n+Studio workflows\n+Design inbound and outbound integrations using Dataverse and Microsoft\n+Azure\n+Design custom interfaces by using Power Apps code apps\n+Design custom agents that integrate with Microsoft Power Platform\n+Design monitoring and alerting, including Azure Monitor Application\n+Insights and Microsoft Power Platform monitor alerts\n Implement application lifecycle management (ALM)\n Manage solution dependencies\n Create and use environment variables\n Manage solution layers\n-Implement and extend Power Platform Pipelines\n+Implement and extend Microsoft Power Platform Pipelines\n Create Continuous Integration/Continuous Deployment (CI/CD)\n-automations using Power Platform Build Tools\n-Implement Power Apps improvements (10–15%)\n-Implement advanced canvas apps features\n-Implement complex Power Fx formulas and functions\n-Build reusable component libraries\n-Utilize Power Automate cloud flows to implement business logic from a\n-canvas app\n-Optimize and troubleshoot apps\n-Troubleshoot canvas and model-driven app issues by using Monitor and\n-other browser-based debugging tools\n-Optimize canvas app performance including pre-loading data and query\n-delegation\n-Optimize model-driven app performance including forms and views\n-Extend the user experience (10–15%)\n-Apply business logic in model-driven apps using client scripting\n-Build JavaScript code that targets the Client API object model\n-Determine event handler registration approach\n+automations using Microsoft Power Platform Build Tools\n+Extend the user experience (25–30%)\n+Apply business logic in model-driven apps by using client scripting\n+Build code that targets the Client API object model\n+Determine an event handler registration approach\n Create client scripting that targets the Dataverse Web API\n-Configure commands and buttons using Power Fx and JavaScript\n-Implement navigation to custom pages using the Client API\n-Create a Power Apps component framework (PCF) code component\n+Configure commands and buttons by using Power Fx and JavaScript\n+Implement navigation, dialogs, and notifications by using the Client\n+API\n+Create PCF code components\n Demonstrate the use of the different lifecycle events\n Configure a code component manifest\n Implement component interfaces\n Package, deploy, and consume a component\n Configure and use Device, Utility, and Web API features in component\n logic\n-Extend the platform (30–35%)\n+Build Power Apps code apps\n+Configure code apps to use Microsoft Power Platform connections\n+Configure code apps to use Dataverse tables\n+Perform table and metadata operations on Dataverse data\n+Perform Dataverse actions and functions\n+Configure code apps to use Power Automate cloud flows\n+Configure code apps to use agents built in Copilot Studio\n+Configure code apps to use environment variables\n+Deploy and manage Power Apps code apps\n+Configure Content Security Policy (CSP) settings\n+Implement monitoring by using Azure Application Insights\n+Package, deploy, and share code apps\n+Troubleshoot code apps by using Monitor and other browser-based\n+debugging tools\n+Optimize code app performance and resource usage\n+Extend Microsoft Power Platform (35–40%)\n Create a Dataverse plug-in\n Demonstrate the use of the different event execution pipeline stages\n Develop a plug-in that uses the execution context\n Develop a plug-in that implements business logic\n-Implement Pre Images and Post Images to support plug-in logic\n+Implement images to support plug-in logic\n Perform operations in plug-ins by using the Organization service\n Optimize plug-in performance\n Configure a Dataverse custom API message\n Register plug-in components by using the Plug-in Registration Tool\n Develop a plug-in that implements a custom API\n Configure Dataverse business events\n+Configure Microsoft Power Platform managed identity for plug-ins\n+Perform operations by using platform APIs\n+Perform operations by using the Dataverse Web API\n+Perform operations by using the Organization service\n+Implement API limit retry policies\n+Optimize solution components for performance, concurrency,\n+transactions, and bulk operations\n+Implement and troubleshoot authentication by using OAuth\n+Perform asynchronous logic by using background operations\n+Perform operations by using Dataverse SDKs for .NET and Python\n+Process workloads by using Microsoft Azure Functions\n+Process long-running operations by using Azure Functions for Microsoft\n+Power Platform solutions\n+Implement scheduled and event-driven triggers in Azure Functions for\n+Microsoft Power Platform solutions\n+Authenticate to Microsoft Power Platform by using managed identities\n+Configure Power Automate cloud flows and Copilot Studio workflows\n+Implement complex expressions in flow steps\n+Implement flow control actions including error handling\n+Configure trigger filter and retry policies\n+Develop reuseable logic by using child flows\n+Implement authentication for the Dataverse connector by using service\n+principals\n+Build Microsoft Foundry agents by using code that integrates with the Microsoft Power Platform\n+Integrate custom agents by using Microsoft Power Platform MCP servers\n+Connect custom agents to Copilot Studio agents\n+Integrate custom agents with Dataverse data by using Work IQ\n+Consume Copilot Studio agents by using the Copilot Studio client\n+library\n+Develop integrations (10–15%)\n+Publish and consume Dataverse events\n+Publish a Dataverse event by using the\n+IServiceEndpointNotificationService\n+Publish a Dataverse event by using the Plug-in Registration Tool\n+Register service endpoints including webhooks, Azure Service Bus, and\n+Azure Event Hub\n+Recommend options for listening to Dataverse events\n+Implement synchronization for Dataverse data\n+Perform data synchronization by using change tracking\n+Develop code that uses alternate keys\n+Synchronize data by using the UpsertRequest message\n Create custom connectors\n-Create an Open API definition for an existing REST API\n Implement authentication for custom connectors\n Configure policy templates to modify connector behavior at runtime\n Import definitions from existing APIs including Open API definitions,\n@@ -114,37 +168,3 @@\n Develop an Azure Function to be used in a custom connector\n Extend the Open API definition for a custom connector\n Develop code for a custom connector to transform data\n-Use platform APIs\n-Perform operations with the Dataverse Web API\n-Perform operations with the Organization service\n-Implement API limit retry policies\n-Optimize for performance, concurrency, transactions, and bulk\n-operations\n-Perform authentication by using OAuth\n-Process workloads by using Azure Functions\n-Process long-running operations by using Azure Functions for Microsoft\n-Power Platform solutions\n-Implement scheduled and event-driven triggers in Azure Functions for\n-Microsoft Power Platform solutions\n-Authenticate to Microsoft Power Platform by using managed identities\n-Configure Power Automate cloud flows\n-Configure Dataverse connector actions and triggers\n-Implement complex expressions in flow steps\n-Manage sensitive input and output parameters\n-Utilize Azure Key Vault\n-Implement flow control actions including error handling\n-Configure trigger filter and retry policies\n-Develop reuseable logic by using child flows\n-Implement Microsoft Entra ID service principles\n-Develop integrations (10–15%)\n-Publish and consume Dataverse events\n-Publish a Dataverse event by using the\n-IServiceEndpointNotificationService\n-Publish a Dataverse event by using the Plug-in Registration Tool\n-Register service endpoints including webhooks, Azure Service Bus, and\n-Azure Event Hub\n-Recommend options for listening to Dataverse events\n-Implement data synchronization with Dataverse\n-Perform data synchronization by using change tracking\n-Develop code that utilizes alternate keys\n-Utilize the UpsertRequest message to synchronize data\n"
      },
      {
        "exam_code": "AB-210",
        "guide_lf_sha256": "e666ce5f85d97391a2caee589f7f59c8be512479fc545513e1aac45fb446671f",
        "accepted_objective_raw_sha256": "2595badf528595419ed8da12bf5aed577d899ee8772123a0b1e40d1c2eac0f83",
        "current_objective_raw_sha256": "2595badf528595419ed8da12bf5aed577d899ee8772123a0b1e40d1c2eac0f83",
        "accepted_detailed_objective_count": 46,
        "current_detailed_objective_count": 46,
        "current_partial_count": 0,
        "accepted_status": {
          "skills_versions": [
            "Skills measured (official page last updated 2026-06-18; no skills effective date published)"
          ],
          "upcoming_announcements": []
        },
        "accepted_status_raw_sha256": "7fbbccbd647832eddadcfbe69f066ac993d496dcac9559217f7deda793248836",
        "proposed_current_effective_on": null,
        "metadata_snapshot_recommendation": "46 unchanged objectives; June18 is page-update date, not skills-effective date. Credential beta/delayed-results messaging coexists with120-minute timing and Navigator assessment pointer. No assessment opened. Preserve technical conflicts for technical researcher resolution.",
        "future_outline_observed": false,
        "raw_snapshot_diff": ""
      }
    ],
    "source_observations": [
      {
        "exam_code": "DP-300",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-300",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-300",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "d49f672915b3140e3ec63ebf4e45c97ea017de24eecd7b03c04a64b0ba61d1af",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-300",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-database-administrator-associate/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-database-administrator-associate/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "f330eba7e5e83247bac6c72bf46afaeedc8b3e202d5d7b13d54be394de186dc0",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-420",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-420",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-420",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "022921e03b891547cfd3b67e977561fceb55d20ed6e645d2725bb7bffab496a3",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-420",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-cosmos-db-developer-specialty/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-cosmos-db-developer-specialty/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "f84e93957ea2f3f6b8bacdcc45983a6888660db3488008907c70afd7574afc7c",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-750",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-750",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-750",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "9c51e80d0b29ecdfcb36e173e8b0fe9e59fbbe711fc8e816115955358370e9d3",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-750",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/implementing-data-engineering-solutions-using-azure-databricks/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/implementing-data-engineering-solutions-using-azure-databricks/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "e7430746c39f8e63e345b1fc53a3ef653780ecf9a014500dff35acf3e5eeccea",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-600",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-600",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-600",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "5b99e55b6b8eb213f206135b8b1a33bd72202b9364109ca8b788103e56ecd9c4",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-600",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/fabric-analytics-engineer-associate/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/fabric-analytics-engineer-associate/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "87c7a6ab29e9e71798ba86e03a3916425d44bd88ece0aa23dd1cf055872085b6",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "AI-500",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-500",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ai-500",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "0a5661b777e933fc9f6eb79bd15684cd0a70d8a243709b6d1bef1577252b6f5f",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "AI-500",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/multi-agent-ai-solutions-expert/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/multi-agent-ai-solutions-expert/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "37b046ae416a1d067a8dd9aa91c44bbbd4d2df4ef1e095c4b8f441371b68e6d1",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "MS-102",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ms-102",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ms-102",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "5888ce89aa103addcb65a7495985ed55c1132332f6978c9d98e1271ebead2703",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "MS-102",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/m365-administrator-expert/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/m365-administrator-expert/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "2f05af82c66a9e41a6f8decd2017c182573baf9456a44845f561d2ac95162f98",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "AB-650",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-650",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-650",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "4df8560ef9aba0282a3b09847c21ba6a10bd9f8814b9b3947b45cd83799c40e8",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "AB-650",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/ai-services-administrator-associate/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/ai-services-administrator-associate/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "c3e4365debf4c1201b5b818771b2516bc0164c773044226ac5af152991ca9a4b",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-700",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-700",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-700",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "facd339eb7be9a3eed339187bc6ad2c107cbe562d844d0396626a88c2215c033",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "DP-700",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/fabric-data-engineer-associate/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/fabric-data-engineer-associate/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "dbbddf8fa0a441f5a3839ef76441e65cee98bd2a19a96974901bad0c86b526ec",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "PL-400",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/pl-400",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/pl-400",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "0aaffc1de3907acfeef4ae86d9db523afa63a263a6d8b8e8e725c1febcbc785b",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "PL-400",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/power-platform-developer-associate/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/power-platform-developer-associate/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "1315f51cfe7a5c77f4eeef286a56a20359b3472de46d3a0eeb8321f30c5a09ac",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "AB-210",
        "kind": "blueprint",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-210",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-210",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "f09dd6873e0c9058f81b9532b0234e38b8e3b799fcf917af68d9fa9f39551267",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "exam_code": "AB-210",
        "kind": "credential",
        "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/d365-sales-ai-consultant-associate/",
        "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/d365-sales-ai-consultant-associate/",
        "checked_on": "2026-10-28",
        "status": 200,
        "html_raw_sha256": "56f37baddedd65947a7a9133f173336126708e29094c715dbdaf92174b68abe1",
        "evidence_path": "exam-official-pages.json",
        "what_read": "Main article/credential text; exact objective h3/h4/li hierarchy, lifecycle,prerequisites and availability.",
        "confidence": "high for observed text; no product execution",
        "source_candidate_match": "Official blueprint or credential exact URL; reconcile source catalog by exact URL."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/power-platform/admin/monitoring/alerts",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read principles,prerequisites,environment/resource setup:24-hour aggregate metrics,managed environment/admin role,creation-time evaluation. Not real-time exceptions.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "PL-400"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/powershell/module/microsoft.entra.users/get-entrauser?view=entra-powershell",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read syntax and examples1–2; Top,All,UserId and Connect-Entra User.Read.All. Inventory not provisioning.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "MS-102"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/generative-pages",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read authoring choices,prerequisites,generated React,preview connector/custom API/telemetry,sign-in user security.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "PL-400"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/flows-overview",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read standard harness,trigger/action model,solutions,capacity. Deterministic flow structure separate from probabilistic model actions.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "PL-400"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/sdk-python/overview",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read authentication,CRUD,paging,retries,metadata and diagnostics. No SDK methods inferred from another language.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "PL-400"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/microsoft-365/agents-sdk/integrate-with-mcs",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read two integration choices,.NET/JS/Python library,standard-harness-only support. Linked samples not executed.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "PL-400"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read environment/client setup and current tool table:search_data data,search metadata,describe replaces older discovery tools. Discovery not authorization.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "PL-400"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-object-permissions-transact-sql?view=sql-server-ver17",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read GRANT object syntax,principals,scope and column-GRANT/table-DENY exception. Fixture excludes conflicting grants.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "DP-300"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-database-user?view=sql-server-ver17",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read SSMS/TSQL approaches,login/user boundary,target DB connection requirement.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "DP-300"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/fabric/data-warehouse/visual-query-editor",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read applicable Fabric stores,canvas/query workflow and View SQL.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "DP-600"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/kusto/query/summarize-operator?view=microsoft-fabric",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read summarize grouping,explicit bin(datetime),empty/null semantics. Unversioned open redirects here.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "DP-600",
          "DP-700"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/dax/calculate-function-dax",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read syntax,modified context,replacement versus KEEPFILTERS.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "DP-600"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/microsoft-365/admin/setup/customize-your-organization-theme?view=o365-worldwide",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read suite themes/default/group scope,logo,alternate logo,on-click URL,colors,default-theme Copilot footer.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "AB-650"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/entra/fundamentals/how-to-customize-branding",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read sign-in background/layout,branding role/license,optional elements,external URL limitation.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "AB-650"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/fabric/data-engineering/tutorial-lakehouse-data-preparation",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read PySpark/SparkSQL notebook paths,withColumn enrichment,schema prerequisite,aggregate sequence. Tutorial not executed; optimization switches not universal defaults.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "DP-700"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      },
      {
        "opened_url": "https://learn.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-ver17",
        "checked_on": "2026-10-28",
        "authority_class": 2,
        "what_read": "Read basic grouping syntax,Fabric applicability and grouping semantics.",
        "confidence": "Confirmed first-party text; unexecuted",
        "affected_exams": [
          "DP-600",
          "DP-700"
        ],
        "source_candidate_match": "Exact URL must be matched by coordinator to catalog/candidate; new source needs evaluated registration."
      }
    ],
    "bounded_original_repairs": [
      {
        "id": "DP300-permission-fixture",
        "exam_code": "DP-300",
        "objectives": [
          "4.5",
          "4.8"
        ],
        "heading": "Model SQL authorization",
        "text": "Use a disposable database, dbo.StudyOrders table and StudyReader database user WITHOUT LOGIN, with no broad grants. Grant only SELECT on that table. Under authorized impersonation compare SELECT (expected allowed) with UPDATE (expected denied), then REVERT. This tests database authorization, not Entra sign-in or private endpoint connectivity. In SSMS inspect database Security > Users > StudyReader > Securables, explicit grants and role memberships; script the approved one-table change and test the denied action using the restricted identity.",
        "example": "CREATE USER StudyReader WITHOUT LOGIN;\nGRANT SELECT ON OBJECT::dbo.StudyOrders TO StudyReader;\n-- Authorized lab operator: EXECUTE AS USER = 'StudyReader';\n-- Compare SELECT with UPDATE; REVERT before cleanup.",
        "question": "Does a successful impersonated SELECT prove actual Entra sign-in?",
        "answer": "No; endpoint, TLS, token, principal mapping and actual-client authentication remain separate tests.",
        "sources": [
          "https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-object-permissions-transact-sql?view=sql-server-ver17",
          "https://learn.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-database-user?view=sql-server-ver17"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      },
      {
        "id": "DP600-query-contract",
        "exam_code": "DP-600",
        "objectives": [
          "4.2",
          "5.1",
          "5.2",
          "5.3",
          "5.4"
        ],
        "heading": "Query and analyze with the right language",
        "text": "Root's shared synthetic fixture is suitable: East(2*10,Posted), East(3*10,Draft), West(4*5,Posted), West(1*10,Posted). Derive Revenue=Quantity*UnitPrice, retain originals, filter Posted and group by Region. Expected East=20 and West=30. In Power Query add typed Revenue and merge a unique RegionOwner lookup; verify unmatched keys and row counts. In the visual editor select Region/Revenue/Status, filter Posted, group by Region/sum Revenue and inspect View SQL. Keep store/model freshness and permission paths separate even when arithmetic matches.",
        "example": "-- SQL over already prepared fixture\nSELECT Region, SUM(Quantity * UnitPrice) AS Revenue\nFROM dbo.StudySales WHERE Status = 'Posted' GROUP BY Region;\n\n// KQL over typed fixture\nStudySales | where Status == \"Posted\" | extend Revenue = Quantity * UnitPrice | summarize Total = sum(Revenue) by Region\n\n// DAX measure; Region in visual grouping\nPosted Revenue = CALCULATE(SUMX(StudySales, StudySales[Quantity] * StudySales[UnitPrice]), StudySales[Status] = \"Posted\")",
        "question": "Why can adding a duplicate lookup row change totals?",
        "answer": "A nonunique merge can multiply fact rows before grouping; reconcile cardinality and grain, not just fluent chart labels.",
        "sources": [
          "https://learn.microsoft.com/en-us/fabric/data-warehouse/visual-query-editor",
          "https://learn.microsoft.com/en-us/kusto/query/summarize-operator?view=microsoft-fabric",
          "https://learn.microsoft.com/en-us/dax/calculate-function-dax",
          "https://learn.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-ver17"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      },
      {
        "id": "DP700-transform-window",
        "exam_code": "DP-700",
        "objectives": [
          "6.6",
          "7.6"
        ],
        "heading": "Select the transformation engine / Windows and late events",
        "text": "Reuse the posted-order fixture above in SQL/PySpark/KQL: project fields, derive Revenue, filter Posted, group at Region grain; expect East20/West30. For events at12:01(value2),12:04(value3),12:06(value7), five-minute event-time bins yield12:00=5 and12:05=7. A late12:04 event can change a batch KQL requery over persisted events; a live streaming path follows its own watermark/lateness and emission contract. bin alone is not a watermark or proof that a downstream emitted result was corrected.",
        "example": "from pyspark.sql import functions as F\nresult = (sales.select('Region', 'Status', 'Quantity', 'UnitPrice')\n .withColumn('Revenue', F.col('Quantity') * F.col('UnitPrice'))\n .filter(F.col('Status') == 'Posted')\n .groupBy('Region').agg(F.sum('Revenue').alias('Total')))\n\n// Existing typed synthetic Events table\nEvents | summarize Total = sum(Value) by WindowStart = bin(EventTime, 5m)",
        "question": "Does bin(EventTime,5m) guarantee every late event repairs the dashboard?",
        "answer": "No. Ingestion, retention, stream emission, lateness policy and consumer refresh/state have separate contracts.",
        "sources": [
          "https://learn.microsoft.com/en-us/kusto/query/summarize-operator?view=microsoft-fabric",
          "https://learn.microsoft.com/en-us/fabric/data-engineering/tutorial-lakehouse-data-preparation",
          "https://learn.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-ver17"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      },
      {
        "id": "PL400-generative-reuse-and-flow",
        "exam_code": "PL-400",
        "objectives": [
          "2.1",
          "2.4"
        ],
        "heading": "Choose the experience and the execution contract",
        "text": "Define an order-review generative page's reusable input/output contract: record ID and allowed view in, selected order and proposed action out. Record data bindings, accessible states, solution dependencies and upgrade tests. Generated React remains reviewed application code; do not imply it is a canvas component-library item. Custom APIs retain signed-in-user security and current connector/custom-API/Application-Insights capabilities have preview boundaries. Compare Power Automate cloud flow and Copilot Studio standard-harness agent flow using trigger, typed input/output, connection identity, error/retry/idempotency and solution lifecycle. Agent-flow actions can call prompts or agents; deterministic flow structure does not make generated text deterministic.",
        "question": "Where must exact maximum approved discount be enforced?",
        "answer": "In an authorized deterministic server operation; page displays, agent proposes and workflow routes validation/approval.",
        "sources": [
          "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/generative-pages",
          "https://learn.microsoft.com/en-us/microsoft-copilot-studio/flows-overview"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      },
      {
        "id": "PL400-tool-agent-contract",
        "exam_code": "PL-400",
        "objectives": [
          "2.2",
          "12.1",
          "12.2"
        ],
        "heading": "Connect agents through the correct protocol and identity",
        "text": "Design an ORIGINAL custom-server tool propose_case_update: require caseId, expectedVersion and proposedStatus; reject extra fields; return proposalId,currentVersion,validationErrors,requiresApproval. These teaching names are not built-in Dataverse tool names or provider wire syntax. Bind authenticated tenant/caller server-side. A read-only caller's mutation is denied without writing; stale expectedVersion produces conflict. A separate idempotent commit validates approval and current state. For custom-agent to published Studio-agent handoff, carry bounded question, approved facts, correlation/conversation IDs, timeout and structured proposal validation. Confirm standard harness, tenant/environment, audience and caller grants. Do not translate that logical message directly into undocumented SDK calls.",
        "example": {
          "tool_name": "propose_case_update",
          "input_schema": {
            "type": "object",
            "properties": {
              "caseId": {
                "type": "string"
              },
              "expectedVersion": {
                "type": "string"
              },
              "proposedStatus": {
                "type": "string",
                "enum": [
                  "InProgress",
                  "Resolved"
                ]
              }
            },
            "required": [
              "caseId",
              "expectedVersion",
              "proposedStatus"
            ],
            "additionalProperties": false
          },
          "expected_result": {
            "proposalId": "study-proposal-7",
            "currentVersion": "v8",
            "validationErrors": [],
            "requiresApproval": true
          }
        },
        "question": "Does discovery of update_record authorize every caller to change every case?",
        "answer": "No. Downstream authorization,current-state validation and approval remain separate. Current Dataverse MCP search_data searches data, search searches metadata, and describe replaces old discovery tools.",
        "sources": [
          "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp",
          "https://learn.microsoft.com/en-us/microsoft-365/agents-sdk/integrate-with-mcs"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      },
      {
        "id": "PL400-monitor-alert",
        "exam_code": "PL-400",
        "objectives": [
          "2.8"
        ],
        "heading": "Build and promote a code app",
        "text": "Design a supported resource alert in a managed test environment: product/type, environment/resource scope, metric, operator, justified threshold,severity, owned recipients and linked runbook. Correlate triggered resource with flow runs or Application Insights request IDs. Current Monitor rules use24-hour aggregate metrics and evaluate when new aggregates appear; creation performs on-demand evaluation. Treat rule state,email delivery and incident response as separate evidence. Use an appropriate faster telemetry detector for real-time exception response.",
        "question": "An exception happened one minute ago and no Monitor alert fired. Is the rule broken?",
        "answer": "Not established. Check aggregation/evaluation schedule, metric,scope,threshold and notification; this detector may be too slow for the SLO.",
        "sources": [
          "https://learn.microsoft.com/en-us/power-platform/admin/monitoring/alerts"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      },
      {
        "id": "PL400-sdk-contract",
        "exam_code": "PL-400",
        "objectives": [
          "9.7"
        ],
        "heading": "Extend APIs without losing execution limits",
        "text": "Implement the same bounded operation contract using .NET and Python adapters: authenticate least-privileged app; read known account's ID/name/version; retrieve a filtered page and follow continuation; attempt update under reader identity and expect denial. Record exact SDK version,audience,principal,projection,result version and error category. Compare empty pages,403,429/Retry-After and stale-version handling. Use installed-version documented methods; do not invent Python methods by analogy with Organization service. Account for each SDK's own retries before adding an outer loop; bulk method does not guarantee universal atomicity.",
        "question": "Automatic SDK retries make blind outer retries safe?",
        "answer": "No. Classify failure, bound total attempts/time and make uncertain writes idempotent or reconcile them.",
        "sources": [
          "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/sdk-python/overview"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      },
      {
        "id": "MS102-Entra-inventory",
        "exam_code": "MS-102",
        "objectives": [
          "2.5"
        ],
        "heading": "Manage identities, collaboration objects, and licenses as lifecycles",
        "text": "Compare a bounded Microsoft Entra PowerShell user inventory with the existing Graph inventory by immutable object ID. Verify tenant context,consent,module version,properties,pagination and time window. Get-EntraUser -Top3 is a sample; -All requests the collection. Neither proves licensing or workload provisioning. Retain partial failures and compare IDs rather than row order/display names.",
        "example": "Connect-Entra -Scopes 'User.Read.All'\nGet-EntraUser -Top 3 | Select-Object Id, DisplayName, UserPrincipalName\n# -All only when the approved inventory requires every page.",
        "question": "Three rows match Graph; did all600 bulk changes succeed?",
        "answer": "No. Compare full intended ID set, per-object results and downstream state; a sample does not establish population completion.",
        "sources": [
          "https://learn.microsoft.com/en-us/powershell/module/microsoft.entra.users/get-entrauser?view=entra-powershell"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      },
      {
        "id": "AB650-branding-surfaces",
        "exam_code": "AB-650",
        "objectives": [
          "1.1"
        ],
        "heading": "Tenant foundation, domains, licenses, and operational health",
        "text": "Treat suite and sign-in branding separately. Microsoft365 organization themes control suite navigation logo, alternate dark-theme logo,on-click company URL and colors under default/group scope. Entra branding controls sign-in background image/color,banner/header logo and layout with its own role/license prerequisites. A suite-logo company URL is not a clickable sign-in footer link. Build evidence table for asset,HTTPS source,target surface,audience,light/dark contrast,language/device and rollback; test a member and nonmember of group theme plus a fresh sign-in.",
        "question": "Suite logo is right but sign-in background unchanged. Did the suite theme fail?",
        "answer": "Not necessarily. Different settings control those surfaces; inspect intended audience/effective configuration at the owning plane.",
        "sources": [
          "https://learn.microsoft.com/en-us/microsoft-365/admin/setup/customize-your-organization-theme?view=o365-worldwide",
          "https://learn.microsoft.com/en-us/entra/fundamentals/how-to-customize-branding"
        ],
        "execution": "Original teaching proposal; no product, SDK, engine or tenant execution. Expected outcomes are reasoning/arithmetic, not observed product results."
      }
    ],
    "context_files": {
      "before/data/deep-reviews.json": {
        "raw_sha256": "cd821876196e34c4b932f9477a6794ce0ed9e6ab647d02d65bc3162ed5c6f629",
        "keys": [
          "$schema",
          "schema_version",
          "started_on",
          "review_interval_days",
          "reviews"
        ],
        "scope": "Pertinent exam/source/review context; no earlier validation claim promoted as new technical review."
      },
      "before/data/reviews.json": {
        "raw_sha256": "c0c8a2190f8cf313e356a8f00d94dac5f13f26960f48ca5ea97764d7c066e9d6",
        "keys": [
          "$schema",
          "schema_version",
          "reviews"
        ],
        "scope": "Pertinent exam/source/review context; no earlier validation claim promoted as new technical review."
      },
      "before/data/source-health.json": {
        "raw_sha256": "ef95e6057fcab040f6104f6baacf6074c3e2d1f130155661e3410a3c1621ae8a",
        "keys": [
          "$schema",
          "schema_version",
          "generated_on",
          "sources"
        ],
        "scope": "Pertinent exam/source/review context; no earlier validation claim promoted as new technical review."
      },
      "before/data/sources.json": {
        "raw_sha256": "a25fab0d1752cbdf54e7bff98a60238b34c1f78a011a22c51e0ae45edcea183d",
        "keys": [
          "$schema",
          "schema_version",
          "sources"
        ],
        "scope": "Pertinent exam/source/review context; no earlier validation claim promoted as new technical review."
      },
      "before/data/source-candidates.json": {
        "raw_sha256": "020d3f8aa8505e276c5030916cf6eceaad2b999622d900938cfddef9bd60a8be",
        "keys": [
          "$schema",
          "schema_version",
          "candidates"
        ],
        "scope": "Pertinent exam/source/review context; no earlier validation claim promoted as new technical review."
      },
      "before/config/certification-maintenance.json": {
        "raw_sha256": "931b45d9e415c8ebf23b046ba0d5f5fcc74e8730bf712b8d1ad24a9aeec7bd73",
        "keys": [
          "schema_version",
          "lookahead_days",
          "lifecycle_review_days",
          "events"
        ],
        "scope": "Pertinent exam/source/review context; no earlier validation claim promoted as new technical review."
      },
      "before/config/exams.json": {
        "raw_sha256": "f8dabc89cee3287574ef9ab0c1c2e3dbd3479eae73201d86e07d92c7f193d8f0",
        "keys": [
          "$schema",
          "schema_version",
          "exams"
        ],
        "scope": "Pertinent exam/source/review context; no earlier validation claim promoted as new technical review."
      },
      "config/certification-seeds.json": {
        "raw_sha256": "675f71fa64f62150c9af0a66dcbccfb831ae94f8f216daf31b4a22a584bf8017",
        "scope": "Read current ten pertinent seed records; not asserted immutable because coordinator may edit shared seeds."
      }
    },
    "structure": "Move Final readiness checklist before Places to learn in AB210,AB650,DP600,DP700,PL400. Preserve prior material.",
    "unresolved": [
      "AB210 Opportunity custom-field and Close shutdown official-source conflicts remain technical-research questions.",
      "MS102/AB650 Backup second-year cadence remains unresolved unless new technical evidence clarifies it.",
      "MS102 prerequisite sources differ:credential4,study-guide audience3.",
      "PL400 published scope now AB400 transition; identity and historical delivery grace remain separate."
    ],
    "snapshot_gate": "Six changed candidates may be accepted only after coordinator content reconciliation and material-review fixes, with dated earlier bytes preserved. Generic two-version boilerplate establishes no future outline.",
    "completion": "Research ready for coordinator repairs. Final-diff mapping pending. No shared guides,catalogs,snapshots or ledgers edited.",
    "review_scope": "Complete immutable guides read; explicit per-objective semantic mappings and exact hashes. Researcher mapping is not a full technical source audit. No human review,product/lab execution or independent fresh-context review claimed."
  },
  "technical_research": {
    "schema_version": 1,
    "role": "Read-only technical researcher for group01",
    "observed_on": "2026-10-28",
    "scope": [
      "AB-210",
      "AB-650",
      "MS-102",
      "PL-400",
      "AI-500",
      "DP-300",
      "DP-420",
      "DP-600",
      "DP-700",
      "DP-750"
    ],
    "boundary": "Only exclusive technical-* scratch artifacts written. No shared guides/catalogs/objectives/ledgers edited. Public first-party bodies read online. No tenant, cloud resource, payment, assessment, SDK, package, live tool, agent, SQL/Spark/KQL, deployment or lab execution.",
    "review_claim": "Targeted technical body research, not a complete-guide semantic audit or independent review of edits. Full team guide reading is owned separately by exam researcher/coordinator. Prior55-guide discovery is not reused as full technical reading.",
    "guide_read_scope": {
      "AB-210": {
        "line_ranges_read": [
          [
            1,
            150
          ],
          [
            196,
            240
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "AB-650": {
        "line_ranges_read": [
          [
            105,
            173
          ],
          [
            269,
            321
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "MS-102": {
        "line_ranges_read": [
          [
            96,
            209
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "PL-400": {
        "line_ranges_read": [
          [
            151,
            290
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "AI-500": {
        "line_ranges_read": [
          [
            187,
            279
          ],
          [
            681,
            747
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "DP-300": {
        "line_ranges_read": [
          [
            308,
            345
          ],
          [
            510,
            541
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "DP-420": {
        "line_ranges_read": [
          [
            51,
            92
          ],
          [
            731,
            781
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "DP-600": {
        "line_ranges_read": [
          [
            50,
            226
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "DP-700": {
        "line_ranges_read": [
          [
            148,
            255
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      },
      "DP-750": {
        "line_ranges_read": [
          [
            221,
            276
          ],
          [
            436,
            519
          ],
          [
            581,
            644
          ]
        ],
        "complete_guide_read": false,
        "other_inspection": "Heading/keyword/link search and selected prior-review excerpts; early two-guide combined attempt was truncated and is not claimed complete.",
        "not_read": "Remaining complete body ranges, resource listings and lab/check sections not listed above were not comprehensively reviewed by this worker."
      }
    },
    "local_inputs": {
      "policies": [
        "CONTRIBUTING.md",
        "docs/CONTENT-POLICY.md",
        "docs/SOURCE-QUALITY.md",
        "docs/GUIDE-QUALITY-STANDARD.md",
        "docs/SOURCE-FRESHNESS.md",
        "docs/AI-AUDIT.md"
      ],
      "prior_reports": "All ten September27/28 deep-review report unresolved/technical/remaining-limit excerpts; complete matching data/deep-reviews.json rows; latest exam result/finding rows in data/ai-audits.json and data/source-freshness.json. Prior microsoft-refresh technical-research first100lines and report discovery, not full guide audit.",
      "manifest": ".maintenance/2026-10-28-remaining-refresh/group-01/manifest.json"
    },
    "sources": [
      {
        "key": "fabric-news",
        "title": "What's new in Microsoft Fabric?",
        "url": "https://learn.microsoft.com/en-us/fabric/fundamentals/whats-new",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Public body preview rows for update policies on accelerated shortcuts, CDF, runtime; GA rows relevant to Direct Lake and September updates. Not the entire release history.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-600",
          "DP-700"
        ],
        "observation": "Release channel identifies preview update policies on accelerated shortcuts; linked aka.ms destination redirects to inaccessible review.learn. Public Kusto reference independently documents it.",
        "aliases": [],
        "propose": false,
        "source_type": "release-notes",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp600-fabric-whats-new"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp600-fabric-whats-new"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/fabric/fundamentals/whats-new",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "direct-lake",
        "title": "How Direct Lake works",
        "url": "https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-how-it-works",
        "visible_last_updated": "2026-08-14",
        "observed_on": "2026-10-28",
        "read_scope": "Body lines31–102 and136–157: transcoding, framing, automatic updates, suspension/resume, fallback diagnostics.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-600"
        ],
        "observation": "Automatic updates can suspend after unrecoverable refresh errors and resume after a successful on-demand refresh.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp600-direct-lake-how"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp600-direct-lake-how"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-how-it-works",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "fabric-cdf",
        "title": "Use change data feed with Delta tables",
        "url": "https://learn.microsoft.com/en-us/fabric/data-engineering/delta-lake-change-data-feed",
        "visible_last_updated": "2026-05-20",
        "observed_on": "2026-10-28",
        "read_scope": "Body31–199,200–320,322–345: enablement, bounded/open-ended reads, planning-time startOnly option, streaming bootstrap, retention and maintenance.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-700"
        ],
        "observation": "startOnly optimization resolves ending version at planning; default resolves it at execution. Explicit ending versions make the batch boundary inspectable.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp700-cdf"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp700-cdf"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/fabric/data-engineering/delta-lake-change-data-feed",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "copy-cdc",
        "title": "Change data capture (CDC) in copy job",
        "url": "https://learn.microsoft.com/en-us/fabric/data-factory/cdc-copy-job",
        "visible_last_updated": "2026-09-10",
        "observed_on": "2026-10-28",
        "read_scope": "Body32–130: read/write methods, connector matrix, schema drift and known limitations.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-700"
        ],
        "observation": "Current body retains net-change-only capture, mixed-table watermark fallback, preview SCD2 and no automatic propagation of added columns.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp700-cdc"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp700-cdc"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/fabric/data-factory/cdc-copy-job",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "shortcut-overview",
        "title": "Query acceleration for OneLake shortcuts - overview",
        "url": "https://learn.microsoft.com/en-us/fabric/real-time-intelligence/query-acceleration-overview",
        "visible_last_updated": "2026-04-20",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–63: caching, unsupported-policy statement, resource and file limits.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-700"
        ],
        "observation": "Older overview still says update policies are unsupported. Reconcile narrowly with later public Kusto preview rather than teaching a universal prohibition.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp-700-query-acceleration"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp-700-query-acceleration"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/fabric/real-time-intelligence/query-acceleration-overview",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "external-update-policy",
        "title": "Update policy overview",
        "url": "https://learn.microsoft.com/en-us/kusto/management/update-policy?view=microsoft-fabric",
        "visible_last_updated": "2026-09-23",
        "observed_on": "2026-10-28",
        "read_scope": "Fabric-specific body68–113 and186–249; introductory boundary31–50; native transaction behavior307–321. ADX duplicated tab and sample appendix not used as Fabric behavior.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-700"
        ],
        "observation": "External Delta update-policy preview is asynchronous and nontransactional; Remove actions are ignored, updates append versions, deletes persist; source RLS unsupported; owner identity controls execution.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/kusto/management/update-policy?view=microsoft-fabric",
        "recommended_catalog_action": "propose-specific-opened-source",
        "proposed_source_id": "g01-20261028-external-update-policy"
      },
      {
        "key": "code-apps-index",
        "title": "Power Apps code apps documentation",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Complete index9–89; followed specific links listed separately.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Index exposes current code-app data, ALM, environment-variable, telemetry and CSP routes.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-code-index"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-code-index"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "code-csp",
        "title": "Configure Content Security Policy for code apps",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/content-security-policy",
        "visible_last_updated": "2026-04-07",
        "observed_on": "2026-10-28",
        "read_scope": "Body31–105,260–308: defaults, environment scope, reporting/enforcement and replacement warning; helper implementation appendix not reviewed end-to-end.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Default connect-src is none; custom directives merge except none; submitting directive collection replaces it. An empty source array disables a directive.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-code-csp"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-code-csp"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/content-security-policy",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "background-operations",
        "title": "Background operations (preview)",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/background-operations",
        "visible_last_updated": "2026-02-11",
        "observed_on": "2026-10-28",
        "read_scope": "Body31–76,119–170 and524–604: timeout, privilege, respond-async, monitor resource, cancel and retries. Callback implementation middle appendix not fully read.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Async does not extend the two-minute plug-in limit. Cancel stops only work not started; requests may retry up to three times.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-background"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-background"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/background-operations",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "python-sdk",
        "title": "Dataverse SDK for Python overview",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/sdk-python/overview",
        "visible_last_updated": "2026-05-30",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–86; embedded video and package source not opened.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Python SDK has Azure Identity-compatible credentials, CRUD/paging, bulk and optional transactional changesets. SQL interface is simple read-only SELECT.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-python"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-python"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/sdk-python/overview",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "code-dataverse",
        "title": "Connect your code app to Dataverse",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/connect-to-dataverse",
        "visible_last_updated": "2026-08-19",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–243 including generated files, CRUD examples and unsupported scenarios.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Generated TypeScript services support CRUD and paging; metadata CRUD, FetchXML, alternate keys and polymorphic lookups are listed unsupported.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-code-dataverse"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-code-dataverse"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/connect-to-dataverse",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "code-actions",
        "title": "Add a Dataverse action or function to a code app",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/add-dataverse-action-function",
        "visible_last_updated": "2026-08-13",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–168: dependencies, discovery, generation, bound-record ID and regeneration.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Requires @microsoft/power-apps1.1.1+; current command route is pa app; operation schema and generated services must refresh when contracts change.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-code-actions"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-code-actions"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/add-dataverse-action-function",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "code-envvars",
        "title": "Use environment variables in code app data sources",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/use-environment-variables",
        "visible_last_updated": "2026-08-19",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–59: prerequisites, @envvar references and target resolution.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Solution environment-variable references configure tabular dataset/table arguments and remain references in power.config.json.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-code-env"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-code-env"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/use-environment-variables",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "code-appinsights",
        "title": "Set up Azure App Insights for your code app",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/set-up-azure-app-insights",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–119: startup-visibility limitation, SDK initialization, logger, telemetry key qualification and CSP. Remaining telemetry query/sample appendix not read.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Application Insights starts after successful load; Monitor is required for startup failures. Telemetry-key envvar limitation is distinct from supported datasource envvars.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/set-up-azure-app-insights",
        "recommended_catalog_action": "propose-specific-opened-source",
        "proposed_source_id": "g01-20261028-code-appinsights"
      },
      {
        "key": "code-copilot",
        "title": "Connect your code app to Copilot Studio agents",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/connect-to-copilot-studio",
        "visible_last_updated": "2026-08-20",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–191: connection, generation, publication, ExecuteCopilotAsyncV2, response and troubleshooting.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "ExecuteCopilotAsyncV2 waits for responses despite its name; legacy ExecuteCopilot returns only conversation ID.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-code-agent"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-code-agent"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/connect-to-copilot-studio",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "code-alm",
        "title": "Application lifecycle management for code apps",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/alm",
        "visible_last_updated": "2026-08-27",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–145: pa app push, solution targeting, first/subsequent publish, pipelines and limits.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Explicit solution IDs are GUIDs; publishing without Dataverse omits solution. Subsequent push without ID retains membership; built-in source-code integration unsupported.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-code-alm"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-code-alm"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/alm",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "workiq-index",
        "title": "Business Applications in Work IQ documentation (preview)",
        "url": "https://learn.microsoft.com/en-us/power-platform/business-applications-work-iq/",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Complete index9–77; followed Ask API and tool-reference routes.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "A specific preview business-app capability; not proof every generic Work IQ tool supports Dataverse.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-platform/business-applications-work-iq/",
        "recommended_catalog_action": "discovery-only"
      },
      {
        "key": "workiq-settings",
        "title": "Business Applications in Work IQ default settings (preview)",
        "url": "https://learn.microsoft.com/en-us/power-platform/admin/business-applications-work-iq/default-settings",
        "visible_last_updated": "2026-10-21",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–126: default dates, excluded environments, hierarchy, import effects and scope.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400",
          "AB-210",
          "AB-650"
        ],
        "observation": "Preview defaults apply new eligible production environments from September 30; existing environments planned November; nonproduction, EU/EFTA and government exceptions. Tenant/environment/app controls cascade.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-platform/admin/business-applications-work-iq/default-settings",
        "recommended_catalog_action": "propose-specific-opened-source",
        "proposed_source_id": "g01-20261028-workiq-settings"
      },
      {
        "key": "workiq-retrieve",
        "title": "Use the retrieve tool in Work IQ MCP",
        "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/work-iq/mcp/retrieve",
        "visible_last_updated": "2026-10-13",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–296 including supported sources, delegated identity, dynamic schema, response and errors.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400",
          "AB-650"
        ],
        "observation": "Dataverse/PowerBI explicitly unsupported retrieval roadmap sources despite Dataverse schema name. Do not conflate retrieve with Business Applications or Ask APIs.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/work-iq/mcp/retrieve",
        "recommended_catalog_action": "propose-specific-opened-source",
        "proposed_source_id": "g01-20261028-workiq-retrieve"
      },
      {
        "key": "workiq-tools",
        "title": "Work IQ MCP tool reference",
        "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/work-iq/mcp/tool-reference",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–58,491–621: entity tools permission/policy boundary; ask/retrieve/list_agents; schema limitations. Most entity-operation examples and later schema appendix not read.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400",
          "AB-650"
        ],
        "observation": "Tool-specific reference confirms retrieve Dataverse exclusion and generic Graph-v1.0 schema scope.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/work-iq/mcp/tool-reference",
        "recommended_catalog_action": "discovery-only"
      },
      {
        "key": "dataverse-ask",
        "title": "Use Dataverse Ask APIs (preview)",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/ask/?bc=/power-platform/breadcrumb/TOC.json&toc=/power-platform/business-applications-work-iq/toc.json",
        "visible_last_updated": "2026-10-21",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–81: model scope, structured+summary response, identity, API path and unsupported OData/SDK assumptions.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Natural-language Dataverse API uses /api/iq/v1.0; not OData /api/data; no .NET/Python SDK client classes. Precise CRUD remains Web API.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/ask/?bc=/power-platform/breadcrumb/TOC.json&toc=/power-platform/business-applications-work-iq/toc.json",
        "recommended_catalog_action": "propose-specific-opened-source",
        "proposed_source_id": "g01-20261028-dataverse-ask"
      },
      {
        "key": "copilot-client",
        "title": "Integrate with Copilot Studio",
        "url": "https://learn.microsoft.com/en-us/microsoft-365/agents-sdk/integrate-with-mcs",
        "visible_last_updated": "2026-10-17",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body30–46: client library alternatives, languages and harness limitation. Samples linked but not cloned/executed.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "PL-400"
        ],
        "observation": "Copilot Studio client supports standard harness; GitHub Copilot harness not officially supported.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "pl400-agent-client"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "pl400-agent-client"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-365/agents-sdk/integrate-with-mcs",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "cosmos-vector",
        "title": "Vector search in Azure Cosmos DB for NoSQL",
        "url": "https://learn.microsoft.com/en-us/azure/cosmos-db/vector-search",
        "visible_last_updated": "2026-08-05",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–267: policies, dimensions, indexed-data threshold, approximate behavior and limits; embedded video not played.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-420"
        ],
        "observation": "flat505 versus quantizedFlat/DiskANN4096 dimensions; compressed indexes need1000vectors; shared-throughput accounts unsupported. Vector configuration can require drop/re-add.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp420-vector-search"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp420-vector-search"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/cosmos-db/vector-search",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "enclave-clients",
        "title": "Develop applications using Always Encrypted with secure enclaves",
        "url": "https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves-client-development?view=sql-server-ver17",
        "visible_last_updated": "2026-10-01",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–84: SGX lifecycle, supported platforms, attestation and driver requirements.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-300"
        ],
        "observation": "SGX end support October 31,2027; VBS/no-attestation client driver floors differ from general enclave floors.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp300-enclave-client"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp300-enclave-client"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves-client-development?view=sql-server-ver17",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "sql-news",
        "title": "What's new in Azure SQL Database?",
        "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/doc-changes-updates-release-notes-whats-new?view=azuresql",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–93 preview/current GA tables; September compaction GA and backup immutability rows. Older docs-history sections not fully read.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-300"
        ],
        "observation": "Release ledger lists index compaction GA September2026. Do not retain global preview label.",
        "aliases": [],
        "propose": false,
        "source_type": "release-notes",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp300-sqldb-release"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp300-sqldb-release"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/doc-changes-updates-release-notes-whats-new?view=azuresql",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "index-compaction",
        "title": "Automatic index compaction",
        "url": "https://learn.microsoft.com/en-us/sql/relational-databases/indexes/automatic-index-compaction?view=fabric-sqldb&viewFallbackFrom=sql-server-ver17",
        "visible_last_updated": "2026-10-08",
        "observed_on": "2026-10-28",
        "read_scope": "Body31–115 enablement, scope, page locks/PVS and maintenance comparison; footer353. Monitoring SQL appendix not fully reviewed or executed.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-300"
        ],
        "observation": "Now no preview banner; applies SQLDB, MI AUTD, Fabric SQL; disabled by default. Eligible modified pages only; page-lock/PVS constraints remain.",
        "aliases": [
          "https://learn.microsoft.com/en-us/sql/relational-databases/indexes/automatic-index-compaction?view=sql-server-ver17"
        ],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [
            "dp300-compaction"
          ],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/sql/relational-databases/indexes/automatic-index-compaction?view=sql-server-ver17",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "enclave-migration",
        "title": "Always Encrypted with Intel SGX enclaves migration guide",
        "url": "https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves-migration?view=sql-server-ver17",
        "visible_last_updated": "2026-10-01",
        "observed_on": "2026-10-28",
        "read_scope": "Body31–49,120–167: inventory, migration paths, client changes and validation. Inventory command examples viewed as text; not executed.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-300"
        ],
        "observation": "SGX/DC end support October 31,2027; standard-series/VBS needs driver and None protocol; confidentialVM alternative has different security properties.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves-migration?view=sql-server-ver17",
        "recommended_catalog_action": "propose-specific-opened-source",
        "proposed_source_id": "g01-20261028-enclave-migration"
      },
      {
        "key": "sales-knowledge",
        "title": "Configure knowledge sources for agents",
        "url": "https://learn.microsoft.com/en-us/dynamics365/sales/configure-sqa-knowledge-source",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–173: shared sources, instance filtering, competitor selection, custom-field contradiction and outreach scope.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AB-210"
        ],
        "observation": "Custom-field contradiction persists verbatim within same section. Competitor selection starts with explicit record competitor before broader history/web research.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ab210-knowledge"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ab210-knowledge"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/dynamics365/sales/configure-sqa-knowledge-source",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "sales-close-manage",
        "title": "Manage the Sales Close Agent",
        "url": "https://learn.microsoft.com/en-us/dynamics365/sales/manage-sales-close-agent",
        "visible_last_updated": "2026-06-29",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–68; stop behavior examined.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AB-210"
        ],
        "observation": "Management page says in-process records will not be processed after stop.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ab210-close-manage"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ab210-close-manage"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/dynamics365/sales/manage-sales-close-agent",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "sales-close-setup",
        "title": "Set up and configure the Sales Close Agent (preview)",
        "url": "https://learn.microsoft.com/en-us/dynamics365/sales/configure-sales-close-agent",
        "visible_last_updated": "2026-06-29",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–123; deactivation consideration74 directly compared.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AB-210"
        ],
        "observation": "Setup page says existing orchestrated records continue to handoff. Discrepancy remains unresolved; do not infer containment.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ab210-close-config"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ab210-close-config"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/dynamics365/sales/configure-sales-close-agent",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "sales-deprecations",
        "title": "Removed or deprecated features in Dynamics 365 Sales",
        "url": "https://learn.microsoft.com/en-us/dynamics365/sales/deprecations-sales",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–106 including Close Sept30/Oct30 dates and SharePoint MCP tools.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AB-210"
        ],
        "observation": "New Close instances ended September 30; removal remains upcoming October 30. Not evidence removal already occurred.",
        "aliases": [],
        "propose": false,
        "source_type": "release-notes",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ab210-sales-deprecations"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ab210-sales-deprecations"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/dynamics365/sales/deprecations-sales",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "backup-overview",
        "title": "Overview of Microsoft 365Backup",
        "url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-overview?view=o365-worldwide",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–80 feature table, including two-year windows and52-week cadence.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "MS-102",
          "AB-650"
        ],
        "observation": "Two-year window exists; cadence table still stops at 52 weeks. Second-year gap remains.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ms-102-backup-overview"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ms-102-backup-overview"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-overview?view=o365-worldwide",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "backup-policy",
        "title": "Create, view, and edit backup policies in Microsoft 365Backup",
        "url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-view-edit-policies?view=o365-worldwide",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–125: policy/frequency scope, capacity, full-workload preview and mailbox applicability. Remaining page not reread by this worker.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "MS-102",
          "AB-650"
        ],
        "observation": "Frequency isn't configurable; policy recovery-window length doesn't fill missing year-two cadence.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ms102-backup-policy"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ms102-backup-policy"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-view-edit-policies?view=o365-worldwide",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "backup-news",
        "title": "What's new in Microsoft 365Backup",
        "url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-whats-new?view=o365-worldwide",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–115 dated October13/October1/September18 entries; not entire history.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "MS-102",
          "AB-650"
        ],
        "observation": "Existing October guide top notes accurately separate operational365-day logs and accelerated offboarding quorum. No need duplicate.",
        "aliases": [],
        "propose": false,
        "source_type": "release-notes",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ms102-backup-new"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ms102-backup-new"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-whats-new?view=o365-worldwide",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "connect-history",
        "title": "Microsoft Entra Connect version release history",
        "url": "https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-version-history",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–118 current mandatory notice, supported-version and retirement table; not1022-line archive.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "MS-102"
        ],
        "observation": "2.5.79 support ended October 23; latest listed2.6.92; mandatory2.6.84+ and application authentication by April 7,2027.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ms102-entra-connect-version-history"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ms102-entra-connect-version-history"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-version-history",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "connect-hardening",
        "title": "Security improvements to Entra Connect Sync autoupgrade and Health alerts",
        "url": "https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/security-updates-pks",
        "visible_last_updated": "2026-09-29",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–85: service impacts, minimum versions and April 7 mandate.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "MS-102"
        ],
        "observation": "Current sync minimum2.6.84.0 differs from guide2.5.79.0. Health minimum4.5.2466.0 is separate.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ms102-sync-hardening"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ms102-sync-hardening"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/security-updates-pks",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "agent-templates",
        "title": "Agent 365policy templates",
        "url": "https://learn.microsoft.com/en-us/microsoft-agent-365/admin/policy-template",
        "visible_last_updated": "2026-07-09",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–198: owning-service configuration, role/runtime prerequisites and old FAQ.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AB-650"
        ],
        "observation": "Old FAQ restriction reconciles with newer explicit one-time Apply template operation. Existing guide already handles distinction.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ab650-agent-policy-templates"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ab650-agent-policy-templates"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-agent-365/admin/policy-template",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "agent-settings",
        "title": "Agent settings in Microsoft 365admin center",
        "url": "https://learn.microsoft.com/en-us/microsoft-agent-365/admin/agent-settings?view=o365-worldwide",
        "visible_last_updated": "2026-10-23",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body32–187: rule scope, one-time Apply template, sharing/user-access distinctions and tags.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AB-650"
        ],
        "observation": "Current details retain one-time Apply template and AgentBuilder-only reassignment/sharing boundaries.",
        "aliases": [
          "https://learn.microsoft.com/en-us/microsoft-365/admin/manage/agent-settings?view=o365-worldwide"
        ],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [
            "ab650-agent-settings"
          ],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-365/admin/manage/agent-settings?view=o365-worldwide",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "agent-tools",
        "title": "Overview of Tools page in Microsoft 365admin center",
        "url": "https://learn.microsoft.com/en-us/microsoft-agent-365/admin/agent-tools-overview?view=o365-worldwide",
        "visible_last_updated": "2026-10-23",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–114: tools registry, block action and preview connector-usage visibility.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AB-650"
        ],
        "observation": "Power Platform connector usage tab is visibility only; governance links to Power Platform. Do not transfer legacy30-minute refresh guidance into new overview.",
        "aliases": [
          "https://learn.microsoft.com/en-us/microsoft-365/admin/manage/manage-tools-for-agent?view=o365-worldwide"
        ],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [
            "ab-650-agent-tools"
          ],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-365/admin/manage/manage-tools-for-agent?view=o365-worldwide",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "databricks-cdf",
        "title": "Use change data feed on Azure Databricks",
        "url": "https://learn.microsoft.com/en-us/azure/databricks/tables/features/change-data-feed",
        "visible_last_updated": "2026-10-09",
        "observed_on": "2026-10-28",
        "read_scope": "Body31–147,320–371 requirements, migration, schema and limitations. Middle batch/streaming examples not fully read.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-750"
        ],
        "observation": "AutomaticCDF requiresRuntime 19+ and eligibleUC/rowtracking. Unsupported on row-filter/mask tables; cannot span non-additive schema changes.",
        "aliases": [
          "https://learn.microsoft.com/en-us/azure/databricks/delta/delta-change-data-feed"
        ],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [
            "dp750-auto-cdf"
          ],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/databricks/delta/delta-change-data-feed",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "databricks-coming",
        "title": "What's coming in Azure Databricks",
        "url": "https://learn.microsoft.com/en-us/azure/databricks/release-notes/whats-coming",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–117 and128–169;231–237;352–367: upcoming changes and automatic CDF rollout. Not full458-line history.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "DP-750"
        ],
        "observation": "End-of-October automaticCDF rollout still planned. Runtime 20 removes bundled BigQuery driver; upcoming date not evidence deployment.",
        "aliases": [],
        "propose": false,
        "source_type": "release-notes",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp750-coming"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp750-coming"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/databricks/release-notes/whats-coming",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "foundry-a2a",
        "title": "Enable incoming A2A on a Foundry agent",
        "url": "https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/enable-agent-to-agent-endpoint",
        "visible_last_updated": "2026-09-14",
        "observed_on": "2026-10-28",
        "read_scope": "Body31–171 and551–557: supported types, prerequisites, REST/Python setup and implementation limits. Other-language examples not fully read.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AI-500"
        ],
        "observation": "RequiresResponses protocol; Python configuration now shows azure-ai-projects2.5.0+. This floor is scoped to this procedure, not every hosted-agent SDK.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ai-500-agent-a2a-endpoint"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ai-500-agent-a2a-endpoint"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/enable-agent-to-agent-endpoint",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "apim-mcp",
        "title": "Overview of MCP servers in Azure API Management",
        "url": "https://learn.microsoft.com/en-us/azure/api-management/mcp-server-overview",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–139: MCP modes, per-server policies, inbound/outbound identity, tiers and tools-only limits.",
        "not_read": "No linked videos, tenant/client execution, linked articles or code appendix unless separately recorded.",
        "supported_exams": [
          "AI-500"
        ],
        "observation": "Existing guide's tools-only/no-workspace/tier limits remain supported.",
        "aliases": [],
        "propose": false,
        "source_type": "product-documentation",
        "confidence": "Confirmed for the stated documentation scope; runtime outcomes unobserved.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "ai-500-apim-mcp-overview"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "ai-500-apim-mcp-overview"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/api-management/mcp-server-overview",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "foundry-mcp-auth",
        "title": "Set up authentication for MCP tools",
        "url": "https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/mcp-authentication",
        "visible_last_updated": null,
        "observed_on": "2026-10-28",
        "read_scope": "Body31–196 and330–393 authentication decision table, key/user context, current identities, Frontier example and approval/consent. Language code sample appendix not fully reviewed.",
        "not_read": "No service, consent or credential operation executed.",
        "supported_exams": [
          "PL-400",
          "AI-500"
        ],
        "observation": "Connection creation, user OAuth consent and approval of one tool call are separate states. Shared credentials do not preserve user context.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed scoped documentation; no runtime execution",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/mcp-authentication",
        "recommended_catalog_action": "propose-specific-opened-source",
        "proposed_source_id": "g01-20261028-foundry-mcp-auth"
      },
      {
        "key": "agent-mcp-dev",
        "title": "Use developer experiences to manage MCP servers",
        "url": "https://learn.microsoft.com/en-us/microsoft-agent-365/add-mcp-tools-developer-experiences",
        "visible_last_updated": "2026-10-13",
        "observed_on": "2026-10-28",
        "read_scope": "Complete substantive body31–85; tooling versus build versus registration/direct-client operations.",
        "not_read": "No CLI, server registration, evaluation or linked implementation executed.",
        "supported_exams": [
          "PL-400",
          "AB-650"
        ],
        "observation": "Developer guide separates consuming a server, composing a custom server from connectors/Dataverse custom APIs, and submitting BYO governance request.",
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed scoped documentation; no runtime execution",
        "catalog_comparison": {
          "approved_exact_ids": [],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/microsoft-agent-365/add-mcp-tools-developer-experiences",
        "recommended_catalog_action": "propose-specific-opened-source",
        "proposed_source_id": "g01-20261028-agent-mcp-dev"
      },
      {
        "key": "abac-metastore",
        "title": "Metastore-level ABAC policies (Beta)",
        "url": "https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/abac/metastore-policies",
        "visible_last_updated": "2026-09-17",
        "read_scope": "Body31–62 compute, permission and supported targets;197–201 DR/limit statement. Commands viewed but not executed.",
        "observation": "Metastore policy page names views as Beta targets; earlier requirements conflict must be checked against current requirements, not preserved indefinitely.",
        "observed_on": "2026-10-28",
        "not_read": "No tenant, preview enablement, SQL, policy or disaster recovery executed.",
        "supported_exams": [
          "DP-750"
        ],
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed documentation for stated Beta support, not runtime validation.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp750-abac-metastore"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp750-abac-metastore"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/abac/metastore-policies",
        "recommended_catalog_action": "reuse-existing"
      },
      {
        "key": "abac-requirements",
        "title": "Requirements, quotas and limitations for ABAC row filters and column masks",
        "url": "https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/abac/requirements",
        "visible_last_updated": "2026-10-15",
        "read_scope": "Complete substantive body34–134: compute, tags, view Beta prerequisites, metadata mutation, pipelines, sharing, AI Search and policy conflicts.",
        "observation": "Direct-view support now explicitly Beta with workspace switch and Runtime 19+. Earlier contradiction is resolved; metric views unsupported and layered policies capped.",
        "observed_on": "2026-10-28",
        "not_read": "No tenant, preview enablement, SQL, policy or disaster recovery executed.",
        "supported_exams": [
          "DP-750"
        ],
        "aliases": [],
        "propose": true,
        "source_type": "product-documentation",
        "confidence": "Confirmed documentation for stated Beta support, not runtime validation.",
        "catalog_comparison": {
          "approved_exact_ids": [
            "dp-750-current-abac-requirements"
          ],
          "approved_opened_alias_ids": [],
          "fragment_or_query_order_equivalent_ids": [
            "dp-750-current-abac-requirements"
          ],
          "candidate_ids": []
        },
        "preferred_authoring_url": "https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/abac/requirements",
        "recommended_catalog_action": "reuse-existing"
      }
    ],
    "attempted_unavailable": [
      {
        "url": "https://aka.ms/qap-up-shortcuts",
        "outcome": "Redirected to inaccessible review.learn.microsoft.com Kusto page. Public Learn route independently opened and read; no authentication bypass."
      },
      {
        "url": "https://community.fabric.microsoft.com/t5/Fabric-Updates-Blog/Fabric-September-2026-Feature-Summary/ba-p/5325825",
        "outcome": "Direct body fetch timed out twice; no article body claim. Release ledger and public Kusto reference used instead."
      },
      {
        "url": "https://learn.microsoft.com/en-us/azure/cosmos-db/release-notes",
        "outcome": "Discovery attempt unavailable; no body and no source proposal. NoSQL technical claims use opened vector documentation; no broad release-history completeness claim."
      }
    ],
    "per_exam": [
      {
        "exam_code": "AB-210",
        "prior_gap_recheck": {
          "prior_gap": "Opportunity custom-field support and Close Agent in-flight shutdown conflict.",
          "recheck": "Both remain unresolved. Knowledge article132–140 denies and instructs custom fields; Close setup74 says continue versus management64 says stop. Retain visible caveats; no clean source pass.",
          "source_keys": [
            "sales-knowledge",
            "sales-close-manage",
            "sales-close-setup"
          ],
          "recommendation": "Retain blockers and retiring Close tabletop; add competitor-decision exercise without depending on custom fields."
        },
        "proposals": [
          {
            "exam_code": "AB-210",
            "kind": "focused-insertion",
            "location": "After Knowledge-source configuration / unresolved custom-field note (before worked example5)",
            "objective": "Develop deals by using intelligent opportunity research: configure knowledge sources and opportunity research",
            "source_keys": [
              "sales-knowledge"
            ],
            "proposed_markdown": "### Worked example — explicit competitor data changes the research route\n\n**Confirmed — VERIFY CURRENT (October 28, 2026).** A synthetic opportunity explicitly identifies competitor North. The current [knowledge-source procedure](https://learn.microsoft.com/en-us/dynamics365/sales/configure-sqa-knowledge-source) gives that record-level competitor priority; a broader configured competitor list does not mean every listed competitor is researched. Remove the explicit competitor only in a test copy and compare the history/web-based route. Inspect source records, close descriptions and the selected competitors before treating a win-rate insight as representative of the whole market.",
            "lab_update": "Extend the opportunity-research lab with explicit-competitor versus blank-competitor copies. Record selected competitors, supporting closed records and any missing history. Keep custom-field research optional/tabletop while the same-page contradiction remains unresolved.",
            "readiness_update": "Why can two otherwise similar opportunities produce different competitor research? Record-level competitor data can select a different route; compare inputs before blaming the model.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/AB-210-accelerating-sales-pipelines-ai-dynamics-365.md",
        "guide_lf_sha256": "e666ce5f85d97391a2caee589f7f59c8be512479fc545513e1aac45fb446671f",
        "source_keys": [
          "workiq-settings",
          "sales-knowledge",
          "sales-close-manage",
          "sales-close-setup",
          "sales-deprecations"
        ]
      },
      {
        "exam_code": "AB-650",
        "prior_gap_recheck": {
          "prior_gap": "Backup two-year recovery window lacks second-year cadence.",
          "recheck": "Still unresolved: overview windows include two years while cadence table stops at 52 weeks. Policy says frequency not configurable; no inference of second-year 10-minute cadence.",
          "source_keys": [
            "backup-overview",
            "backup-policy",
            "backup-news"
          ],
          "recommendation": "Retain blocker. Current template edit versus one-time Apply template reconciliation remains supported. Add connector-governance plane distinction."
        },
        "proposals": [
          {
            "exam_code": "AB-650",
            "kind": "focused-insertion",
            "location": "Agent tools, MCP servers, plugins and skills; after current Tools administration paragraph",
            "objective": "Govern agent tools and connectors; monitor activity and remediate governance gaps",
            "source_keys": [
              "agent-tools"
            ],
            "proposed_markdown": "**Confirmed — VERIFY CURRENT (October 28, 2026).** The [Power Platform connector-usage view](https://learn.microsoft.com/en-us/microsoft-365/admin/manage/manage-tools-for-agent?view=o365-worldwide) is a **preview inventory view**: it identifies agents using a connector but does not manage connector policy. Follow its Power Platform link to the owning policy plane. Distinguish a tool-registry Block action from discovering a connector dependency; seeing a connector in the list does not prove its policy was changed.",
            "lab_update": "Add a tabletop case: one connector appears under three agents. Identify the actual Power Platform policy and affected audiences, propose narrow containment, and predict positive/negative retests for all three dependencies. A screenshot of usage alone is insufficient evidence.",
            "readiness_update": "Does the Connectors usage tab itself block a connector? No; it reports dependencies and directs policy management to Power Platform.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/AB-650-ai-services-administrator-associate.md",
        "guide_lf_sha256": "450bf5aa602ee58913305c33beaeb19e058522cce1e2fb79afc7bfeb3312b55d",
        "source_keys": [
          "workiq-settings",
          "workiq-retrieve",
          "workiq-tools",
          "backup-overview",
          "backup-policy",
          "backup-news",
          "agent-templates",
          "agent-settings",
          "agent-tools",
          "agent-mcp-dev"
        ]
      },
      {
        "exam_code": "MS-102",
        "prior_gap_recheck": {
          "prior_gap": "Backup second-year cadence; version/auth monitoring boundaries.",
          "recheck": "Backup gap remains unresolved. Connect hardening now supersedes minimum 2.5.79 with 2.6.84 and adds April 7,2027 dual build/application-auth deadline.",
          "source_keys": [
            "backup-overview",
            "backup-policy",
            "connect-hardening",
            "connect-history"
          ],
          "recommendation": "Repair version now; preserve historical dated review and cadence gap."
        },
        "proposals": [
          {
            "exam_code": "MS-102",
            "kind": "replace-stale-version-and-add-date",
            "location": "Keep sync version, authentication and monitoring failures separate; replace first paragraph at immutable line190 and append after application-auth paragraph",
            "objective": "Implement and manage Entra identity/access: synchronization, upgrades and troubleshooting",
            "source_keys": [
              "connect-hardening",
              "connect-history"
            ],
            "proposed_markdown": "**Confirmed — VERIFY CURRENT (October 28, 2026).** The current [Connect hardening requirements](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/security-updates-pks) name **Connect Sync 2.6.84.0 or later**; the earlier 2.5.79.0 minimum is superseded. Connect Health still has the separate **4.5.2466.0** minimum for its Sync, AD DS and AD FS agents. The [version history](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-version-history) records 2.5.79.0 support ending October 23,2026. Absence of Health alerts does not establish successful synchronization.\n\n**Related item — next authentication deadline:** Microsoft now requires **both 2.6.84.0+ and application-based authentication by April 7,2027**; unmet requirements can stop synchronization. Inventory installed build and actual authentication configuration separately. A current binary alone does not prove migration from the legacy account model.",
            "lab_update": "Add two synthetic servers: supported version with legacy authentication, and retired 2.5.79 with a functioning Health agent. Explain each independent failure boundary and evidence required to repair it; do not upgrade or change tenant authentication for this research.",
            "readiness_update": "Does upgrading to a supported binary alone satisfy the April 2027 requirement? No; application-based authentication is separately required.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/MS-102-microsoft-365-administrator.md",
        "guide_lf_sha256": "5a3823b062cb0c00372014c6e2dbfc7764d5614db3a67688efe8c2a2ab8a2536",
        "source_keys": [
          "backup-overview",
          "backup-policy",
          "backup-news",
          "connect-history",
          "connect-hardening"
        ]
      },
      {
        "exam_code": "PL-400",
        "prior_gap_recheck": {
          "prior_gap": "October 16 scope pending; preview/client/harness/runtime boundaries unexecuted.",
          "recheck": "Current first-party pages support concrete code-app, Python SDK, background-operation and integration lessons. Generic WorkIQ retrieve explicitly excludes Dataverse; this does not invalidate separate Business Applications/Ask surfaces.",
          "source_keys": [
            "code-dataverse",
            "background-operations",
            "copilot-client",
            "workiq-retrieve",
            "dataverse-ask"
          ],
          "recommendation": "Rebaselinefour domains via exam researcher; insert bounded new objective material and failure tests here. Do not equate source review with tenant execution."
        },
        "proposals": [
          {
            "exam_code": "PL-400",
            "kind": "new-objective-section",
            "location": "Extend the user experience; add Build Power Apps code apps",
            "objective": "Code apps: connections, Dataverse table/metadata operations, actions/functions",
            "source_keys": [
              "code-dataverse",
              "code-actions"
            ],
            "proposed_markdown": "### Build code apps against explicit data contracts\n\n**Confirmed — VERIFY CURRENT (October 28, 2026).** A code app uses a web framework and the Power Apps client library; it is a complete app experience rather than a PCF control embedded in an existing host. Adding a [Dataverse data source](https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/connect-to-dataverse) generates TypeScript models and services. Inspect table metadata and generated types, select only needed columns, page deliberately, and send only changed fields on update. Current client limitations include metadata CRUD, FetchXML, alternate keys and polymorphic lookups; capabilities in another Dataverse SDK do not prove support here.\n\nFor [Dataverse actions/functions](https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/add-dataverse-action-function), current instructions require `@microsoft/power-apps` 1.1.1+ and use `pa app find-dataverse-api` then `pa app add dataverse-api`. Discovery produces schemas and a generated service; it does not grant operation privileges. A bound operation also needs the target record ID. Regenerate after a contract change and inspect the diff before deploying.",
            "lab_update": "Use a synthetic account table, a read-only WhoAmI function and one approved custom action. Record generated files, selected columns, paging, caller identity, denied operation and stale-schema behavior. Keep unsupported metadata mutation in a separate SDK exercise.",
            "readiness_update": "Why can schema discovery succeed while an action fails? Discovery, binding, authorization and execution are separate checks.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "PL-400",
            "kind": "new-objective-section",
            "location": "Code apps subsection; ALM and configuration",
            "objective": "Code apps: environment variables, package/deploy/share/manage",
            "source_keys": [
              "code-envvars",
              "code-alm"
            ],
            "proposed_markdown": "### Move configuration and code together\n\nUse [solution environment variables](https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/use-environment-variables) for supported dataset/table values. The current CLI accepts `@envvar:<schema-name>` references and retains them in `power.config.json`; resolve the target environment's values during promotion rather than copying development URLs. A connection still needs to exist and be authorized. Do not confuse solution configuration with process variables that configure the CLI.\n\nCurrent [code-app ALM](https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/alm) uses `pa app push`. An explicit solution target is a GUID; without Dataverse, the app can publish without a solution. A subsequent push without a solution ID does not move existing solution membership. Choose the solution deliberately, use supported pipelines for promotion, and retain conventional source control because built-in source-code integration is currently unsupported. **VERIFY CURRENT:** CLI names, source integration and deployment behavior.",
            "lab_update": "Compare development and test data-source references, connection bindings, solution membership, dependencies, sharing and actual restricted-user access. Prove the test app uses test data after import; successful upload alone is insufficient.",
            "readiness_update": "",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "PL-400",
            "kind": "new-objective-section",
            "location": "Code apps subsection; security and telemetry",
            "objective": "Code apps: CSP, Application Insights, Monitor/browser troubleshooting, performance",
            "source_keys": [
              "code-csp",
              "code-appinsights"
            ],
            "proposed_markdown": "### Diagnose the browser and telemetry boundaries\n\n**Confirmed — VERIFY CURRENT (October 28, 2026).** [Code-app CSP](https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/content-security-policy) applies at environment scope. Its current default `connect-src` is `'none'`; only permit required endpoints and pilot changes with reporting. A custom source normally augments a directive, whereas a `'none'` default is replaced. Updating the complete directive collection can replace earlier settings; retrieve and review it before writing. An empty source array disables that directive instead of meaning deny-all.\n\n[Application Insights integration](https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/set-up-azure-app-insights) captures session/network metrics only after the app loads. Startup or blocked-file failures require Power Platform Monitor and browser evidence. Configure the logger once, check required CSP endpoints and exclude sensitive payloads. The telemetry article's environment-variable limitation concerns instrumentation configuration; the supported data-source environment-variable route above does not establish a general runtime settings API.",
            "lab_update": "Tabletop a blocked startup asset versus a loaded app whose telemetry endpoint is blocked. Identify which tool can observe each failure, expected evidence and the narrow CSP change. Compare selected columns, repeated requests and timings under the affected user's role.",
            "readiness_update": "Does an empty App Insights dashboard prove nobody opened the app? No; startup or telemetry transport could have failed.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "PL-400",
            "kind": "new-objective-section",
            "location": "Extend Microsoft Power Platform; platform APIs",
            "objective": "Dataverse Python SDK and SDK choice",
            "source_keys": [
              "python-sdk"
            ],
            "proposed_markdown": "### Use the Dataverse SDK for Python deliberately\n\nThe [Python SDK](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/sdk-python/overview) supports Azure Identity-compatible credentials, CRUD, paging, bulk operations and table/column metadata operations. Its simple SQL query surface is **read-only SELECT**, not a general SQL write channel. Distinguish multiple native bulk operations from a batch containing an explicitly transactional changeset; do not infer one universal all-or-nothing guarantee. Record package version, effective identity, table support, retry behavior and per-operation results. **VERIFY CURRENT:** supported operations and library contracts.",
            "lab_update": "Build a small synthetic read/update operation using least privilege; inspect paging, one rejected record, response shape and safe retries. Compare metadata operations with the separate code-app client's unsupported metadata-CRUD boundary.",
            "readiness_update": "",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "PL-400",
            "kind": "new-objective-section",
            "location": "Extend Microsoft Power Platform; immediately after custom APIs",
            "objective": "Asynchronous logic by using background operations",
            "source_keys": [
              "background-operations"
            ],
            "proposed_markdown": "### Background processing changes connection lifetime\n\n**Confirmed — VERIFY CURRENT; preview (October 28, 2026).** [Dataverse background operations](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/background-operations) execute a custom API asynchronously, allowing the client connection to return. They retain the **two-minute plug-in execution limit**. The caller needs read/write privileges on the background-operations table. A Web API request using `Prefer: respond-async` returns an operation ID and status URL; that status resource differs from the OData table URL.\n\nPoll conservatively or use the supported completion notification. A cancel request prevents work that has not started; it does not interrupt an already running operation. The documented retry policy can replay failures, so external effects still require idempotency. Select an external worker/Azure Function when execution itself exceeds the platform limit.",
            "lab_update": "Model queued, running and completed cancel requests and a transient failure after an external effect. State which work can continue, which identifiers correlate it and how duplicate effects are prevented.",
            "readiness_update": "Does respond-async make a five-minute synchronous custom API valid? No; it releases the client connection without extending plug-in execution time.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "PL-400",
            "kind": "new-objective-section",
            "location": "Code apps subsection; flows and agent invocation",
            "objective": "Code apps: Copilot Studio agents and connection-driven integration",
            "source_keys": [
              "code-copilot",
              "copilot-client"
            ],
            "proposed_markdown": "### Choose the supported agent client\n\nFor a code app, the [Copilot Studio connector procedure](https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/connect-to-copilot-studio) creates/selects a connection, adds it as a data source, generates a service and calls a **published** agent by its exact name. `ExecuteCopilotAsyncV2` waits for responses despite its name; the older `ExecuteCopilot` returns a conversation ID without the answer. Inspect completion and response fields rather than equating receipt of an ID with task success.\n\nFor a custom web/native application or another code-first agent, the [Copilot Studio client library](https://learn.microsoft.com/en-us/microsoft-365/agents-sdk/integrate-with-mcs) has .NET, JavaScript and Python samples. Current support is for the **standard harness**, not the GitHub Copilot harness. **VERIFY CURRENT:** connector actions, client/harness support and generated contracts.",
            "lab_update": "Compare a code-app connector call with a standard-harness SDK client as two integration paths. Record publication, environment, connection/identity, agent name, response completion and failure evidence; test a nonexistent name without weakening authentication.",
            "readiness_update": "",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "PL-400",
            "kind": "new-objective-section",
            "location": "Extend Microsoft Power Platform; Foundry/custom-agent integration",
            "objective": "Integrate custom agents using Power Platform MCP servers; distinguish server/client/approval/identity",
            "source_keys": [
              "foundry-mcp-auth",
              "agent-mcp-dev"
            ],
            "proposed_markdown": "### Integrate custom agents through governed tools\n\nA code-first Foundry agent needs a model, instructions and explicit tool configuration, plus an application-level loop that handles tool output, errors and approval. Choose shared workload access only when every caller should receive the same data scope. [Foundry MCP authentication](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/mcp-authentication) distinguishes shared credentials/identities, incoming-user delegation and per-user OAuth consent; one method's support does not establish another's. Treat project connection creation, OAuth consent and approval of a proposed tool call as separate states.\n\nThe [developer MCP guide](https://learn.microsoft.com/en-us/microsoft-agent-365/add-mcp-tools-developer-experiences) also separates consuming a governed server, building one from connectors/Dataverse custom APIs, and registering a BYO server for administrative review. For consumption, inspect the allow-listed tools and invoke the smallest authorized operation. Registration alone does not prove tenant consent, supported client routing, Dataverse authorization or successful invocation. **VERIFY CURRENT:** endpoint, host, identity, scope, preview and rollout support.",
            "lab_update": "Use a read-only table query plus a simulated write proposal. Record exact server/client, tools/list schema, effective identity, source/table permission, approval and trace IDs. Reject an unauthorized table or tool; use tabletop evidence when the client path is unsupported.",
            "readiness_update": "Why can successful MCP sign-in still produce a denied Dataverse call? Server/client approval, scope and underlying Dataverse permissions remain independent.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "PL-400",
            "kind": "new-objective-section",
            "location": "Extend Microsoft Power Platform; Work IQ data integration",
            "objective": "Integrate custom agents with Dataverse data using Work IQ",
            "source_keys": [
              "workiq-settings",
              "workiq-retrieve",
              "dataverse-ask"
            ],
            "proposed_markdown": "### Distinguish the Work IQ integration surfaces\n\n**Confirmed — VERIFY CURRENT; preview (October 28, 2026).** [Business Applications in Work IQ](https://learn.microsoft.com/en-us/power-platform/admin/business-applications-work-iq/default-settings) uses tenant, environment and app controls. Current defaults exclude nonproduction environments and have regional/government exceptions; do not assume a developer environment matches a production rollout. A table shared through another enabled app can remain available after one app is disabled.\n\nThis business-app integration does **not** establish support through every Work IQ tool. The current [generic MCP retrieve reference](https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/work-iq/mcp/retrieve) explicitly excludes Dataverse and Power BI, even though a Dataverse capability name appears in the schema. Treat that path as unavailable until the reference changes.\n\nThe separately documented [Dataverse Ask APIs](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/ask/?bc=/power-platform/breadcrumb/TOC.json&toc=/power-platform/business-applications-work-iq/toc.json) accept natural-language questions against a semantic model and can return structured rows plus a summary. Their `/api/iq/v1.0/` route is not the OData `/api/data/` service and does not support OData options or dedicated .NET/Python SDK client classes. Use HTTP with the correct Dataverse token, and use the Web API for precise CRUD.",
            "lab_update": "Make a matrix for Business Applications settings, a model-scoped Ask request, generic Work IQ retrieve and exact Web API CRUD. Record each endpoint, supported inputs, identity, data scope and availability. A generated schema name is not a successful integration test.",
            "readiness_update": "Does a Dataverse enum in the generic retrieve schema prove support? No; current explicit source limitations control the design.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/PL-400-microsoft-power-platform-developer.md",
        "guide_lf_sha256": "fc2245581a0f3ae0e94b51d36e836b6c2c5762941daf5a2eb083387340f300e3",
        "source_keys": [
          "code-apps-index",
          "code-csp",
          "background-operations",
          "python-sdk",
          "code-dataverse",
          "code-actions",
          "code-envvars",
          "code-appinsights",
          "code-copilot",
          "code-alm",
          "workiq-index",
          "workiq-settings",
          "workiq-retrieve",
          "workiq-tools",
          "dataverse-ask",
          "copilot-client",
          "foundry-mcp-auth",
          "agent-mcp-dev"
        ]
      },
      {
        "exam_code": "AI-500",
        "prior_gap_recheck": {
          "prior_gap": "No runtime/product execution; legacy/current hosted identity and per-tool guardrail support limits.",
          "recheck": "Incoming A2A and API Management protocol limits remain scoped. Incoming A2A setup now has a 2.5.0+ Python example. Memory-provider durability/guardrail matrix was not independently re-executed or comprehensively rechecked in this turn.",
          "source_keys": [
            "foundry-a2a",
            "apim-mcp",
            "foundry-mcp-auth"
          ],
          "recommendation": "Add operation-specific package/protocol check; retain unexecuted framework/cloud limitations and other unresolved findings."
        },
        "proposals": [
          {
            "exam_code": "AI-500",
            "kind": "focused-insertion",
            "location": "Separate coordination protocols from tool protocols; before A2Aversion paragraph",
            "objective": "Architect/develop multi-agent solutions: protocol selection, SDK compatibility and deployment",
            "source_keys": [
              "foundry-a2a"
            ],
            "proposed_markdown": "**Confirmed — VERIFY CURRENT (October 28, 2026).** [Incoming Foundry A2A configuration](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/enable-agent-to-agent-endpoint) requires an agent using the **Responses protocol**; current instructions use REST or SDK because portal configuration is unavailable. The Python configuration example requests `azure-ai-projects>=2.5.0`. Keep this procedure-specific dependency separate from the hosted-agent migration's 2.3.0 minimum and from A2A protocol 1.0.",
            "lab_update": "Add a capability test row for an agent lacking Responses protocol, alongside unversioned and conflicting-version calls. Capture agent type, configured protocols, SDK version, exact endpoint and expected rejection. Do not interpret a package upgrade alone as enabling the endpoint.",
            "readiness_update": "Does a hosted-agent migration package floor establish the Python floor for every A2A setup example? No; validate each operation and SDK separately.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/AI-500-designing-implementing-multi-agent-ai-solutions.md",
        "guide_lf_sha256": "ec362f9caebe568c783fc5c144c7d2aa2d96ef93b650f5517fcc8c4ae0f1af80",
        "source_keys": [
          "foundry-a2a",
          "apim-mcp",
          "foundry-mcp-auth"
        ]
      },
      {
        "exam_code": "DP-300",
        "prior_gap_recheck": {
          "prior_gap": "Compaction/backup/platform release and enclave client boundaries.",
          "recheck": "Compaction nowGA on SQLDB release ledger; feature doc scope remainsSQLDB/MI AUTD/Fabric opt-in. SGX support deadline now documented October 31,2027. Backup feature matrix not comprehensively rechecked by this worker.",
          "source_keys": [
            "sql-news",
            "index-compaction",
            "enclave-clients",
            "enclave-migration"
          ],
          "recommendation": "Remove stale preview label, add SGX migration boundary, retain unexecuted SQL/lab and platform caveats."
        },
        "proposals": [
          {
            "exam_code": "DP-300",
            "kind": "replace-preview-label",
            "location": "Worked example compaction is one maintenance decision, immutable line528",
            "objective": "Optimize query performance; configure maintenance tasks",
            "source_keys": [
              "sql-news",
              "index-compaction"
            ],
            "proposed_markdown": "**Related item — Confirmed, VERIFY CURRENT (October 28, 2026):** [Automatic index compaction](https://learn.microsoft.com/en-us/sql/relational-databases/indexes/automatic-index-compaction?view=sql-server-ver17) is now generally available for Azure SQL Database according to the [release ledger](https://learn.microsoft.com/en-us/azure/azure-sql/database/doc-changes-updates-release-notes-whats-new?view=azuresql). The feature documentation includes SQL Database, Managed Instance with Always-up-to-date policy, and Fabric SQL database. It remains disabled by default. Preserve the existing page-density, statistics, fragmentation and file-size distinctions; GA does not make every index or platform eligible.",
            "lab_update": "",
            "readiness_update": "",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "DP-300",
            "kind": "focused-insertion",
            "location": "Select the enclave and client together, after platform/attestation matrix",
            "objective": "Implement security: Always Encrypted with secure enclaves",
            "source_keys": [
              "enclave-clients",
              "enclave-migration"
            ],
            "proposed_markdown": "**Related item — Confirmed, VERIFY CURRENT (October 28, 2026):** Intel SGX enclaves reach end of support on **October 31,2027**. The [migration guidance](https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves-migration?view=sql-server-ver17) says remaining DC-series databases will then move automatically to standard-series with VBS enabled. Plan earlier: inventory standalone databases and elastic pools, compare the security properties, select supported hardware, update compatible clients, use `None` attestation for Azure SQL VBS and remove the obsolete attestation URL. This is not a claim that SGX and VBS provide identical protection.",
            "lab_update": "For a synthetic SGX-dependent application, record driver/attestation assumptions and choose between Azure SQL VBS and a separately assessed confidential-VM/SQL Server design. Validate encrypted queries, DML, failover and recovery in an authorized lab before cutover.",
            "readiness_update": "Does changing the compute tier alone prove enclave migration succeeded? No; client, attestation, encrypted operations and recovery also need validation.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-300-administering-microsoft-azure-sql-solutions.md",
        "guide_lf_sha256": "065ed60b29bbd2f267a7720aa7e49ab439d106d612dbb25d503d96feb64515d4",
        "source_keys": [
          "enclave-clients",
          "sql-news",
          "index-compaction",
          "enclave-migration"
        ]
      },
      {
        "exam_code": "DP-420",
        "prior_gap_recheck": {
          "prior_gap": "Vector+hierarchical partition keys requires product-team guidance; preview/SDK/region limits.",
          "recheck": "Current vector page still directs HPK users to product team. Existing contrary assumption not accepted. Current dimensions/minimum-vector/shared-throughput limits support focused feasibility check.",
          "source_keys": [
            "cosmos-vector"
          ],
          "recommendation": "Retain HPK caveat; add index feasibility example. Other newly effective objective source matrices belong to coordinator/exam evidence."
        },
        "proposals": [
          {
            "exam_code": "DP-420",
            "kind": "focused-insertion",
            "location": "Retrieval, grounding and durable agent memory, after index-type introduction",
            "objective": "Integrate AI services: configure vector indexes and optimize vector search",
            "source_keys": [
              "cosmos-vector"
            ],
            "proposed_markdown": "### Worked example — a valid embedding can have an invalid index design\n\n**Confirmed — VERIFY CURRENT (October 28, 2026).** A synthetic 1536-dimensional embedding cannot use a `flat` index, whose documented maximum is 505; `quantizedFlat` and `diskANN` allow up to 4096. An 800-vector test can still scan instead of exercising either compressed index, and current vector search excludes shared-throughput accounts. Check the [vector-policy and limitation tables](https://learn.microsoft.com/en-us/azure/cosmos-db/vector-search) before interpreting successful queries as evidence the intended index worked. Record dimensions, policy, throughput model, data size, recall and RU/latency.",
            "lab_update": "Use real model embeddings; compare an eligible configuration with the dimension/throughput cases as a worksheet. Do not provision thousands of paid records only to satisfy the exercise.",
            "readiness_update": "Does a successful 800-vector DiskANN query prove ANN indexing was exercised? No; below the documented threshold it can scan.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-420-designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db.md",
        "guide_lf_sha256": "7494e1a8bd331bcb62a9cd4701c383bb32496d9d5bbfce710972af696347e53b",
        "source_keys": [
          "cosmos-vector"
        ]
      },
      {
        "exam_code": "DP-600",
        "prior_gap_recheck": {
          "prior_gap": "OneLake integrations, external engines, preview/driver rollout and blog workaround version boundaries.",
          "recheck": "DirectLake framing/fallback distinction supported; automatic updates can suspend until successful on-demand refresh. Driver/OneLake engine matrices not independently rechecked exhaustively in this technical turn.",
          "source_keys": [
            "direct-lake",
            "fabric-news"
          ],
          "recommendation": "Add stale-data recovery incident; keep granular route/preview caveats."
        },
        "proposals": [
          {
            "exam_code": "DP-600",
            "kind": "focused-insertion",
            "location": "Worked example source write is not a completed model refresh; after execution-guide paragraph",
            "objective": "Implement/manage semantic models: refresh, Direct Lake performance and troubleshooting",
            "source_keys": [
              "direct-lake"
            ],
            "proposed_markdown": "**Confirmed — VERIFY CURRENT (October 28, 2026).** [Direct Lake automatic updates](https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-how-it-works) can suspend after a nonrecoverable refresh failure. Repair the cause and complete a successful on-demand refresh to resume them. Repeatedly refreshing the report page does not demonstrate that semantic-model framing resumed.",
            "lab_update": "Add a synthetic incident: Delta commits continue after 08:05, reports query successfully, and model automatic updates are suspended. Record source commit, last successful frame, refresh error, repair and successful on-demand refresh. For SQL-endpoint Direct Lake, inspect fallback separately because fallback queries can see newer source data than the retained frame.",
            "readiness_update": "Why might one successful report query conceal stale Direct Lake data? Query execution, framing and automatic-update health are different evidence.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-600-implementing-analytics-solutions-microsoft-fabric.md",
        "guide_lf_sha256": "49098f811ce39e0e10c533e826c533d2aa743e4f1e43f7b0022e2739224ccf0a",
        "source_keys": [
          "fabric-news",
          "direct-lake"
        ]
      },
      {
        "exam_code": "DP-700",
        "prior_gap_recheck": {
          "prior_gap": "Preview connector/engine/runtime limits; no executed Fabric workflow.",
          "recheck": "CDC net-changes/mixed-table watermark limitations remain. Old shortcut overview conflicts with newer explicit external Delta update-policy preview; bounded newer reference provides useful current model. Fabric-specific CDF planning option observed.",
          "source_keys": [
            "copy-cdc",
            "shortcut-overview",
            "external-update-policy",
            "fabric-cdf",
            "fabric-news"
          ],
          "recommendation": "Replace universal update-policy prohibition with narrowpreview and source-bound lab. Preserve ordinary materializedview and retention limits."
        },
        "proposals": [
          {
            "exam_code": "DP-700",
            "kind": "replace-overbroad-policy-prohibition",
            "location": "Native Eventhouse table versus OneLake shortcut; replace sentence 'It remains an external table without native update policies or materialized views.'",
            "objective": "Ingest/transform streaming data: choose native Eventhouse tables versus shortcuts",
            "source_keys": [
              "shortcut-overview",
              "external-update-policy"
            ],
            "proposed_markdown": "**Confirmed — VERIFY CURRENT (October 28, 2026).** The older [acceleration overview](https://learn.microsoft.com/en-us/fabric/real-time-intelligence/query-acceleration-overview) says update policies are unsupported, but the newer [Kusto reference](https://learn.microsoft.com/en-us/kusto/management/update-policy?view=microsoft-fabric) documents a narrow **preview**: an accelerated external Delta table can feed a native target asynchronously. `IsTransactional` must be false. Updates append new rows; deletes do not remove prior target rows. Source RLS is unsupported. Preserve the separate materialized-view limitation and verify the exact Fabric preview before relying on it.",
            "lab_update": "Tabletop quantity5→7 followed by deletion: this path can retain old and new target rows after source deletion. It is not a current-state replica or every-change CDC ledger. Define reconciliation and test under the recorded owner identity.",
            "readiness_update": "",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "DP-700",
            "kind": "focused-insertion",
            "location": "Delta change data feed; after bounded batch version-range note",
            "objective": "Ingest/transform batch data: CDF and checkpoint boundaries",
            "source_keys": [
              "fabric-cdf"
            ],
            "proposed_markdown": "**Related item — Confirmed, VERIFY CURRENT (October 28, 2026):** An open-ended [Fabric CDF batch read](https://learn.microsoft.com/en-us/fabric/data-engineering/delta-lake-change-data-feed) normally resolves its ending version at execution. The optional `startOnly` optimization instead captures that version during query planning. A DataFrame reused after new commits can therefore behave differently depending on the setting. Prefer an explicit start/end range when an auditable batch boundary matters.",
            "lab_update": "Plan a read at version 125, add 126 before evaluation, and predict each configured path. Save the actual chosen ending version only after the downstream commit. Never copy this Fabric-specific switch into Databricks without its own support evidence.",
            "readiness_update": "",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-700-implementing-data-engineering-solutions-microsoft-fabric.md",
        "guide_lf_sha256": "a144c4e76fa45b34d93a97d5cf845bebdda1fc0398e53edcddc2f1c9dc0cea47",
        "source_keys": [
          "fabric-news",
          "fabric-cdf",
          "copy-cdc",
          "shortcut-overview",
          "external-update-policy"
        ]
      },
      {
        "exam_code": "DP-750",
        "prior_gap_recheck": {
          "prior_gap": "ABAC direct-view contradiction; staged automaticCDF/runtime/CLI rollout.",
          "recheck": "Current October 15 requirements explicitly permit Beta views with workspace enablement+Runtime 19+, reconciling prior contradiction. Automatic CDF rollout still planned end of October. Driver/CLI runtime not executed.",
          "source_keys": [
            "abac-metastore",
            "abac-requirements",
            "databricks-cdf",
            "databricks-coming"
          ],
          "recommendation": "Replace resolved direct-view contradiction with preciseBeta support/metadata risk; add CDF schema-boundary example."
        },
        "proposals": [
          {
            "exam_code": "DP-750",
            "kind": "focused-insertion",
            "location": "Related item automatic versus legacy CDF; immediately after current paragraph",
            "objective": "Ingest/process data: Delta/CDF, schema evolution and replay",
            "source_keys": [
              "databricks-cdf"
            ],
            "proposed_markdown": "### Worked example — a schema boundary can invalidate a replay range\n\n**Confirmed — VERIFY CURRENT (October 28, 2026).** A synthetic source renames a column at version 45. A CDF read spanning 40–50 crosses a non-additive schema change and can fail; the current [CDF guidance](https://learn.microsoft.com/en-us/azure/databricks/delta/delta-change-data-feed) says to split ranges before and after that change. Preserve each range's schema and reconcile downstream mapping. Automatic CDF also excludes tables with row filters or column masks. Do not remove governance controls merely to make ingestion work.",
            "lab_update": "Record runtime, UnityCatalog table type, row tracking, policy and available history. Test the supported alternative in an isolated lab and retain an explicit pre/post-schema boundary.",
            "readiness_update": "Does a valid checkpoint make a 40–50 CDF replay valid across a version 45 rename? No; retained history and compatible schema range are independent requirements.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed documentation; original synthetic exercise; no live execution"
          },
          {
            "exam_code": "DP-750",
            "kind": "replace-resolved-source-gap",
            "location": "Governed tags and ABAC; replace final sentence of September additions at immutable line245",
            "objective": "Implement data governance: ABAC policies, view identity and safe metadata changes",
            "source_keys": [
              "abac-metastore",
              "abac-requirements"
            ],
            "proposed_markdown": "**Confirmed — VERIFY CURRENT (October 28, 2026).** The [October 15 ABAC requirements](https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/abac/requirements) now explicitly document **direct-view policies in Beta**, resolving the earlier exclusion conflict. A workspace administrator must enable ABAC on Views and use Runtime 19+. Metric views are unsupported. The current requirements warn that `CREATE OR REPLACE VIEW` drops governed tags and directly attached policies; use supported `ALTER VIEW` changes or reapply and verify protection. The announced future metadata-preservation change is not the current contract.",
            "lab_update": "Tabletop a protected view replacement: inventory tags and direct/inherited policies, predict access, then identify post-change negative tests. Record Beta switch and runtime. Keep base-table/session-user behavior separate.",
            "readiness_update": "Is ABAC on ordinary views universally available? No; current support is Beta with explicit workspace/runtime requirements; metric views remain excluded.",
            "status": "proposed-only; coordinator decides and edits",
            "confidence": "Confirmed current requirements reconcile prior documentation gap; no policy SQL executed."
          }
        ],
        "immutable_guide_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-750-implementing-data-engineering-solutions-using-azure-databricks.md",
        "guide_lf_sha256": "dd3f611324dd93e61b5bc023f88db2bbb8e9e006a20d4d818960c4f62c97fe6d",
        "source_keys": [
          "databricks-cdf",
          "databricks-coming",
          "abac-metastore",
          "abac-requirements"
        ]
      }
    ],
    "unresolved_questions": [
      "AB210 same-page custom fields and Close stop semantics remain contradictory.",
      "AB650/MS102 second-year Backup restore-point cadence remains unspecified.",
      "WorkIQ generic retrieve lacks Dataverse support; don't turn separate Business Applications/Ask preview into universal MCP support.",
      "DP750 Beta view support is documented; workspace rollout and SQL execution remain unobserved.",
      "No third-party claims, course completeness or vendor assessment questions were inspected by this technical role."
    ],
    "proposed_sources": [
      {
        "id": "g01-20261028-external-update-policy",
        "title": "Update policy overview",
        "url": "https://learn.microsoft.com/en-us/kusto/management/update-policy?view=microsoft-fabric",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-700"
        ],
        "notes": "Targeted public body read on 2026-10-28. Visible update: 2026-09-23. Scope: Fabric-specific body68–113 and186–249; introductory boundary31–50; native transaction behavior307–321. ADX duplicated tab and sample appendix not used as Fabric behavior. External Delta update-policy preview is asynchronous and nontransactional; Remove actions are ignored, updates append versions, deletes persist; source RLS unsupported; owner identity controls execution. No live tenant/lab execution."
      },
      {
        "id": "g01-20261028-code-appinsights",
        "title": "Set up Azure App Insights for your code app",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/set-up-azure-app-insights",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400"
        ],
        "notes": "Targeted public body read on 2026-10-28. Visible update: not independently extracted in this read. Scope: Body31–119: startup-visibility limitation, SDK initialization, logger, telemetry key qualification and CSP. Remaining telemetry query/sample appendix not read. Application Insights starts after successful load; Monitor is required for startup failures. Telemetry-key envvar limitation is distinct from supported datasource envvars. No live tenant/lab execution."
      },
      {
        "id": "g01-20261028-workiq-settings",
        "title": "Business Applications in Work IQ default settings (preview)",
        "url": "https://learn.microsoft.com/en-us/power-platform/admin/business-applications-work-iq/default-settings",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400",
          "AB-210",
          "AB-650"
        ],
        "notes": "Targeted public body read on 2026-10-28. Visible update: 2026-10-21. Scope: Complete substantive body31–126: default dates, excluded environments, hierarchy, import effects and scope. Preview defaults apply new eligible production environments from September 30; existing environments planned November; nonproduction, EU/EFTA and government exceptions. Tenant/environment/app controls cascade. No live tenant/lab execution."
      },
      {
        "id": "g01-20261028-workiq-retrieve",
        "title": "Use the retrieve tool in Work IQ MCP",
        "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/work-iq/mcp/retrieve",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400",
          "AB-650"
        ],
        "notes": "Targeted public body read on 2026-10-28. Visible update: 2026-10-13. Scope: Complete substantive body31–296 including supported sources, delegated identity, dynamic schema, response and errors. Dataverse/PowerBI explicitly unsupported retrieval roadmap sources despite Dataverse schema name. Do not conflate retrieve with Business Applications or Ask APIs. No live tenant/lab execution."
      },
      {
        "id": "g01-20261028-dataverse-ask",
        "title": "Use Dataverse Ask APIs (preview)",
        "url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/ask/?bc=/power-platform/breadcrumb/TOC.json&toc=/power-platform/business-applications-work-iq/toc.json",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400"
        ],
        "notes": "Targeted public body read on 2026-10-28. Visible update: 2026-10-21. Scope: Complete substantive body31–81: model scope, structured+summary response, identity, API path and unsupported OData/SDK assumptions. Natural-language Dataverse API uses /api/iq/v1.0; not OData /api/data; no .NET/Python SDK client classes. Precise CRUD remains Web API. No live tenant/lab execution."
      },
      {
        "id": "g01-20261028-enclave-migration",
        "title": "Always Encrypted with Intel SGX enclaves migration guide",
        "url": "https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves-migration?view=sql-server-ver17",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-300"
        ],
        "notes": "Targeted public body read on 2026-10-28. Visible update: 2026-10-01. Scope: Body31–49,120–167: inventory, migration paths, client changes and validation. Inventory command examples viewed as text; not executed. SGX/DC end support October 31,2027; standard-series/VBS needs driver and None protocol; confidentialVM alternative has different security properties. No live tenant/lab execution."
      },
      {
        "id": "g01-20261028-foundry-mcp-auth",
        "title": "Set up authentication for MCP tools",
        "url": "https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/mcp-authentication",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400",
          "AI-500"
        ],
        "notes": "Targeted public body read on 2026-10-28. Visible update: not independently extracted in this read. Scope: Body31–196 and330–393 authentication decision table, key/user context, current identities, Frontier example and approval/consent. Language code sample appendix not fully reviewed. Connection creation, user OAuth consent and approval of one tool call are separate states. Shared credentials do not preserve user context. No live tenant/lab execution."
      },
      {
        "id": "g01-20261028-agent-mcp-dev",
        "title": "Use developer experiences to manage MCP servers",
        "url": "https://learn.microsoft.com/en-us/microsoft-agent-365/add-mcp-tools-developer-experiences",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400",
          "AB-650"
        ],
        "notes": "Targeted public body read on 2026-10-28. Visible update: 2026-10-13. Scope: Complete substantive body31–85; tooling versus build versus registration/direct-client operations. Developer guide separates consuming a server, composing a custom server from connectors/Dataverse custom APIs, and submitting BYO governance request. No live tenant/lab execution."
      }
    ],
    "validation": "JSON parsed successfully; proposed_sources validated against schemas/source-catalog.schema.json. No repository/site/lab execution claimed.",
    "catalog_comparison_bound_to": {
      "sources_sha256": "a25fab0d1752cbdf54e7bff98a60238b34c1f78a011a22c51e0ae45edcea183d",
      "candidates_sha256": "020d3f8aa8505e276c5030916cf6eceaad2b999622d900938cfddef9bd60a8be",
      "note": "Read current working catalogs without editing them. Canonical relocation matches are explicit aliases, not assumed identical client behavior."
    }
  },
  "learning_research": {
    "research_role": "Learning-resource researcher, group 01",
    "as_of": "2026-10-28",
    "scope": [
      "AB-210",
      "AB-650",
      "MS-102",
      "PL-400",
      "AI-500",
      "DP-300",
      "DP-420",
      "DP-600",
      "DP-700",
      "DP-750"
    ],
    "policies_read": [
      "CONTRIBUTING.md",
      "docs/CONTENT-POLICY.md",
      "docs/SOURCE-QUALITY.md",
      "docs/GUIDE-QUALITY-STANDARD.md",
      "docs/SOURCE-INTAKE.md"
    ],
    "input_review": [
      {
        "exam_code": "DP-300",
        "guide_path": "guides/DP-300-administering-microsoft-azure-sql-solutions.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-300-administering-microsoft-azure-sql-solutions.md",
        "guide_lf_sha256": "065ed60b29bbd2f267a7720aa7e49ab439d106d612dbb25d503d96feb64515d4",
        "line_count": 1089,
        "loaded_complete_characters": 108484,
        "verified_immutable_sha256": "065ed60b29bbd2f267a7720aa7e49ab439d106d612dbb25d503d96feb64515d4",
        "official_objective_sha256": "f9f0c06f1a6e639035fd75d0db063dd6edcb30f50079e5a5157255ed4408ae57",
        "all_external_url_count": 75,
        "exact_catalog_match_count": 75,
        "exam_association_count": 75,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "DP-420",
        "guide_path": "guides/DP-420-designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-420-designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db.md",
        "guide_lf_sha256": "7494e1a8bd331bcb62a9cd4701c383bb32496d9d5bbfce710972af696347e53b",
        "line_count": 1121,
        "loaded_complete_characters": 106380,
        "verified_immutable_sha256": "7494e1a8bd331bcb62a9cd4701c383bb32496d9d5bbfce710972af696347e53b",
        "official_objective_sha256": "f796c1974699f0196b5e60e449409ceb3ccf9cf17b99e92206a1913d220ae351",
        "all_external_url_count": 92,
        "exact_catalog_match_count": 92,
        "exam_association_count": 93,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "DP-750",
        "guide_path": "guides/DP-750-implementing-data-engineering-solutions-using-azure-databricks.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-750-implementing-data-engineering-solutions-using-azure-databricks.md",
        "guide_lf_sha256": "dd3f611324dd93e61b5bc023f88db2bbb8e9e006a20d4d818960c4f62c97fe6d",
        "line_count": 995,
        "loaded_complete_characters": 91859,
        "verified_immutable_sha256": "dd3f611324dd93e61b5bc023f88db2bbb8e9e006a20d4d818960c4f62c97fe6d",
        "official_objective_sha256": "d44f3f814718f33dd69dd72f48381609f4cde30d0b5c9fe1656380223fb2571e",
        "all_external_url_count": 72,
        "exact_catalog_match_count": 72,
        "exam_association_count": 72,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "DP-600",
        "guide_path": "guides/DP-600-implementing-analytics-solutions-microsoft-fabric.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-600-implementing-analytics-solutions-microsoft-fabric.md",
        "guide_lf_sha256": "49098f811ce39e0e10c533e826c533d2aa743e4f1e43f7b0022e2739224ccf0a",
        "line_count": 372,
        "loaded_complete_characters": 42664,
        "verified_immutable_sha256": "49098f811ce39e0e10c533e826c533d2aa743e4f1e43f7b0022e2739224ccf0a",
        "official_objective_sha256": "43cf6ad72e66be7ce72a39c58f1e2fcd40b66f4768ca14a399b2e99846449fff",
        "all_external_url_count": 34,
        "exact_catalog_match_count": 40,
        "exam_association_count": 33,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "AI-500",
        "guide_path": "guides/AI-500-designing-implementing-multi-agent-ai-solutions.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/AI-500-designing-implementing-multi-agent-ai-solutions.md",
        "guide_lf_sha256": "ec362f9caebe568c783fc5c144c7d2aa2d96ef93b650f5517fcc8c4ae0f1af80",
        "line_count": 907,
        "loaded_complete_characters": 87138,
        "verified_immutable_sha256": "ec362f9caebe568c783fc5c144c7d2aa2d96ef93b650f5517fcc8c4ae0f1af80",
        "official_objective_sha256": "498ed5ca3e5f1ac958dedea4b84cb33a34a8ff0f5aa239540fd7283bc41360e8",
        "all_external_url_count": 42,
        "exact_catalog_match_count": 42,
        "exam_association_count": 42,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "MS-102",
        "guide_path": "guides/MS-102-microsoft-365-administrator.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/MS-102-microsoft-365-administrator.md",
        "guide_lf_sha256": "5a3823b062cb0c00372014c6e2dbfc7764d5614db3a67688efe8c2a2ab8a2536",
        "line_count": 550,
        "loaded_complete_characters": 75396,
        "verified_immutable_sha256": "5a3823b062cb0c00372014c6e2dbfc7764d5614db3a67688efe8c2a2ab8a2536",
        "official_objective_sha256": "97ce6b34e98fb43947409e8b7997f3de72e6cae7a62102dfdea849bfb177c92a",
        "all_external_url_count": 81,
        "exact_catalog_match_count": 87,
        "exam_association_count": 82,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "AB-650",
        "guide_path": "guides/AB-650-ai-services-administrator-associate.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/AB-650-ai-services-administrator-associate.md",
        "guide_lf_sha256": "450bf5aa602ee58913305c33beaeb19e058522cce1e2fb79afc7bfeb3312b55d",
        "line_count": 548,
        "loaded_complete_characters": 76475,
        "verified_immutable_sha256": "450bf5aa602ee58913305c33beaeb19e058522cce1e2fb79afc7bfeb3312b55d",
        "official_objective_sha256": "e70d10682f078cb6887f7dde679f56661e63dfeabb221779f6b0ff4ab08bdf1a",
        "all_external_url_count": 52,
        "exact_catalog_match_count": 58,
        "exam_association_count": 46,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "DP-700",
        "guide_path": "guides/DP-700-implementing-data-engineering-solutions-microsoft-fabric.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/DP-700-implementing-data-engineering-solutions-microsoft-fabric.md",
        "guide_lf_sha256": "a144c4e76fa45b34d93a97d5cf845bebdda1fc0398e53edcddc2f1c9dc0cea47",
        "line_count": 486,
        "loaded_complete_characters": 56259,
        "verified_immutable_sha256": "a144c4e76fa45b34d93a97d5cf845bebdda1fc0398e53edcddc2f1c9dc0cea47",
        "official_objective_sha256": "536a8f75830b0951502232b8b1a811524d000a7edf7a745613f46462f7dd3fc5",
        "all_external_url_count": 47,
        "exact_catalog_match_count": 53,
        "exam_association_count": 47,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "PL-400",
        "guide_path": "guides/PL-400-microsoft-power-platform-developer.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/PL-400-microsoft-power-platform-developer.md",
        "guide_lf_sha256": "fc2245581a0f3ae0e94b51d36e836b6c2c5762941daf5a2eb083387340f300e3",
        "line_count": 498,
        "loaded_complete_characters": 62939,
        "verified_immutable_sha256": "fc2245581a0f3ae0e94b51d36e836b6c2c5762941daf5a2eb083387340f300e3",
        "official_objective_sha256": "facfff59976de5c12e31c20f17ad072c6255f1324c9a55419788d6ee70a825d1",
        "all_external_url_count": 48,
        "exact_catalog_match_count": 54,
        "exam_association_count": 48,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      },
      {
        "exam_code": "AB-210",
        "guide_path": "guides/AB-210-accelerating-sales-pipelines-ai-dynamics-365.md",
        "immutable_input_path": ".maintenance/2026-10-28-remaining-refresh/group-01/before/guides/AB-210-accelerating-sales-pipelines-ai-dynamics-365.md",
        "guide_lf_sha256": "e666ce5f85d97391a2caee589f7f59c8be512479fc545513e1aac45fb446671f",
        "line_count": 446,
        "loaded_complete_characters": 56833,
        "verified_immutable_sha256": "e666ce5f85d97391a2caee589f7f59c8be512479fc545513e1aac45fb446671f",
        "official_objective_sha256": "2595badf528595419ed8da12bf5aed577d899ee8772123a0b1e40d1c2eac0f83",
        "all_external_url_count": 46,
        "exact_catalog_match_count": 52,
        "exam_association_count": 48,
        "candidate_matches": [],
        "semantic_read_scope": "Learning sections, objective maps, labs and readiness/answer material; all remaining prose indexed, not independently revalidated."
      }
    ],
    "method": "Complete immutable guide files were decoded and indexed for headings, all URLs, exact source matches and exam associations; manual learning review concentrated on Places to learn, objectives, original labs and readiness/answer sections. Complete technical prose was not independently revalidated by this learning-resource pass. Current public pages were opened with web search/open/click and targeted HTTPS GET; the latter recovered three Cosmos blog bodies that web open blocked. No whole-library collector was launched. See learning-local-inventory.json and learning-web-bodies.json for complete extraction/captures.",
    "review_boundary": "Public prose, outlines, lab instructions and license notices only. No paid lesson/question access, video playback, training attendance, downloadable notebook inspection, script installation, cloud service call, tenant configuration or product/lab execution. HTTP success alone is not source validation. Course outlines do not define exam scope. All exercise suggestions below are original, unexecuted learner tasks.",
    "prior_evidence_inspected": [
      ".maintenance/2026-10-28-microsoft-refresh/learning-research.json",
      ".maintenance/2026-10-28-remaining-refresh/group-01/objective-report.json"
    ],
    "resources": [
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-210t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/ab-210t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/ab-210t00",
        "title": "Course AB-210T00-A: Accelerate sales pipelines with AI in Dynamics 365",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "AB-210"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2026-07-30T20:53:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "3498df2ac28af7922d54e9a0b5990e77dbbfb59a30d04040b1fd283eb7556d83",
        "citation_claim": "Lead-to-cash configuration and AI-enhanced seller workflows; current exact course name and three-day instructor-led duration.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ab-210-course"
        ],
        "catalog_association_matches": {
          "ab-210-course": [
            "AB-210"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "3 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-650t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/ab-650t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/ab-650t00",
        "title": "Course AB-650T00-A: Administer Microsoft 365 and AI services",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "AB-650"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2026-10-21T20:00:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "d9a00e276d54538d42e3541b886db2e72b0979ba79aa44b70a793def9999e0ee",
        "citation_claim": "Public course page states available November 13, 2026; three-day instructor-led duration. A live occurrence was not verified.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ab-650-official-course"
        ],
        "catalog_association_matches": {
          "ab-650-official-course": [
            "AB-650",
            "MS-102"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "3 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ms-102t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/ms-102t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/ms-102t00",
        "title": "Course MS-102T00-A: Microsoft 365 Administrator",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "MS-102"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2024-06-03T16:53:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "ac8b586b6fa5ffa663addf2ba8db0ef4f9dedd1a1c9eca20ff7cdef40d1641d5",
        "citation_claim": "Current course outline still lists five days; tenant management, identity synchronization, security and compliance.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ms-102-instructor-course"
        ],
        "catalog_association_matches": {
          "ms-102-instructor-course": [
            "MS-102"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "5 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/pl-400t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/pl-400t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/pl-400t00",
        "title": "Course PL-400T00-A: Microsoft Power Platform Developer",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "PL-400"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2025-03-04T16:42:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "543f2938282e8b2eeed828a019e868ed62f5d29c0d96653848d1cfe9a00123aa",
        "citation_claim": "Current course outline still lists five days and developer prerequisites including C#/JavaScript and existing app/flow knowledge.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "pl-400-course"
        ],
        "catalog_association_matches": {
          "pl-400-course": [
            "PL-400"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "5 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ai-500t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/ai-500t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/ai-500t00",
        "title": "Course AI-500T00-A: Design and implement multi-agent AI solutions",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "AI-500"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2026-09-29T15:19:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "753c798cf30ab7192153f3ad28b32045608aa3c653b464d33a7389b725f99392",
        "citation_claim": "Current advanced course lists four days; architecture, tools, orchestration, monitoring, security and governance. No future availability notice in the inspected overview.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ai-500-course"
        ],
        "catalog_association_matches": {
          "ai-500-course": [
            "AI-500"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "4 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-300t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/dp-300t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-300t00",
        "title": "Course DP-300T00-A: Implement scalable database solutions using Azure SQL",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "DP-300"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2026-07-06T20:03:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "6cb0acd10724d530188395093b9cfc72ca16fce3cf3c7c23d283d8709de40405",
        "citation_claim": "Current exact course name is Implement scalable database solutions using Azure SQL; four published instructor-led days.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-300-official-course"
        ],
        "catalog_association_matches": {
          "dp-300-official-course": [
            "DP-300"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "4 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-420t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/dp-420t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-420t00",
        "title": "Course DP-420T00-A: Build AI applications with Azure Cosmos DB",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "DP-420"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2026-10-14T20:34:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "0065796d2f34b9f9edff22db575cde681e28065fb5acc0b8c3f3b58e3e67892e",
        "citation_claim": "Current exact course name is Build AI applications with Azure Cosmos DB; four published instructor-led days and NoSQL SDK/AI-app focus.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-420-official-course"
        ],
        "catalog_association_matches": {
          "dp-420-official-course": [
            "DP-420"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "4 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-600t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/dp-600t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-600t00",
        "title": "Course DP-600T00-A: Implement analytics solutions using Microsoft Fabric",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "DP-600"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2026-07-06T20:03:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "678ec84a514f2f75459d5da441f3e232e0b7b3fe050d10fe06712d21e233d73c",
        "citation_claim": "Four-day outline now explicitly mentions dimensional models, dataflows/notebooks/T-SQL, lakehouses/warehouses/eventhouses, semantic models and governance.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-600-course"
        ],
        "catalog_association_matches": {
          "dp-600-course": [
            "DP-600"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "4 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-700t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/dp-700t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-700t00",
        "title": "Course DP-700T00-A: Implement data engineering solutions using Microsoft Fabric",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "DP-700"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2026-06-17T19:21:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "de2ae5168d320447734a607af31bc8f331324f6598d2b43b2789392095100241",
        "citation_claim": "Four-day outline covers loading patterns, architecture, orchestration, ingestion/transformation, security and monitoring.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-700-course"
        ],
        "catalog_association_matches": {
          "dp-700-course": [
            "DP-700"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "4 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-750t00",
        "opened_urls": [
          "https://learn.microsoft.com/en-us/training/courses/dp-750t00"
        ],
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-750t00",
        "title": "Course DP-750T00-A: Implement data engineering solutions using Azure Databricks",
        "publisher": "Microsoft Learn",
        "author": null,
        "affected_exams": [
          "DP-750"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "updated_at",
            "value": "2026-06-22T22:28:00Z"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "eb4bed4d1bbe66414da209a7713c8455b9bd0032558e0a12ed6ef3076c87230a",
        "citation_claim": "Four-day outline covers workspace setup, Unity Catalog security/governance and optimized production workloads; SQL/Python, Azure security and Git prerequisites.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-750-official-course"
        ],
        "catalog_association_matches": {
          "dp-750-official-course": [
            "DP-750"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher instructor-led duration",
          "value": "4 days",
          "basis": "At a glance on exact opened course page"
        },
        "strengths": "Specific first-party curriculum route tied to this course code.",
        "gaps": "Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer",
        "opened_urls": [
          "https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer"
        ],
        "final_url": "https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer",
        "title": "MicrosoftLearning PL-400 course labs",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "PL-400"
        ],
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": null,
        "response_sha256": null,
        "citation_claim": "Current public repository still publishes official course exercises and declares MIT licensing. Its README says content can change outside the course release schedule.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "pl-400-official-labs"
        ],
        "catalog_association_matches": {
          "pl-400-official-labs": [
            "PL-400"
          ]
        },
        "candidate_match_ids": [],
        "duration": null,
        "strengths": "",
        "gaps": "README and public repository metadata inspected; no individual lab or lesson accuracy claim. Existing about 15–30hour planning range remains editorial and was not independently measured.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.pluralsight.com/paths/microsoft-certified-azure-database-administrator-associate",
        "opened_urls": [
          "https://www.pluralsight.com/paths/microsoft-certified-azure-database-administrator-associate"
        ],
        "final_url": "https://www.pluralsight.com/paths/microsoft-certified-azure-database-administrator-associate",
        "title": "Azure Database Administrator Associate (DP-300)",
        "publisher": "Pluralsight",
        "author": "Lars Klint, Reza Salehi, Deepak Goyal, Emilio Melo",
        "affected_exams": [
          "DP-300"
        ],
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "cludo:date",
            "value": "2026-09-14T21:21:38.068Z"
          },
          {
            "name": "be:timer",
            "value": "47ms"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "8456761b59322db5213c0a8dbe89f1b0740a1d7de0bad54f9cbeb3b96f0abef8",
        "citation_claim": "5 courses; 9h11m from listed courses plus a 30-minute lab; header rounds to 10 hours. Course dates October 2025–September 2026. No dedicated planning/deployment course title is shown.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-300-pluralsight-path"
        ],
        "catalog_association_matches": {
          "dp-300-pluralsight-path": [
            "DP-300"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher public listing",
          "value": "9h11m + 30m lab",
          "basis": "Visible individual course/runtime listings; no video playback"
        },
        "strengths": "Named-author structured alternative for learners who prefer narrated explanations.",
        "gaps": "Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.pluralsight.com/paths/designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db-dp-420",
        "opened_urls": [
          "https://www.pluralsight.com/paths/designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db-dp-420"
        ],
        "final_url": "https://www.pluralsight.com/paths/designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db-dp-420",
        "title": "Designing and Implementing Cloud-Native Applications using Microsoft Azure Cosmos DB (DP-420)",
        "publisher": "Pluralsight",
        "author": "Mohit Batra, JS Padoan, Rudi Bruchez, Smit Shah",
        "affected_exams": [
          "DP-420"
        ],
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "cludo:date",
            "value": "2026-01-14T16:33:38.837Z"
          },
          {
            "name": "be:timer",
            "value": "56ms"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "d4a88beda519e2d6057f028aa6d5e6ef991109831397e30d42110efb01da3312",
        "citation_claim": "5 courses; 8h32m summed runtimes, header rounds to 9 hours. Latest displayed course January 14, 2026. Visible five-domain structure predates October AI scope.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-420-designing-and-implementing-cloud-native-applications-using-microsoft-a"
        ],
        "catalog_association_matches": {
          "dp-420-designing-and-implementing-cloud-native-applications-using-microsoft-a": [
            "DP-420"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher public listing",
          "value": "9 hours (header; individual courses sum 8h32m)",
          "basis": "Visible individual course/runtime listings; no video playback"
        },
        "strengths": "Named-author structured alternative for learners who prefer narrated explanations.",
        "gaps": "Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.pluralsight.com/paths/implementing-analytics-solutions-using-microsoft-fabric-dp-600",
        "opened_urls": [
          "https://www.pluralsight.com/paths/implementing-analytics-solutions-using-microsoft-fabric-dp-600"
        ],
        "final_url": "https://www.pluralsight.com/paths/implementing-analytics-solutions-using-microsoft-fabric-dp-600",
        "title": "Implementing Analytics Solutions Using Microsoft Fabric (DP-600)",
        "publisher": "Pluralsight",
        "author": "Ben Weissman, Matt Stenzel, Mohit Batra, Nikola Ilic, Thomas LeBlanc",
        "affected_exams": [
          "DP-600"
        ],
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "cludo:date",
            "value": "2024-07-23T19:22:48.213Z"
          },
          {
            "name": "be:timer",
            "value": "46ms"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "44015a2ab4d52b11fed038369ee45dc993bf3fa7419406be709a8cef710507b1",
        "citation_claim": "5 courses; 7h26m summed runtimes, header rounds to 7 hours; March–July 2024 dates. Visible old four-domain headings need October 2026 reconciliation.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-600-pluralsight"
        ],
        "catalog_association_matches": {
          "dp-600-pluralsight": [
            "DP-600"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher public listing",
          "value": "7 hours (header; individual courses sum 7h26m)",
          "basis": "Visible individual course/runtime listings; no video playback"
        },
        "strengths": "Named-author structured alternative for learners who prefer narrated explanations.",
        "gaps": "Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.pluralsight.com/paths/implementing-data-engineering-solutions-using-microsoft-fabric-dp-700",
        "opened_urls": [
          "https://www.pluralsight.com/paths/implementing-data-engineering-solutions-using-microsoft-fabric-dp-700"
        ],
        "final_url": "https://www.pluralsight.com/paths/implementing-data-engineering-solutions-using-microsoft-fabric-dp-700",
        "title": "Implementing Data Engineering Solutions Using Microsoft Fabric (DP-700)",
        "publisher": "Pluralsight",
        "author": "Matt Stenzel, Nikola Ilic, Thomas LeBlanc",
        "affected_exams": [
          "DP-700"
        ],
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "cludo:date",
            "value": "2026-04-06T17:14:28.514Z"
          },
          {
            "name": "be:timer",
            "value": "41ms"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "f7b27d9e0bdb904d625d6ebad57bf9691aef0149ff82d101c8c78f548a71d343",
        "citation_claim": "3 courses; individual runtimes total 6h15m, header6 hours; June–July 2025 dates. Supplement current OneLake/runtime/lifecycle/monitoring behavior.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-700-pluralsight"
        ],
        "catalog_association_matches": {
          "dp-700-pluralsight": [
            "DP-700"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher public listing",
          "value": "6h15m (listed courses; header6h)",
          "basis": "Visible individual course/runtime listings; no video playback"
        },
        "strengths": "Named-author structured alternative for learners who prefer narrated explanations.",
        "gaps": "Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.pluralsight.com/paths/microsoft-power-platform-developer-pl-400",
        "opened_urls": [
          "https://www.pluralsight.com/paths/microsoft-power-platform-developer-pl-400"
        ],
        "final_url": "https://www.pluralsight.com/paths/microsoft-power-platform-developer-pl-400",
        "title": "Microsoft Power Platform Developer (PL-400)",
        "publisher": "Pluralsight",
        "author": "Hugo Barona, Vishwas Lele, Divyani Rajani, Nikola Ilic, Vlad Catrinescu",
        "affected_exams": [
          "PL-400"
        ],
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "cludo:date",
            "value": "2024-09-03T16:39:46.147Z"
          },
          {
            "name": "be:timer",
            "value": "40ms"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "2450401eca92a581e5d155deb3bc70535ffbab78178e9b5f6e9f01beda249441",
        "citation_claim": "9 courses; listed runtimes total14h58m, header15 hours, dated2022–2023. Body incorrectly calls PL-400 App Maker; official blueprint remains authoritative.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "pl-400-pluralsight"
        ],
        "catalog_association_matches": {
          "pl-400-pluralsight": [
            "PL-400"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher public listing",
          "value": "15 hours (header; listed courses 14h58m)",
          "basis": "Visible individual course/runtime listings; no video playback"
        },
        "strengths": "Named-author structured alternative for learners who prefer narrated explanations.",
        "gaps": "Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.pluralsight.com/paths/microsoft-365-certified-administrator-expert-microsoft-365-administrator-ms-102",
        "opened_urls": [
          "https://www.pluralsight.com/paths/microsoft-365-certified-administrator-expert-microsoft-365-administrator-ms-102"
        ],
        "final_url": "https://www.pluralsight.com/paths/microsoft-365-certified-administrator-expert-microsoft-365-administrator-ms-102",
        "title": "Microsoft 365 Certified: Administrator Expert (Microsoft 365 Administrator MS-102)",
        "publisher": "Pluralsight",
        "author": "Matt Allford, Neil Morrissey, Liam Cleary",
        "affected_exams": [
          "MS-102"
        ],
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "cludo:date",
            "value": "2025-12-10T19:53:07.756Z"
          },
          {
            "name": "be:timer",
            "value": "43ms"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "19cf81fcfef68bda86c139d3c1a4a1412965e3a99c11b0feae98f08a2728de06",
        "citation_claim": "5 courses; individual runtimes total7h44m, header8 hours; June–December 2025 dates. Current April 2026 coverage and paid lessons unverified.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ms102-pluralsight"
        ],
        "catalog_association_matches": {
          "ms102-pluralsight": [
            "MS-102"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher public listing",
          "value": "7h44m (listed courses; header8h)",
          "basis": "Visible individual course/runtime listings; no video playback"
        },
        "strengths": "Named-author structured alternative for learners who prefer narrated explanations.",
        "gaps": "Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.pluralsight.com/courses/microsoft-foundry-building-intelligent-applications",
        "opened_urls": [
          "https://www.pluralsight.com/courses/microsoft-foundry-building-intelligent-applications"
        ],
        "final_url": "https://www.pluralsight.com/courses/microsoft-foundry-building-intelligent-applications",
        "title": "Building Intelligent Applications with Microsoft Foundry",
        "publisher": "Pluralsight",
        "author": "Clint Bonnett",
        "affected_exams": [
          "AI-500"
        ],
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "publish-date",
            "value": "Fri Feb 13, 2026 18:37:30 UTC"
          },
          {
            "name": "display-date-formatted",
            "value": "2026-01-15T00:00:00.000Z"
          },
          {
            "name": "updated-date",
            "value": "2026-02-13T00:00:00.000Z"
          },
          {
            "name": "cludo:date",
            "value": "2026-02-13T18:37:30Z"
          },
          {
            "name": "be:timer",
            "value": "59ms"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "553189378952e4a19aa5b1a2937f2708cea96f4b6a9eef1c62c338457dabb97e",
        "citation_claim": "Beginner course, 1h02m, last updated February 13, 2026. Public syllabus covers retrieval-ready knowledge, workflow follow-ups, evaluation and responsible AI; not complete AI-500 preparation.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ai-500-pluralsight-building-intelligent-applications"
        ],
        "catalog_association_matches": {
          "ai-500-pluralsight-building-intelligent-applications": [
            "AI-500"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher public listing",
          "value": "1h02m",
          "basis": "Visible individual course/runtime listings; no video playback"
        },
        "strengths": "Named-author structured alternative for learners who prefer narrated explanations.",
        "gaps": "Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.pluralsight.com/courses/azure-databricks-data-lake-manage-data",
        "opened_urls": [
          "https://www.pluralsight.com/courses/azure-databricks-data-lake-manage-data"
        ],
        "final_url": "https://www.pluralsight.com/courses/azure-databricks-data-lake-manage-data",
        "title": "Manage Data with Azure Databricks and Azure Data Lake",
        "publisher": "Pluralsight",
        "author": "Bismark Adomako",
        "affected_exams": [
          "DP-750"
        ],
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "publish-date",
            "value": "Wed Jul 23, 2025 16:35:28 UTC"
          },
          {
            "name": "display-date-formatted",
            "value": "2025-04-22T00:00:00.000Z"
          },
          {
            "name": "updated-date",
            "value": "2025-07-23T00:00:00.000Z"
          },
          {
            "name": "cludo:date",
            "value": "2025-07-23T16:35:28Z"
          },
          {
            "name": "be:timer",
            "value": "56ms"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "c2fbac42e1344e91ddbbc92297fe284566c25deab82fbfacfa5d1765af7517e5",
        "citation_claim": "Intermediate course, 1h39m, last updated July 23, 2025. Public outline covers ADLS, identities, Key Vault, Auto Loader, Delta and sharing; mount/credential-passthrough headings require reconciliation.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp-750-pluralsight-manage-data-with-azure-databricks-and-azure-data-lake"
        ],
        "catalog_association_matches": {
          "dp-750-pluralsight-manage-data-with-azure-databricks-and-azure-data-lake": [
            "DP-750"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher public listing",
          "value": "1h39m",
          "basis": "Visible individual course/runtime listings; no video playback"
        },
        "strengths": "Named-author structured alternative for learners who prefer narrated explanations.",
        "gaps": "Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/",
        "opened_urls": [
          "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/"
        ],
        "final_url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/",
        "title": "AB-650 hands-on labs",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "AB-650"
        ],
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "9baa793975d4ccfb0289a68f2116184375457f06e6b152552658bf35a8d5647a",
        "citation_claim": "Seven ordered labs totaling450 published minutes; prepared Microsoft 365E7 tenant, seeded people/data/agents; no Azure subscription required.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher lab estimate",
          "value": "450 minutes",
          "basis": "Written lab/index; setup/retries and deeper independent work need extra time"
        },
        "strengths": "Specific first-party written practice with inspectable deliverables; narrower and more useful than a channel homepage.",
        "gaps": "A public instruction set does not supply a free E7 tenant; sequential dependencies and hosted-environment preparation must be checked.",
        "licensing": "MIT repository LICENSE inspected: Microsoft copyright2024 for AB-650/DP-750, 2023 for mslearn-fabric. Link/attribute and use original exercises; preserve notices if copying substantial repository material.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "promote narrowly scoped written-lab resource",
        "proposed_source_metadata": {
          "id": "ab-650-official-lab-index",
          "title": "AB-650 hands-on labs",
          "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/",
          "publisher": "MicrosoftLearning",
          "authority_class": 3,
          "source_type": "hands-on-lab",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-650"
          ],
          "notes": "October 28, 2026 learning-resource review: Seven ordered labs totaling450 published minutes; prepared Microsoft 365E7 tenant, seeded people/data/agents; no Azure subscription required. A public instruction set does not supply a free E7 tenant; sequential dependencies and hosted-environment preparation must be checked. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        },
        "license_evidence_urls": [
          "https://github.com/MicrosoftLearning/AB-650T00_administer_microsoft_365_and_ai_services/blob/main/LICENSE"
        ]
      },
      {
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html",
        "opened_urls": [
          "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html"
        ],
        "final_url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html",
        "title": "Get started with the AB-650 labs",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "AB-650"
        ],
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "4f1ce93ccf7c30b1a81f604bf413f1c8f789fc018964648763c5971d7adffc2c",
        "citation_claim": "Prepared E7 tenant uses two workstations and read-only AllFiles drive; sample evidence is explicitly distinguished from live events, and pending results must be timestamped.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial estimate",
          "value": "About 15–25 minutes editorial preparation review",
          "basis": "Written lab/index; setup/retries and deeper independent work need extra time"
        },
        "strengths": "Specific first-party written practice with inspectable deliverables; narrower and more useful than a channel homepage.",
        "gaps": "Time is an editorial reading estimate; provisioning and licensing time excluded.",
        "licensing": "MIT repository LICENSE inspected: Microsoft copyright2024 for AB-650/DP-750, 2023 for mslearn-fabric. Link/attribute and use original exercises; preserve notices if copying substantial repository material.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "promote narrowly scoped written-lab resource",
        "proposed_source_metadata": {
          "id": "ab-650-official-lab-environment",
          "title": "Get started with the AB-650 labs",
          "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html",
          "publisher": "MicrosoftLearning",
          "authority_class": 3,
          "source_type": "hands-on-lab",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-650"
          ],
          "notes": "October 28, 2026 learning-resource review: Prepared E7 tenant uses two workstations and read-only AllFiles drive; sample evidence is explicitly distinguished from live events, and pending results must be timestamped. Time is an editorial reading estimate; provisioning and licensing time excluded. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        },
        "license_evidence_urls": [
          "https://github.com/MicrosoftLearning/AB-650T00_administer_microsoft_365_and_ai_services/blob/main/LICENSE"
        ]
      },
      {
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/LP3/07-govern-agents-operate-ai.html",
        "opened_urls": [
          "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/LP3/07-govern-agents-operate-ai.html"
        ],
        "final_url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/LP3/07-govern-agents-operate-ai.html",
        "title": "Lab 7: Govern agents and operate AI services",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "AB-650"
        ],
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "164f4237942d138bc47f7396fd2353593553a65ce8e1ee5515dddec5b656987a",
        "citation_claim": "85-minute lab distinguishes identity ownership/sponsorship, registry curation, tool approval, agent ownership and usage evidence. Conditional Access stays report-only.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher lab estimate",
          "value": "85 minutes",
          "basis": "Written lab/index; setup/retries and deeper independent work need extra time"
        },
        "strengths": "Specific first-party written practice with inspectable deliverables; narrower and more useful than a channel homepage.",
        "gaps": "Requires prior labs and seeded E7 state. It is a training walkthrough, not independent confirmation of every preview UI or propagation delay.",
        "licensing": "MIT repository LICENSE inspected: Microsoft copyright2024 for AB-650/DP-750, 2023 for mslearn-fabric. Link/attribute and use original exercises; preserve notices if copying substantial repository material.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "promote narrowly scoped written-lab resource",
        "proposed_source_metadata": {
          "id": "ab-650-official-agent-governance-lab",
          "title": "Lab 7: Govern agents and operate AI services",
          "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/LP3/07-govern-agents-operate-ai.html",
          "publisher": "MicrosoftLearning",
          "authority_class": 3,
          "source_type": "hands-on-lab",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-650"
          ],
          "notes": "October 28, 2026 learning-resource review: 85-minute lab distinguishes identity ownership/sponsorship, registry curation, tool approval, agent ownership and usage evidence. Conditional Access stays report-only. Requires prior labs and seeded E7 state. It is a training walkthrough, not independent confirmation of every preview UI or propagation delay. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        },
        "license_evidence_urls": [
          "https://github.com/MicrosoftLearning/AB-650T00_administer_microsoft_365_and_ai_services/blob/main/LICENSE"
        ]
      },
      {
        "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/",
        "opened_urls": [
          "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/"
        ],
        "final_url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/",
        "title": "DP-750 Microsoft lab exercises",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "DP-750"
        ],
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "99b78fc8b60482872316ff346414d64c687623064cd3ec7ef9e44e4e926beafa",
        "citation_claim": "Setup15 min, 13 numbered exercises totaling540 min, and cleanup5 min:560 min(9h20) published estimates overall. Current outline includes Genie Code, Unity Catalog, Lakeflow, quality, tests, bundles and Spark diagnostics.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher lab estimate",
          "value": "9h20m summed publisher estimates",
          "basis": "Written lab/index; setup/retries and deeper independent work need extra time"
        },
        "strengths": "Specific first-party written practice with inspectable deliverables; narrower and more useful than a channel homepage.",
        "gaps": "Workspace/subscription/compute can incur charges; durations assume a prepared environment. GenAI prompts and notebooks were not executed.",
        "licensing": "MIT repository LICENSE inspected: Microsoft copyright2024 for AB-650/DP-750, 2023 for mslearn-fabric. Link/attribute and use original exercises; preserve notices if copying substantial repository material.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "promote narrowly scoped written-lab resource",
        "proposed_source_metadata": {
          "id": "dp-750-official-labs",
          "title": "DP-750 Microsoft lab exercises",
          "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/",
          "publisher": "MicrosoftLearning",
          "authority_class": 3,
          "source_type": "hands-on-lab",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "DP-750"
          ],
          "notes": "October 28, 2026 learning-resource review: Setup15 min, 13 numbered exercises totaling540 min, and cleanup5 min:560 min(9h20) published estimates overall. Current outline includes Genie Code, Unity Catalog, Lakeflow, quality, tests, bundles and Spark diagnostics. Workspace/subscription/compute can incur charges; durations assume a prepared environment. GenAI prompts and notebooks were not executed. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        },
        "license_evidence_urls": [
          "https://github.com/MicrosoftLearning/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/blob/main/LICENSE"
        ]
      },
      {
        "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/12-implement-development-lifecycle-processes-in-azure-databricks.html",
        "opened_urls": [
          "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/12-implement-development-lifecycle-processes-in-azure-databricks.html"
        ],
        "final_url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/12-implement-development-lifecycle-processes-in-azure-databricks.html",
        "title": "Lab 12: Implement Development Lifecycle Processes in Azure Databricks",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "DP-750"
        ],
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "896de36b4719fac27863d1743d8d1f043d360354ac9152346ef594a8c920e616",
        "citation_claim": "Index estimates45 min. Written lab separates notebook pytest from local PowerShell CLI validation, plan, deploy, summary and optional destroy; its deployed notebook files are placeholders.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher lab estimate",
          "value": "45 minutes from lab index",
          "basis": "Written lab/index; setup/retries and deeper independent work need extra time"
        },
        "strengths": "Specific first-party written practice with inspectable deliverables; narrower and more useful than a channel homepage.",
        "gaps": "Placeholder deployment does not prove the transformation is implemented or tested in the deployed job; Premium workspace/serverless and CLI prerequisites apply.",
        "licensing": "MIT repository LICENSE inspected: Microsoft copyright2024 for AB-650/DP-750, 2023 for mslearn-fabric. Link/attribute and use original exercises; preserve notices if copying substantial repository material.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "promote narrowly scoped written-lab resource",
        "proposed_source_metadata": {
          "id": "dp-750-official-development-lifecycle-lab",
          "title": "Lab 12: Implement Development Lifecycle Processes in Azure Databricks",
          "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/12-implement-development-lifecycle-processes-in-azure-databricks.html",
          "publisher": "MicrosoftLearning",
          "authority_class": 3,
          "source_type": "hands-on-lab",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "DP-750"
          ],
          "notes": "October 28, 2026 learning-resource review: Index estimates45 min. Written lab separates notebook pytest from local PowerShell CLI validation, plan, deploy, summary and optional destroy; its deployed notebook files are placeholders. Placeholder deployment does not prove the transformation is implemented or tested in the deployed job; Premium workspace/serverless and CLI prerequisites apply. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        },
        "license_evidence_urls": [
          "https://github.com/MicrosoftLearning/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/blob/main/LICENSE"
        ]
      },
      {
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html",
        "opened_urls": [
          "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html"
        ],
        "final_url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html",
        "title": "Secure data access in Microsoft Fabric",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "DP-600",
          "DP-700"
        ],
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "b1d52bb1a727827523b1fb789b53111b92ec5b807cf67663d576785409636bf9",
        "citation_claim": "45-minute walkthrough contrasts workspace Viewer, item permissions and OneLake table access using two personas; paid or trial Fabric capacity required.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher lab estimate",
          "value": "45 minutes",
          "basis": "Written lab/index; setup/retries and deeper independent work need extra time"
        },
        "strengths": "Specific first-party written practice with inspectable deliverables; narrower and more useful than a channel homepage.",
        "gaps": "Skipping the second identity permits a reading walkthrough but does not prove a denied access path. Product documentation governs current enforcement.",
        "licensing": "MIT repository LICENSE inspected: Microsoft copyright2024 for AB-650/DP-750, 2023 for mslearn-fabric. Link/attribute and use original exercises; preserve notices if copying substantial repository material.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "promote narrowly scoped written-lab resource",
        "proposed_source_metadata": {
          "id": "fabric-official-secure-data-access-lab",
          "title": "Secure data access in Microsoft Fabric",
          "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html",
          "publisher": "MicrosoftLearning",
          "authority_class": 3,
          "source_type": "hands-on-lab",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "DP-600",
            "DP-700"
          ],
          "notes": "October 28, 2026 learning-resource review: 45-minute walkthrough contrasts workspace Viewer, item permissions and OneLake table access using two personas; paid or trial Fabric capacity required. Skipping the second identity permits a reading walkthrough but does not prove a denied access path. Product documentation governs current enforcement. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        },
        "license_evidence_urls": [
          "https://github.com/MicrosoftLearning/mslearn-fabric/blob/main/LICENSE"
        ]
      },
      {
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/18-monitor-hub.html",
        "opened_urls": [
          "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/18-monitor-hub.html"
        ],
        "final_url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/18-monitor-hub.html",
        "title": "Monitor Fabric activity in the monitoring hub",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "DP-700"
        ],
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "dc6990d2a31a0c2769d7666f6d6b9f5f12eb2d4952af4825bbca0bedb80c4836",
        "citation_claim": "30-minute walkthrough creates/reruns Dataflow Gen2 and Spark notebook work, then inspects historical runs, filters and selected columns; paid or trial Fabric capacity.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher lab estimate",
          "value": "30 minutes",
          "basis": "Written lab/index; setup/retries and deeper independent work need extra time"
        },
        "strengths": "Specific first-party written practice with inspectable deliverables; narrower and more useful than a channel homepage.",
        "gaps": "Successful run status does not establish data correctness; extend with independent counts/results and failure evidence. UI and support change.",
        "licensing": "MIT repository LICENSE inspected: Microsoft copyright2024 for AB-650/DP-750, 2023 for mslearn-fabric. Link/attribute and use original exercises; preserve notices if copying substantial repository material.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "promote narrowly scoped written-lab resource",
        "proposed_source_metadata": {
          "id": "fabric-official-monitoring-hub-lab",
          "title": "Monitor Fabric activity in the monitoring hub",
          "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/18-monitor-hub.html",
          "publisher": "MicrosoftLearning",
          "authority_class": 3,
          "source_type": "hands-on-lab",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "DP-700"
          ],
          "notes": "October 28, 2026 learning-resource review: 30-minute walkthrough creates/reruns Dataflow Gen2 and Spark notebook work, then inspects historical runs, filters and selected columns; paid or trial Fabric capacity. Successful run status does not establish data correctness; extend with independent counts/results and failure evidence. UI and support change. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        },
        "license_evidence_urls": [
          "https://github.com/MicrosoftLearning/mslearn-fabric/blob/main/LICENSE"
        ]
      },
      {
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html",
        "opened_urls": [
          "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html"
        ],
        "final_url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html",
        "title": "Prepare a semantic model for AI",
        "publisher": "MicrosoftLearning",
        "author": "Microsoft course repository contributors",
        "affected_exams": [
          "DP-600"
        ],
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "e0f4de751d1b37a663d8d27a92a72841f880e9764dee034b73c3ec9dabbea1f5",
        "citation_claim": "30-minute lab covers AI schema, instructions, verified answers, synonyms, HCAAT and Approved for Copilot. Its prerequisites require paid Fabric capacity and explicitly exclude trial Copilot.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher lab estimate",
          "value": "30 minutes",
          "basis": "Written lab/index; setup/retries and deeper independent work need extra time"
        },
        "strengths": "Specific first-party written practice with inspectable deliverables; narrower and more useful than a channel homepage.",
        "gaps": "VERIFY CURRENT licensing, tenant settings, Desktop version, preview/UI and Q&A dependency before execution; a public lab does not grant capacity.",
        "licensing": "MIT repository LICENSE inspected: Microsoft copyright2024 for AB-650/DP-750, 2023 for mslearn-fabric. Link/attribute and use original exercises; preserve notices if copying substantial repository material.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "promote narrowly scoped written-lab resource",
        "proposed_source_metadata": {
          "id": "fabric-official-prepare-model-ai-lab",
          "title": "Prepare a semantic model for AI",
          "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html",
          "publisher": "MicrosoftLearning",
          "authority_class": 3,
          "source_type": "hands-on-lab",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "DP-600"
          ],
          "notes": "October 28, 2026 learning-resource review: 30-minute lab covers AI schema, instructions, verified answers, synonyms, HCAAT and Approved for Copilot. Its prerequisites require paid Fabric capacity and explicitly exclude trial Copilot. VERIFY CURRENT licensing, tenant settings, Desktop version, preview/UI and Q&A dependency before execution; a public lab does not grant capacity. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        },
        "license_evidence_urls": [
          "https://github.com/MicrosoftLearning/mslearn-fabric/blob/main/LICENSE"
        ]
      },
      {
        "url": "https://developer.microsoft.com/en-us/reactor/events/26973/",
        "opened_urls": [
          "https://developer.microsoft.com/en-us/reactor/events/26973/"
        ],
        "final_url": "https://developer.microsoft.com/en-us/reactor/events/26973/",
        "title": "Get Certified: Fabric Analytics Engineer (DP-600 Accelerated)",
        "publisher": "Microsoft Reactor",
        "author": "Heini Ilmarinen and Stephanie Bruno",
        "affected_exams": [
          "DP-600"
        ],
        "authority_class": 3,
        "source_type": "official-video",
        "access_model": "public",
        "published_on": "2026-04-23",
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "7ab3502e4ffbdf7af34ca016fb0dfc9bc9629d5f0c3f1b1f907230a6d7e69e39",
        "citation_claim": "April23, 2026 English one-hour agenda by Heini Ilmarinen and Stephanie Bruno; compares PL-300 and DP-600 preparation. Embedded recording present, not played.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher event agenda",
          "value": "1 hour",
          "basis": "15:00–16:00UTC agenda; recording runtime unverified"
        },
        "strengths": "A specific named-speaker orientation alternative to browsing a channel.",
        "gaps": "Predates October blueprint; not a technical course or complete objective map. Optional only; no need to add if existing routes suffice.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "optional exact-resource addition",
        "proposed_source_metadata": {
          "id": "dp-600-reactor-accelerated-orientation",
          "title": "Get Certified: Fabric Analytics Engineer (DP-600 Accelerated)",
          "url": "https://developer.microsoft.com/en-us/reactor/events/26973/",
          "publisher": "Microsoft Reactor",
          "authority_class": 3,
          "source_type": "official-video",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "DP-600"
          ],
          "notes": "October 28, 2026 learning-resource review: April23, 2026 English one-hour agenda by Heini Ilmarinen and Stephanie Bruno; compares PL-300 and DP-600 preparation. Embedded recording present, not played. Predates October blueprint; not a technical course or complete objective map. Optional only; no need to add if existing routes suffice. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
        }
      },
      {
        "url": "https://developer.microsoft.com/en-us/reactor/series/S-1585/",
        "opened_urls": [
          "https://developer.microsoft.com/en-us/reactor/series/S-1585/"
        ],
        "final_url": "https://developer.microsoft.com/en-us/reactor/series/S-1585/",
        "title": "Get Certified: DP-700 Fabric Data Engineer (Accelerated)",
        "publisher": "Microsoft Reactor",
        "author": "Named speakers including Brian Bønk, Mahmut Olcay Çelik, Johan Ludvig Brattås and Martin Catherall",
        "affected_exams": [
          "DP-700"
        ],
        "authority_class": 3,
        "source_type": "official-video",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "73f94ce5c3b6cf9b0db0d81c1c28356d5d78def442b4936daafbe55818e7e0cb",
        "citation_claim": "Four English one-hour events listed October 16, 21, 23, 28, 2025: three technical sessions plus exam-day Q&A. Published agenda totals4 hours; no recording watched.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [],
        "catalog_association_matches": {},
        "candidate_match_ids": [],
        "duration": {
          "kind": "publisher event agendas",
          "value": "4 hours total",
          "basis": "Four one-hour scheduled events; actual playback duration unverified"
        },
        "strengths": "Specific optional retrospective series.",
        "gaps": "2025 foundation content; current runtime/OneLake/monitoring blueprint must be reconciled. Existing guide already offers a Reactor starting event; adding another series is optional.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "no new source required: existing event and evaluated labs suffice"
      },
      {
        "url": "https://devblogs.microsoft.com/cosmosdb/azure-cosmos-db-agent-kit-ai-coding-assistants/",
        "opened_urls": [
          "https://devblogs.microsoft.com/cosmosdb/azure-cosmos-db-agent-kit-ai-coding-assistants/"
        ],
        "final_url": "https://devblogs.microsoft.com/cosmosdb/azure-cosmos-db-agent-kit-ai-coding-assistants/",
        "title": "Introducing the Azure Cosmos DB Agent Kit",
        "publisher": "Microsoft",
        "author": "Sajeetharan Sinnathurai",
        "affected_exams": [
          "DP-420"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": "2026-01-22",
        "updated_on": "2026-01-29",
        "raw_page_date_metadata": [
          {
            "name": "article:published_time",
            "value": "2026-01-22T17:16:17+00:00"
          },
          {
            "name": "article:modified_time",
            "value": "2026-01-29T19:03:52+00:00"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "0f91ad32a161394ebf1aaa319716dfb0e03b2cde3369b3755dc235cc1ea11192",
        "citation_claim": "Current improved CosmosClient constructor is balanced; remove the obsolete unmatched-brace criticism. Hierarchical tenant/year key still needs skew/load measurement; no automatic production-readiness inference.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp420-agent-kit-blog"
        ],
        "catalog_association_matches": {
          "dp420-agent-kit-blog": [
            "DP-420"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://devblogs.microsoft.com/cosmosdb/sharded-diskann-focused-vector-search-for-better-performance-and-lower-cost/",
        "opened_urls": [
          "https://devblogs.microsoft.com/cosmosdb/sharded-diskann-focused-vector-search-for-better-performance-and-lower-cost/"
        ],
        "final_url": "https://devblogs.microsoft.com/cosmosdb/sharded-diskann-focused-vector-search-for-better-performance-and-lower-cost/",
        "title": "Sharded DiskANN: focused vector search for better performance and lower cost",
        "publisher": "Microsoft",
        "author": "James, Shivam, Haiyang (visible byline)",
        "affected_exams": [
          "DP-420"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": "2025-04-24",
        "updated_on": "2025-05-25",
        "raw_page_date_metadata": [
          {
            "name": "article:published_time",
            "value": "2025-04-24T19:13:17+00:00"
          },
          {
            "name": "article:modified_time",
            "value": "2025-05-25T17:53:36+00:00"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "9acf328065956208def89d9dc4087bd2c10332575ec709ffbc2927b9c62189a4",
        "citation_claim": "Written article distinguishes physical-partition routing from vector-index sharding, but query examples still place WHERE after ORDER BY. Benchmark improvements are workload-specific; no copied executable recipe.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp420-sharded-blog"
        ],
        "catalog_association_matches": {
          "dp420-sharded-blog": [
            "DP-420"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://devblogs.microsoft.com/cosmosdb/native-agent-memory-for-microsoft-agent-framework-powered-by-azure-cosmos-db/",
        "opened_urls": [
          "https://devblogs.microsoft.com/cosmosdb/native-agent-memory-for-microsoft-agent-framework-powered-by-azure-cosmos-db/"
        ],
        "final_url": "https://devblogs.microsoft.com/cosmosdb/native-agent-memory-for-microsoft-agent-framework-powered-by-azure-cosmos-db/",
        "title": "Native Agent Memory for Microsoft Agent Framework, powered by Azure Cosmos DB",
        "publisher": "Microsoft",
        "author": "Theo van Kraay",
        "affected_exams": [
          "AI-500"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": "2026-07-24",
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "article:published_time",
            "value": "2026-07-24T11:00:40+00:00"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "c9d7500894a12a9fcea27d4879d144c2f22cb062218744827de4e98605b2a394",
        "citation_claim": "Python-only preview provider; before_run retrieves context and after_run writes turns/starts background extraction. Clean async shutdown is not evidence of crash recovery or immediate recall.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ai500-memory-blog"
        ],
        "catalog_association_matches": {
          "ai500-memory-blog": [
            "AI-500"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://devblogs.microsoft.com/agent-framework/interactive-experiences-memory-and-resilient-execution/",
        "opened_urls": [
          "https://devblogs.microsoft.com/agent-framework/interactive-experiences-memory-and-resilient-execution/"
        ],
        "final_url": "https://devblogs.microsoft.com/agent-framework/interactive-experiences-memory-and-resilient-execution/",
        "title": "What’s new in Microsoft Agent Framework: Interactive experiences, memory, and resilient execution",
        "publisher": "Microsoft",
        "author": "Dan Taylor",
        "affected_exams": [
          "AI-500"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": "2026-09-24",
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "article:published_time",
            "value": "2026-09-24T15:00:14+00:00"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "a2fec3a075ead54e94d4ee7aec4f3610d19a10eb01a6e0ff393ccabd2e060898",
        "citation_claim": "Current written sections distinguish Python/.NET support, authorized session mapping, async memory extraction and application-owned external-effect idempotency. APIs/versions remain volatile.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ai500-resilience-blog"
        ],
        "catalog_association_matches": {
          "ai500-resilience-blog": [
            "AI-500"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.microsoft.com/insidetrack/blog/implementing-agent-365-how-were-governing-and-managing-ai-agents-at-microsoft/",
        "opened_urls": [
          "https://www.microsoft.com/insidetrack/blog/implementing-agent-365-how-were-governing-and-managing-ai-agents-at-microsoft/"
        ],
        "final_url": "https://www.microsoft.com/insidetrack/blog/implementing-agent-365-how-were-governing-and-managing-ai-agents-at-microsoft/",
        "title": "Implementing Agent 365: How we’re governing and managing AI agents at Microsoft",
        "publisher": "Microsoft",
        "author": "Alex Fleck",
        "affected_exams": [
          "AB-650"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": "2026-08-06",
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "article:published_time",
            "value": "2026-08-06T16:00:00+00:00"
          },
          {
            "name": "article:modified_time",
            "value": "2026-08-15T01:08:34+00:00"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "ec8e4fc3c5fc796e8346f7d38cb96f9ca53acf010ed0463a1aa9bea2202beea4",
        "citation_claim": "First-party operational case study still explicitly combines Agent 365 with existing identity, security, compliance and human processes; company-scale numbers are not customer guarantees.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "ab650-insidetrack-blog"
        ],
        "catalog_association_matches": {
          "ab650-insidetrack-blog": [
            "AB-650"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://blog.crossjoin.co.uk/2026/04/05/role-playing-dimensions-in-fabric-direct-lake-semantic-models-revisited/",
        "opened_urls": [
          "https://blog.crossjoin.co.uk/2026/04/05/role-playing-dimensions-in-fabric-direct-lake-semantic-models-revisited/"
        ],
        "final_url": "https://blog.crossjoin.co.uk/2026/04/05/role-playing-dimensions-in-fabric-direct-lake-semantic-models-revisited/",
        "title": "Role-Playing Dimensions In Fabric Direct Lake Semantic Models Revisited",
        "publisher": "Chris Webb's BI Blog",
        "author": "Chris Webb",
        "affected_exams": [
          "DP-600"
        ],
        "authority_class": 5,
        "source_type": "expert-resource",
        "access_model": "public",
        "published_on": "2026-04-05",
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "msvalidate.01",
            "value": "1292EFA430361DABA7114A0335A7F215"
          },
          {
            "name": "article:published_time",
            "value": "2026-04-05T18:43:05+00:00"
          },
          {
            "name": "article:modified_time",
            "value": "2026-04-05T18:43:05+00:00"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "4ec6608b676fe05cb88c860fdc3e12ab25d54968886a9678d2a7a6e34aacaf4f",
        "citation_claim": "Author describes a TMDL workaround; April 9 acknowledges a web-editor bug and September 11 comment still reports the issue. Keep workaround version-specific and unexecuted; comments are reports, not independent product confirmation.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp600-roleplaying-blog"
        ],
        "catalog_association_matches": {
          "dp600-roleplaying-blog": [
            "DP-600"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://devblogs.microsoft.com/powerplatform/dataverse-skills-your-coding-agent-now-speaks-dataverse/",
        "opened_urls": [
          "https://devblogs.microsoft.com/powerplatform/dataverse-skills-your-coding-agent-now-speaks-dataverse/"
        ],
        "final_url": "https://devblogs.microsoft.com/powerplatform/dataverse-skills-your-coding-agent-now-speaks-dataverse/",
        "title": "Dataverse Skills: Your Coding Agent Now Speaks Dataverse",
        "publisher": "Microsoft",
        "author": "Suyash Kshirsagar",
        "affected_exams": [
          "PL-400"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": "2026-04-01",
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "article:published_time",
            "value": "2026-04-01T12:00:14+00:00"
          },
          {
            "name": "article:modified_time",
            "value": "2026-04-01T16:10:24+00:00"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "482557dff9acb850da817f4e8bc04696aafffc3f59219568c5728699b74db313",
        "citation_claim": "Public article demonstrates connect/build/operate orchestration and declares MIT project licensing. Use it to review proposed mutations; frictionless setup language does not replace current consent, privilege and preview documentation.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "pl400-dataverse-skills-blog"
        ],
        "catalog_association_matches": {
          "pl400-dataverse-skills-blog": [
            "PL-400"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.databricks.com/blog/abac-row-filtering-and-column-masking-policies-governed-tags-and-data-classification-are-now",
        "opened_urls": [
          "https://www.databricks.com/blog/abac-row-filtering-and-column-masking-policies-governed-tags-and-data-classification-are-now"
        ],
        "final_url": "https://www.databricks.com/blog/abac-row-filtering-and-column-masking-policies-governed-tags-and-data-classification-are-now",
        "title": "ABAC row filtering and column masking policies, governed tags, and data classification are now generally available in Unity Catalog",
        "publisher": "Databricks",
        "author": "Adriana Ispas, Kristen Wilder, Jacqueline Li, Corey Sunwold, Menglei Sun, Viswesh Periyasamy",
        "affected_exams": [
          "DP-750"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": "2026-05-13",
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "article:published_time",
            "value": "Wed, 05/13/2026 - 14:08"
          },
          {
            "name": "article:modified_time",
            "value": "Wed, 05/13/2026 - 16:07"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "57f8061968a8e4f3b0203c1b7883f1efe6a3473c29056a9e147499ebb1335253",
        "citation_claim": "Useful taxonomy/classification/enforcement explanation. Immediate-protection wording must be reconciled with Azure-specific propagation and identity documentation; no global zero-delay guarantee.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp750-abac-blog"
        ],
        "catalog_association_matches": {
          "dp750-abac-blog": [
            "DP-750"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://www.databricks.com/blog/modernize-your-data-engineering-platform-lakeflow-azure-databricks",
        "opened_urls": [
          "https://www.databricks.com/blog/modernize-your-data-engineering-platform-lakeflow-azure-databricks"
        ],
        "final_url": "https://www.databricks.com/blog/modernize-your-data-engineering-platform-lakeflow-azure-databricks",
        "title": "Modernize your Data Engineering Platform with Lakeflow on Azure Databricks",
        "publisher": "Databricks",
        "author": "Joanna Zouhour and Katie Cummiskey",
        "affected_exams": [
          "DP-750"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": "2026-02-10",
        "updated_on": null,
        "raw_page_date_metadata": [
          {
            "name": "article:published_time",
            "value": "Tue, 02/10/2026 - 19:54"
          },
          {
            "name": "article:modified_time",
            "value": "Tue, 10/20/2026 - 14:55"
          }
        ],
        "opened_method": "web.run open/click and targeted Python requests HTTPS GET",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 200,
        "response_sha256": "7d397d4d9c3515b6b16731f92da330fdd8d1e3aaaf8671fdf0bb0df722285ca0",
        "citation_claim": "Useful ingestion/transformation/orchestration overview. Current text uses Declarative Automation Bundles but also Assistant terminology. Customer speed/cost percentages are examples, not expected learner results.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp750-lakeflow-blog"
        ],
        "catalog_association_matches": {
          "dp750-lakeflow-blog": [
            "DP-750"
          ]
        },
        "candidate_match_ids": [],
        "duration": {
          "kind": "editorial reading/task estimate",
          "value": "About 20–40min reading; 45–75 min with an original evidence worksheet",
          "basis": "Article length and proposed reasoning task, not a publisher runtime"
        },
        "strengths": "Specific attributed written explanation already useful in the guide.",
        "gaps": "No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      },
      {
        "url": "https://community.fabric.microsoft.com/blog/fbc_fabricupdatesblogs/simplify-data-movement-with-copy-job-more-control-more-flexibility/5184219",
        "opened_urls": [
          "https://community.fabric.microsoft.com/blog/fbc_fabricupdatesblogs/simplify-data-movement-with-copy-job-more-control-more-flexibility/5184219"
        ],
        "final_url": "https://community.fabric.microsoft.com/blog/fbc_fabricupdatesblogs/simplify-data-movement-with-copy-job-more-control-more-flexibility/5184219",
        "title": "Simplify data movement with Copy job: more control, more flexibility",
        "publisher": "Microsoft Fabric Updates Blog",
        "author": "Ye Xu",
        "affected_exams": [
          "DP-700"
        ],
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "published_on": null,
        "updated_on": null,
        "raw_page_date_metadata": [],
        "opened_method": "web.run open: readable body; targeted requests GET returned403",
        "read_scope": "Visible public resource prose/outline; no paid lessons, recordings, notebook or runtime execution",
        "capture_status": 403,
        "response_sha256": "2f58941feec216658b2389446946cea0bcde187ff89c0a418dbee375cd45b050",
        "citation_claim": "Web-open body still describes preview auto-partitioning, GA JSON editing and full/incremental mode switching; incremental mode begins with a full copy. Current copy-job docs govern connector support and destination semantics.",
        "confidence": "Confirmed for inspected public resource metadata and bounded written-learning scope; no execution validation",
        "catalog_match_ids": [
          "dp700-copy-blog"
        ],
        "catalog_association_matches": {
          "dp700-copy-blog": [
            "DP-700"
          ]
        },
        "candidate_match_ids": [],
        "duration": null,
        "strengths": "",
        "gaps": "Web representation provides relative dates; prior May 26 date remains historical rather than freshly verified. Local requests 403; web public body read, screenshots and tenant behavior not tested.",
        "licensing": "Link and original synthesis only; no protected lessons, diagrams or substantial source prose copied. Repository notices checked separately where applicable.",
        "integrity": "No recalled-live-question, dump or guaranteed-pass offer observed in the inspected public learning material; inaccessible paid content remains unevaluated.",
        "recommendation": "retain/update"
      }
    ],
    "guide_proposals": [
      {
        "exam_code": "AB-210",
        "guide_path": "guides/AB-210-accelerating-sales-pipelines-ai-dynamics-365.md",
        "guide_lf_sha256": "e666ce5f85d97391a2caee589f7f59c8be512479fc545513e1aac45fb446671f",
        "official_objective_sha256": "2595badf528595419ed8da12bf5aed577d899ee8772123a0b1e40d1c2eac0f83",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "This is not a complete list and is not meant to be consumed in full. Choose one primary route, configure a synthetic lead-to-cash environment, and add resources only for measured gaps.",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nThe current [AB-210 course](https://learn.microsoft.com/en-us/training/courses/ab-210t00) still lists **three instructor-led days**. Its four paths retain13 modules: 3 for configuration, 3 for leads, 4 for deals and 3 for extensions. Direct path bodies did not expose a fresh combined runtime, so keep12h03 as historical metadata. A current training outline can still teach a retiring feature: the [deal-execution path](https://learn.microsoft.com/en-us/training/paths/win-deals-ai-sales/) continues to name Sales Close Agent. Use the blueprint for required learning and this guide’s dated lifecycle evidence for whether a new tenant implementation remains appropriate.\n\n**Original worksheet (about 30–45 minutes, editorial estimate):** Select three lesson actions. Record the objective, intended business outcome, record/identity boundary, product-lifecycle evidence, safe substitute/tabletop action and observable completion evidence. Put the retiring-agent action beside a current deployment action so their purposes remain explicit.\n\n**Answer checkpoint:** A lesson title is learning guidance, not evidence that the feature can still be provisioned. A valid worksheet can retain exam reasoning while marking a tenant action unavailable or tabletop-only.\n\n",
        "bounded_change": "No new resource needed: the four current official paths provide a coherent primary route; avoid adding another unverified paid bank.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "AB-650",
        "guide_path": "guides/AB-650-ai-services-administrator-associate.md",
        "guide_lf_sha256": "450bf5aa602ee58913305c33beaeb19e058522cce1e2fb79afc7bfeb3312b55d",
        "official_objective_sha256": "e70d10682f078cb6887f7dde679f56661e63dfeabb221779f6b0ff4ab08bdf1a",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "### October 28 learning-resource check",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nThe [official seven-lab set](https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/) offers **450 minutes** of publisher-estimated practice. Read its [environment guide](https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html) first: the ordered labs assume one prepared Microsoft 365E7 tenant with seeded identities, content and agents; public instructions do not include that tenant or its licenses. No Azure subscription is needed by this lab set. **VERIFY CURRENT:** the course page still announces November 13 availability; a visible repository does not prove a class or hosted lab can be booked. Allow extra time for setup, propagation and independent testing.\n\n**Original evidence worksheet (about 30–45 minutes beyond the published lab time, editorial estimate):** For the governance lab, record one identity, registry/tool-approval decision and usage signal. Give each row an object ID, acting persona, timestamp, source period and provenance:live observed, seeded sample, pending or unavailable. Keep Conditional Access report-only as the instructions require.\n\n**Answer checkpoint:** An empty or failed activity card is not proof of zero use or zero risk. Seeded practice evidence can support reasoning, but must not be recorded as a live incident or independently observed product result.\n\n",
        "bounded_change": "Promote the exact official lab index/environment; optional Lab 7 exact page is separately evaluated. Existing case study remains useful, so no additional marketplace resource is necessary.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "MS-102",
        "guide_path": "guides/MS-102-microsoft-365-administrator.md",
        "guide_lf_sha256": "5a3823b062cb0c00372014c6e2dbfc7764d5614db3a67688efe8c2a2ab8a2536",
        "official_objective_sha256": "97ce6b34e98fb43947409e8b7997f3de72e6cae7a62102dfdea849bfb177c92a",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "This is a curated starting point, **not a complete list**. Do not try to consume every item. Pick the format and depth that work for you, use the current official blueprint as the coverage checklist, and reserve substantial time for tenant practice, negative tests, troubleshooting, and review. Because MS-102 retires November 30, 2026, verify that any planned course and exam date leave enough recovery time for rescheduling.",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nThe [official MS-102 course](https://learn.microsoft.com/en-us/training/courses/ms-102t00) still publishes **five instructor-led days**. The [Pluralsight path](https://www.pluralsight.com/paths/microsoft-365-certified-administrator-expert-microsoft-365-administrator-ms-102) still lists five 2025 courses totaling7h44 (header rounded to8 hours). These are content-consumption figures; they do not include tenant preparation, negative tests or source review. Choose one route and use the April 2026 objective map to identify gaps. Existing blocked book/Udemy details remain historical; class availability and retirement timing require their own current checks.\n\n**Original resource-gap audit (about 45–60 minutes, editorial estimate):** Choose one task from tenant operations, identity, Defender and Purview. Map each to a specific lesson, current product reference, lab evidence and unresolved limitation. Prioritize a missing high-impact task rather than replaying a familiar whole course.\n\n**Answer checkpoint:** Completing every listed video does not establish readiness if you cannot produce the task’s permitted/denied result and recovery evidence. A dated public syllabus establishes advertised coverage, not current lesson accuracy.\n\n",
        "bounded_change": "No new resource needed: official paths plus one evaluated alternative and existing practical labs are sufficient for a bounded learning route.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "PL-400",
        "guide_path": "guides/PL-400-microsoft-power-platform-developer.md",
        "guide_lf_sha256": "fc2245581a0f3ae0e94b51d36e836b6c2c5762941daf5a2eb083387340f300e3",
        "official_objective_sha256": "facfff59976de5c12e31c20f17ad072c6255f1324c9a55419788d6ee70a825d1",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "### October 28 learning-resource check",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nThe [official PL-400 course](https://learn.microsoft.com/en-us/training/courses/pl-400t00) still lists **five days**. The [Pluralsight path](https://www.pluralsight.com/paths/microsoft-power-platform-developer-pl-400) publishes nine courses/about 15 hours, with2022–2023 dates. Its body also calls PL-400 “App Maker”; use the official blueprint for credential identity and scope. This path can offer durable code/extension explanations, but the date and inconsistent label make a current gap map essential. Keep the existing official lab repository as selective practice; the AB-400 successor-training note already supplies the transition route.\n\n**Original extension-review exercise (about 30–45 minutes, editorial estimate):** Take one older lesson’s plug-in, connector or event scenario and create an implementation decision card:objective, client/server trust boundary, execution identity, transaction boundary, retry/duplicate risk, 2026 documentation and independent test. Classify the Dataverse Skills blog’s generated mutations by these same fields before accepting them.\n\n**Answer checkpoint:** An AI tool selecting the correct API does not prove the caller has permission, the mutation belongs in the right solution, or an external side effect rolls back with Dataverse.\n\n",
        "bounded_change": "No new resource required. Correct tiers only for the course, path and existing lab repository inspected in this pass; keep uninspected paid runtimes historical.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "AI-500",
        "guide_path": "guides/AI-500-designing-implementing-multi-agent-ai-solutions.md",
        "guide_lf_sha256": "ec362f9caebe568c783fc5c144c7d2aa2d96ef93b650f5517fcc8c4ae0f1af80",
        "official_objective_sha256": "498ed5ca3e5f1ac958dedea4b84cb33a34a8ff0f5aa239540fd7283bc41360e8",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "### October 28 learning-resource check",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nThe [official AI-500 course](https://learn.microsoft.com/en-us/training/courses/ai-500t00) still lists **four instructor-led days** with no future-availability notice in the inspected overview; actual class delivery remains unverified. [Clint Bonnett’s Foundry course](https://www.pluralsight.com/courses/microsoft-foundry-building-intelligent-applications) is a 1h02 beginner introduction, last updated February 13, 2026. Use it for a focused RAG/workflow/evaluation refresher, then return to the official paths and this guide’s production-failure labs. The existing two engineering articles remain useful for written design work; APIs, language parity and preview integration need current checks before running code.\n\n**Original article-to-evidence task (about 45–75 minutes, editorial estimate):** Choose one article’s session, memory or recovery example. Record its promised behavior, documented limitation, application-owned responsibility and a counterexample. Give each a required trace or stored record and mark which evidence was actually observed. Keep code inspection separate from an executed restart or tenant-isolation test.\n\n**Answer checkpoint:** A clean asynchronous shutdown does not prove crash durability; a stored thread ID does not authorize a caller; a completed run can still fail the business-quality test.\n\n",
        "bounded_change": "No additional resource needed: retain current official paths, selected beginner lessons and attributed engineering articles without claiming a complete third-party AI-500 path.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "DP-300",
        "guide_path": "guides/DP-300-administering-microsoft-azure-sql-solutions.md",
        "guide_lf_sha256": "065ed60b29bbd2f267a7720aa7e49ab439d106d612dbb25d503d96feb64515d4",
        "official_objective_sha256": "f9f0c06f1a6e639035fd75d0db063dd6edcb30f50079e5a5157255ed4408ae57",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "This is **not a complete list**, and it is not meant to be consumed end to end. Pick the resources and formats that work for you. A practical plan is the official blueprint/documentation, one primary structured course or book, hands-on labs, and one legitimate practice assessment used to find weak domains. Avoid any provider selling recalled live questions, “dumps,” VCE files, or guarantees based on leaked content.",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nThe current [DP-300 course](https://learn.microsoft.com/en-us/training/courses/dp-300t00) is titled **Implement scalable database solutions using Azure SQL** and still lists four instructor-led days. The [Pluralsight path](https://www.pluralsight.com/paths/microsoft-certified-azure-database-administrator-associate) lists five courses totaling9h11 plus a30-minute lab (header rounded to10hours); its latest displayed course is September 14, 2026. No dedicated planning/deployment course title is visible, so use the October 27 blueprint and targeted official material to check that gap. The compaction blog now redirects to a GA headline, but its body was unavailable; current product documentation governs the feature status.\n\n**Original course-gap worksheet (about 30–45 minutes, editorial estimate):** Map one planning decision, one security denial, one measured performance regression and one recovery proof to the chosen route. For each, record an artifact you can produce without the lesson instructions and a current-source check for older tooling or maintenance advice.\n\n**Answer checkpoint:** Course runtime measures viewing scope, not demonstrated administration. A reachability result or changed announcement title is not a tested maintenance or recovery result.\n\n",
        "bounded_change": "No new resource required: existing official route, deep product references and worked labs cover the learning need. Avoid adding the broader official lab index as a current-complete guarantee because it mixes old maintenance exercises and adjacent migration content.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "DP-420",
        "guide_path": "guides/DP-420-designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db.md",
        "guide_lf_sha256": "7494e1a8bd331bcb62a9cd4701c383bb32496d9d5bbfce710972af696347e53b",
        "official_objective_sha256": "f796c1974699f0196b5e60e449409ceb3ccf9cf17b99e92206a1913d220ae351",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "This is **not a complete list**, and it is not a recommendation to consume everything. Pick the formats and gaps that work for you: one current primary path, hands-on labs, targeted documentation, and one ethical readiness check are usually more useful than passively completing every course. Times are page-published durations where available; otherwise they are clearly labeled estimates. Catalogs, durations, prices, access, and blueprint alignment change—verify them before purchase. Practice products should teach and explain; do not use brain dumps or material claiming real exam questions.",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nThe [official DP-420 course](https://learn.microsoft.com/en-us/training/courses/dp-420t00) is now **Build AI applications with Azure Cosmos DB**, still four instructor-led days. The [Pluralsight path](https://www.pluralsight.com/paths/designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db-dp-420) still advertises the older five-domain structure and9 hours, with its latest displayed update in January 2026. Use it selectively for database foundations and map AI retrieval, memory and authorization gaps against the October 6 blueprint. The Agent Kit article’s improved constructor is now balanced; keep its load-distribution caveat rather than repeating an unsupported syntax defect.\n\n**Original retrieval-resource worksheet (about 45–60 minutes, editorial estimate):** For a two-tenant corpus, record partition-routing choice, vector-shard choice, authenticated scope, relevance target and RU/latency measurement. Add one skewed-tenant counterexample to a proposed year-based key. Separate an article’s measured example from the result your own workload would need to demonstrate.\n\n**Answer checkpoint:** Partition routing and vector-index sharding solve different parts of the request path; neither replaces application authorization. A benchmark percentage is not a guaranteed improvement.\n\n",
        "bounded_change": {
          "replace_exact": "Its sample constructor has an unmatched brace, and a tenant/year key can still concentrate current-year writes.",
          "with": "The current improved client constructor is balanced, but a tenant/year key can still concentrate current-year writes. Review generated changes and measure the actual workload."
        },
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "DP-600",
        "guide_path": "guides/DP-600-implementing-analytics-solutions-microsoft-fabric.md",
        "guide_lf_sha256": "49098f811ce39e0e10c533e826c533d2aa743e4f1e43f7b0022e2739224ccf0a",
        "official_objective_sha256": "43cf6ad72e66be7ce72a39c58f1e2fcd40b66f4768ca14a399b2e99846449fff",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "This is a curated starting point, **not a complete list**, and it is not meant to be consumed in full. Choose one primary route, build a Fabric solution, and add only resources that close measured gaps. Reconcile every older source with the July 21, 2026 blueprint, especially Direct Lake on OneLake versus SQL analytics endpoint, OneLake security, Real-Time hub, AI-ready data, Fabric IQ and current endorsement/lifecycle behavior.",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nFor focused practice, use [Secure data access in Microsoft Fabric](https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html) (**45 published minutes**) and [Prepare a semantic model for AI](https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html) (**30 published minutes**). The security exercise assumes two personas and paid/trial capacity; the AI exercise explicitly requires paid capacity and excludes trial Copilot. **VERIFY CURRENT:** licensing, Desktop prerequisites, Q&A/AI dependencies and UI before execution. Heini Ilmarinen and Stephanie Bruno’s [April23 Reactor orientation](https://developer.microsoft.com/en-us/reactor/events/26973/) has a one-hour agenda; its recording was not watched and predates the October blueprint. Choose it only if a PL-300-to-DP-600 learning map helps.\n\n**Original comparison sheet (about 30–45 minutes beyond the published lab estimates, editorial estimate):** For a permission test and an AI-answer test, record actor, endpoint, source/model version, expected rows or measure, observed result and evidence status. A one-account walkthrough must mark the second-persona denial untested. For AI, use at least one ambiguous business term and one question the model cannot answer.\n\n**Answer checkpoint:** Schema simplification and model approval improve discoverability/context; they do not by themselves prove access isolation or answer correctness. Retain a separately observed result for each.\n\n",
        "bounded_change": "Promote the two exact official labs; Reactor is an optional specific-video alternative. Existing 2024 Pluralsight path remains foundation-only, not evidence of October alignment.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "DP-700",
        "guide_path": "guides/DP-700-implementing-data-engineering-solutions-microsoft-fabric.md",
        "guide_lf_sha256": "a144c4e76fa45b34d93a97d5cf845bebdda1fc0398e53edcddc2f1c9dc0cea47",
        "official_objective_sha256": "536a8f75830b0951502232b8b1a811524d000a7edf7a745613f46462f7dd3fc5",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "This is a curated starting point, **not a complete list**, and it is not meant to be consumed in full. Pick one primary route, build a complete Fabric solution, then add documentation, videos or practice questions only for measured gaps. Reconcile older courses with the July 21, 2026 blueprint, especially Airflow workspace settings, OneLake security, query acceleration, current Git/database-project behavior and Fabric monitoring.",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nUse the official [Monitoring hub lab](https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/18-monitor-hub.html) (**30 published minutes**) with the [Fabric access-control lab](https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html) (**45 published minutes**). Both require paid/trial Fabric capacity; the access exercise needs a second persona for independent permission evidence. The [Pluralsight path](https://www.pluralsight.com/paths/implementing-data-engineering-solutions-using-microsoft-fabric-dp-700) still contains three 2025 courses totaling6h15. Use those for foundations and current written labs/documentation for the October baseline; runtime totals exclude setup, failure injection and review.\n\n**Original monitoring extension (about 30–45 minutes beyond the lab, editorial estimate):** Compare two successful runs with deliberately different source inputs. Record run ID, status, submitted identity, input/output counts, watermark or checkpoint, and the business reconciliation. In a separate permitted test, record one denied access path or unavailable signal.\n\n**Answer checkpoint:** A Succeeded activity records completion of that activity; it does not prove source completeness, idempotency or unchanged business results. A filtered monitoring view can hide the failed run you need to investigate.\n\n",
        "bounded_change": "Promote the two exact official labs. Existing Reactor event already provides a named-speaker route; another retrospective series need not be added. Copy-job blog body was read via web even though local HTTPS fetch403.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      },
      {
        "exam_code": "DP-750",
        "guide_path": "guides/DP-750-implementing-data-engineering-solutions-using-azure-databricks.md",
        "guide_lf_sha256": "dd3f611324dd93e61b5bc023f88db2bbb8e9e006a20d4d818960c4f62c97fe6d",
        "official_objective_sha256": "d44f3f814718f33dd69dd72f48381609f4cde30d0b5c9fe1656380223fb2571e",
        "insertion_location": "Within final Places to learn section, immediately before the exact anchor below",
        "insert_before_anchor": "This is **not a complete list**, and it is not a recommendation to consume everything. Pick a current primary path, build the labs, and use targeted references/practice for gaps. Times are page-published when available; otherwise they are clearly labeled estimates. Catalogs, access, duration, price and alignment change. DP-750 is new enough that several vendors had no dedicated current course on the pages found; broad Databricks material must be mapped to the March baseline and separately checked against the October revision. Avoid dumps or anything claiming real exam questions.",
        "proposed_markdown": "### October 28 learning route and evidence task\n\nThe [official DP-750 exercises](https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/) now list setup, 13 numbered labs and cleanup, with **9h20** in summed publisher estimates. They assume a Premium workspace and real compute; public instructions do not include cloud credits. [Lab 12:development lifecycle](https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/12-implement-development-lifecycle-processes-in-azure-databricks.html) has a45-minute index estimate and separates notebook tests from the local PowerShell CLI. Its deployment uses placeholder notebooks, so successful resource creation alone does not validate the transformation. Allow extra time for setup, current CLI compatibility and independent tests.\n\n**Original deployment extension (about 45–90 minutes beyond the published lab, editorial estimate):** Keep a snapshot of the placeholder plan, then implement a small synthetic transformation with independently calculated expected output. Record the Git revision, test result, target, execution identity, job run and output reconciliation before considering the deployed job complete. Do not deploy to a shared production target merely to exercise the workflow.\n\n**Answer checkpoint:** A valid bundle and a job with the expected task graph prove configuration/deployment state. They do not prove that placeholder code performs the required transformation or that production permissions and data contracts work.\n\n",
        "bounded_change": "Promote the official index and exact lifecycle lab; add the answered distinction to existing Lab 7 if desired. Existing 1h39 ADLS course remains a focused supplement, not full DP-750 preparation.",
        "confidence": "High for inspected metadata and original worksheet; technical researcher/coordinator must reconcile any product behavior."
      }
    ],
    "new_source_records": [
      {
        "id": "ab-650-official-lab-index",
        "title": "AB-650 hands-on labs",
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-650"
        ],
        "notes": "October 28, 2026 learning-resource review: Seven ordered labs totaling450 published minutes; prepared Microsoft 365E7 tenant, seeded people/data/agents; no Azure subscription required. A public instruction set does not supply a free E7 tenant; sequential dependencies and hosted-environment preparation must be checked. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ab-650-official-lab-environment",
        "title": "Get started with the AB-650 labs",
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-650"
        ],
        "notes": "October 28, 2026 learning-resource review: Prepared E7 tenant uses two workstations and read-only AllFiles drive; sample evidence is explicitly distinguished from live events, and pending results must be timestamped. Time is an editorial reading estimate; provisioning and licensing time excluded. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ab-650-official-agent-governance-lab",
        "title": "Lab 7: Govern agents and operate AI services",
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/LP3/07-govern-agents-operate-ai.html",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-650"
        ],
        "notes": "October 28, 2026 learning-resource review: 85-minute lab distinguishes identity ownership/sponsorship, registry curation, tool approval, agent ownership and usage evidence. Conditional Access stays report-only. Requires prior labs and seeded E7 state. It is a training walkthrough, not independent confirmation of every preview UI or propagation delay. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-750-official-labs",
        "title": "DP-750 Microsoft lab exercises",
        "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-750"
        ],
        "notes": "October 28, 2026 learning-resource review: Setup15 min, 13 numbered exercises totaling540 min, and cleanup5 min:560 min(9h20) published estimates overall. Current outline includes Genie Code, Unity Catalog, Lakeflow, quality, tests, bundles and Spark diagnostics. Workspace/subscription/compute can incur charges; durations assume a prepared environment. GenAI prompts and notebooks were not executed. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-750-official-development-lifecycle-lab",
        "title": "Lab 12: Implement Development Lifecycle Processes in Azure Databricks",
        "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/12-implement-development-lifecycle-processes-in-azure-databricks.html",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-750"
        ],
        "notes": "October 28, 2026 learning-resource review: Index estimates45 min. Written lab separates notebook pytest from local PowerShell CLI validation, plan, deploy, summary and optional destroy; its deployed notebook files are placeholders. Placeholder deployment does not prove the transformation is implemented or tested in the deployed job; Premium workspace/serverless and CLI prerequisites apply. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "fabric-official-secure-data-access-lab",
        "title": "Secure data access in Microsoft Fabric",
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-600",
          "DP-700"
        ],
        "notes": "October 28, 2026 learning-resource review: 45-minute walkthrough contrasts workspace Viewer, item permissions and OneLake table access using two personas; paid or trial Fabric capacity required. Skipping the second identity permits a reading walkthrough but does not prove a denied access path. Product documentation governs current enforcement. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "fabric-official-monitoring-hub-lab",
        "title": "Monitor Fabric activity in the monitoring hub",
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/18-monitor-hub.html",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-700"
        ],
        "notes": "October 28, 2026 learning-resource review: 30-minute walkthrough creates/reruns Dataflow Gen2 and Spark notebook work, then inspects historical runs, filters and selected columns; paid or trial Fabric capacity. Successful run status does not establish data correctness; extend with independent counts/results and failure evidence. UI and support change. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "fabric-official-prepare-model-ai-lab",
        "title": "Prepare a semantic model for AI",
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-600"
        ],
        "notes": "October 28, 2026 learning-resource review: 30-minute lab covers AI schema, instructions, verified answers, synonyms, HCAAT and Approved for Copilot. Its prerequisites require paid Fabric capacity and explicitly exclude trial Copilot. VERIFY CURRENT licensing, tenant settings, Desktop version, preview/UI and Q&A dependency before execution; a public lab does not grant capacity. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-600-reactor-accelerated-orientation",
        "title": "Get Certified: Fabric Analytics Engineer (DP-600 Accelerated)",
        "url": "https://developer.microsoft.com/en-us/reactor/events/26973/",
        "publisher": "Microsoft Reactor",
        "authority_class": 3,
        "source_type": "official-video",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-600"
        ],
        "notes": "October 28, 2026 learning-resource review: April23, 2026 English one-hour agenda by Heini Ilmarinen and Stephanie Bruno; compares PL-300 and DP-600 preparation. Embedded recording present, not played. Predates October blueprint; not a technical course or complete objective map. Optional only; no need to add if existing routes suffice. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      }
    ],
    "evaluated_catalog_updates": [
      {
        "id": "ab-210-course",
        "title": "Course AB-210T00-A: Accelerate sales pipelines with AI in Dynamics 365",
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-210t00",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-210"
        ],
        "notes": "Three-day official instructor-led course; linked paths total 12 hours three minutes. October 28, 2026 learning-resource review: Lead-to-cash configuration and AI-enhanced seller workflows; current exact course name and three-day instructor-led duration. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ab-650-official-course",
        "title": "Course AB-650T00-A: Administer Microsoft 365 and AI services",
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-650t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-650",
          "MS-102"
        ],
        "notes": "Specific Microsoft 365/Copilot/Agent 365 administrative curriculum and an exact current successor training route; stronger than a generic training homepage or inaccessible practice-test listing. Limits: Overview/syllabus only; no instructor-led occurrence, lab supply or complete lesson accuracy established. Agent identity and registry behavior must be corroborated with product documentation. Currentness: Exact opened page states availability 11/13/2026. Search-index excerpts still state 10/30/2026. Both are future relative to this research date; do not claim the course has already launched. Retirement catalog lists MS-102T00 retirement 11/30/2026 with AB-650T00 as replacement course. Access: Public description and linked learning material; instructor-led delivery normally booked with a provider and may be paid. This does not promise a free class or lab tenant. Time basis: Exact opened course page At a glance October 28, 2026 learning-resource review: Public course page states available November 13, 2026; three-day instructor-led duration. A live occurrence was not verified. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ms-102-instructor-course",
        "title": "Course MS-102T00-A: Microsoft 365 Administrator",
        "url": "https://learn.microsoft.com/en-us/training/courses/ms-102t00",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "MS-102"
        ],
        "notes": "Five-day instructor-led course with nine linked self-paced learning paths. October 28, 2026 learning-resource review: Current course outline still lists five days; tenant management, identity synchronization, security and compliance. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "pl-400-course",
        "title": "Course PL-400T00-A: Microsoft Power Platform Developer",
        "url": "https://learn.microsoft.com/en-us/training/courses/pl-400t00",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400"
        ],
        "notes": "Five-day advanced official course linking nine self-paced learning paths. October 28, 2026 learning-resource review: Current course outline still lists five days and developer prerequisites including C#/JavaScript and existing app/flow knowledge. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ai-500-course",
        "title": "Course AI-500T00-A: Design and implement multi-agent AI solutions",
        "url": "https://learn.microsoft.com/en-us/training/courses/ai-500t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-500"
        ],
        "notes": "September 28 AI-500 deep review: Public course page read: English, four days, listed availability September 30. No instructor-led event attended or booked. See docs/research/2026-09-28-ai-500-deep-review.md No live infrastructure execution. October 28 refresh: Exact official course route supported by both current course and exam pages. Limits: Absence of a future-availability notice does not prove a particular class has run or can be booked. No lab or lesson completion. Currentness: Current page has no September 30 future-availability notice in its overview. Existing source notes preserve a September 28 observation of September 30 availability; retain that history but add today's observation. Exam page now links this course. Access: Public syllabus; a specific class occurrence and hosted lab entitlement were not verified. Time basis: Exact opened course page October 28, 2026 learning-resource review: Current advanced course lists four days; architecture, tools, orchestration, monitoring, security and governance. No future availability notice in the inspected overview. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-300-official-course",
        "title": "Course DP-300T00-A: Implement scalable database solutions using Azure SQL",
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-300t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-300"
        ],
        "notes": " October 28, 2026 learning-resource review: Current exact course name is Implement scalable database solutions using Azure SQL; four published instructor-led days. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-420-official-course",
        "title": "Course DP-420T00-A: Build AI applications with Azure Cosmos DB",
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-420t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-420"
        ],
        "notes": " October 28, 2026 learning-resource review: Current exact course name is Build AI applications with Azure Cosmos DB; four published instructor-led days and NoSQL SDK/AI-app focus. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-600-course",
        "title": "Course DP-600T00-A: Implement analytics solutions using Microsoft Fabric",
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-600t00",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-600"
        ],
        "notes": "Four-day course linking five current learning paths. October 28, 2026 learning-resource review: Four-day outline now explicitly mentions dimensional models, dataflows/notebooks/T-SQL, lakehouses/warehouses/eventhouses, semantic models and governance. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-700-course",
        "title": "Course DP-700T00-A: Implement data engineering solutions using Microsoft Fabric",
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-700t00",
        "publisher": "Microsoft Learn",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-700"
        ],
        "notes": "Four-day official course linking five current learning paths. October 28, 2026 learning-resource review: Four-day outline covers loading patterns, architecture, orchestration, ingestion/transformation, security and monitoring. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-750-official-course",
        "title": "Course DP-750T00-A: Implement data engineering solutions using Azure Databricks",
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-750t00",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-750"
        ],
        "notes": " October 28, 2026 learning-resource review: Four-day outline covers workspace setup, Unity Catalog security/governance and optimized production workloads; SQL/Python, Azure security and Git prerequisites. Course landing page only; current module runtimes, class delivery and lab entitlements are separate checks. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "pl-400-official-labs",
        "title": "MicrosoftLearning PL-400 course labs",
        "url": "https://github.com/MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400"
        ],
        "notes": "Public MIT-licensed lab, demo and exercise repository maintained for the official course. October 28, 2026 learning-resource review: Current public repository still publishes official course exercises and declares MIT licensing. Its README says content can change outside the course release schedule. README and public repository metadata inspected; no individual lab or lesson accuracy claim. Existing about 15–30hour planning range remains editorial and was not independently measured. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-300-pluralsight-path",
        "title": "Azure Database Administrator Associate (DP-300)",
        "url": "https://www.pluralsight.com/paths/microsoft-certified-azure-database-administrator-associate",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-300"
        ],
        "notes": "Public listing: five courses (9h11) and 30-minute lab; ten path hours rounded. HA/DR added September 14 2026. No dedicated planning/deployment course title displayed; paid contents not reviewed. September 27 DP-300 deep review: Public path metadata inspected and runtime summed; no paid course content or lab executed. See docs/research/2026-09-27-dp-300-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: 5 courses; 9h11m from listed courses plus a 30-minute lab; header rounds to 10 hours. Course dates October 2025–September 2026. No dedicated planning/deployment course title is shown. Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-420-designing-and-implementing-cloud-native-applications-using-microsoft-a",
        "title": "Designing and Implementing Cloud-Native Applications using Microsoft Azure Cosmos DB (DP-420)",
        "url": "https://www.pluralsight.com/paths/designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db-dp-420",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-420"
        ],
        "notes": "Page displayed five courses, nine hours, a practice exam, and course updates through January 2026. Reconcile with the July 21, 2026 blueprint. October 28, 2026 learning-resource review: 5 courses; 8h32m summed runtimes, header rounds to 9 hours. Latest displayed course January 14, 2026. Visible five-domain structure predates October AI scope. Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-600-pluralsight",
        "title": "Implementing Analytics Solutions Using Microsoft Fabric (DP-600)",
        "url": "https://www.pluralsight.com/paths/implementing-analytics-solutions-using-microsoft-fabric-dp-600",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-600"
        ],
        "notes": "Five courses, 7 hours and practice exam listed; content dated March-July 2024, so supplement July 2026. October 28, 2026 learning-resource review: 5 courses; 7h26m summed runtimes, header rounds to 7 hours; March–July 2024 dates. Visible old four-domain headings need October 2026 reconciliation. Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-700-pluralsight",
        "title": "Implementing Data Engineering Solutions Using Microsoft Fabric (DP-700)",
        "url": "https://www.pluralsight.com/paths/implementing-data-engineering-solutions-using-microsoft-fabric-dp-700",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-700"
        ],
        "notes": "Three courses totaling 6 hours 15 minutes and a practice exam; courses dated June-July 2025, so supplement July 2026. October 28, 2026 learning-resource review: 3 courses; individual runtimes total 6h15m, header6 hours; June–July 2025 dates. Supplement current OneLake/runtime/lifecycle/monitoring behavior. Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "pl-400-pluralsight",
        "title": "Microsoft Power Platform Developer (PL-400)",
        "url": "https://www.pluralsight.com/paths/microsoft-power-platform-developer-pl-400",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400"
        ],
        "notes": "Fifteen hours, nine courses and practice exam listed; courses date from 2022–2023 and the page mistakenly calls PL-400 App Maker, so use only as older foundations. October 28, 2026 learning-resource review: 9 courses; listed runtimes total14h58m, header15 hours, dated2022–2023. Body incorrectly calls PL-400 App Maker; official blueprint remains authoritative. Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ms102-pluralsight",
        "title": "Microsoft 365 Certified: Administrator Expert (Microsoft 365 Administrator MS-102)",
        "url": "https://www.pluralsight.com/paths/microsoft-365-certified-administrator-expert-microsoft-365-administrator-ms-102",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "MS-102"
        ],
        "notes": "September 28 MS-102 deep review: Public five-course path titles/authors/dates/runtimes inspected, total 7h44. June–December 2025 metadata does not prove April 2026 completeness; paid lessons/practice unreviewed. See docs/research/2026-09-28-ms-102-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: 5 courses; individual runtimes total7h44m, header8 hours; June–December 2025 dates. Current April 2026 coverage and paid lessons unverified. Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ai-500-pluralsight-building-intelligent-applications",
        "title": "Building Intelligent Applications with Microsoft Foundry",
        "url": "https://www.pluralsight.com/courses/microsoft-foundry-building-intelligent-applications",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-500"
        ],
        "notes": "Short current-platform course; not represented as a complete AI-500 path. September 28 AI-500 deep review: Public title, instructor, February 13 date, 1h02 runtime and main syllabus reviewed. Paid lessons not viewed; not a complete AI-500 path. See docs/research/2026-09-28-ai-500-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Beginner course, 1h02m, last updated February 13, 2026. Public syllabus covers retrieval-ready knowledge, workflow follow-ups, evaluation and responsible AI; not complete AI-500 preparation. Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp-750-pluralsight-manage-data-with-azure-databricks-and-azure-data-lake",
        "title": "Manage Data with Azure Databricks and Azure Data Lake",
        "url": "https://www.pluralsight.com/courses/azure-databricks-data-lake-manage-data",
        "publisher": "Pluralsight",
        "authority_class": 4,
        "source_type": "third-party-training",
        "access_model": "paid",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-750"
        ],
        "notes": "Focused Azure Databricks and ADLS course rather than a complete DP-750 path; verify current displayed duration. October 28, 2026 learning-resource review: Intermediate course, 1h39m, last updated July 23, 2025. Public outline covers ADLS, identities, Key Vault, Auto Loader, Delta and sharing; mount/credential-passthrough headings require reconciliation. Landing-page scope, author/date and runtime only. Paid lessons and practice exam unreviewed; no current-blueprint completeness claim. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp420-agent-kit-blog",
        "title": "Introducing the Azure Cosmos DB Agent Kit",
        "url": "https://devblogs.microsoft.com/cosmosdb/azure-cosmos-db-agent-kit-ai-coding-assistants/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "expert-resource",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-420"
        ],
        "notes": "September 27 DP-420 deep review: Sajeetharan Sinnathurai, January 22, 2026. Complete public article read. Accept review workflow only: improved constructor has unmatched brace; tenant/year key does not guarantee absence of hot partitions. No kit installation or code execution. See docs/research/2026-09-27-dp-420-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Current improved CosmosClient constructor is balanced; remove the obsolete unmatched-brace criticism. Hierarchical tenant/year key still needs skew/load measurement; no automatic production-readiness inference. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp420-sharded-blog",
        "title": "Sharded DiskANN: focused vector search for better performance and lower cost",
        "url": "https://devblogs.microsoft.com/cosmosdb/sharded-diskann-focused-vector-search-for-better-performance-and-lower-cost/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "expert-resource",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-420"
        ],
        "notes": "September 27 DP-420 deep review: James Codella, Shivam Atri and Haiyang Xu, April 24, 2025. Complete public article read. Accept conceptual comparison, not benchmark guarantees; some query examples place WHERE after ORDER BY. Current product/query documentation governs implementation. See docs/research/2026-09-27-dp-420-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Written article distinguishes physical-partition routing from vector-index sharding, but query examples still place WHERE after ORDER BY. Benchmark improvements are workload-specific; no copied executable recipe. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ai500-memory-blog",
        "title": "Native Agent Memory for Microsoft Agent Framework, powered by Azure Cosmos DB",
        "url": "https://devblogs.microsoft.com/cosmosdb/native-agent-memory-for-microsoft-agent-framework-powered-by-azure-cosmos-db/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-500"
        ],
        "notes": "September 28 AI-500 deep review: Theo van Kraay July 24 main article read in full. Preview Python provider, async extraction and scoped memory exercise; no Cosmos resource, SDK, model, sample or linked video execution. See docs/research/2026-09-28-ai-500-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Python-only preview provider; before_run retrieves context and after_run writes turns/starts background extraction. Clean async shutdown is not evidence of crash recovery or immediate recall. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ai500-resilience-blog",
        "title": "What’s new in Microsoft Agent Framework: Interactive experiences, memory, and resilient execution",
        "url": "https://devblogs.microsoft.com/agent-framework/interactive-experiences-memory-and-resilient-execution/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-announcement",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AI-500"
        ],
        "notes": "September 28 AI-500 deep review: Dan Taylor September 24 main article read in full. Added original recovery worksheet; SDK samples, AG-UI, Hyperlight, benchmarks and hosted execution not reproduced. External idempotency remains application responsibility. See docs/research/2026-09-28-ai-500-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Current written sections distinguish Python/.NET support, authorized session mapping, async memory extraction and application-owned external-effect idempotency. APIs/versions remain volatile. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "ab650-insidetrack-blog",
        "title": "Implementing Agent 365: How we’re governing and managing AI agents at Microsoft",
        "url": "https://www.microsoft.com/insidetrack/blog/implementing-agent-365-how-were-governing-and-managing-ai-agents-at-microsoft/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "expert-resource",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-650"
        ],
        "notes": "September 28 AB-650 deep review: Alex Fleck, August 6 2026, public main article read. Operations worksheet and original inventory arithmetic only; linked videos, internal tenant and scale claims not reproduced. See docs/research/2026-09-28-ab-650-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: First-party operational case study still explicitly combines Agent 365 with existing identity, security, compliance and human processes; company-scale numbers are not customer guarantees. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp600-roleplaying-blog",
        "title": "Role-Playing Dimensions In Fabric Direct Lake Semantic Models Revisited",
        "url": "https://blog.crossjoin.co.uk/2026/04/05/role-playing-dimensions-in-fabric-direct-lake-semantic-models-revisited/",
        "publisher": "Chris Webb's BI Blog",
        "authority_class": 5,
        "source_type": "expert-resource",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-600"
        ],
        "notes": "September 27 DP-600 deep review: Chris Webb, April 5, 2026. Personal primary experiment/article and discussion read. April 9 author reply acknowledges web-editor bug. Accepted as optional design/version-investigation reading, not as a verified TMDL deployment recipe. No screenshot or model execution validation. See docs/research/2026-09-27-dp-600-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Author describes a TMDL workaround; April 9 acknowledges a web-editor bug and September 11 comment still reports the issue. Keep workaround version-specific and unexecuted; comments are reports, not independent product confirmation. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "pl400-dataverse-skills-blog",
        "title": "Dataverse Skills: Your Coding Agent Now Speaks Dataverse",
        "url": "https://devblogs.microsoft.com/powerplatform/dataverse-skills-your-coding-agent-now-speaks-dataverse/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "expert-resource",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "PL-400"
        ],
        "notes": "September 27 PL-400 deep review: Suyash Kshirsagar, April 1, 2026. Public article read; accept for tool orchestration and an original review exercise. Frictionless setup claims bounded by current preview, consent, allowlisting and privilege requirements. No video playback, plugin installation or tenant demonstration. See docs/research/2026-09-27-pl-400-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Public article demonstrates connect/build/operate orchestration and declares MIT project licensing. Use it to review proposed mutations; frictionless setup language does not replace current consent, privilege and preview documentation. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp750-abac-blog",
        "title": "ABAC row filtering and column masking policies, governed tags, and data classification are now generally available in Unity Catalog",
        "url": "https://www.databricks.com/blog/abac-row-filtering-and-column-masking-policies-governed-tags-and-data-classification-are-now",
        "publisher": "Databricks",
        "authority_class": 3,
        "source_type": "expert-resource",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-750"
        ],
        "notes": "September 27 DP-750 deep review: May 13, 2026, Adriana Ispas, Kristen Wilder, Jacqueline Li, Corey Sunwold, Menglei Sun and Viswesh Periyasamy. Public article text read. Accepted for taxonomy/classification/enforcement exercise; immediate-protection wording qualified by current Azure tag-propagation requirements. No accuracy, speed or cost benchmark reproduced. See docs/research/2026-09-27-dp-750-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Useful taxonomy/classification/enforcement explanation. Immediate-protection wording must be reconciled with Azure-specific propagation and identity documentation; no global zero-delay guarantee. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp750-lakeflow-blog",
        "title": "Modernize your Data Engineering Platform with Lakeflow on Azure Databricks",
        "url": "https://www.databricks.com/blog/modernize-your-data-engineering-platform-lakeflow-azure-databricks",
        "publisher": "Databricks",
        "authority_class": 3,
        "source_type": "expert-resource",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-750"
        ],
        "notes": "September 27 DP-750 deep review: February 10, 2026, Joanna Zouhour and Katie Cummiskey. Public text read. Accepted as an architecture exercise with explicit identity, progress and alert contracts; customer speed/cost claims not adopted as expected results. See docs/research/2026-09-27-dp-750-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Useful ingestion/transformation/orchestration overview. Current text uses Declarative Automation Bundles but also Assistant terminology. Customer speed/cost percentages are examples, not expected learner results. No code execution, benchmark reproduction or linked recording inspection; current product documentation wins any conflict. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      },
      {
        "id": "dp700-copy-blog",
        "title": "Simplify data movement with Copy job: more control, more flexibility",
        "url": "https://community.fabric.microsoft.com/blog/fbc_fabricupdatesblogs/simplify-data-movement-with-copy-job-more-control-more-flexibility/5184219",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "expert-resource",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "DP-700"
        ],
        "notes": "September 27 DP-700 deep review: Ye Xu, Microsoft Fabric Updates Blog, May 26, 2026. Public article text read via web search after direct migrated-page retrieval was blocked. Accepted for mode-switch/reload exercise; current primary documentation controls reset semantics and preview/connector support. No images or tenant steps independently validated. See docs/research/2026-09-27-dp-700-deep-review.md No live infrastructure execution. October 28, 2026 learning-resource review: Web-open body still describes preview auto-partitioning, GA JSON editing and full/incremental mode switching; incremental mode begins with a full copy. Current copy-job docs govern connector support and destination semantics. Web representation provides relative dates; prior May 26 date remains historical rather than freshly verified. Local requests 403; web public body read, screenshots and tenant behavior not tested. Public resource text/outline only; no lessons/videos/notebooks or cloud execution."
      }
    ],
    "unresolved_questions": [
      "AB-650 course still advertises November 13 availability; class delivery, hosted tenant supply and sign-in entitlements remain unverified.",
      "Current Learn direct path bodies generally omit duration totals. Search snippets are not a new measured duration; retained historical totals must keep their dates.",
      "The current DP-300 compaction article redirects to a GA title but exposes no readable body in either retrieval method. Technical researcher independently confirmed GA in official product docs; title alone is insufficient.",
      "MS-102 Backup blog remains an empty body; preserve its earlier substantive review as historical. Do not claim current body revalidation.",
      "No question originality or current objective fit of existing paid assessments was inspected. Existing paid-book/Udemy metadata not reopened here remains historical."
    ],
    "bounded_recommendation": "Use the narrowly scoped first-party labs for AB-650, DP-750 and Fabric instead of expanding generic channel catalogs. Retain adequate existing routes for the other guides with current course names and honest date/runtime limitations. Correct the now-unsupported Agent Kit syntax-defect sentence. Apply catalog tier corrections only to directly evaluated course/path/blog sources; do not bulk advance unrelated records or review dates.",
    "additional_opened_evidence": [
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-210t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/ab-210t00",
        "status": 200,
        "title": "Course AB-210T00-A: Accelerate sales pipelines with AI in Dynamics 365 - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:39.570789+00:00",
        "response_sha256": "3498df2ac28af7922d54e9a0b5990e77dbbfb59a30d04040b1fd283eb7556d83",
        "body_characters": 1851,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ab-650t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/ab-650t00",
        "status": 200,
        "title": "Course AB-650T00-A: Administer Microsoft 365 and AI services - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:39.571309+00:00",
        "response_sha256": "d9a00e276d54538d42e3541b886db2e72b0979ba79aa44b70a793def9999e0ee",
        "body_characters": 2974,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ms-102t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/ms-102t00",
        "status": 200,
        "title": "Course MS-102T00-A: Microsoft 365 Administrator - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:39.571666+00:00",
        "response_sha256": "ac8b586b6fa5ffa663addf2ba8db0ef4f9dedd1a1c9eca20ff7cdef40d1641d5",
        "body_characters": 3374,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/pl-400t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/pl-400t00",
        "status": 200,
        "title": "Course PL-400T00-A: Microsoft Power Platform Developer - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:39.571980+00:00",
        "response_sha256": "543f2938282e8b2eeed828a019e868ed62f5d29c0d96653848d1cfe9a00123aa",
        "body_characters": 1978,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/ai-500t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/ai-500t00",
        "status": 200,
        "title": "Course AI-500T00-A: Design and implement multi-agent AI solutions - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:39.572313+00:00",
        "response_sha256": "753c798cf30ab7192153f3ad28b32045608aa3c653b464d33a7389b725f99392",
        "body_characters": 1664,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-300t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-300t00",
        "status": 200,
        "title": "Course DP-300T00-A: Implement scalable database solutions using Azure SQL - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:39.573086+00:00",
        "response_sha256": "6cb0acd10724d530188395093b9cfc72ca16fce3cf3c7c23d283d8709de40405",
        "body_characters": 1736,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-420t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-420t00",
        "status": 200,
        "title": "Course DP-420T00-A: Build AI applications with Azure Cosmos DB - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:39.573443+00:00",
        "response_sha256": "0065796d2f34b9f9edff22db575cde681e28065fb5acc0b8c3f3b58e3e67892e",
        "body_characters": 1211,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-600t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-600t00",
        "status": 200,
        "title": "Course DP-600T00-A: Implement analytics solutions using Microsoft Fabric - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:39.573817+00:00",
        "response_sha256": "678ec84a514f2f75459d5da441f3e232e0b7b3fe050d10fe06712d21e233d73c",
        "body_characters": 1838,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-700t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-700t00",
        "status": 200,
        "title": "Course DP-700T00-A: Implement data engineering solutions using Microsoft Fabric - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:40.989539+00:00",
        "response_sha256": "de2ae5168d320447734a607af31bc8f331324f6598d2b43b2789392095100241",
        "body_characters": 1840,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/dp-750t00",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/dp-750t00",
        "status": 200,
        "title": "Course DP-750T00-A: Implement data engineering solutions using Azure Databricks - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:41.010011+00:00",
        "response_sha256": "eb4bed4d1bbe66414da209a7713c8455b9bd0032558e0a12ed6ef3076c87230a",
        "body_characters": 2025,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/",
        "final_url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/",
        "status": 200,
        "title": "AB-650 lab instructions |\n        \n        AB-650: Administer Microsoft 365 and AI services",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:41.027616+00:00",
        "response_sha256": "9baa793975d4ccfb0289a68f2116184375457f06e6b152552658bf35a8d5647a",
        "body_characters": 4124,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html",
        "final_url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html",
        "status": 200,
        "title": "Get started with the AB-650 labs |\n        \n        AB-650: Administer Microsoft 365 and AI services",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:41.050896+00:00",
        "response_sha256": "4f1ce93ccf7c30b1a81f604bf413f1c8f789fc018964648763c5971d7adffc2c",
        "body_characters": 3492,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/LP3/07-govern-agents-operate-ai.html",
        "final_url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/LP3/07-govern-agents-operate-ai.html",
        "status": 200,
        "title": "Lab 7: Govern agents and operate AI services |\n        \n        AB-650: Administer Microsoft 365 and AI services",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:41.122625+00:00",
        "response_sha256": "164f4237942d138bc47f7396fd2353593553a65ce8e1ee5515dddec5b656987a",
        "body_characters": 23991,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/",
        "final_url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/",
        "status": 200,
        "title": "Online Hosted Instructions |\n        \n        DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:41.124255+00:00",
        "response_sha256": "99b78fc8b60482872316ff346414d64c687623064cd3ec7ef9e44e4e926beafa",
        "body_characters": 7689,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/00-setup.html",
        "final_url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/00-setup.html",
        "status": 200,
        "title": "Set up your Azure Databricks environment |\n        \n        DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:41.145393+00:00",
        "response_sha256": "7be079f6b6658f1cc3d7557d9f9d7e7ce136344031be7dc1db8d83a7a3b68916",
        "body_characters": 2301,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/12-implement-development-lifecycle-processes-in-azure-databricks.html",
        "final_url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/Instructions/Labs/12-implement-development-lifecycle-processes-in-azure-databricks.html",
        "status": 200,
        "title": "Lab 12: Implement Development Lifecycle Processes in Azure Databricks |\n        \n        DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:41.263447+00:00",
        "response_sha256": "896de36b4719fac27863d1743d8d1f043d360354ac9152346ef594a8c920e616",
        "body_characters": 14474,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html",
        "final_url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/19-secure-data-access.html",
        "status": 200,
        "title": "Secure data access in Microsoft Fabric |\n        \n        mslearn-fabric",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:42.301812+00:00",
        "response_sha256": "b1d52bb1a727827523b1fb789b53111b92ec5b807cf67663d576785409636bf9",
        "body_characters": 11046,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/18-monitor-hub.html",
        "final_url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/18-monitor-hub.html",
        "status": 200,
        "title": "Monitor Fabric activity in the monitoring hub |\n        \n        mslearn-fabric",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:42.457071+00:00",
        "response_sha256": "dc6990d2a31a0c2769d7666f6d6b9f5f12eb2d4952af4825bbca0bedb80c4836",
        "body_characters": 5951,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html",
        "final_url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html",
        "status": 200,
        "title": "Prepare a semantic model for AI |\n        \n        mslearn-fabric",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:42.479956+00:00",
        "response_sha256": "e0f4de751d1b37a663d8d27a92a72841f880e9764dee034b73c3ec9dabbea1f5",
        "body_characters": 10683,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://microsoftlearning.github.io/dp-300-database-administrator/",
        "final_url": "https://microsoftlearning.github.io/dp-300-database-administrator/",
        "status": 200,
        "title": "Online Hosted Instructions |\n        \n        dp-300-database-administrator",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:42.489140+00:00",
        "response_sha256": "74e7243c240e1f5a1431f513af6322b83cd8956c0b3178069224eb8028f459c4",
        "body_characters": 2117,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://github.com/MicrosoftLearning/AB-650T00_administer_microsoft_365_and_ai_services/blob/main/LICENSE",
        "final_url": "https://github.com/MicrosoftLearning/AB-650T00_administer_microsoft_365_and_ai_services/blob/main/LICENSE",
        "status": 200,
        "title": "AB-650T00_administer_microsoft_365_and_ai_services/LICENSE at main · MicrosoftLearning/AB-650T00_administer_microsoft_365_and_ai_services · GitHub",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:42.498381+00:00",
        "response_sha256": "3cc85c047c90a89613922f9bca4fe41a740c3111b741af3a0bcaae6af8b0cd2b",
        "body_characters": 1448,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://github.com/MicrosoftLearning/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/blob/main/LICENSE",
        "final_url": "https://github.com/MicrosoftLearning/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/blob/main/LICENSE",
        "status": 200,
        "title": "DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/LICENSE at main · MicrosoftLearning/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks · GitHub",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:42.521579+00:00",
        "response_sha256": "b6391114b68454a2d1fc8f33a0502fbf74e8e13a4a0f4701600e50a6a32d6a8d",
        "body_characters": 1448,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://github.com/MicrosoftLearning/mslearn-fabric/blob/main/LICENSE",
        "final_url": "https://github.com/MicrosoftLearning/mslearn-fabric/blob/main/LICENSE",
        "status": 200,
        "title": "mslearn-fabric/LICENSE at main · MicrosoftLearning/mslearn-fabric · GitHub",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:42.571899+00:00",
        "response_sha256": "211a8918bead4c5402213b2e9eecfff537ee595469b5e2127534fbf8527be43f",
        "body_characters": 1448,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://developer.microsoft.com/en-us/reactor/events/26973/",
        "final_url": "https://developer.microsoft.com/en-us/reactor/events/26973/",
        "status": 200,
        "title": "Get Certified: Fabric Analytics Engineer (DP-600 Accelerated) | Microsoft Reactor",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:42.611338+00:00",
        "response_sha256": "7ab3502e4ffbdf7af34ca016fb0dfc9bc9629d5f0c3f1b1f907230a6d7e69e39",
        "body_characters": 2396,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://developer.microsoft.com/en-us/reactor/series/S-1585/",
        "final_url": "https://developer.microsoft.com/en-us/reactor/series/S-1585/",
        "status": 200,
        "title": "Get Certified: DP-700 Fabric Data Engineer (Accelerated) | Microsoft Reactor",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:43.328681+00:00",
        "response_sha256": "73f94ce5c3b6cf9b0db0d81c1c28356d5d78def442b4936daafbe55818e7e0cb",
        "body_characters": 6527,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://developer.microsoft.com/en-us/reactor/events/24581/",
        "final_url": "https://developer.microsoft.com/en-us/reactor/events/24581/",
        "status": 200,
        "title": "From Synapse to Fabric: Implement and Manage Analytics Solutions (DP-700) (PST/GMT) | Microsoft Reactor",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:43.563300+00:00",
        "response_sha256": "c8afa033f4f72094a427deae4c7b6cf72aeda9b07f13be41aea13589833ed63c",
        "body_characters": 2768,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.pluralsight.com/paths/microsoft-certified-azure-database-administrator-associate",
        "final_url": "https://www.pluralsight.com/paths/microsoft-certified-azure-database-administrator-associate",
        "status": 200,
        "title": "Microsoft Certified: Azure Database Administrator Associate",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:43.584808+00:00",
        "response_sha256": "8456761b59322db5213c0a8dbe89f1b0740a1d7de0bad54f9cbeb3b96f0abef8",
        "body_characters": 5069,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.pluralsight.com/paths/designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db-dp-420",
        "final_url": "https://www.pluralsight.com/paths/designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db-dp-420",
        "status": 200,
        "title": "Designing and Implementing Cloud-Native Applications using Microsoft Azure Cosmos DB (DP-420)",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:43.622820+00:00",
        "response_sha256": "d4a88beda519e2d6057f028aa6d5e6ef991109831397e30d42110efb01da3312",
        "body_characters": 4686,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.pluralsight.com/paths/implementing-analytics-solutions-using-microsoft-fabric-dp-600",
        "final_url": "https://www.pluralsight.com/paths/implementing-analytics-solutions-using-microsoft-fabric-dp-600",
        "status": 200,
        "title": "Implementing Analytics Solutions Using Microsoft Fabric (DP-600)",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:44.690047+00:00",
        "response_sha256": "44015a2ab4d52b11fed038369ee45dc993bf3fa7419406be709a8cef710507b1",
        "body_characters": 4642,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.pluralsight.com/paths/implementing-data-engineering-solutions-using-microsoft-fabric-dp-700",
        "final_url": "https://www.pluralsight.com/paths/implementing-data-engineering-solutions-using-microsoft-fabric-dp-700",
        "status": 200,
        "title": "Implementing Data Engineering Solutions Using Microsoft Fabric (DP-700)",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:44.778633+00:00",
        "response_sha256": "f7b27d9e0bdb904d625d6ebad57bf9691aef0149ff82d101c8c78f548a71d343",
        "body_characters": 3825,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.pluralsight.com/paths/microsoft-power-platform-developer-pl-400",
        "final_url": "https://www.pluralsight.com/paths/microsoft-power-platform-developer-pl-400",
        "status": 200,
        "title": "Microsoft Power Platform Developer (PL-400)",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:44.909599+00:00",
        "response_sha256": "2450401eca92a581e5d155deb3bc70535ffbab78178e9b5f6e9f01beda249441",
        "body_characters": 5319,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.pluralsight.com/paths/microsoft-365-certified-administrator-expert-microsoft-365-administrator-ms-102",
        "final_url": "https://www.pluralsight.com/paths/microsoft-365-certified-administrator-expert-microsoft-365-administrator-ms-102",
        "status": 200,
        "title": "Microsoft 365 Certified: Administrator Expert (Microsoft 365 Administrator MS-102)",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:44.994280+00:00",
        "response_sha256": "19cf81fcfef68bda86c139d3c1a4a1412965e3a99c11b0feae98f08a2728de06",
        "body_characters": 4720,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.pluralsight.com/courses/microsoft-foundry-building-intelligent-applications",
        "final_url": "https://www.pluralsight.com/courses/microsoft-foundry-building-intelligent-applications",
        "status": 200,
        "title": "Building Intelligent Applications with Microsoft Foundry",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:45.839140+00:00",
        "response_sha256": "553189378952e4a19aa5b1a2937f2708cea96f4b6a9eef1c62c338457dabb97e",
        "body_characters": 5204,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.pluralsight.com/courses/azure-databricks-data-lake-manage-data",
        "final_url": "https://www.pluralsight.com/courses/azure-databricks-data-lake-manage-data",
        "status": 200,
        "title": "Manage Data with Azure Databricks and Azure Data Lake",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:45.995109+00:00",
        "response_sha256": "c2fbac42e1344e91ddbbc92297fe284566c25deab82fbfacfa5d1765af7517e5",
        "body_characters": 6561,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://devblogs.microsoft.com/agent-framework/interactive-experiences-memory-and-resilient-execution/",
        "final_url": "https://devblogs.microsoft.com/agent-framework/interactive-experiences-memory-and-resilient-execution/",
        "status": 200,
        "title": "What’s new in Microsoft Agent Framework: Interactive experiences, memory, and resilient execution | Microsoft Agent Framework",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:46.195696+00:00",
        "response_sha256": "a2fec3a075ead54e94d4ee7aec4f3610d19a10eb01a6e0ff393ccabd2e060898",
        "body_characters": 19168,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://devblogs.microsoft.com/cosmosdb/native-agent-memory-for-microsoft-agent-framework-powered-by-azure-cosmos-db/",
        "final_url": "https://devblogs.microsoft.com/cosmosdb/native-agent-memory-for-microsoft-agent-framework-powered-by-azure-cosmos-db/",
        "status": 200,
        "title": "Native Agent Memory for Microsoft Agent Framework, Powered by Azure Cosmos DB - Azure Cosmos DB Blog",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:46.332122+00:00",
        "response_sha256": "c9d7500894a12a9fcea27d4879d144c2f22cb062218744827de4e98605b2a394",
        "body_characters": 15885,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://devblogs.microsoft.com/cosmosdb/azure-cosmos-db-agent-kit-ai-coding-assistants/",
        "final_url": "https://devblogs.microsoft.com/cosmosdb/azure-cosmos-db-agent-kit-ai-coding-assistants/",
        "status": 200,
        "title": "Introducing the Azure Cosmos DB Agent Kit: Your AI Pair Programmer Just Got Smarter - Azure Cosmos DB Blog",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:47.040783+00:00",
        "response_sha256": "0f91ad32a161394ebf1aaa319716dfb0e03b2cde3369b3755dc235cc1ea11192",
        "body_characters": 13101,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://devblogs.microsoft.com/cosmosdb/sharded-diskann-focused-vector-search-for-better-performance-and-lower-cost/",
        "final_url": "https://devblogs.microsoft.com/cosmosdb/sharded-diskann-focused-vector-search-for-better-performance-and-lower-cost/",
        "status": 200,
        "title": "Fast, Accurate, and Affordable: Sharded DiskANN for Multitenant Vector Search in Azure Cosmos DB - Azure Cosmos DB Blog",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:47.307076+00:00",
        "response_sha256": "9acf328065956208def89d9dc4087bd2c10332575ec709ffbc2927b9c62189a4",
        "body_characters": 10681,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.microsoft.com/insidetrack/blog/implementing-agent-365-how-were-governing-and-managing-ai-agents-at-microsoft/",
        "final_url": "https://www.microsoft.com/insidetrack/blog/implementing-agent-365-how-were-governing-and-managing-ai-agents-at-microsoft/",
        "status": 200,
        "title": "Inside Track - Implementing Agent 365: How we’re governing and managing AI agents at Microsoft",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:47.362165+00:00",
        "response_sha256": "ec8e4fc3c5fc796e8346f7d38cb96f9ca53acf010ed0463a1aa9bea2202beea4",
        "body_characters": 47955,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://blog.crossjoin.co.uk/2026/04/05/role-playing-dimensions-in-fabric-direct-lake-semantic-models-revisited/",
        "final_url": "https://blog.crossjoin.co.uk/2026/04/05/role-playing-dimensions-in-fabric-direct-lake-semantic-models-revisited/",
        "status": 200,
        "title": "Role-playing dimensions in Fabric Direct Lake semantic models revisited",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:47.951626+00:00",
        "response_sha256": "4ec6608b676fe05cb88c860fdc3e12ab25d54968886a9678d2a7a6e34aacaf4f",
        "body_characters": 8231,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://devblogs.microsoft.com/powerplatform/dataverse-skills-your-coding-agent-now-speaks-dataverse/",
        "final_url": "https://devblogs.microsoft.com/powerplatform/dataverse-skills-your-coding-agent-now-speaks-dataverse/",
        "status": 200,
        "title": "Dataverse Skills: Your Coding Agent Now Speaks Dataverse | Power Platform Developer Blog",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:48.139964+00:00",
        "response_sha256": "482557dff9acb850da817f4e8bc04696aafffc3f59219568c5728699b74db313",
        "body_characters": 9311,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.databricks.com/blog/abac-row-filtering-and-column-masking-policies-governed-tags-and-data-classification-are-now",
        "final_url": "https://www.databricks.com/blog/abac-row-filtering-and-column-masking-policies-governed-tags-and-data-classification-are-now",
        "status": 200,
        "title": "ABAC row filtering and column masking policies, governed tags, and data classification are now generally available in Unity Catalog | Databricks Blog",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:48.330789+00:00",
        "response_sha256": "57f8061968a8e4f3b0203c1b7883f1efe6a3473c29056a9e147499ebb1335253",
        "body_characters": 12569,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://www.databricks.com/blog/modernize-your-data-engineering-platform-lakeflow-azure-databricks",
        "final_url": "https://www.databricks.com/blog/modernize-your-data-engineering-platform-lakeflow-azure-databricks",
        "status": 200,
        "title": "Modernize your Data Engineering Platform with Lakeflow on Azure Databricks | Databricks Blog",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:48.992858+00:00",
        "response_sha256": "7d397d4d9c3515b6b16731f92da330fdd8d1e3aaaf8671fdf0bb0df722285ca0",
        "body_characters": 10725,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://techcommunity.microsoft.com/blog/azuresqlblog/stop-defragmenting-and-start-living-introducing-auto-index-compaction/4500089",
        "final_url": "https://techcommunity.microsoft.com/blog/azuresqlblog/stop-defragmenting-and-start-living-auto-index-compaction-is-now-generally-avail/4500089",
        "status": 200,
        "title": "Stop defragmenting and start living: auto index compaction is now generally available | Microsoft Community Hub",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:49.043720+00:00",
        "response_sha256": "405b04da64b392dc8242451618d6d40172961040cf5fca43d580d1f6a143a295",
        "body_characters": 0,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://techcommunity.microsoft.com/blog/microsoft_365blog/microsoft-365-backup-granular-restore-now-generally-available/4515936",
        "final_url": "https://techcommunity.microsoft.com/blog/microsoft_365blog/microsoft-365-backup-granular-restore-now-generally-available/4515936",
        "status": 200,
        "title": "Microsoft 365 Backup granular restore now generally available! | Microsoft Community Hub",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:49.514419+00:00",
        "response_sha256": "64ba8ec3b1b2a5c98631d5cff784875328889839b295403c2b8d9a1bde06067f",
        "body_characters": 0,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://community.fabric.microsoft.com/blog/fbc_fabricupdatesblogs/simplify-data-movement-with-copy-job-more-control-more-flexibility/5184219",
        "final_url": "https://community.fabric.microsoft.com/blog/fbc_fabricupdatesblogs/simplify-data-movement-with-copy-job-more-control-more-flexibility/5184219",
        "status": 403,
        "title": "Just a moment...",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:50.055823+00:00",
        "response_sha256": "2f58941feec216658b2389446946cea0bcde187ff89c0a418dbee375cd45b050",
        "body_characters": 41,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/configure-sales-ai-selling/",
        "final_url": "https://learn.microsoft.com/en-us/training/paths/configure-sales-ai-selling/",
        "status": 200,
        "title": "Configure Dynamics 365 Sales For AI-powered Selling - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:50.359875+00:00",
        "response_sha256": "409e0371de761152a6c1f0cfd0cf5a7e3a8422159271cb03223181d27c160cd4",
        "body_characters": 1877,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/generate-qualify-leads-ai-sales/",
        "final_url": "https://learn.microsoft.com/en-us/training/paths/generate-qualify-leads-ai-sales/",
        "status": 200,
        "title": "Generate And Qualify Leads Using AI In Dynamics 365 Sales - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:51.211517+00:00",
        "response_sha256": "c7011372c75cf5f26f422d4dc7987a344ad604ef0c3cd938dfff1d3d72077af4",
        "body_characters": 2316,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/win-deals-ai-sales/",
        "final_url": "https://learn.microsoft.com/en-us/training/paths/win-deals-ai-sales/",
        "status": 200,
        "title": "Win Deals With AI-powered Sales Execution In Dynamics 365 Sales - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:51.793851+00:00",
        "response_sha256": "f96f8886014dc022a3c224c4ffe6a6750cc8e49d1ee32b2ac83e9d5f14899d37",
        "body_characters": 2742,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/extend-d365-sales-ai-platforms/",
        "final_url": "https://learn.microsoft.com/en-us/training/paths/extend-d365-sales-ai-platforms/",
        "status": 200,
        "title": "Extend Dynamics 365 Sales With Ai And Power Platform Tools - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:52.287305+00:00",
        "response_sha256": "b4e16de702e807aad8b52ece9c330d27077ec14b5d109d98996a2af61dafbf12",
        "body_characters": 1981,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/paths/manage-secure-microsoft-365-ai-services/",
        "final_url": "https://learn.microsoft.com/en-us/training/paths/manage-secure-microsoft-365-ai-services/",
        "status": 200,
        "title": "Manage and secure Microsoft 365 AI services - Training | Microsoft Learn",
        "method": "Python requests HTTPS GET plus BeautifulSoup main/article extraction",
        "opened_at_utc": "2026-10-28T17:08:52.933114+00:00",
        "response_sha256": "f2665a0bb3cf4c07ad670891032cf42f75701ad760a5b7eb55f471050d6c67b5",
        "body_characters": 3528,
        "read_scope": "Raw capture retained; only entries in resources above carry a substantive evaluated recommendation. An empty or blocked body is not a content check."
      }
    ],
    "targeted_existing_catalog_tier_corrections": [
      {
        "id": "ab-210-course",
        "old_authority_class": 1,
        "proposed_authority_class": 3
      },
      {
        "id": "ms-102-instructor-course",
        "old_authority_class": 1,
        "proposed_authority_class": 3
      },
      {
        "id": "pl-400-course",
        "old_authority_class": 1,
        "proposed_authority_class": 3
      },
      {
        "id": "ai-500-course",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      },
      {
        "id": "dp-300-official-course",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      },
      {
        "id": "dp-420-official-course",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      },
      {
        "id": "dp-600-course",
        "old_authority_class": 1,
        "proposed_authority_class": 3
      },
      {
        "id": "dp-700-course",
        "old_authority_class": 1,
        "proposed_authority_class": 3
      },
      {
        "id": "dp-750-official-course",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      },
      {
        "id": "pl-400-official-labs",
        "old_authority_class": 1,
        "proposed_authority_class": 3
      },
      {
        "id": "dp-300-pluralsight-path",
        "old_authority_class": 5,
        "proposed_authority_class": 4
      },
      {
        "id": "dp-420-designing-and-implementing-cloud-native-applications-using-microsoft-a",
        "old_authority_class": 5,
        "proposed_authority_class": 4
      },
      {
        "id": "dp-600-pluralsight",
        "old_authority_class": 3,
        "proposed_authority_class": 4
      },
      {
        "id": "dp-700-pluralsight",
        "old_authority_class": 3,
        "proposed_authority_class": 4
      },
      {
        "id": "pl-400-pluralsight",
        "old_authority_class": 3,
        "proposed_authority_class": 4
      },
      {
        "id": "ms102-pluralsight",
        "old_authority_class": 3,
        "proposed_authority_class": 4
      },
      {
        "id": "ai-500-pluralsight-building-intelligent-applications",
        "old_authority_class": 3,
        "proposed_authority_class": 4
      },
      {
        "id": "dp-750-pluralsight-manage-data-with-azure-databricks-and-azure-data-lake",
        "old_authority_class": 5,
        "proposed_authority_class": 4
      },
      {
        "id": "ai500-memory-blog",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      },
      {
        "id": "ai500-resilience-blog",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      },
      {
        "id": "ab650-insidetrack-blog",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      },
      {
        "id": "dp600-roleplaying-blog",
        "old_authority_class": 3,
        "proposed_authority_class": 5
      },
      {
        "id": "dp750-abac-blog",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      },
      {
        "id": "dp750-lakeflow-blog",
        "old_authority_class": 2,
        "proposed_authority_class": 3
      }
    ],
    "uninspected_paid_material_policy": "Do not advance dates, coverage or last_checked for paid books/Udemy/MeasureUp/Whizlabs resources not substantively reopened in this pass; existing observed counts/dates remain explicitly historical.",
    "source_quality_limitations": [
      "Best effort, not exhaustive. Public outlines establish metadata and plausible learning fit, not lesson quality or technical truth.",
      "No independent human review; this is same-context AI-assisted research.",
      "No live product/lab execution; all proposed learner exercises are unexecuted.",
      "Complete guide files were structurally indexed; this worker did not perform a line-by-line independent technical review of every paragraph."
    ]
  },
  "coordinator_source_observations": {
    "observed_on": "2026-10-28",
    "method": "Coordinator independently opened exact Microsoft Learn pages with web tool; selected sections, not complete procedures.",
    "sources": [
      {
        "url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-restore-data?view=o365-worldwide",
        "read_scope": "Restore-point-frequency table; find result for final date and related retention examples",
        "observation": "The table specifies full-site/account first14days10minutes and15–365daysweekly; Exchange10minutes; granular roughlydaily thenweekly. Its displayed update is2026-08-18. No second-year cadence is in that table."
      },
      {
        "url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-view-edit-policies?view=o365-worldwide",
        "read_scope": "Create policy overview; recovery-window section192–209",
        "observation": "Recovery-window choices include2years; existing default1year; shortening deletesoldpoints after30daygrace. Choosing retention doesnot demonstrate a second-year restore-pointfrequency."
      }
    ],
    "affected_exams": [
      "AB-650",
      "MS-102"
    ],
    "recommendation": "Retain specific recovery-frequency gap and source-gate blocker; keep useful first-year/retention decision teaching. No tenant action performed."
  },
  "offline_examples": {
    "checked_on": "2026-10-28",
    "execution": "Local CPython and in-memory SQLite only",
    "sqlite_version": "3.50.4",
    "checks": [
      {
        "name": "derived revenue by input row",
        "observed": [
          20,
          30,
          20,
          10
        ],
        "expected": [
          20,
          30,
          20,
          10
        ],
        "passed": true
      },
      {
        "name": "posted rows",
        "observed": 3,
        "expected": 3,
        "passed": true
      },
      {
        "name": "posted total",
        "observed": 50,
        "expected": 50,
        "passed": true
      },
      {
        "name": "Python grouped result",
        "observed": {
          "East": 20,
          "West": 30
        },
        "expected": {
          "East": 20,
          "West": 30
        },
        "passed": true
      },
      {
        "name": "DP-600 exact guide SELECT on local SQLite fixture",
        "observed": {
          "East": 20,
          "West": 30
        },
        "expected": {
          "East": 20,
          "West": 30
        },
        "passed": true
      },
      {
        "name": "DP-700 exact guide SELECT on local SQLite fixture",
        "observed": {
          "East": 20,
          "West": 30
        },
        "expected": {
          "East": 20,
          "West": 30
        },
        "passed": true
      },
      {
        "name": "erroneously including Draft",
        "observed": {
          "East": 50,
          "West": 30
        },
        "expected": {
          "East": 50,
          "West": 30
        },
        "passed": true
      },
      {
        "name": "dropping West/1/10 row",
        "observed": {
          "East": 20,
          "West": 20
        },
        "expected": {
          "East": 20,
          "West": 20
        },
        "passed": true
      },
      {
        "name": "duplicate lookup multiplies rows",
        "observed": 6,
        "expected": 6,
        "passed": true
      },
      {
        "name": "duplicate lookup inflates East revenue",
        "observed": {
          "East": 40,
          "West": 30
        },
        "expected": {
          "East": 40,
          "West": 30
        },
        "passed": true
      },
      {
        "name": "five-minute persisted-query arithmetic",
        "observed": {
          "12:00": 5,
          "12:05": 7
        },
        "expected": {
          "12:00": 5,
          "12:05": 7
        },
        "passed": true
      },
      {
        "name": "late persisted event affects requery arithmetic",
        "observed": {
          "12:00": 9,
          "12:05": 7
        },
        "expected": {
          "12:00": 9,
          "12:05": 7
        },
        "passed": true
      }
    ],
    "passed": 12,
    "guide_query_bindings": [
      {
        "exam_code": "DP-600",
        "guide_lf_sha256": "373150a74c440a72bb83ebd4ba7a143450c4c8baea1faeed40c43dfa59d7d7ba",
        "query_utf8_sha256": "ee4796869d0345b26de4c1ef54bc580ef34f1638a2e514add9377b400f8e496f"
      },
      {
        "exam_code": "DP-700",
        "guide_lf_sha256": "3c67be6db99afc99ba090ba6340af86d09d2ae7f9d7ca082478cd0d60f6cc739",
        "query_utf8_sha256": "d334652ac0b2e014dc0673d054562bee64e5439d4ddda7dd5bcd185705bd6358"
      }
    ],
    "boundary": "No Fabric SQL, SQL Server, KQL, DAX, PySpark, Power Query, visual editor, SDK, tenant, model or cloud execution. These original arithmetic counterexamples do not establish permissions, engine compatibility, freshness or streaming correction."
  },
  "catalog": {
    "new_source_ids": [
      "dp-600-reactor-accelerated-orientation",
      "g01-20261028-foundry-mcp-auth",
      "refresh-g01-dp600-summarizecolumns",
      "refresh-g01-entra-branding",
      "refresh-g01-lakehouse-transformation",
      "refresh-g01-dp600-dataflow-enrichment",
      "refresh-g01-dp600-visual-query",
      "refresh-g01-visual-query-reference",
      "g01-20261028-external-update-policy",
      "refresh-g01-summarize",
      "refresh-g01-organization-theme",
      "g01-20261028-workiq-retrieve",
      "g01-20261028-agent-mcp-dev",
      "g01-20261028-code-appinsights",
      "g01-20261028-dataverse-ask",
      "g01-20261028-workiq-settings",
      "refresh-g01-pl400-monitor-alerts",
      "refresh-g01-ms102-entra-user",
      "refresh-g01-create-database-user",
      "g01-20261028-enclave-migration",
      "refresh-g01-dp300-create-user",
      "refresh-g01-dp300-execute-as",
      "refresh-g01-grant-object",
      "ab-650-official-lab-index",
      "ab-650-official-lab-environment",
      "dp-750-official-labs",
      "dp-750-official-development-lifecycle-lab",
      "fabric-official-monitoring-hub-lab",
      "fabric-official-secure-data-access-lab",
      "fabric-official-prepare-model-ai-lab"
    ],
    "new_sources": 30,
    "reused_association_updates": [
      {
        "id": "az-800-john-savill-github",
        "added_exams": [
          "AB-650"
        ]
      },
      {
        "id": "pl300-calculate",
        "added_exams": [
          "DP-600"
        ]
      },
      {
        "id": "microsoft-365-copilot-architecture-ab900",
        "added_exams": [
          "AB-650"
        ]
      },
      {
        "id": "microsoft-copilot-studio-agent-flows-overview-pl900",
        "added_exams": [
          "PL-400"
        ]
      },
      {
        "id": "ab410-generative",
        "added_exams": [
          "PL-400"
        ]
      },
      {
        "id": "microsoft-purview-dspm-current-ab900",
        "added_exams": [
          "AB-650"
        ]
      },
      {
        "id": "dp900-groupby",
        "added_exams": [
          "DP-600",
          "DP-700"
        ]
      },
      {
        "id": "mb-820-partner-skilling-hub",
        "added_exams": [
          "AB-210",
          "AB-650",
          "DP-600",
          "DP-700",
          "MS-102",
          "PL-400"
        ]
      },
      {
        "id": "microsoft-mechanics",
        "added_exams": [
          "AB-650",
          "DP-600"
        ]
      },
      {
        "id": "microsoft-reactor",
        "added_exams": [
          "AB-650",
          "DP-600"
        ]
      }
    ],
    "evaluated_learning_updates": [
      "ab-210-course",
      "ab-650-official-course",
      "ms-102-instructor-course",
      "pl-400-course",
      "ai-500-course",
      "dp-300-official-course",
      "dp-420-official-course",
      "dp-600-course",
      "dp-700-course",
      "dp-750-official-course",
      "pl-400-official-labs",
      "dp-300-pluralsight-path",
      "dp-420-designing-and-implementing-cloud-native-applications-using-microsoft-a",
      "dp-600-pluralsight",
      "dp-700-pluralsight",
      "pl-400-pluralsight",
      "ms102-pluralsight",
      "ai-500-pluralsight-building-intelligent-applications",
      "dp-750-pluralsight-manage-data-with-azure-databricks-and-azure-data-lake",
      "dp420-agent-kit-blog",
      "dp420-sharded-blog",
      "ai500-memory-blog",
      "ai500-resilience-blog",
      "ab650-insidetrack-blog",
      "dp600-roleplaying-blog",
      "pl400-dataverse-skills-blog",
      "dp750-abac-blog",
      "dp750-lakeflow-blog",
      "dp700-copy-blog"
    ],
    "technical_body_updates": [
      "ab-650-agent-tools",
      "ab210-close-config",
      "ab210-close-manage",
      "ab210-knowledge",
      "ab210-sales-deprecations",
      "ab650-agent-policy-templates",
      "ab650-agent-settings",
      "ai-500-agent-a2a-endpoint",
      "ai-500-apim-mcp-overview",
      "dp-700-query-acceleration",
      "dp-750-current-abac-requirements",
      "dp300-compaction",
      "dp300-enclave-client",
      "dp300-sqldb-release",
      "dp420-vector-search",
      "dp600-direct-lake-how",
      "dp600-fabric-whats-new",
      "dp700-cdc",
      "dp700-cdf",
      "dp750-abac-metastore",
      "dp750-auto-cdf",
      "dp750-coming",
      "g01-20261028-agent-mcp-dev",
      "g01-20261028-code-appinsights",
      "g01-20261028-dataverse-ask",
      "g01-20261028-enclave-migration",
      "g01-20261028-external-update-policy",
      "g01-20261028-foundry-mcp-auth",
      "g01-20261028-workiq-retrieve",
      "g01-20261028-workiq-settings",
      "ms-102-backup-overview",
      "ms102-backup-new",
      "ms102-backup-policy",
      "ms102-entra-connect-version-history",
      "ms102-sync-hardening",
      "pl400-agent-client",
      "pl400-background",
      "pl400-code-actions",
      "pl400-code-agent",
      "pl400-code-alm",
      "pl400-code-csp",
      "pl400-code-dataverse",
      "pl400-code-env",
      "pl400-code-index",
      "pl400-python"
    ],
    "fresh_health_sources": 40,
    "source_quality_boundary": "Only opened/evaluated resources promoted; paid interiors, videos and live product execution uninspected. New optional uncited proposals not promoted."
  },
  "health": {
    "initial": {
      "total": 569,
      "ok": 541,
      "blocked": 26,
      "broken": 2,
      "changed": 30,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": true
    },
    "initial_errors": "Two TLS handshakes timed out; original errors retained. Sequential 30-second retries both returned HTTP200.",
    "retry": {
      "total": 2,
      "ok": 2,
      "blocked": 0,
      "broken": 0,
      "changed": 0,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": false
    },
    "additional": {
      "total": 40,
      "ok": 40,
      "blocked": 0,
      "broken": 0,
      "changed": 0,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": false
    },
    "final_unique": {
      "total": 597,
      "reachable": 571,
      "access_blocked": 26,
      "missing_or_error": 0
    }
  },
  "validation": {
    "status": "passed before authorized group delivery",
    "unit_tests": {
      "run": 199,
      "passed": true
    },
    "repository_validation": "passed",
    "reviewed_learning_resources_drift": false,
    "local_python_sqlite_checks": 12,
    "strict_site_build": "passed",
    "generated_site_validation": "passed",
    "diff_whitespace_check": "passed",
    "boundary": "Final reviewer/report assembly follows these checks. Repeat repository validation, resource drift, strict site build, website validation and staged whitespace/index checks before commit. Remote workflows are checked after push; no production deployment is claimed.",
    "check_output_sha256": {
      "tests.log": "de0ba62b6a8ff50df19e57925ba2f2f80654e2a551de3820b69b6ee51afad895",
      "repository-validation.log": "3ac098dae1d09b59c78bfa83456c83a24aa7308b4b1b6f2e899b2284e5b360ea",
      "mkdocs.log": "77a9c0b397fa9e6d7abdf9cb41cca3d12de28bfe43d09d050fc4de5c58356522",
      "site-validation.log": "7c73e2c9af83a76584eb3405bee55b609273f378e966f358455c673c2ee00047"
    }
  },
  "coordinator_review_repairs": [
    {
      "reviewer": "subset A",
      "scope": "DP-420 public study prerequisites",
      "repair": "Replaced stale C#/Java audience with current C#/Python and AI/retrieval foundations; Java explicitly supplementary. Added current PL-400 Python/HTML/YAML/Foundry/Studio study prerequisites as well. No guide-body hash change from metadata-only repair."
    },
    {
      "reviewer": "subset B",
      "scope": "PL-400 Monitor resource alert example",
      "repair": "Qualified ordinary daily/24-hour guidance with current code-app-only resource Data review period preview (24 hours or 1 hour); hourly aggregation is not a measured delivery SLA. Updated final guide/span bindings; original researcher proposal retained as research history."
    }
  ],
  "fresh_context_reviews": [
    {
      "schema_version": 1,
      "reviewed_on": "2026-10-28",
      "reviewer": "fresh-context-read-only-reviewer-a",
      "review_type": "bounded-refresh-diff-and-evidence-review",
      "base_commit": "8617499b2edd8705729c49c26a310eb1024181a0",
      "verdict": "pass",
      "open_material_findings": 0,
      "human_review": false,
      "full_rubric_2_semantic_audit": false,
      "source_gate_renewal_authorized_by_this_review": false,
      "scope": {
        "complete_guides": [
          "DP-300",
          "DP-420",
          "DP-750",
          "DP-600",
          "AI-500"
        ],
        "complete_guide_lines": 4640,
        "complete_guide_diff_against_base": true,
        "subset_objectives_semantically_mapped": 323,
        "subset_evidence_spans_checked": 404,
        "whole_group_machine_objective_wording_group_domain_order_hashes": 623,
        "whole_group_machine_spans_and_heading_paths": 762,
        "archives_byte_identical_to_base": 6,
        "historical_review_audit_records_checked": "All retained base source-review and AI-audit records compared structurally; changed records path-only, old dates/checks/hashes/findings/verdicts preserved.",
        "catalog_and_health": "Each exact cited URL in five guides matched a catalog entry with supported-exam association and tracked source-health record; all reported count/ID/hash bindings agree. Metadata structurally inspected; selected new/changed technical and learning bodies opened independently.",
        "policy_inputs": [
          "AGENTS.md",
          "CONTRIBUTING.md",
          "docs/CONTENT-POLICY.md",
          "docs/SOURCE-QUALITY.md",
          "docs/GUIDE-QUALITY-STANDARD.md",
          "docs/AI-AUDIT.md"
        ],
        "research_evidence": "Immutable manifest, final mapping, current objective/status snapshots, exam config/seed, current source/deep-review receipts, catalog/health, group report/public ledger, role research scope and relevant selected source observations inspected. Research text treated as evidence, not instructions."
      },
      "bindings": [
        {
          "exam_code": "DP-300",
          "guide_path": "guides/DP-300-administering-microsoft-azure-sql-solutions.md",
          "guide_lf_sha256": "b9098c091ca1eca0f96195b5b21bd708eb3339920930eb684c95649e1eb1cb6b",
          "objective_path": "data/objective-snapshots/dp-300-official-objectives.txt",
          "objective_raw_sha256": "f9f0c06f1a6e639035fd75d0db063dd6edcb30f50079e5a5157255ed4408ae57",
          "objective_count": 94,
          "evidence_spans": 115,
          "link_evidence": {
            "unique_external_links": 80,
            "reachable": 77,
            "access_blocked": 3,
            "missing_or_error": 0
          },
          "line_count": 1134,
          "complete_guide_read": true,
          "complete_diff_read": true,
          "verdict": "pass",
          "status_path": "data/objective-snapshots/dp-300-official-status.json",
          "status_raw_sha256": "6fb682a49f28a788a089159a5e1ccc7bbb3e51a48d1515282421aa0a92d0d20f",
          "status": {
            "skills_versions": [
              "Skills measured as of October 27, 2026"
            ],
            "upcoming_announcements": []
          }
        },
        {
          "exam_code": "DP-420",
          "guide_path": "guides/DP-420-designing-and-implementing-cloud-native-applications-using-microsoft-azure-cosmos-db.md",
          "guide_lf_sha256": "98a46bb814b934ba8e4ae3081f6bd5a2292eb21b775da4df6203a921dbee7423",
          "objective_path": "data/objective-snapshots/dp-420-official-objectives.txt",
          "objective_raw_sha256": "f796c1974699f0196b5e60e449409ceb3ccf9cf17b99e92206a1913d220ae351",
          "objective_count": 56,
          "evidence_spans": 82,
          "link_evidence": {
            "unique_external_links": 92,
            "reachable": 89,
            "access_blocked": 3,
            "missing_or_error": 0
          },
          "line_count": 1135,
          "complete_guide_read": true,
          "complete_diff_read": true,
          "verdict": "pass",
          "status_path": "data/objective-snapshots/dp-420-official-status.json",
          "status_raw_sha256": "c4b33b38a0c7f9488439122b3c5a14c365a6cc52e4ff0b25710561f0369dd5bc",
          "status": {
            "skills_versions": [
              "Skills measured as of October 6, 2026"
            ],
            "upcoming_announcements": []
          }
        },
        {
          "exam_code": "DP-750",
          "guide_path": "guides/DP-750-implementing-data-engineering-solutions-using-azure-databricks.md",
          "guide_lf_sha256": "2630f8cd68c5d5c204827672becc75265473f066ea363e6a0f155165b8a27d54",
          "objective_path": "data/objective-snapshots/dp-750-official-objectives.txt",
          "objective_raw_sha256": "d44f3f814718f33dd69dd72f48381609f4cde30d0b5c9fe1656380223fb2571e",
          "objective_count": 77,
          "evidence_spans": 86,
          "link_evidence": {
            "unique_external_links": 74,
            "reachable": 70,
            "access_blocked": 4,
            "missing_or_error": 0
          },
          "line_count": 1017,
          "complete_guide_read": true,
          "complete_diff_read": true,
          "verdict": "pass",
          "status_path": "data/objective-snapshots/dp-750-official-status.json",
          "status_raw_sha256": "10ef32f740b30f922754046da34e4338a0d2a0b697049d30b94ace8949226237",
          "status": {
            "skills_versions": [
              "Skills measured as of October 19, 2026"
            ],
            "upcoming_announcements": []
          }
        },
        {
          "exam_code": "DP-600",
          "guide_path": "guides/DP-600-implementing-analytics-solutions-microsoft-fabric.md",
          "guide_lf_sha256": "373150a74c440a72bb83ebd4ba7a143450c4c8baea1faeed40c43dfa59d7d7ba",
          "objective_path": "data/objective-snapshots/dp-600-official-objectives.txt",
          "objective_raw_sha256": "43cf6ad72e66be7ce72a39c58f1e2fcd40b66f4768ca14a399b2e99846449fff",
          "objective_count": 41,
          "evidence_spans": 55,
          "link_evidence": {
            "unique_external_links": 44,
            "reachable": 41,
            "access_blocked": 3,
            "missing_or_error": 0
          },
          "line_count": 435,
          "complete_guide_read": true,
          "complete_diff_read": true,
          "verdict": "pass",
          "status_path": "data/objective-snapshots/dp-600-official-status.json",
          "status_raw_sha256": "10ef32f740b30f922754046da34e4338a0d2a0b697049d30b94ace8949226237",
          "status": {
            "skills_versions": [
              "Skills measured as of October 19, 2026"
            ],
            "upcoming_announcements": []
          }
        },
        {
          "exam_code": "AI-500",
          "guide_path": "guides/AI-500-designing-implementing-multi-agent-ai-solutions.md",
          "guide_lf_sha256": "bb2b8bf2cac8d52e09212a25308d9f0cf079a3f00a152f5e7a5d1445ec735d24",
          "objective_path": "data/objective-snapshots/ai-500-official-objectives.txt",
          "objective_raw_sha256": "498ed5ca3e5f1ac958dedea4b84cb33a34a8ff0f5aa239540fd7283bc41360e8",
          "objective_count": 55,
          "evidence_spans": 66,
          "link_evidence": {
            "unique_external_links": 42,
            "reachable": 40,
            "access_blocked": 2,
            "missing_or_error": 0
          },
          "line_count": 919,
          "complete_guide_read": true,
          "complete_diff_read": true,
          "verdict": "pass",
          "status_path": "data/objective-snapshots/ai-500-official-status.json",
          "status_raw_sha256": "3a4cab19e6ab36b3cdf6e1ee4e089c2b08b2b10ce713149a7177b6087673599b",
          "status": {
            "skills_versions": [
              "Skills measured (official page last updated 2026-07-16; no skills effective date published)"
            ],
            "upcoming_announcements": []
          }
        }
      ],
      "findings": [
        {
          "id": "reviewer-a-dp420-prerequisite-language",
          "severity": "medium",
          "check": "Official scope / review-evidence accuracy",
          "file": "config/exams.json",
          "line": 438,
          "observed": "Initial current metadata still recommended C# or Java despite accepted October6 baseline and complete guide naming C# or Python. Public prerequisite panel derives from this field.",
          "evidence_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-420",
          "remedy": "Update current prerequisite metadata to C#/Python and current AI/retrieval foundations; qualify Java as optional historical foundation.",
          "disposition": "resolved-by-coordinator-and-independently-verified",
          "verification": "Read repaired current exam row: C# or Python and generative AI/retrieval; older Java explicitly supplementary. Guide unchanged, hashes rechecked. Reviewer did not edit shared file."
        }
      ],
      "primary_source_observations": [
        {
          "url": "https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves-migration?view=sql-server-ver17",
          "observation": "SGX October31 2027 end-of-support and subsequent automatic DC-to-standard VBS move; driver/None attestation and security differences supported."
        },
        {
          "url": "https://learn.microsoft.com/en-us/sql/relational-databases/indexes/automatic-index-compaction?view=sql-server-ver17",
          "observation": "Feature matrix includes SQL Database, AUTD MI and Fabric SQL; disabled by default; recently modified pages and density distinct from file allocation/statistics."
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/azure-sql/database/doc-changes-updates-release-notes-whats-new?view=azuresql",
          "observation": "GA ledger places compaction in September2026 and Entra server principals in June2026; existing guide distinctions supported."
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/cosmos-db/vector-search",
          "observation": "505 versus4096 dimensions, minimum1000 vectors for compressed indexes, HPK team guidance and shared-throughput exclusion support new feasibility example."
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-420",
          "observation": "Current October6 three-domain blueprint and audience C#/Python with generativeAI/retrieval fundamentals support accepted map and metadata repair."
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/abac/requirements",
          "observation": "Direct-view Beta requires workspace enablement and Runtime19; metric-view exclusion,20-layer maximum and CREATE OR REPLACE metadata loss directly documented."
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/databricks/delta/delta-change-data-feed",
          "observation": "Redirect to /tables/features/change-data-feed inspected. Runtime19, UC row tracking/Icebergv3, automatic/legacy incompatibility, row/mask exclusion and split ranges across non-additive schema changes support new text."
        },
        {
          "url": "https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-how-it-works",
          "observation": "Nonrecoverable refresh error suspends automatic updates; successful on-demand refresh resumes. Fallback can return latest data separately from framing."
        },
        {
          "url": "https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/enable-agent-to-agent-endpoint",
          "observation": "Responses protocol required; no portal configuration; Python setup requests Projects>=2.5.0; procedure-specific distinction supported."
        },
        {
          "url": "https://learn.microsoft.com/en-us/dax/summarizecolumns-function-dax",
          "observation": "SUMMARIZECOLUMNS group/filter/name/expression signature supports new proposed DAX query. Same-table filtering and SUMX expected arithmetic assessed textually; no DAX execution."
        },
        {
          "url": "https://learn.microsoft.com/en-us/sql/t-sql/statements/create-user-transact-sql?view=sql-server-ver17",
          "observation": "WITHOUT LOGIN users cannot authenticate and may hold permissions; supports isolated authorization fixture. No SQL Server/Azure SQL execution."
        },
        {
          "url": "https://devblogs.microsoft.com/cosmosdb/azure-cosmos-db-agent-kit-ai-coding-assistants/",
          "observation": "Web fetch403; independent targeted requests GET200 inspected article code blocks. Improved constructor is balanced; tenant/year example still has write-skew caveat. Capture reviewer-a-agent-kit.json; no kit execution."
        },
        {
          "url": "https://microsoftlearning.github.io/DP-750T00-Implement-Data-Engineering-Solutions-using-Azure-Databricks/",
          "observation": "Index lists setup15 +13 labs(30,30,45,45,30,45,45,45,45,45,45,45,45)+cleanup5 =560min; Premium setup and local CLI lifecycle lab are bounded public instruction evidence."
        },
        {
          "url": "https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/30-prepare-model-ai.html",
          "observation": "30min lab explicitly requires paid Fabric capacity; trial excludes Copilot and current Desktop/Q&A dependencies present."
        }
      ],
      "validation": {
        "binding_artifact": "reviewer-a-bindings.json",
        "binding_script": "reviewer-a-check.py",
        "errors": [],
        "local_example_receipt": "offline-example-validation.json records12 localPython/SQLite checks only; checked its expected/observed scope and SQL query binding; no service-engine result inferred.",
        "independent_engine_execution": false,
        "source_gate_counts": "Group7passed/3blocked; this subset all5 current source gates passed. Reachability not treated as product support.",
        "final_binding_recheck": "After DP750 whitespace cleanup and final PL400 mapping refresh; all623objectives/762spans and six archives check clean."
      },
      "limitations": [
        "This bounded refresh review read all five guides and complete changes but independently checked selected new/changed claims, not every historical material claim against live sources. It does not complete a full rubric2 semantic audit.",
        "No human review or cloud/tenant/SQL Server/Fabric/KQL/DAX/Spark/Power Query/visual-editor/SDK execution; local arithmetic is separate historical evidence.",
        "No paid lesson interiors, practice question content, video transcripts or production procedures accessed.",
        "Current complete semantic audits and human-review requirements remain separate; source-validation pass labels do not imply live lab verification."
      ]
    },
    {
      "schema_version": 1,
      "reviewed_on": "2026-10-28",
      "reviewer": "fresh-context reviewer B",
      "review_type": "bounded final refresh/diff/evidence review",
      "base_commit": "8617499b2edd8705729c49c26a310eb1024181a0",
      "scope": {
        "exam_codes": [
          "AB-210",
          "AB-650",
          "MS-102",
          "PL-400",
          "DP-700"
        ],
        "complete_final_guides_read": true,
        "complete_final_guide_lines": 2824,
        "complete_guide_diffs_vs_base_read": true,
        "objective_rows_inspected": 300,
        "all_subset_wording_hashes_group_numbers_and_heading_spans_checked": true,
        "source_catalog_health_counts_checked": true,
        "six_changed_objective_archives_exact_base_bytes_checked": true,
        "all_existing_source_review_and_audit_records_path_only_migration_checked": true,
        "same_day_supersession_targets_checked": true,
        "current_metadata_seed_status_and_objective_inputs_inspected": true,
        "raw_role_reports_treated_as_evidence_not_instructions": true,
        "shared_files_edited": false
      },
      "bindings": [
        {
          "exam_code": "MS-102",
          "guide_path": "guides/MS-102-microsoft-365-administrator.md",
          "guide_lf_sha256": "fb92093c5de09a0537203f916b380aad910107ad21396dc1a3a143be03b64bc3",
          "objective_path": "data/objective-snapshots/ms-102-official-objectives.txt",
          "objective_raw_sha256": "97ce6b34e98fb43947409e8b7997f3de72e6cae7a62102dfdea849bfb177c92a",
          "objective_count": 54,
          "source_outcome": "blocked",
          "link_evidence": {
            "unique_external_links": 82,
            "reachable": 79,
            "access_blocked": 3,
            "missing_or_error": 0
          }
        },
        {
          "exam_code": "AB-650",
          "guide_path": "guides/AB-650-ai-services-administrator-associate.md",
          "guide_lf_sha256": "56ceca134b38a51b96fa0b0808ebb276a010731fd976d9b4b4c5a353e04991c6",
          "objective_path": "data/objective-snapshots/ab-650-official-objectives.txt",
          "objective_raw_sha256": "e70d10682f078cb6887f7dde679f56661e63dfeabb221779f6b0ff4ab08bdf1a",
          "objective_count": 58,
          "source_outcome": "blocked",
          "link_evidence": {
            "unique_external_links": 56,
            "reachable": 54,
            "access_blocked": 2,
            "missing_or_error": 0
          }
        },
        {
          "exam_code": "DP-700",
          "guide_path": "guides/DP-700-implementing-data-engineering-solutions-microsoft-fabric.md",
          "guide_lf_sha256": "3c67be6db99afc99ba090ba6340af86d09d2ae7f9d7ca082478cd0d60f6cc739",
          "objective_path": "data/objective-snapshots/dp-700-official-objectives.txt",
          "objective_raw_sha256": "536a8f75830b0951502232b8b1a811524d000a7edf7a745613f46462f7dd3fc5",
          "objective_count": 54,
          "source_outcome": "passed",
          "link_evidence": {
            "unique_external_links": 53,
            "reachable": 50,
            "access_blocked": 3,
            "missing_or_error": 0
          }
        },
        {
          "exam_code": "PL-400",
          "guide_path": "guides/PL-400-microsoft-power-platform-developer.md",
          "guide_lf_sha256": "5faa7fee71e3bb0a84e96587464110633aede0b6d8beb1f1abd4c170d5208490",
          "objective_path": "data/objective-snapshots/pl-400-official-objectives.txt",
          "objective_raw_sha256": "facfff59976de5c12e31c20f17ad072c6255f1324c9a55419788d6ee70a825d1",
          "objective_count": 88,
          "source_outcome": "passed",
          "link_evidence": {
            "unique_external_links": 57,
            "reachable": 56,
            "access_blocked": 1,
            "missing_or_error": 0
          }
        },
        {
          "exam_code": "AB-210",
          "guide_path": "guides/AB-210-accelerating-sales-pipelines-ai-dynamics-365.md",
          "guide_lf_sha256": "ed23bbccbdd159224f0f03c8f1b9c65c046e4346af9bfcda60acef6926c78b76",
          "objective_path": "data/objective-snapshots/ab-210-official-objectives.txt",
          "objective_raw_sha256": "2595badf528595419ed8da12bf5aed577d899ee8772123a0b1e40d1c2eac0f83",
          "objective_count": 46,
          "source_outcome": "blocked",
          "link_evidence": {
            "unique_external_links": 46,
            "reachable": 44,
            "access_blocked": 2,
            "missing_or_error": 0
          }
        }
      ],
      "verdict": "pass-after-coordinator-repair within bounded refresh-review scope",
      "open_new_material_findings": 0,
      "findings": [
        {
          "id": "B01",
          "severity": "medium",
          "checks": [
            "material_claim_support",
            "technical_coherence",
            "volatility_and_lifecycle"
          ],
          "exam_code": "PL-400",
          "file": "guides/PL-400-microsoft-power-platform-developer.md",
          "line": 363,
          "original_finding": "New code-app Monitor alert example described only 24-hour aggregates/daily evaluation, omitting the current resource-scoped code-app preview choice of a one-hour data review period.",
          "evidence_url": "https://learn.microsoft.com/en-us/power-platform/admin/monitoring/alerts",
          "evidence_location": "Create an alert on a resource, steps 8 and note; web lines 94–101.",
          "recommendation": "Retain the overview default and add the code-app-only hourly preview option with its scope, without promising a delivery SLA or one-minute response.",
          "disposition": "Coordinator repaired shared guide and source note; reviewer independently verified the later incremental diff and rebound guide/span hashes. Original finding remains recorded here; no audit-ledger disposition was mutated.",
          "initial_guide_lf_sha256": "1efae03999f075a34d7e3b8580dac1d9a51a9e9ac82bbc755bc8c0fb7ea98dbf",
          "verified_repair_guide_lf_sha256": "5faa7fee71e3bb0a84e96587464110633aede0b6d8beb1f1abd4c170d5208490"
        }
      ],
      "retained_source_gate_limits": [
        {
          "exam_code": "AB-210",
          "source_gate": "blocked",
          "reason": "Opportunity custom-field and Close Agent shutdown contradictions are visible and retained; refresh coverage is not resolution."
        },
        {
          "exam_code": "AB-650",
          "source_gate": "blocked",
          "reason": "Two-year Backup retention does not establish second-year restore cadence. Prepared E7 lab and class-delivery entitlement boundaries remain explicit."
        },
        {
          "exam_code": "MS-102",
          "source_gate": "blocked",
          "reason": "Backup cadence and three-versus-four credential prerequisite discrepancies remain explicit; next-year build/authentication deadline is separate from retiring exam scope."
        },
        {
          "exam_code": "PL-400",
          "source_gate": "passed",
          "reason": "Current 88-objective published outline is distinguished from AB-400 registration and existing appointment delivery; independent full semantic audit remains due."
        },
        {
          "exam_code": "DP-700",
          "source_gate": "passed",
          "reason": "External Delta update-policy exception is narrow asynchronous preview; transformations/window outcomes are proposed examples with local-only arithmetic evidence."
        }
      ],
      "verification": {
        "binding_catalog_history_checks": 75,
        "binding_catalog_history_failed": 0,
        "binding_check_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-01/reviewer-b-bindings.json",
        "offline_example_evidence_inspected": "12 original CPython/SQLite checks in operations ledger, with exact query bindings; not rerun as another cloud or engine test.",
        "final_public_sections": "All five finish with Places to learn; readiness sections precede it."
      },
      "independently_opened_primary_sources": [
        {
          "url": "https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/security-updates-pks",
          "read_scope": "Minimum-build and separate Health floors; April 2027 application-authentication deadline.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-365/admin/manage/manage-tools-for-agent?view=o365-worldwide",
          "read_scope": "Redirected to Agent 365 tools overview; connector usage preview is inventory and links to policy management.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/kusto/management/update-policy?view=microsoft-fabric",
          "read_scope": "External Delta source preview requirements and periodic asynchronous append/delete behavior.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/dynamics365/sales/configure-sqa-knowledge-source",
          "read_scope": "Explicit competitor priority and internally conflicting Opportunity custom-field instructions.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-365/admin/setup/customize-your-organization-theme?view=o365-worldwide",
          "read_scope": "Suite logo, alternate logo, URL, group/default theme controls.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/entra/fundamentals/how-to-customize-branding",
          "read_scope": "Separate Entra sign-in assets, roles/licenses and external URL limit.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://microsoftlearning.github.io/AB-650T00_administer_microsoft_365_and_ai_services/Instructions/Labs/00-getting-started.html",
          "read_scope": "Prepared E7 tenant, seeded evidence, ordered labs, no Azure requirement.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/add-dataverse-action-function",
          "read_scope": "Client version 1.1.1+, CLI discovery/generated bindings and bound record input.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/connect-to-dataverse",
          "read_scope": "Generated models/services and unsupported metadata CRUD, FetchXML, alternate keys, polymorphic lookups.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/sdk-python/overview",
          "read_scope": "Credential, CRUD, paging, read-only SQL, metadata and optional transactional changeset boundaries.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/background-operations",
          "read_scope": "Preview custom API async processing, retained two-minute execution limit and separate status endpoint.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/work-iq/mcp/retrieve",
          "read_scope": "Preview; explicit unsupported Dataverse/Power BI despite schema enum.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/ask/?bc=/power-platform/breadcrumb/TOC.json&toc=/power-platform/business-applications-work-iq/toc.json",
          "read_scope": "Separate natural-language semantic-model API, non-OData route and no dedicated SDK client classes.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-platform/admin/monitoring/alerts",
          "read_scope": "Read overview/prerequisites/resource alert steps: daily overview and hourly resource-scoped code-app preview; original B01 evidence and repair verification.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-365/agents-sdk/integrate-with-mcs",
          "read_scope": "Client languages and standard-harness-only support.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/fabric/data-engineering/delta-lake-change-data-feed",
          "read_scope": "Default execution-time and optional startOnly planning-time ending-version behavior.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-restore-data?view=o365-worldwide",
          "read_scope": "First-year cadence table and granular versus full restore distinction; second year unestablished by that table.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/microsoft-365/backup/backup-view-edit-policies?view=o365-worldwide",
          "read_scope": "Two-year recovery-window choice and shorter-window deletion grace; not proof of second-year cadence.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/content-security-policy",
          "read_scope": "Environment default connect-src none; merging, omitted directives and complete-collection replacement.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/set-up-azure-app-insights",
          "read_scope": "Post-load telemetry, startup evidence, initialize-once logger and telemetry transport CSP.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/developer/code-apps/how-to/connect-to-copilot-studio",
          "read_scope": "Published-agent prerequisite and ExecuteCopilotAsyncV2 versus older action completion contracts.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp",
          "read_scope": "Current tool names and client/environment setup; logical proposal contract does not pretend to be provider wire syntax.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-210",
          "read_scope": "Undated scope and Navigator assessment pointer; current outline inspected with local full mapping.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-650",
          "read_scope": "One undated outline; generic two-version boilerplate does not establish a future outline.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ms-102",
          "read_scope": "April baseline, retirement warning and objective scope.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/pl-400",
          "read_scope": "October published scope and separate old appointment/new registration transition.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/dp-700",
          "read_scope": "October baseline, singular Eventstream/Eventhouse terminology and objective scope.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/m365-administrator-expert/",
          "read_scope": "Credential retirement and prerequisite context; discrepancy retained rather than silently selecting a source.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        },
        {
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/power-platform-developer-associate/",
          "read_scope": "PL-400 registration/test window, AB-400 registration and Navigator practice routing.",
          "method": "web open/find selected article sections",
          "confidence": "first-party source text, not product execution"
        }
      ],
      "limitations": [
        "This is not a complete rubric-2 semantic audit of every pre-existing manual claim, and no audit/source/deep-review receipt was created by this reviewer.",
        "Complete local guides and diffs were read; online checking was selected and claim-directed, not complete reading of every linked primary procedure.",
        "Reachability/count/hash checks establish evidence consistency only, not technical truth.",
        "No human review, live tenant, cloud, SDK, Fabric SQL, SQL Server, KQL, Spark or model execution.",
        "Known source-gate blockers remain blockers despite a clean bounded refresh diff.",
        "Final shared repository/site validation is the coordinator responsibility; this report does not substitute for those checks."
      ]
    }
  ],
  "preservation_verification": {
    "old_source_reviews_retained": 289,
    "old_deep_receipts_retained": 166,
    "old_audit_batches_retained": 42,
    "permitted_historical_change": "Only exact old objective path migrated to byte-identical archived file; all other original values unchanged.",
    "archived_objective_files": 6,
    "unchanged_objective_and_status_files": 8,
    "verified_current_guide_bindings": 10,
    "verified_current_objectives": 623,
    "verified_teaching_spans": 762
  }
}
